knative系列(有没有哪些小众但质量很好的品牌)

精英怪
广告

knative系列,有没有哪些小众但质量很好的品牌?

喜欢欧美风格穿搭的看过来,今天给大家推荐几个高阶小众品牌,走在街上不会撞衫,在保障舒适度和高级感的同时,价格也是可以接受的呢!

knative系列(有没有哪些小众但质量很好的品牌)

英国时装品牌Native Youth

Native Youth 官网Link:https://www.native-youth.com/

Native Youth来自英国街头品牌,延续了曼彻斯特的工业血统,崇尚简约风。价格300~1000不等,喜欢欧美风格的报友们值得关注的一个品牌。宽松的裁剪,精致细节的设计,融合了沈稳低调但严密精细的裁缝工艺,在小众品牌里算是比较突出的。

时尚博主Tara身穿Native Youth

时尚博主Courtnee Crews身穿Native Youth

德国博主Nina Himmelreich 身着Native Youth大衣

德国时尚博主Olivia身着Native Youth毛衣

很多时尚博主也十分喜欢他家衣服,街拍中也是出镜的常客。穿着有型,毛衣外套等还能抵御早晚的微凉,相信会是这个秋冬街头别致而靓丽的风景线。

Native Youth (Native Youth) 2017秋冬

Sienna Cable Knitted Crop Jumper

售价:USD 120

Native Youth (Native Youth) 2017秋冬

Zea Cropped Jacket

售价:USD 70

Native Youth (Native Youth) 2017年

Neve连体裤

售价:USD 150

Native Youth (Native Youth) 2017年

黑色阔腿九分裤

售价:USD 90

时尚品牌Everlane (Everlane)

时尚品牌Everlane (Everlane)

Everlane官网Link:https://www.everlane.com/

说Everlane是一个小众品牌已经不准确了,毕竟现在认识这个品牌的人越来越多,价格300~2000不等。Everlane算是在网上走红的一个基本款品牌,他家衣服多使用中性化的颜色和剪裁,而且在中国还有官方微博。品牌创立者一直坚持以非常缓慢的速度推出“慢经典”商品的策略,据说保证让你在未来10年穿起来都不过时,这可以说是非常厉害了!

说到舒适的基本款,不要只认识优衣库啦!Everlane也是不错的选择,极简风的设计,满足百搭需求,一些家居的衣服也是舒适度满满。

除衣服以外,鞋子和包包也是店内主营产品,以轻便、简洁为主。纯色系包包是他们家的主打,配色大方而沉稳,设计简洁。

Everlane (Everlane) 实体店

曾说“打死不开实体店”,但是随着营业额的增加和品牌的火爆程度,Everlane也有越来越多的实体店开放,店内店外风格装修都是这种清新明朗的风格。

Meghan Markle背Everlane包包

名模劳伦·斯库格斯 (Lauren Scruggs) 身着Everlane

时尚博主Jessica Doll身着Everlane

他家的粉丝,既有明星名博,也有博主网红,可以说是行走的广告,可见Everlane在大众口碑中的认可度。

Everlane (Everlane) 2017秋冬

羊绒开衫

售价:USD 130

Everlane (Everlane) 2017秋冬

高领羊绒衫

售价:USD 150

Everlane (Everlane) 2017秋冬

灰色鹿皮绒短靴

售价:USD 225

Everlane (Everlane)

手袋

售价:USD 165

英语是什么?

silkworm[5silk7wE:m]n.蚕, 桑蚕, 家蚕silkwormsilk.wormAHD:[s¹lk“wûrm”] D.J.[6silk7w*8m]K.K.[6s!lk7w)m]n.(名词)Any of various caterpillars that produce silk cocoons, especially the larva of a moth (Bombyx mori) native to Asia that spins a cocoon of fine, strong, lustrous fiber that is the source of commercial silk. 蚕:一种能产丝茧的毛虫,尤指原产于亚洲的蛾的幼虫(家蚕 蚕属) ,这种幼虫能织出精细的、坚韧而有光泽的纤维茧,这种茧是商业性丝绸的来源 silkworm[5sIlkw\:m]n.蚕,桑蚕

Java开发分库分表需要解决的问题及mycat是怎样实现分库分表的?

MySQL的使用场景中,读写分离只是方案中的一部分,想要扩展,势必会用到分库分表,可喜的是Mycat里已经做到了,今天花时间测试了一下,感觉还不错。

关于分库分表

当然自己也理了一下,分库分表的这些内容,如果分成几个策略或者阶段,大概有下面的几种。

最上面的第一种是直接拆表,比如数据库db1下面有test1,test2,test3三个表,通过中间件看到的还是表test,里面的数据做了这样的拆分,能够在一定程度上分解压力,如果细细品来,和分区表的套路有些像。

