发表于: 2017-07-09 11:50:48

1 1159


今日完成:

准备小课堂

听付老师讲课:set、map、List及查找算法(hash)

明日计划:

看原型图、找师兄安排前端


收获:

昨天忘记写,今天补上

 1.怎么查找资料

我一般直接百度,百度找不到去csdn、简书、最后google、还找不到就换关键字继续搜

2.怎么定位问题

看控制台输出的日志出现error的语句,还有caused by后的语句,我自己英语渣所以出现的错误语句都需要用软件翻译下才行,然后根据错误提示找到关联的地方,如果看不懂报错内容就复制到百度搜索,ps:小燕子找bug一定很快。

3.怎么解决问题

上一步也只是找到大概的出错地方,思考和错误有关联的地方,逐步排查,没有解决思路就百度,实在没一点办法询问师兄

4.怎么重构代码

没操作过,百度了一波

什么是代码重构?

程序代码写的不严谨,只为实现功能而写的代码,写的乱,代码重构是获得结构良好的方法,通过重构,我们在保持功能不变的情况下,改善代码的质量,提高代码的复用程度。

另外代码重构是只针对代码来说的,不针对功能,重构后的代码不会影响到系统的运行。

5.怎么选择框架

目前只会用SSMSpringRMI很好玩、TuscanyRMI很好玩。

6.怎么测试

web项目跑代码,在浏览器或者postman测试接口输出数据。

集成模块,先用junit测试模块。


小课堂:varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?

1.背景介绍

什么是VARCHAR、Text、LongText?

它们都是MySQL数据库的字符串类型,用来存储字符数据。区别是存储的数据长度、大小不一样。

我们可以根据需求选择使用哪种字符串类型。

2.知识剖析

首先介绍下字节和字符

字节的定义:

字节(byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。

字符的定义:

字符是指计算机中使用的文字和符号,如:1、2、3、A、B、C、!、#、¥、.....、+、——等这些符号。

在UTF8中,一个英文字符等于一个字节,一个中文字符等于三个字节。

VARCHAR是可以保存长度可变的字符串。如:一个用户名字段不能确定长度,只知道不超过10个字符,就可以选择varchar类型。而另一种CHAR类型是只能保存长度固定的字符。如:六位的邮编、股票代码。需要注意的是:

mysql数据库的varcahr类型在4.1以下版本中最大长度限制为255字节

mysql5.0以上的版本中varchar数据类型的长度支持到了65535字节。

Text和LongText 也是长度可变的类型,不过它们存储的不是字节而是字符。

Text的最大长度是可以存储 65535 (2^16 – 1) 个字符

LongText的最大长度是可以存储4294967295 (2^32 – 1) 个字符。

3.常见问题

定义varchar字段时,可不可以短的定义成varchar(20),长的定义长(50),超长另算。

4.解决方案

根据需求与实际情况来考虑,不能千篇一律。

比如:用户名,谁的名字会有255/3=85个字符?所以也没必要那么长,但又不能定义成CHAR(),所以给个够用的长度varchar(20)或更少varchar(10)即可,考虑少数民族可以长点。

varchar的长度,最好是在够用(需要适当预测未来需求)且方便管理的前提下尽可能短。

那么varchar(20)中的20表示的是字节长度还是字符长度?

答案是:varchar(20)你既可以添加20个英文字符,也可以添加二十个中文字符。 表示的是字符长度

5.扩展思考

如果把字符串字段都设置成varchar(255)会怎样?

百度后发现两个不同的地方

1、mysql建立索引时如果没有限制索引大小,索引长度会默认采用该字段的长度也就是varchar(20)varchar(255),加载索引信息时用varchar255)类型会占用跟多内存

2、建表时设置不同的varchar长度值时,存储相同数据占用的空间是不一样的



返回列表 返回列表
评论

    分享到