
身为一个 Web 开发萌新,很难忘记我发的那条朋友圈,根据我的感悟总结过的这一段话,也得到了 justjavac (jjc)的点赞,好生勉励:
在这个信息爆炸的时代,重要的不是掌握多少信息,而是认识多少承载信息的人,并努力成为其中一个。
阮一峰的经济学博士背景、池建强的“技术与人文”理念,廖雪峰的详细 Git 教程以及 Phodal 的全栈之旅和花式秀恩爱等等“程序员英雄”事迹,让我看到了一个个鲜活的生命力在互联网的行业中激情迸发,激励着自己。如果身为程序员的你还不知道他们,想必搜索引擎用的也不多吧?
[图片上传失败...(image-d075e9-1509644516045)]](https://img.haomeiwen.com/i2558748/cce7aa03a5abdfc6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
回归到我们的主角 jjc 和主题“前端工程师入门与进阶”,这里凝聚了我在 2017 年 4 月 22 日我的第一场知乎 Live 中的笔记。
P.S. 最近的 IOS 不再支持订阅号赞赏也阻挡不住知识付费的潮流~
语录
- 最能提高自己的方式:别人 Review 自己的代码
- 学新语言时和曾经学过的语言作对比:求同法和求异法
- 想成为前端程序员,先成为程序员
- 避免三个月的经验,重复了五年
- 没有工资高的语言,只有工资高的开发者
- javascript 不只是 script
- React:抛开 React 学习 React
- 对前端有了基本了解后,建议忘掉 dom 忘掉浏览器学习 javascript
举例子:学 C 时先学数据类型
问答

- 程序员 80% 的时间是在维护老项目
- 老项目都是慢慢更新成新技术的

- 先多练 JS,不要专注酷炫的效果。
- 看看自己代码是否整齐
- 写写代码逻辑很复杂但页面简单的项目
- 区分函数式、过程式、面向对象式
- 提升自己代码“健壮性”,任何非法输入都不会崩溃产品
- 代码可调式性是否高
- 分技能练习,点亮自己的技能树

- 所有展示性的东西,都是前端工程师
- React 做 MVC 架构的 V (View)

- 80% 的程序员都在写业务代码
- 成熟的开发公司外很少有不写业务代码的
- 不提倡使用 for 等循环语句,推荐函数式编程
- 前端和后端最大不同之公司业务很稳定,后端不易改

- 能独立完成项目的人不一定不算是初学者
- “三个月经验,重复了五年”
- 编程入门者:不要使用框架
- React:抛开 React 学习 React
- 使用框架是为了解决未来可能会出现的问题,迎接变化

- 提升编程思维和编程能力,可以用 js 刷刷 c 语言的题目
- 阅读别人的代码,多问为什么

- 看看 Martin Fowler 的《重构》、设计模式
- 函数要短小,不能超过 20 行
- 项目驱动
- 考察思维方式
例如:编程计算根号 7 :从二分查找到牛顿迭代法 - 提问的智慧会了解一个事实
大牛不是生来就是大牛,而是这些大牛在提问之前已经把问题解决了

- 停留在入门,停留在写一个页面而已上面
- 没有系统的了解 javascript
- 为了编程而编程
- 前端最容易犯的错:追求炫酷和最新的技术
- 前端学习应该刻意联系 解决 Bug 的思路

- 高效的读书:如何阅读一本书(不要被书名迷惑)

- 跟着简历上说到的技术提问:深入和全面掌握某一门知识,“系统化”学习,拓展知识

- 可以看看编程、历史、经济类的书,经济管理类的书可以拓展思路:经营、管理自己的时间、知识

- 截取自阮一峰老师翻译的《黑客与画家》

- 不陌生吧

- 代码 Review、Chrome 调试工具

- 训练出来,多刷题,多遇到

- 一种技能:解决问题的技能
- 现在前端处于什么阶段:从 Web Page 到 Web APP,后端逻辑逐渐转移至前端 -> 胖客户端

- 工具类了解原理和背景就好,比如 Webpack 为什么诞生。随着
HTTP 2 的推广,Webpack 这类也不一定会持久下去。且用户访问量最大的 QQ 空间,所有 JS 已经缓存在各大服务器,也不便转用 Webpack - 之所以做前后端分离,因为不只有 Web 前端
- 后端:提供 API
- 前端:处理展示逻辑,无论是否在浏览器上还是在服务器上运行

- 代码 Review 、技术分享和看看开源团队的代码
- 代码 Review 最大的困难是说服和技术无关的领导进行此类活动

- 大部分人进入前端其实是为了逃离后端
- 对自己进行职业定位
- 去招聘网站多看看自己职位的要求
- 没用的知识就不要学习
- 前端错误学习方式:JS 还不清楚,盲目学习前端页面、框架
- 看明白,多动手敲
- 没有工资高的语言,只有工资高的开发者
- 大部分人事自学成才的
- 初学者:尽量远离外包公司,尽量去产品型公司
避免三个月的经验,重复了五年 - 快速的成长:要踩足够的坑,系统化、理论化

- 想得到工作,努力提高自己达到公司要求,而不是降低自己薪资标准

- 新人,不要使用任何框架(除 jQuery)
- 现在叫前端工程师,以前叫页面重构师
- 做一些开源项目,做十个不如做精一个

- 多提问:设计模式是什么,设计模式用在什么场景,设计模式解决了什么问题,设计模式怎么才能解决这个问题
- 前端数据来源,Ajax、本地缓存、URL 等

- 从发布最初版本开始看,包括其中的各种提交 diff

- 需求更改:新手害怕改变,高手迎接改变,大神以不应应万变
- 代码要多进行单元测试。

- 将兴趣和工作结合,也不能将兴趣作为收入太多的来源

- 移动端几乎摆脱 jQuery
- 应该少操作 DOM,推荐使用 React

- 产品、工程路线和底层、研发路线

- 做精一俩个项目足以,不要贪多

- 什么样的:前端工程化要了解、设计模式要了解、解决问题要了解

- React:单项数据流、函数式编程

- Vue,轻量级、门槛低、有成功案例,因此也很有价值

- 学习理念


- 首选官网,再搜维基等文档,拓展链接
- 拓展:从一篇博客到其友情链接等延伸提升
- 实战提升自己:实战建立在自己有全面的知识架构,不要盲目实战
- 想成为前端程序员,先成为程序员
- 先学语言和库

- 推荐书籍
- 《黑客与画家》
- 《JavaScript 高级程序设计》
- 《JavaScript 精粹》
- 《你不知道的 JavaScript》
我的感悟
- 用后端的角度思考前端
- 用设计的角度思考前端
- 分享,是最好的学习方式,就像这场知乎 live 或这篇文章一样

- 更多精彩希望直接付费去听知乎 live 回顾咯:
https://www.zhihu.com/lives/824618968198291456

- 感受一下

- Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有很多感悟,也享受持续分享的过程。如果想了解更多或能及时收到我的最新文章,欢迎订阅我的个人微信号:韩亦乐。我的简书个人主页中,有我的微信个人订阅号二维码和 Github 主页地址;我的知乎主页 中也会坚持产出,欢迎关注。
- 本文内部编号经由我的 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。
![]()
网友评论