接下来的几类也是不断完善,把表test拆解到多个库中,多个服务器中,如果做了读写分离,全套的方案这样的拆解改进还是很大的。如此来看,数据库中间件做了很多应用和数据库之间的很多事情,能够流行起来除了技术原因还是有很多其他的因素。

分库分表的测试环境模拟

如果要在一台服务器上测试分库分表,而且要求架构方案要全面,作为技术可行性的一个判定参考,是否可以实现呢。

如果模拟一主两从的架构,模拟服务分布在3台服务器上,这样的方案需要创建9个实例,每个实例上有3个db需要分别拆分。

大体的配置如下:

master1: 端口33091

(m1)slave1: 端口33092

(m1)slave2: 端口33093

master2: 端口33071

(m2)slave1: 端口33072

(m2)slave2: 端口33073

master3: 端口33061

(m3)slave1: 端口33062

(m3)slave2: 端口33063

画个图来说明一下,其中db1,db2,db3下面有若干表,需要做sharding

所以我们需要模拟的就是这个事情。

使用Mycat碰到的几个小问题解惑

使用Mycat的时候碰到了几个小问题,感觉比较有代表性,记录了一下。

问题1:

首先是使用Mycat连接到数据库之后,如果不切换到具体的数据库下,使用[数据库名].[表名]的方式会抛出下面的错误,可见整个过程中,Mycat拦截了SQL信息做了过滤,在转换的时候找不到目标路由。当然实际使用中,规范使用肯定不会有这个问题。

mysql> select * from db1.shard_auto;

ERROR 1064 (HY000): find no Route:select * from db1.shard_auto

问题2:

在配置了sharding策略之后,insert语句抛出了下面的错误,这个是对语法的一个基本的要求。

mysql> insert into shard_mod_long values(1,'aa',date);

ERROR 1064 (HY000): partition table, insert must provide ColumnList

问题3:

如果sharding策略配置有误,很可能出现表访问正常,但是DML会有问题,提示数据冲突了。至于如何配置sharding,下面会讲。

mysql> select * from shard_mod_long;

Empty set (0.00 sec)

mysql> insert into shard_mod_long(ID,name,shard_date) values(1,'aa',current_date);

ERROR 1105 (HY000): Duplicate entry '1' for key 'PRIMARY'

问题4:

如果sharding的配置有误,很可能出现多份冗余数据。

查看执行计划就一目了然,通过data_node可以看到数据指向了多个目标库。

mysql> explain insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date);

+-----------+------------------------------------------------+

| DATA_NODE | SQL |

+-----------+------------------------------------------------+

| pxcNode11 | insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date) |

| pxcNode21 | insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date) |

| pxcNode31 | insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date) |

+-----------+------------------------------------------------+

这种情况如果有一定的需求还是蛮不错的,做sharding可惜了。问题就在于下面的这个table配置。

<table name="shard_auto" primaryKey="ID" type="global" dataNode="pxcNode11,pxcNode21,pxcNode31" rule="auto-sharding-long" />

需要去掉 type="global"的属性,让它sharding。

Mycat里面的sharding策略

Mycat的分片策略很丰富,这个是超出自己的预期的,也是Mycat的一大亮点。

大体分片规则如下,另外还有一些其他分片方式这里不全部列举:

(1)分片枚举:sharding-by-intfile

(2)主键范围:auto-sharding-long

(3)一致性hash:sharding-by-murmur

(4)字符串hash解析:sharding-by-stringhash

(5)按日期(天)分片:sharding-by-date

(6)按单月小时拆分:sharding-by-hour

(7)自然月分片:sharding-by-month

在开始之前,我们要创建下面的表来模拟几个sharding的场景,表名根据需求可以改变。

create table shard_test(ID int primary key, name varchar(20),shard_date date);

主键范围分片

主键范围分片是参考了主键值,按照主键值的分布来分布数据库在不同的库中,我们先在对应的sharding节点上创建同样的表结构。

关于sharding的策略,需要修改rule.xml文件。

常用的sharding策略已经在Mycat里面实现了,如果要自行实现也可以定制。比如下面的规则,是基于主键字段ID来做sharding,分布的算法是rang-long,引用了function rang-long,这个function是在对应的一个Java类中实现的。

<tableRule name="auto-sharding-long">

<rule>

<columns>ID</columns>

<algorithm>rang-long</algorithm>

</rule>

<function name="rang-long"

class="io.mycat.route.function.AutoPartitionByLong">

<property name="mapFile">autopartition-long.txt</property>

当然主键的范围是不固定的,可以根据需求来定制,比如按照一百万为单位,或者1000位单位,文件是 autopartition-long.txt 文件的内容默认如下,模板里是分为了3个分片,如果要定制更多的就需要继续配置了,目前来看这个配置只能够承载15亿的数据量,可以根据需求继续扩展定制。

