ARTS-week01

ARTS是什么?
Algorithm:每周至少做一个LeetCode的算法题
Review:阅读并点评至少一篇英文技术文章
Tip:学习至少一个技术技巧
Share:分享一篇有观点和思考的技术文章

Algorithm

[11. 盛最多水的容器]

解决思想: 两边向中间逼近

class Solution {
    public int maxArea(int[] a) {
        int max = 0;
        for(int i = 0, j = a.length - 1; i< j;){
            int minHeight = a[i] < a[j] ? a[i++] : a[j--];
            max = Math.max(max,minHeight * (j - i + 1));
        }
        return max;
    }
}

Review

7 Skills of Highly “Effective” Programmers

(可能有些小伙伴不知道medium网站阅读文章需要付费如何解决,这里提供一种方案,把medium网站上文章的标题复制到推特上搜索就能免费阅读了)

文章介绍了7种高效程序员的方法

  • 阅读别人的代码。通过阅读别人的代码,你可以知道哪些方面设计的好,哪些方面设计的不好,什么样的代码容易让别人follow。

  • 拒绝差的项目。如果客户不能说出要做什么,或者项目的成果是什么,那么这个项目是不值得做的。

  • 少开会,如果手头上有复杂的项目,尽量不要开会,这样会打断你的思路。这里想起沈剑老师的一句话,大公司开会三原则:1. 开会的人基本不干事,干事的人基本不开会;2. 人多的会议基本不重要,重要的会议基本人不多;3. 解决小问题基本开大会,解决大问题基本开小会,解决重大问题基本不开会

  • 使用好Git

  • 编写简单易维护的代码

  • 拒绝与自己不相关的项目并且对自己的工作任务进行排序

  • 对自己的项目多思考,使用好的设计模式,让以后易于扩展

Tip

char和varchar的区别

类型

  • char固定长度的类型
  • varchar可变长度的类型

占用字符的长度

  • char(M)类型的数据列里,每个值都占用M个字节,如果长度小于M,MySQL就会在他的右边用空格字符补足(在检索操作中那些填补出来的空格字符将被去掉);

  • varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节

  • char最多可以存放255个字符,不同的编码最大可用字节数不同.

  • varchar的最大长度为65535个字节,不同的编码所对应的最大可存储的字符数不同.

    eg.定义char(10)和varchar(10),存入"test",char所占存储长度为10,除了字符"test"外后面跟着6个空格,而varchar直接存4个长度;读取数据时,char用trim()去掉多余的空格,varchar直接读出数据。

存储方式

  • char:英文字符占1个字节,汉字占用2个字节;varchar:英文和汉字都占用2个字节
  • 两者的存储数据都非unicode的字符数据。

Share

首推耗子叔的文章如何超过大多数人

这篇文章看了好几遍,真的,在复杂的互联网环境下,人们向往快速学习,吃快餐,我也一样,之前关注了很多公众号,知乎上关注了很多大牛,但从来不看,手头正忙一件事时,手机上时不时来条推送,索性,直接把他们取关,不是说他们写的文章不好,而是这些文章不能把握技术的来龙去脉,产生背景等内容。所以要找一手信息,洞悉技术本质,把握未来发展。

引用链接

MySQL中char与varchar区别,varchar最大长度是多少?