《web全栈工程师的自我修养》读书笔记
当我们知道一个“东西”的名字,就会在看到这个“东西”的时候,立马意识到它。
但是如果我们不知道它的名字,可能一辈子也不会认识它。 这就是约书亚树原理。
概念
- 全栈工程师(Full-Stack Engineer):
- 一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。
- 全栈:
- 表示为了完成一个项目,所需要的一系列技术的集合。简单来说,全栈工程师就是可以独立完成一个产品的
- 能力 + 思维
- Web开发流程
- 产品设计
- 交互设计
- 视觉设计
- 前端开发
- 后台开发
- 测试
- 发布
一专多长
- 先在一个特定的方向上有比较深入的钻研,然后再将学习目标渐渐推广开来。
- 比如先从前端方向入手,掌握了基本的HTML、CSS、JavaScript之后,不要转头向服务器端语言或者App方向发展,而是深入到性能优化、SEO、多种框架、响应式页面等前端细节中去。
解决问题,而不是醉心技术
- 公司存在的意义就是解决问题,公司要解决用户的问题,而员工要解决公司的问题。
- 公司的问题可能是降低成本、扩大用户群、增加成交量、优化性能,等等。
- 设计四大原则:对齐、对比、距离和重复。
Web性能优化
- 压缩源码和图片
- JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色变成8色、去掉一些PNG格式信息等。
- 选择合适的图片格式
- 如果图片颜色数较多就使用JPG格式,如果图片颜色数较少就使用PNG格式,如果能够通过服务器端判断浏览器支持WebP,那么就使用WebP格式和SVG格式。
- 合并静态资源
- 包括CSS、JavaScript和小图片,减少HTTP请求。
- 开启服务器端的Gzip压缩
- 这对文本资源非常有效,对图片资源则没那么大的压缩比率。
- 使用CDN
- 或者一些公开库使用第三方提供的静态资源地址(比如jQuery、normalize.css)。
- 一方面增加并发下载量,另一方面能够和其他网站共享缓存。
- 延长静态资源缓存时间
- 这样,频繁访问网站的访客就能够更快地访问。
- 不过,这里要通过修改文件名的方式,确保在资源更新的时候,用户会拉取到最新的内容。
- 把CSS放在页面头部,把JavaScript放在页面底部
重视作品集
- 作品集(portfolio),是指您个人的项目和作品的集合,一份精心准备的作品集比简历更能说服人。
设计模式
- 创建型模式
- 单例模式
- 工厂方法
- 抽象工厂
- 建造模式
- 原型模式
- 对象池模式
- 多例模式
- 结构型模式
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式
- 行为型模式
- 观察者模式
- 黑板
- 责任链
- 命令
- 解释器
- 迭代器
- 中介者
- 备忘录
- 空对象
- 模板方法
- 访问者模式
学习管理
- 在项目最开始做出合理的时间评估
- 根据人员的强项来安排任务
- 唤起团队对项目成功的渴望
- 保障沟通。理想沟通频率每周至少两次。
扩展阅读书单
- 【思想类】
- 《黑客与画家》(美)保罗·格雷厄姆,人民邮电出版社
- 《专业主义》(日)大前研一,中信出版社
- 【商业类】
- 《重来:更为简单有效的商业思维》 (美) 贾森·弗里德 / (丹) 戴维·海涅迈尔·汉森,中信出版社
- 《精益创业》(美) 埃里克·莱斯,中信出版社
- 【面试类】
- 《编程之美:微软技术面试心得》《编程之美》小组,电子工业出版社
- 【企业文化类】
- 《打造Facebook》王淮, 印刷工业出版社
- 【个人展示类】
- 《您就是极客:软件开发人员生存指南》(美)Michael Lopp,人民邮电出版社
- 《代码整洁之道》(美)Robert C. Martin,人民邮电出版社
- 【性能优化类】
- 《图解HTTP》(日)上野宣,人民邮电出版社
- 《高性能网站建设进阶指南》(美)Steve Souders,电子工业出版社
- 《网站性能监测与优化》(美)Alistair Croll / Sean Power,人民邮电出版社
- 【前端工程师类】
- 《精通CSS:高级Web标准解决方案(第2版)》(英)Andy Budd/Simon Collison/Cameron Moll,人民邮电出版社
- 《单页Web应用:JavaScript从前端到后端》(美)Michael S. Mikowski /Josh C. Powell,人民邮电出版社
- 【服务器类】
- 《鸟哥的Linux私房菜.基础学习篇》鸟哥,人民邮电出版社
- 《只是为了好玩 : Linux之父林纳斯自传》(美)Linus Torvalds、David Diamond,人民邮电出版社
- 【版本控制类】
- 《Git版本控制管理》(美)Jon Loeliger/ Matthew McCullough,人民邮电出版社
- 【代码艺术类】
- 《代码大全》(美)Steve McConnell,电子工业出版社
- 《代码的未来》 (日)松本行弘,人民邮电出版社
- 《禅与摩托车维修艺术》(美)罗伯特·M.波西格,重庆出版社
- 【设计模式类】
- 《设计模式:可复用面向对象软件的基础》(美)Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides,机械工业出版社
- 《JavaScript设计模式》 (美)Addy Osmani,人民邮电出版社
- 【效率类】
- 《软件随想录:程序员部落酋长Joel谈软件》(美)Joel Spolsky,人民邮电出版社
- 《卓有成效的程序员》(美)Neal Ford,机械工业出版社
- 【设计类】
- 《写给大家看的设计书(第3版)》Robin Williams ,人民邮电出版社
- 《写给大家看的设计书:实例与创意》Robin Williams ,人民邮电出版社
- 【修为类】
- 《卓有成效的管理者》(美)彼得·德鲁克, 机械工业出版社
- 《麦肯锡教我的写作武器》(日)高杉尚孝, 北京联合出版公司·后浪出版公司
- 《金字塔原理》(美)巴巴拉·明托,民主与建设出版社
- 《安静:内向性格的竞争力》(美)苏珊·凯恩,中信出版社