# range start-end ,data node index

# K=1000,M=10000.

0-500M=0

500M-1000M=1

1000M-1500M=2

插入一些数据来验证一下,我们可以查看执行计划来做基本的验证,配置无误,数据就根据规则流向了指定的数据库下的表里。

mysql> explain insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date);

+-----------+------------------------------------------------+

| DATA_NODE | SQL |

+-----------+------------------------------------------------+

| pxcNode11 | insert into shard_auto(ID,name,shard_date) values(1,'aa',current_date) |

+-----------+------------------------------------------------+

还有一个查看sharding效果的小方法,比如我插入一个极大的值,保证和其他数据不在一个分片上,我们运行查询语句两次,结果会有点变化。

sharing的效果

mysql> select * from shard_auto;

+---------+------+------------+

| ID | name | shard_date |

+---------+------+------------+

| 1 | aa | 2017-09-06 |

| 2 | bb | 2017-09-06 |

| 5000001 | aa | 2017-09-06 |

+---------+------+------------+

3 rows in set (0.00 sec)

稍作停顿,继续运行。

mysql> select * from shard_auto;

+---------+------+------------+

| ID | name | shard_date |

+---------+------+------------+

| 5000001 | aa | 2017-09-06 |

| 1 | aa | 2017-09-06 |

| 2 | bb | 2017-09-06 |

+---------+------+------------+

3 rows in set (0.01 sec)

Hash分片

Hash分片其实企业级应用尤其广泛,我觉得一个原因是通过这种数据路由的方式,得到的数据情况是基本可控的,和业务的关联起来比较直接。很多拆分方法都是根据mod方法来平均分布数据。

sharding的策略在rule.xml里面配置,还是默认的mod-long规则,引用了算法mod-long,这里是根据sharding的节点数来做的,默认是3个。

<tableRule name="mod-long">

<rule>

<columns>id</columns>

<algorithm>mod-long</algorithm>

</rule>

</tableRule>

<function name="mod-long" class="io.mycat.route.function.PartitionByMod">

<!-- how many data nodes -->

<property name="count">3</property>

</function>

比如查看两次insert的结果情况。

mysql> explain insert into shard_mod_long(ID,name,shard_date) values(4,'dd',current_date);

+-----------+------------------------------------------------+

| DATA_NODE | SQL |

+-----------+------------------------------------------------+

| pxcNode22 | insert into shard_mod_long(ID,name,shard_date) values(4,'dd',current_date) |

+-----------+------------------------------------------------+

mysql> explain insert into shard_mod_long(ID,name,shard_date) values(5,'ee',current_date);

+-----------+------------------------------------------------+

| DATA_NODE | SQL |

+-----------+------------------------------------------------+

| pxcNode23 | insert into shard_mod_long(ID,name,shard_date) values(5,'ee',current_date) |

+-----------+------------------------------------------------+

可以看到数据还是遵循了节点的规律,平均分布。

至于schema.xml的配置,是整个分库的核心,我索性也给出一个配置来,供参考。

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

<!-- 定义MyCat的逻辑库 -->

<schema name="db1" checkSQLschema="false" sqlMaxLimit="100" >

<table name="shard_mod_long" primaryKey="ID" type="global" dataNode="pxcNode11,pxcNode21,pxcNode31" rule="mod-long" />

<table name="shard_auto" primaryKey="ID" type="global" dataNode="pxcNode11,pxcNode21,pxcNode31" rule="auto-sharding-long" />

</schema>

<!-- 定义MyCat的数据节点 -->

<dataNode name="pxcNode11" dataHost="dtHost" database="db1" />

<dataNode name="pxcNode21" dataHost="dtHost2" database="db1" />

<dataNode name="pxcNode31" dataHost="dtHost3" database="db1" />

<!-- 定义数据主机dtHost,连接到MySQL读写分离集群 ,schema中的每一个dataHost中的host属性值必须唯一-->

<!-- dataHost实际上配置就是后台的数据库集群,一个datahost代表一个数据库集群 -->

<!-- balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡-->

<!-- writeType="0",所有写操作发送到配置的第一个writeHost,这里就是我们的hostmaster,第一个挂了切到还生存的第二个writeHost-->

<dataHost name="dtHost" maxCon="500" minCon="20" balance="1"

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

<!--心跳检测 -->

<heartbeat>show slave status</heartbeat>

<!--配置后台数据库的IP地址和端口号,还有账号密码 -->

<writeHost host="hostMaster" url="192.168.163.128:33091" user="mycat_user" password="mycat" />

</dataHost>

<dataHost name="dtHost2" maxCon="500" minCon="20" balance="1"

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

<!--心跳检测 -->

