Web 前端综合成长学习清单

9,635 阅读6分钟

前言

这里主要整理一些日常学习资料。比如计算机科学、JavaScript、TypeScript、Node.js、Haskell、Bash、文学、音乐等。笔者每当见到有价值的学习资料的时候,就会归纳在这个系列里。在需要补充某个短板进行学习的时候,或者温故复习的时候,可以迅速找到学习资源的索引。

当然笔者,也会把过时的、质量较低的学习资源给删除掉。

另外,需要注意的是,尽管此清单涉及范围很广,但是由于第一,笔者是 Web 前端开发工程师;第二,时间有限。所以清单整体倾向于 Web 前端领域,以及笔者目前也只是学习了其中很小一部分。

总而言之,这是一份笔者打算长期维护的学习清单~ 有需要的同学可以关注收藏~

这个学习清单来源于笔者在语雀中维护的 苏里查阅手册,日常主要更新也会在语雀上。

PS:部分为英语资料、以及付费资料。质量上乘,推荐学习和反复学习。

计算机科学

计算机科学广义上来说,可以作为长期学习目标,不断提升这方面的知识广度和素养水平。

以及推荐阅读《深入理解计算机系统》

数据结构与算法

长期编写应用软件的过程中,将会越来越意识到这些的价值所在。

推荐阅读 + 练习 + 视频
《算法》
algs4.cs.princeton.edu
普林斯顿大学丨算法第四版(中英双语字幕)

MIT 6.006 Introduction to Algorithms, Fall 2011

数据结构入门视频系列:Youtube | Data structures

TypeScript

体验类型语言的优雅之处

JavaScript

保持高效精准的学习!

Frontendmaster 和 Egghead.io 两个都是订阅收费的前端视频学习网站。

Frontendmaster 注重从入门到进阶的学习路线,我订阅学习了接近半年,进步明显,期间也安利了不少朋友和同事。

Egghead.io 主要都是一些热门流行技术的教学短视频。我也订阅了一段时间,但是没怎么看,有点浪费。因此建议其实很多教学视频可以也可以在 B 站 或者 油管 上进行搜索。

以及推荐阅读
《JavaScript 高级程序设计》
《JavaScript 面向对象精要》

最近发现这个不错的教程(2019/12/10)

十分推荐 NodeSchool 里面有实战练习帮助学习,对我帮助很大。

目前还没有上线的 Dan AbramovJust JavaScript教程,但是可以通过邮件订阅,提前阅读教程草稿。

极客时间也可以推荐
李兵《浏览器工作原理与实践》
winter《重学前端》

通过 JavaScript 一些有趣的难题来深入学习
TypeofNaN JavaScript Quizzes

以及各种前端知识体系比较齐全的博客系列

社区

ES Discuss

工具

学一点调试技能,不紧急但很提升解决问题的效率。

webpack 也必须掌握(官方文档)

正则表达式

正则表达式是一个神奇的领域,不了解的人可以永远不用到它,也不承认学习正则的价值。了解正则并从中体会优势的人,将会持续不断的加深认识。

Node.js

从理解社区各种工具,到开发工具,到中后台服务架构,前端工程师必须掌握的技能。

推荐阅读
《深入浅出 Node.js》
《Node.js 硬实战》

最近发现一篇关于流的博客,补上(2019/12/10)

还有学习 NodeSchool 的 stream-adventure

StackOverflow 高赞回答:How do I get started with Node.js

介绍 Node.js 原理:Node.Js Under the Hood

Node.js TypeScript | Blog Series

Haskell

学习 Haskell 就见仁见智了,总而言之,学了能加深对函数式编程的认知。

Bash

持续优化工作流,编写高效率脚本的工具

还有学习 NodeSchool 的 learnyoubash

高质量的 bash 脚本集合! bashoneliner

Github | awesome-bash

技术社区 & 博客

可以推荐 Github、Medium、知乎、Ted、Youtube 等等。

推荐油管视频:
Web Development In 2020 - A Practical Guide

多读有益,利用碎片化时间进行吸收。

除此之外还有很多,日后见到补充。

开发、学习工具

Mac

Dash 离线文档工具
iTerm2 命令行
Bear 笔记软件(跨平台)
Microsoft Todo 任务管理工具(跨平台)

iPhone

Tide 白噪音软件
Medium 博客

绘图工具软件

绘制草稿、示意图、流程图等
Excalidraw
Draw.io

代码示意图
Carbon

设计模式

从理论上来说,我们不能停留在简单编程实现需求上,需要认识代码设计的必要性。时刻谨记 SOLID 五大原则,并且灵活运用多范式编程(OOP/RP/FP),才能让代码保持健壮和长期迭代下可维护。

同时也需要记住的是:

  1. 保持简单
  2. 先设计后实现
  3. 避免过度设计
  4. 设计服务需求

推荐阅读
《图解设计模式》
《Head First 设计模式》
《UML 基础、案例与应用》

《架构整洁之道》:) 尤其推荐这本书

编程范式

了解多种编程范式!

OOP

参考设计模式章节

RP

了解学习 RxJS,在特定技术场景下运用此类范式编程。

FP

函数式编程里的纯函数、高阶、组合、还有 Functor 和 Monad 都是一些很迷人的概念,学习这些知识十分有价值。

推荐阅读
《mostly-adequate-guide》
《JavaScript 函数式编程指南》

测试资料

比较常接触的有单元测试和 e2e 测试。比如推荐:jest、puppeteer、cypress

计算机网络

作为前端工程师,熟悉 HTTP 协议是必须的。

推荐阅读

  1. 《HTTP 权威指南》
  2. 《图解 HTTP》
  3. 《图解 TCP/IP》

以及相关工具,比如 curl、HTTPie

标准文档

各类官方 API 文档,当被网上各类资料迷惑时,应当寻找权威资料纠错。

自我成长

工具网站

练习平台

一些有趣的网站,可以拿来刷题学习,训练自己。

音乐资料

有空多学学音乐。

一个 JavaScript 的音乐工具类库

推荐阅读《聆听音乐》

文学作品

个人比较喜欢的文学作品,纯做备忘录

《白夜行》
《心有猛虎 细嗅蔷薇 -- 余光中散文集》
《雪落香杉树》
《禅与摩托车维修技术》

科普作品

关于科普书,目前正在读,感觉还不错的

《肠子的小秘密》:) 科学介绍人类肠胃的作用和机制

关于讲数学的,也很平易近人
《程序员的数学》
《程序员的数学 - 概率统计》
《程序员的数学 - 线性代数》

总结

补充:Github 的各种  awesome-list 系列也有大量的学习资源

逆水行舟,不进则退~
加油~