发表于: 2017-07-09 11:50:48
1 1159
今日完成:
准备小课堂
听付老师讲课:set、map、List及查找算法(hash)
明日计划:
看原型图、找师兄安排前端
收获:
昨天忘记写,今天补上
1.怎么查找资料
我一般直接百度,百度找不到去csdn、简书、最后google、还找不到就换关键字继续搜
2.怎么定位问题
看控制台输出的日志出现error的语句,还有caused by后的语句,我自己英语渣所以出现的错误语句都需要用软件翻译下才行,然后根据错误提示找到关联的地方,如果看不懂报错内容就复制到百度搜索,ps:小燕子找bug一定很快。
3.怎么解决问题
上一步也只是找到大概的出错地方,思考和错误有关联的地方,逐步排查,没有解决思路就百度,实在没一点办法询问师兄
4.怎么重构代码
没操作过,百度了一波
什么是代码重构?
程序代码写的不严谨,只为实现功能而写的代码,写的乱,代码重构是获得结构良好的方法,通过重构,我们在保持功能不变的情况下,改善代码的质量,提高代码的复用程度。
另外代码重构是只针对代码来说的,不针对功能,重构后的代码不会影响到系统的运行。
5.怎么选择框架
目前只会用SSM。SpringRMI很好玩、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),加载索引信息时用varchar(255)类型会占用跟多内存
2、建表时设置不同的varchar长度值时,存储相同数据占用的空间是不一样的
评论