<heartbeat>show slave status</heartbeat>

<!--配置后台数据库的IP地址和端口号,还有账号密码 -->

<writeHost host="hostMaster" url="192.168.163.128:33071" user="mycat_user" password="mycat" />

</dataHost>

<dataHost name="dtHost3" maxCon="500" minCon="20" balance="1"

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

<!--心跳检测 -->

<heartbeat>show slave status</heartbeat>

<!--配置后台数据库的IP地址和端口号,还有账号密码 -->

<writeHost host="hostMaster" url="192.168.163.128:33061" user="mycat_user" password="mycat" />

</dataHost>

</mycat:schema>

=================================================================================================

用Mycat,学会数据库读写分离、分表分库

php疑难杂症铺 2017-09-13 14:31

用Mycat,学会数据库读写分离、分表分库

系统开发中,数据库是非常重要的一个点。除了程序的本身的优化,如:SQL语句优化、代码优化,数据库的处理本身优化也是非常重要的。主从、热备、分表分库等都是系统发展迟早会遇到的技术问题问题。Mycat是一个广受好评的数据库中间件,已经在很多产品上进行使用了。希望通过这篇文章的介绍,能学会Mycat的使用。

安装

Mycat官网:http://www.mycat.io/

可以了解下Mycat的背景和应用情况,这样使用起来比较有信心。

Mycat下载地址:http://dl.mycat.io/

官网有个文档,属于详细的介绍,初次入门,看起来比较花时间。

下载:

建议大家选择 1.6-RELEASE 版本,毕竟是比较稳定的版本。

安装:

根据不同的系统选择不同的版本。包括linux、windows、mac,作者考虑还是非常周全的,当然,也有源码版的。(ps:源码版的下载后,只要配置正确,就可以正常运行调试,这个赞一下。)

Mycat的安装其实只要解压下载的目录就可以了,非常简单。

安装完成后,目录如下:

目录说明binmycat命令,启动、重启、停止等catletcatlet为Mycat的一个扩展功能confMycat 配置信息,重点关注libMycat引用的jar包,Mycat是java开发的logs日志文件,包括Mycat启动的日志和运行的日志。

配置

Mycat的配置文件都在conf目录里面,这里介绍几个常用的文件:

文件说明server.xmlMycat的配置文件,设置账号、参数等schema.xmlMycat对应的物理数据库和数据库表的配置rule.xmlMycat分片(分库分表)规则

Mycat的架构其实很好理解,Mycat是代理,Mycat后面就是物理数据库。和Web服务器的Nginx类似。对于使用者来说,访问的都是Mycat,不会接触到后端的数据库。

我们现在做一个主从、读写分离,简单分表的示例。结构如下图:

服务器IP说明Mycat192.168.0.2mycat服务器,连接数据库时,连接此服务器database1192.168.0.3物理数据库1,真正存储数据的数据库database2192.168.0.4物理数据库2,真正存储数据的数据库

Mycat作为主数据库中间件,肯定是与代码弱关联的,所以代码是不用修改的,使用Mycat后,连接数据库是不变的,默认端口是8066。连接方式和普通数据库一样,如:jdbc:mysql://192.168.0.2:8066/

server.xml

示例

重点关注下面这段,其他默认即可。

参数说明user用户配置节点--name登录的用户名,也就是连接Mycat的用户名--password登录的密码,也就是连接Mycat的密码--schemas数据库名,这里会和schema.xml中的配置关联,多个用逗号分开,例如需要这个用户需要管理两个数据库db1,db2,则配置db1,dbs--privileges配置用户针对表的增删改查的权限,具体见文档吧

我这里配置了一个账号test 密码也是test,针对数据库lunch,读写权限都有,没有针对表做任何特殊的权限。

schema.xml

schema.xml是最主要的配置项,首先看我的配置文件。

参数说明schema数据库设置,此数据库为逻辑数据库,name与server.xml中schema对应dataNode分片信息,也就是分库相关配置dataHost物理数据库,真正存储数据的数据库

每个节点的属性逐一说明:

schema:

属性说明name逻辑数据库名,与server.xml中的schema对应checkSQLschema数据库前缀相关设置,建议看文档,这里暂时设为folsesqlMaxLimitselect 时默认的limit,避免查询全表

table:

属性说明name表名,物理数据库中表名dataNode表存储到哪些节点,多个节点用逗号分隔。节点为下文dataNode设置的nameprimaryKey主键字段名,自动生成主键时需要设置autoIncrement是否自增rule分片规则名,具体规则下文rule详细介绍

dataNode

属性说明name节点名,与table中dataNode对应datahost物理数据库名,与datahost中name对应database物理数据库中数据库名

dataHost

属性说明name物理数据库名,与dataNode中dataHost对应balance均衡负载的方式writeType写入方式dbType数据库类型heartbeat心跳检测语句,注意语句结尾的分号要加。

