记得年初的时候我给自己制定了一个学习计划,现在回顾来看完成度还不错。但仍有些遗憾,一些技术点没有时间去好好学习。
在学习中我发现,像文章这样的知识往往是碎片化的,而前端涉及到的面很多,如果不将这些知识有效梳理,则无法形成体系、相互串联。最后有一种东懂一块,西了解一点的感觉。因此,我结合工作体会抽象出了一些前端基础技术能力,并将这段时间学习或产出的一些不错的内容根据这些能力进行整理,形成了一份前端技术清单(github 地址)。
不论你是正在自学前端遇到了瓶颈,还是对某些技术熟练掌握但某些还未涉足,都希望这份清单能对你有所帮助。
由于个人精力有限,一些技术点的归纳可能有失偏颇,或者目前并未纳入进来,因此 github 上的清单内容 也会不断更新。目前只包含纯前端基础内容,NodeJS 、客户端泛前端、小程序、可视化等内容先留着坑吧。
清单内容↓↓↓
0. 年度报告
1. 基础拾遗
温故而知新,不知则习之,是以牢固根基。
1.1. JavaScript
- You-Dont-Know-JS [英]
- JavaScript 基础运行机制:* JS 引擎、运行时与调用栈概述 [英]* V8 引擎简介 [英]* 内存管理与4中常见的泄漏 [英]
- Event Loop(面试里总会有一题 Event Loop…):* 从 Event Loop 规范探究 JavaScript 异步及浏览器更新渲染时机* 异步之 Event Loop [英]* NodeJS 中的 Event Loop、Timers 与
process.nextTick()
[英]* Tasks、Microtasks、Queues 与Schedules [英] - Web Workers 及其5个常见使用场景 [英]
- 如何避免 async/await 地狱 [英]
- “回调地狱”的解决思路汇总
1.2. CSS
- You-Need-to-Know-CSS
- CSS布局指南
- CSS 中的各类换行处理方式 [英]:处理经典的换行问题
- 浏览器将rem转成px时有精度误差怎么办?
- 精准操控的滚动体验,浅谈新标准 Scroll Snap
- 如何完美实现一个非
button
元素的按钮 [英] - 巧用 CSS Grid 来创建横向滚动容器 [英]
- 如何处理内联元素中的空隙 [英]
- CSS Stacking Context 里那些鲜为人知的坑
1.3. 浏览器
- 浏览器的工作原理
- 现代浏览器内部是如何运行的:* Chrome浏览器概览* 浏览时发生了什么?* 渲染进程的内部工作原理* compositor是如何来提高交互性能的?
- 完整的页面生命周期 API 介绍 [英]
- 四个新的观察者:Intersection / Mutation / Resize / Performance (Observer)
- 渲染引擎工作方式及优化建议 [英]
- 浏览器内核渲染:重建引擎
- 跨域解决方案汇总
2. 工程化与工具
软件规模的扩大带来了工程化的需求,前端也不例外。随着 NodeJS 的出现,前端工程师可以使用熟悉的 JS 快速开发所需的工具。工具链生态的繁荣也是前端圈繁荣的一个写照。
2.1. webpack
- webpack 中的 Chunk 关系图算法 [英]
- webpack 进阶系列文章
- 编译优化:* 如何提升大型项目中 webpack 的性能 🎥 [英]* 运行时优化:Separating a Manifest [英]* 在 webpack 中使用 [英]* 如何更好使用 webpack tree-shaking
- 关于 webpack 编译缓存的讨论:* mzgoddard’s comment* [spec: webpack 5] - A module disk cache between build processes
2.2. Gulp
2.3. Linter
2.4. 静态类型(Typescript/Flow)
- Typescript 总体架构 [英]
- 为什么要在 JavaScript 中进行静态类型检查:* 第一部分* 第二、三部分* 第四部分
2.5. Babel
2.6. CSS预处理与模块化
3. 性能优化
性能优化其实就是在理解浏览器的基础上“因地制宜”,因此可以配合1.3节“浏览器”部分进行理解。
强烈推荐把 Google Web 上性能优化 Tab 中的文章都通读一遍,其基本涵盖了现代浏览器中性能优化的所有点,非常系统。下面也摘录了其中一些个人认为非常不错的篇幅。
3.1. 加载性能
- PRPL 模式 [英]
- 图片懒加载完全指南 [英]
- 使用 Intersection Observer 来懒加载图片 [英]
- 图片与视频懒加载的详细指南 [英]
- 使用 Application Shell 架构来实现秒开应用 [英]
3.2. 运行时性能
- 避免大型、复杂的布局和布局抖动 [英]
- 什么导致强制同步布局(reflow)? [英]
- 如何诊断强制同步布局 [英]
- 无线性能优化:Composite
- 如何不择手段提升scroll事件的性能
- 使用 passive event listener 来提高滚动流畅性 [英]
- 节流和去抖(throttle & debounce):* JavaScript 函数节流和函数去抖应用场景辨析* underscore 函数去抖的实现
- requestIdleCallback - 一个强大而神器的 API:* requestIdleCallback使用入门 [英]* Idle Until Urgent [英]:requestIdleCallback的妙用
3.3. 前端缓存
- Web 缓存简介:以购买牛奶的为例 [英]
- 大话前端缓存 [英]
- 缓存(一)—— 缓存总览:从性能优化的角度看缓存
- 缓存(二)—— 浏览器缓存机制:强缓存、协商缓存
- 缓存(三)—— 数据存储:cookie、Storage、indexedDB
3.4. 性能调试与实践
- 使用 Chrome DevTools 提升页面速度 [英]:Chrome DevTools实操讲解
- 了解 DevTools 中的 Resource Timing
- 淘宝新势力周H5性能优化实战
- 优化打包策略来提升页面加载速度
- Chrome DevTools 中你可能不知道的调试技巧
- 前端性能测量 [英]
3.5. 性能指标
- 以用户为中心的前端性能指标 [英]:前端性能指标的来龙去脉
- DOMContentLoaded:* 你不知道的 DOMContentLoaded* Deciphering the Critical Rendering Path [英]
- FP (First Paint):* Chrome的First Paint
- FCP (First Contentful Paint):* First Contentful Paint Explained [英]* First Contentful Paint [英]
- FMP (First Meaningful Paint):* Chrome 中的 First Meaningful Paint* Time to First Meaningful Paint
- TTI (Time to interactive):* Time to Interactive Explainer* 衡量用户体验的新标准
- TTFB (Time To First Byte):* TTFB,以及页面加载的时间节点
- FID (First Input Delay):* First Input Delay
- Speed Index:* WebPagetest: Speed Index
4. 安全
很多安全风险老生常谈,但是往往到出现问题时,才会被重视或者意识到。
4.1. XSS
4.2. CSRF
- 如何防止CSRF攻击?
- Site Isolation [英]:Chrome的新特性
4.3. CSP
4.4. HTTPS
4.5. 安全实录
- About
rel=noopener
[英]:打开一个新页面是如何带来安全隐患的 - 一种新型的“钓鱼”方式 [英]
- 一个媒体文件请求引发的跨站风险 [英]
- Mitigating Spectre [英]: Chrome 中的跨站安全问题
5. 自动化测试
自动化测试是软件工程的重要部分之一,但却极容易被忽视。
5.1. 单元测试
5.2. 端到端测试 (E2E)
5.3. 其他
6. 框架与类库
如果说基础知识是道,那框架与工具可能就是术;学习与理解它们,但千万不要成为它们的奴隶。
6.1. React
- React 底层揭秘 [英]
- 你所需要知道的 React 细节
- React Fiber 架构
- React 16 Fiber 源码速览
- React 是怎样炼成的:React早期的进化之路
- 从零开始实现一个React:* 1. JSX和虚拟DOM* 2. 组件和生命周期* 3. diff算法* 4. 异步的setState
- 「react技术栈」单页应用实践快速入门
6.2. Vue
6.3. Redux
6.4. RxJS
7. 新技术/方向
前端领域新技术、新方向层出不穷,这里汇总一些新技术方向;作为开发者需要多了解但是不要盲从
7.1. PWA
- PWA 学习与实践系列
- Service Worker 入门简介 [英]
- PWA 在 iOS 平台上的特殊问题 [英]
- 在你的 PWA 中小心使用 iOS 的 meta 标签 [英]
- 饿了么的 PWA 升级实践
- 离线指南
- Android 中的 WebAPKs [英]
- Pinterest 的 PWA 实践 [英]
- 异步 HTTP Cookies API [英]:赋能Service Worker
7.2. CSS Houdini
7.3. Web Components
7.4. 微前端(Micro Frontends)
7.5. HTTP/2
7.6. WebAssembly
- WebAssembly 官网
- WebAssembly 现状与实战
- WebAssembly 系列:* 一、生动形象地介绍 WebAssembly* 二、JavaScript Just-in-time (JIT) 工作原理* 三、编译器如何生成汇编* 四、WebAssembly 工作原理* 五、为什么 WebAssembly 更快?* 六、WebAssembly 的现在与未来
8. 业务相关
在业务中往往还有一些与“业务无关”的场景需求,不论是什么业务几乎都会遇到;因此,在变与不变中,我们更需要去抽象出这些问题。
8.1. 数据打点上报
8.2. 前端监控
8.3. A/B测试
- Twitter的A/B测试实践:* 一、为什么要测试以及测试的意义* 二、技术概述* 三、检测和避免 A/B Test中 bucket不平衡问题* 四、A/B Test中使用多个控制的启示
- Netflix A/B Test 实验平台实践 [英]
- 指导方法* 实验中容易遇到的七种问题 [英]* 实验的七个准则 [英]* 小流量如何进行AB测试
- 案例分享* 大众点评AB测试框架Gemini* 新浪新闻客户端AB测试与灰度发布* 天猫App A/B测试实践
- 工具* AB测试样本数量计算器* AB测试结果有效性分析工具
8.4. “服务端推”
- 各类“服务器推”技术原理与实例
- 长连接/websocket/SSE等主流服务器推送技术比较
- Comet:基于 HTTP 长连接的“服务器推”技术
- 深入 WebSockets、HTTP/2 SSE [英]
- WebSocket 应用安全问题分析
8.5. 动效
- 动画设计的12个原则🎥 [英]
- 贝塞尔曲线扫盲
- 动画:从 AE 到 Web
- 最全最好用的动效落地方法:* 基础知识* 落地方式
9. 不归类的好文
开卷有益。
- [Recursion? We don’t need no stinking recursion<img src=“https://link.juejin.cn/?target=http%3A%2F%2Fraganwald.com%2F2018%2F05%2F20%2Fwe-dont-need-no-stinking-recursion.html “http://raganwald.com/2018/05/20/we-dont-need-no-stinking-recursion.html”):如何将一些递归改为循环(尾递归优化” style=“margin: auto” />
- Turning your web traffic into a Super Computer:通过 Web Worker 和 WebSocket 来将全世界的电脑连接成超级计算机
- Designing very large (JavaScript) applications:高屋建瓴,适合阅读与思考
5997"):通过 Web Worker 和 WebSocket 来将全世界的电脑连接成超级计算机
- Designing very large (JavaScript) applications:高屋建瓴,适合阅读与思考
注:其中部分外文文章可能需要“科学上网”## 题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!