左耳听风 第二十六周
每周完成一个ARTS: 每周至少做一个 leetcode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称ARTS)
Algorithm
开始按顺序来完成「LeetCode」前 200 题
review
5 points to improve your programming logic
「改善你逻辑思维的 5 点」,逻辑思维是成为一个优秀的开发者的关键点,只要从事编程一定绕不开算法(后端开发会更为常见),而算法依赖于 逻辑思维,对此作者给出了改善逻辑的 5 点。
1、Think to solve。思考如何去解决问题。将大的问题分解成小问题,把每个小问题用最合适的方法解决,大问题也就迎刃而解了。通过「伪代码」或者画图的方式可以帮助你更好的解决问题。
2、Practice。练习。改善逻辑思维最重要的一点就在于:在简单的问题上尝试更好的逻辑去解决。
3、Learn about Data Strucutures and Algorithms。学习数据结构和算法。程序的定义是:数据 + 算法。程序员就是用更好的算法将数据组合来解决问题。学习数据结构和算法可以帮我们锻炼思维,找到更好的解决方案。我们可以通过「象棋」一类的逻辑游戏来帮助我们训练出数学思维。
4、Learn programming paradigms。学习编程范式。编程范式(例如:函数式编程、面向对象编程等)代表的其实是编程的起源,亦是它的发展历史。它能告诉我们如何更好的理解编程的思想,通过不同的编程范式来实现同一功能可以极大的改善我们的逻辑思维。
5、Look at other people’s code。看其他人的代码。每个人的思维都不一样,很多时候看别人的代码可以带给我们新的思路。GitHub 上有很多优秀的代码给我们参考。
Tip
这周完成前端方面的小作业,用起了以前收藏的一个实用设计导航网站。
UI 设计师导航网
你可以在这里寻找一些 UI 设计的灵感和技巧,前端人员也可以在这里学习一些不错的前端网页、同时这里能够教你如何更好的配色。
share
接触了一下「单例模式」,了解了「如何保证一个类只生成 1 个实例对象」,同时了解了「单例模式」解决多线程安全问题的「饿汉模式」以及「懒汉模式」。