应用场景

数据库分表分库

配置如下:

我在192.168.0.2、192.168.0.3均有数据库lunch。

lunchmenu、restaurant、userlunch、users这些表都只写入节点dn1,也就是192.168.0.2这个服务,而dictionary写入了dn1、dn2两个节点,也就是192.168.0.2、192.168.0.3这两台服务器。分片的规则为:mod-long。

主要关注rule属性,rule属性的内容来源于rule.xml这个文件,Mycat支持10种分表分库的规则,基本能满足你所需要的要求,这个必须赞一个,其他数据库中间件好像都没有这么多。

table中的rule属性对应的就是rule.xml文件中tableRule的name,具体有哪些分表和分库的实现,建议还是看下文档。我这里选择的mod-long就是将数据平均拆分。因为我后端是两台物理库,所以rule.xml中mod-long对应的function count为2,见下面部分代码:

数据库读写分离

配置如下:

这样的配置与前一个示例配置改动如下:

删除了table分配的规则,以及datanode只有一个

datahost也只有一台,但是writehost总添加了readhost,balance改为1,表示读写分离。

以上配置达到的效果就是102.168.0.2为主库,192.168.0.3为从库。

注意:Mycat主从分离只是在读的时候做了处理,写入数据的时候,只会写入到writehost,需要通过mycat的主从复制将数据复制到readhost,这个问题当时候我纠结了好久,数据写入writehost后,readhost一直没有数据,以为是自己配置的问题,后面才发现Mycat就没有实现主从复制的功能,毕竟数据库本身自带的这个功能才是最高效稳定的。

至于其他的场景,如同时主从和分表分库也是支持的了,只要了解这个实现以后再去修改配置,都是可以实现的。而热备及故障专业官方推荐使用haproxy配合一起使用,大家可以试试。

使用

Mycat的启动也很简单,启动命令在Bin目录:

如果在启动时发现异常,在logs目录中查看日志。

wrapper.log 为程序启动的日志,启动时的问题看这个

mycat.log 为脚本执行时的日志,SQL脚本执行报错后的具体错误内容,查看这个文件。mycat.log是最新的错误日志,历史日志会根据时间生成目录保存。

mycat启动后,执行命令不成功,可能实际上配置有错误,导致后面的命令没有很好的执行。

Mycat带来的最大好处就是使用是完全不用修改原有代码的,在mycat通过命令启动后,你只需要将数据库连接切换到Mycat的地址就可以了。如下面就可以进行连接了:

连接成功后可以执行sql脚本了。

所以,可以直接通过sql管理工具(如:navicat、datagrip)连接,执行脚本。我一直用datagrip来进行日常简单的管理,这个很方便。

Mycat还有一个管理的连接,端口号是9906.

连接后可以根据管理命令查看Mycat的运行情况,当然,喜欢UI管理方式的人,可以安装一个Mycat-Web来进行管理,有兴趣自行搜索。

简而言之,开发中使用Mycat和直接使用Mysql机会没有差别。

常见问题

使用Mycat后总会遇到一些坑,我将自己遇到的一些问题在这里列一下,希望能与大家有共鸣:

Mycat是不是配置以后,就能完全解决分表分库和读写分离问题?

Mycat配合数据库本身的复制功能,可以解决读写分离的问题,但是针对分表分库的问题,不是完美的解决。或者说,至今为止,业界没有完美的解决方案。

分表分库写入能完美解决,但是,不能完美解决主要是联表查询的问题,Mycat支持两个表联表的查询,多余两个表的查询不支持。 其实,很多数据库中间件关于分表分库后查询的问题,都是需要自己实现的,而且节本都不支持联表查询,Mycat已经算做地非常先进了。

分表分库的后联表查询问题,大家通过合理数据库设计来避免。

Mycat支持哪些数据库,其他平台如 .net、PHP能用吗?

官方说了,支持的数据库包括MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流数据库,很赞。

尽量用Mysql,我试过SQL Server,会有些小问题,因为部分语法有点差异。

Mycat 非JAVA平台如 .net、PHP能用吗?

可以用。这一点MyCat做的也很棒。

怎么样每天记20个芵语单词?

谢谢楼主诚邀!作为一名英语教师及参加过在张家界举行的“湖南省第十五届农村中小学英语教学研讨会”的理事,我对英语教学研究很感兴趣,很有体会。

同时,对当下英语教学不容乐观的现状颇感忧虑。我觉有责任、有必要、也有兴趣来回答这个大多英语学习者所面临的实际问题。

在英语单词记忆上,我不赞同死记硬背。因为这是谁也知道的“最原始”、最落后的趋近于“本能”的方式,即使你习惯了它,甚或记忆力较好。不是说其原始就是过时,而是象炒剩饭,反复多次,容易枯燥乏味,浪费精力与时间,效率低下。

