title: ARTS第0周
介绍
最近参加了耗子叔的互助学习打卡活动(知乎地址:https://www.zhihu.com/question/301150832 )。每周完成下面四件事情:
(1)至少做一个 leetcode 的算法题
(2)阅读并点评至少一篇英文技术文章
(3)学习至少一个技术技巧
(4)分享一篇有观点和思考的技术文章
打算坚持至少一年。
Algorithm
单独写成了上一篇博客:https://hu7may.github.io/passages/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98%20142%20linked-list-cycle-%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8/
Review
最近手头有一点前端相关的工作,刚好看的文章也是前端相关的。
文章标题:Ten Things A Serious JavaScript Developer Should Learn
原文链接:https://benmccormick.org/2017/07/19/ten-things-javascript/
作者列举了中级JavaScript开发者必须具备的十项清单:
1.清楚地知道语言的核心部分。
JavaScript语言很庞杂,包含各种浏览器api,库api,jQuery,React等等各种第三方框架和包。往往实现一个功能有许多不同的方法。但实际上JavaScript语言核心部分和标准库的内容相对java,Python等语言来说是很少的。你最终会用到JavaScript生态系统里面的许多东西,但在起始阶段掌握语言的核心特点回事一个很好的开始。
2.理解异步代码
学习回调和promises,事件循环。
3.学会使用开发工具
VS Code、WebStorm,学会使用他们的调试工具,还有浏览器的devtools。
4.熟练使用JavaScript函数
作用域,闭包,箭头函数,使用map,filter,reduce等。
5.基本的界面设计技能
只要不是纯后台开发人员,都或多或少需要掌握一些界面设计能力,以便更好地和设计师或产品经理沟通,优势也需要完成一些简单的UI方面的任务。基本的HTML,CSS以及一定的审美能力。
6.对网络和HTTP的api有一定了解
知道在浏览器打开一个URL时发生了些什么,
了解AJAX,REST,用一用XMLHttpRequest,fetch等。
7.使用Node.js系工具
近年涌现了大量适合团队工作流的工具如eslint,Babel,Webpack等,要会基本的npm命令安装各种包等基本技能。
8.学会如何使用一种框架来构建一个中等规模的程序
要对一个系统得到整体架构有所了解。学习使用至少两种框架,比较各自的特点及优劣来学习其中的架构思想。
9.性能调优基础
学会诊断程序的问题出在哪里,能够判断是网络延迟还是代码运行慢。知道怎么缓存数据、避免发起过多http请求等等。
10.保持学习新知识
JavaScript过去十年发生了很大的变化,未来十年也是一样,需要保持持续关注语言的变化,在必要的时候学习他们。也要好好利用Google,Stack Overflow等工具。
Tip
Alfred,mac上的神器,前段时间开始用的,常用的还只有几个功能,快速打开应用,目录,文件等(默认快捷键alt+space),还有些高级玩法workflow还没仔细研究。
Share
这部分耗子叔在知乎上的说法是:主要是为了建立影响力,能够输出价值观,分享一篇有观点和思考的技术文章。
正如耗子叔所说,高层次的思考,思辨,逻辑正被快餐信息弱化,快餐文化带给人暂时的满足感,但无法有更深层次的思考,不是把知识转换成自己有效知识的途径。根据学习金字塔的模型,听讲、阅读、视听、演示的被动学习效果要远差于讨论、实践、教授给他人的主动学习。所以不论是做算法题,还是看文章(被动学习),在做过看过之后,再加以自己的总结(主动学习),才会真正有所收获,坚持一段时间,才会有所收获。
八九月份就要秋招找工作,现在基础还很薄弱,希望自己能够一直坚持下去,相信会对找工作有挺大的帮助。