我们要讲求的是能够一举多得,学得又快又好还兴致勃勃且收获自信的方法。

死记硬背只能说是学习的一种“式”,根本谈不上“法”!法讲的是法规、法则与规律。

任何事物,只要掌握了“法“,就理清了事物的内在联系,看清了事物的运动轨迹,抓住了事物的本质。解决问题就会持之有据,有的放矢,运用起来就会得心应手,游刃有余。

你掌握越多越快,就会越精灵,你就觉得越轻松容易,以致达到融会贯通炉火纯青的程度,你便获得了真正“自由”。

单词贼多,人生几何?所以我反对死记硬背。尤其那些按部就班、定量复制的提倡背词典的人,简直患上颠痫强迫症,太偏激、太固执、太疯狂了!

你即使背下了十本百本词典,你用得了犯得着吗?这是矫枉过正、过犹不及、欲速不达的翻板,走向了学习的另一个极端!它对自己是一种无谓作贱牺牲,对他人是一种误导,不利于对事物的全局把握。便会走入“不识庐山真面目”的胡同而迷失其中,找不到出路。

人生有限,知识无边,学海无涯。我们宜因地制宜、因材施方、量体裁衣、看菜吃饭,具体问题具体解决。不能好大喜功,贪多恋快,不分主次,眉毛胡子一把抓!这只会适得其反,不及其余,后患无穷,使人陷入“痴情的太监”或“说媒的单身婆”这种离情别恋、意乱情迷、扑朔迷离的怪圈!

当然,我不反对追求知识上的标新立异、见异思迁、胡思乱想、甚至痴迷疯狂。只要合乎情理,自圆其说,学以致用便行。在单词的记忆上还要有这么一种奋斗与创造精神!但是,问题是要有度、有节、有利,才是具有现实可能与需要意义的。在英语单词记忆上,我认为,用联想的方法进行有效的外部“移植”与内部“嫁接”,最为有效。能做到既妙趣横生,又经久难忘!有时,你的思维就象开通了时空隧道一样,一不小心,单词的音、形、义就悄然钻入你的脑门!

这里随举几例: (1) 小孩捉迷藏,[躲door]在[门]后; ( 2) [ 温]室催苗,[推门扑热气temperature]; (3) 开闭[窗户],主要为调节室内[温度window]; (4) [发音]太大,[不能闹事pronounce]; (5) 坐着不能[翘chair][椅子]哦; (6) [枪(杆gun)]; (7) [(远run)跑]; (8) [太阳(伞sun)]; (9) [看see海sea]; (10) 出门化妆,[脸]太[费事face]; (11) [肥的fat]; (12) [肥沃的(field)田野]; (13) [脚]象[斧头food]; (14) [看你过来确来神congratulation]; (15) [来(come)]得[好(well)],[欢迎welcome] 你! ······

联想可把你的每根头发看作一根天线,接受千里之外的各种信息。其纤导思维就会触动你每根神经,使你拥有上天入地,思接千载,视通八方,决胜千里的“超能”!送君一句话,联想是思维的翅膀,思维是时空的隧道,善于利用思维联想,记好单词,学好英语,就不再是奢望与苛求!

轻松、快乐、高效、自信会在你曾经的苦恼失意里找到病源,得以对症下药,药到病除; 会在你过往的迷茫无望中找到闪光的亮点,照你前行,行之阔远!

请问如何提高英语口语?

我分为五大部分回答这个问题,目录如下:

一、如 何 精 读

二、听 说 结 合

三、不盲目泛听

四、介绍一位国家级巨佬

五、重磅推荐听写工具 --- Aboboo

一、如 何 精 读

口语不好的最重要原因之一就是听力不好,听力练好了自然口语也会给力精读,其实就是对着英语文章内容进行听力训练的同时再进行跟读

有一点像 Dictation,但又区别于它即为 提取关键信息点 + 复述

我在我的其他回答下有提到过,现在再提一下

第一次听原文的时候记住要盲听,不要提前看原文,就算第一句不会也不能看!开启听力,开一句停一句,不要一次性放完整篇录音

1)情况 1:第一遍听没问题

原文第一句听出,无任何困难,直接读出原句,在语音、语调上尽量去模仿录音

2)情况 2:第一遍听不出来

原文第一句听不出,是哪个单词听不出把这个单词所在的那句话写下并空出该单词的位置再次听原文,重复6遍着重听那个你听不出来的单词,其他不管若听完第6遍还没听出来就打住,继续听后面的第二句,并重复上面的步骤

最后听完整篇文章后,再翻看原文把所有听不出的单词,查字典查出来,标音标和中文

只要不是特别晦涩难懂的单词,都是正常符合我们听力逻辑的

一开始的时候大家都会遇到很多困难,容易中途放弃同学们,想一想等你到 B1或 B2 中级阶段那种无障碍听识的感觉只要能坚持下去,那就是最大的成就!

二、听 说 结 合

听说结合,2 种能力总比一种能力强吧

想想我们小时候辨识中文也一样,都是在家人巴拉巴拉的环境下成长起来的听与说的能力,后来上学了才开始读和写

英语听力也一样,自己参与进来,才能体验发音的感觉,强化对发音的熟悉程度和掌握整个文章的逻辑节奏。当你再次听那段听力材料的时候,会发现新世界哦~

一篇听力材料,听和说相结合,难度将会大大减弱

当你听懂了,有正向反馈,你学习的积极性就会越来越高同样,积极性变高,学习动力与耐力也更足,从而得到更高的回报,就像打游戏升级一样

三、 不盲目泛听

泛听其实要分阶段

我不否认泛听的作用,泛听也很重要,但它主要适用于听力水平中高段的学习者如果你已经达到 B2 阶段及以上,那么你就去听吧,脱口秀估计都不在话下如果你还是 A1 初学者阶段,先按照上面我说的那些找到适合自己的英语听力材料 + 精读

水平够了才适合泛听哦~~

以上口语训练方法不管是自己总结,还是培训机构教,学校老师推荐,还是书上介绍其实在大体上也是借鉴接下来我要提及的这位老先生,继续往下

四、介绍一位国家级巨佬

复读机的发明者,中国人民解放军少将、通信工程专家 --- 钟道隆

钟道隆将军 45 岁自学英语,46 岁成为口语翻译复读机就是他刻苦学习英语过程之下的一个副产品

后来钟将军将自己的英语学习方法总结起来,命名为“逆向法”他说,照这样学习,“再傻的人都应该当翻译。”

钟道隆的《逆向法巧学英语》,本质上是一种听写说练习法钟道隆总结了他的“逆向英语”学习法,并出版了《逆向法巧学英语》等五本有关学习英语的专著

百度百科资料:

“《人民日报》、《中国教育报》、《中国青年报》、《中华新闻报》、《中国老年报》、《解放日报》、《南方日报》、《北京教育报》、中央电视台、东方电视台等众多媒体纷纷进行专访报道,《实话实说》、《东方之子》也有专题介绍,中国教育电视台和二十多家省市电视台先后播放《逆向法英语讲座》达一百多轮次”

因此,45岁始学英语,14个月后成为口语翻译的事迹也因此被广为传诵

《逆向法》采用的是“听、写、说、背、想”五法并举:

1. 听与写

先把一段音频材料从头到尾完整地听几遍,听不懂也要硬着头皮听

然后再以句子为单位,一句一句听,反复只听一句话每听一遍就把听懂的词按照顺序写在纸上,排列成句子,听不懂的词先空着

之后反复听留白位置的生词,听到模仿着录音能开口念出来的地步。

再根据发音、整句话的语法关系和句子的意思内容推测其大概的拼写,再用词典去查找

从学习英语的角度出发,初学者在起步阶段必须一边听一边写如果光听不写,可能会有以下两种情况

一是漏掉了一些听不懂的词,失去了学习和提高的机会二是有了听不懂的词时,如果只听不写,往往听的遍数再多也可能还是听不懂

但若把听懂的部分写在纸上,前后内容联系在一起,经过思考后再去听,可能又会听懂一些别的内容,如此不断反复,直到全部听懂

2. 说

“说”的过程可以分2步:

第一步:“比读”,即把自己“说” 的语音录下来,与录音上标准的语音对比,看看什么地方学得不像,如此不断重复,直到能模仿说出大致正确的语音为止第二步:与录音带上的声音同步“说”

录音其实是以第三者的角度审视,去跟标准发音对比,就有机会发现之前自己的错误在哪,之后再反复纠正发音细节,最终逐渐得到提高

3. 背

通过以上步骤去反复跟读完成后,对于手中的学习材料已经很熟悉了,只需再稍加努力就能把它们全部背下来

把一段录音的听写记录翻来覆去地高声朗读,达到基本会背诵的程度背对于提高听力有很大作用:例如慢速 VOA 新闻有一定的格式和句型背上一段时间后,就会熟悉它的风格和常用句型,容易听懂新的内容,甚至可以超过播讲人的声音

比如听了一句话中前几个词后能提前说出后面的词,或听了上一句话后能提前说出下一句到了这个地步,听写时的紧张心情就减轻了,或者基本上已消除心情一放松,水平就能发挥出来,应用起来自然能够稳定发挥,得心应手

4. 想

“想”指的是思考下学习的进度是否合适,学到的知识是否扎实,本书提出的学习要求达到没有

由于学习进度是自己掌握的,不知不觉会加快学习进度由于没有客观考核,即使学得不深也还自以为学得不错

所以在整个学习过程中,尤其是在打基础阶段,要经常告诫自己慢一些,时刻检查学到的知识是否扎实,如果不扎实则坚决重新学

最后是总结和归纳学到的英语知识,使之系统化,记忆深刻化归纳和总结的一项主要内容是分析自己在听写过程中所出现的各种各样差错

实践证明,通过分析自己的差错进行学习,效果特别好

关于听写材料,钟道隆将军用的是 VOA 慢速英语

大家也可以一样选择新闻英语,或以兴趣为导向,使用自己喜欢的材料

比如美剧、电影、TED演讲,以及各种英语播客都可以

不过挑选适合你当前水平的材料来学习尤为必要

慢速VOA虽是必学科目,但如果是初学者或零基础,建议可以从新概念1开始听学,第1册完成后再考虑其它进一步训练

在此我们要向这位学习老兵致敬!他教会我们的是“学到老”的学习精神和好的学习方法序言中有这样的话:“只要肯下功夫,什么时候学都不晚。”

学习方法千条万条,刻苦努力第一条他45岁和52岁时利用业余时间刻苦学习,尚能学会英语和电脑如今的我们正值风华正茂,介于25至35岁,只要努力且方法得当, 一定可以取得更好的成绩

因此,在得到前期足够的听写说训练之后,再辅以背诵,英语的听说读写能力将直线提高!

五、重磅推荐听写工具 --- Aboboo

Aboboo 是一款免费、自由的外语辅助学习工具,可免费下载英语学习课件,也可通过课件制作工具发布自己制作的课件

尤其是 Aboboo 的智能断句是目前国内智能断句最精确、便捷的软件之一!!

1. 下载 Aboboo - www.aboboo.com

第一步:下载PC版软件第二步:注册账号并登录,很常规的步骤,这里就不作赘述

第三步:进入软件之后,不要被界面的各种模块迷花眼,直接点击“小组”

可以看到各种 Aboboo 课件小组,小组以主题分类,数以千计,能满足大家绝大部分学习需求

第四步:比如选 BBC 纪录片,点左侧的“加入小组”

第五步:点击“课件”,就能看到小组内的 BBC 的分集课件,之后找到你想要学习的那一集,点击“下载”

在下载历史中找到已下载完毕的课件,再点击已下载的课件就能自动进入此课件内容

2. Aboboo 主要功能都有哪些全面丰富的课件组,从考试,到不同专题,还有除了英语之外,Aboboo 还能用来练习汉语普通话,也能学习德语、法语、西班牙语、意大利语、葡萄牙语、俄语、泰语、韩语、阿拉伯语、日语、斯瓦希里语等,练歌都行!!!

练听力与口语 :提供每个音节的原声、音调、跟读波段进行比对

点击单词,进一步查看每个音素的得分

在波形区原文上点击单词,强化练习单词

随意读

这个功能会根据你的朗读情况打分,读不准确的地方,会特别标示出来单击被标示单词,会显示正确的读音,你可以一遍遍跟读,帮助纠正发音

听写与校对

Aboboo有三级难度递进的听写功能:“抠词”、“单句”、“自由”,分别对应“单词”,“句子”,“篇章”

“抠词听写”必须有“参照文本”“单句听写”和“自由听写”可以没有参照文本,但如果需要校对,就必须有“校对文本”

实时校对:

按下F1进入校对提示:

造句 :牢牢掌握句子搭配,选错会有红色小叉头显示,支持全鼠标、全键盘操作

做课件 :可自行创作作为学习资料的课件

变速 :支持音视频文件、录音、英英字典中例句朗读、单词发音等的变速

断句 :自动将音视频文件分割成多个句子,非常精确,省去手工断句的麻烦

除此之外,Aboboo 有一个对听写训练很重要的功能:自由调整单句循环次数 和 与下一句播放的间隔时间

单句播放次数可调为 1 、2 、3 ... 10 次甚至“永远”大家根据自己现阶段水平进行调整即可

"与下一句播放的间隔时间"是留给落笔听写的时间,同样自由去调,比如 5 秒、句长 2 倍等根据自己实际听写的速度设置就行

软件本身就有抠词听写和单句听写功能,大家不用拿纸质版的本子和笔去写啦~直接在软件上面打字就能够实现实时校对,顺便练打字速度~~

听写之后就可以进行跟读啦还是那句话,尽量去模仿说话者的语音、语调、弱读、重音等等

关于英语学习的其他方法、书籍、网站、软件,我后期还会更新

如果你觉得我的回答对你有帮助,记得点个赞 + 关注~~

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,159人围观)

还没有评论,来说两句吧...