你们好,我是大家的 猫哥,那个不喜欢吃鱼、又不喜欢喵 的超级猫 ~javascript
关于猫哥,你们能够看看个人年终总结 前端工程师的 2020 年终总结 - 乾坤未定,你我皆黑马。前端
今天给你们推荐 2020 年增加数最多的 10 大顶级前端学习资源项目!java
看完这 10 大顶级项目,你会发现原来 GitHub 上也有这么多的 JavaScript 学习资源!node
该仓库包含了多种基于 JavaScript 的算法与数据结构。git
每种算法和数据结构都有本身的 README,包含相关说明和连接,以便进一步阅读 (还有 YouTube 视频) 。程序员
数据结构包含了 链表、双向链表、队列、栈、哈希表(散列)、堆、优先队列、字典树、树、优先队列、二叉查找树、AVL 树、红黑树、线段树、树状数组、图、并查集、布隆过滤器github
算法包含了 算法主题 和 算法范式。web
其中算法主题又包含了:数学、集合、字符串、搜索、排序、链表、树、图、加密、机器学习。面试
算法范式:算法范式是一种通用方法,基于一类算法的设计。这是比算法更高的抽象,就像算法是比计算机程序更高的抽象。算法
算法范式包含了:BF 算法、贪心法、分治法、动态编程、回溯法、Branch & Bound 等等。
这项目还出了对应的教学视频,总共 81 个视频讲解,每一个视频大概 5 - 10分钟左右,还能学习英语哦 😉
youtube 的教学视频: https://www.youtube.com/playl...
猫哥以前学习算法的时候,也在这个项目中收益良多呢!
并且这个项目还一直有维护和更新内容哦!真的很是不错的一个项目!
https://github.com/trekhleb/j...
更多算法相关的项目推荐能够看看这篇文章:7 个 GitHub 上超火的前端学习的数据结构与算法项目
Node.js 最佳实践。
这个项目是对 Node.js 最佳实践中排名最高的内容的总结和分享。
这里是最大的聚集,且每周都在增加 - 当前,超过 50 个最佳实现,样式指南,架构建议已经呈现。
目录
好比 错误处理最佳实践 中 使用 Async-Await 和 promises 用于异步错误处理
TL;DR: 使用回调的方式处理异步错误多是致使灾难的最快的方式(a.k.a the pyramid of doom)。对您的代码来讲,最好的礼物就是使用规范的 promise 库或 async-await 来替代,这会使其像 try-catch 同样更加简洁,具备熟悉的代码结构。
不然: Node.js 回调特性, function(err, response), 是致使不可维护代码的一个必然的方式。究其缘由,是因为混合了随意的错误处理代码,臃肿的内嵌,蹩脚的代码模式。
https://github.com/goldbergyo...
该项目为 YDNJS(You Don’t Know JS) 图书系列,包含一系列深刻探讨 JavaScript 语言核心机制的书籍。
内容大纲
https://github.com/getify/You...
优秀的 JS 代码规范。
好比:对相同类型的变量使用相同的关键字
Bad:
getUserInfo(); getClientData(); getCustomerRecord();
Good:
getUser();
再好比:使用可搜索的命名
在开发过程当中,咱们阅读代码的时间会远远超过编写代码的时间,所以保证代码的可读性与可搜索会很是重要。
切记,没事不要坑本身。
Bad:
//525600到底啥意思? for (var i = 0; i < 525600; i++) { runCronJob(); }
Good:
// 声明为全局变量 var MINUTES_IN_A_YEAR = 525600; for (var i = 0; i < MINUTES_IN_A_YEAR; i++) { runCronJob(); }
https://github.com/ryanmcdermott/clean-code-javascript
该项目讲的是知足你全部开发需求的简短代码段,里面都是些常常会用到并且是很是经典的代码,很是值得学习!
好比 JavaScript 模块就分为了 All、Array、Browser、Date、Function、Math、Node、Object、String 方便学习的。
好比:你必须知道的 4 种 JavaScript 数组方法
Array.prototype.map()
const arr = [1, 2, 3]; const double = x => x * 2; arr.map(double); // [2, 4, 6]
Array.prototype.filter()
const arr = [1, 2, 3]; const isOdd = x => x % 2 === 1; arr.filter(isOdd); // [1, 3]
Array.prototype.reduce()
const arr = [1, 2, 3]; const sum = (x, y) => x + y; arr.reduce(sum, 0); // 6 const increment = (x, y) => [...x, x[x.length - 1] + y]; arr.reduce(increment, [0]); // [0, 1, 3, 6]
Array.prototype.find()
const arr = [1, 2, 3]; const isOdd = x => x % 2 === 1; arr.find(isOdd); // 1
又好比:如何在 JavaScript 中实现睡眠功能?
同步版本
const sleepSync = (ms) => { const end = new Date().getTime() + ms; while (new Date().getTime() < end) { /* do nothing */ } } const printNums = () => { console.log(1); sleepSync(500); console.log(2); console.log(3); }; printNums(); // Logs: 1, 2, 3 (2 and 3 log after 500ms)
异步版本
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); const printNums = async() => { console.log(1); await sleep(500); console.log(2); console.log(3); }; printNums(); // Logs: 1, 2, 3 (2 and 3 log after 500ms)
其实上面讲到的事例里面还提供 api 和方法的讲解的,方便读者能看懂的,这里就不写出来了。
还想学更多的 经典 js 代码片断,请看下面的仓库
https://github.com/30-seconds...
这个项目是 JavaScript 编程风格指南。
包含了:类型、对象、数组、字符串、函数、属性、变量、提高、比较运算符 & 等号、块、注释、空白、逗号、分号、类型转化、命名规则、存取器、构造函数、事件、模块、jQuery、ECMAScript 5 兼容性、测试、性能、资源、JavaScript 风格指南说明
https://github.com/airbnb/javascript
技术人员求职面试,单刷leetcode上的大厂题库可能还不够。
简历怎么写才能吸引HR的眼光,可能会被技术老大问到哪些常见问题,拿到Offer以后怎样才能让本身的优点最大化而后优中选优?
面对这些赤果果的问题,目前就任于Facebook的新加坡小哥Yangshun Tay就整理了一份干货。
面试全流程须要注意的事项都在里面了,包含从简历准备、面经和谈判全过程,教你如何避雷不踩坑。
精心策划的内容可帮助您得到下一次技术面试的机会,重点是算法。
除了常见的算法问题外,其余出色的功能还包括:
https://github.com/yangshun/t...
FreeCodeCamp 是一个自由开源的学习编程的社区,致力于帮助人们利用零散时间学习编程。
它的使命是 Learn to code and help nonprofits(学习编程,去帮助那些非盈利组织)。
FCC 涵盖 HTML五、CSS、React、JavaScript、Database 等课程,游戏化程度很是高,学员能够经过线上聊天室和线下社区活动(Coffee and Code)相互帮助。
目前覆盖全球 160+ 个国家、1000+ 个城市,40W+ 开发者在平台学习。
https://github.com/freeCodeCa...
该项目是详尽的关于前端开发的清单,它列出了将 HTML 页面投入生产以前须要进行测试的全部元素。
它基于众多前端开发人员的多年经验,其中一部分整合自其余的开源清单。
内容包含:
https://github.com/thedaviddi...
新手上路最开始用的就是基础的 HTML+CSS+JS 三件套,而在框架和库愈来愈多的如今,更多的时候使用它们来提升效率是常见的选择。
这个项目则是反过来,是使用老三件套实现的一些小项目合集,不论是为了更好理解框架,仍是为了验证一下本身的知识水平,从新操刀老三件套都不失为一个好选择,要知道不论是什么框架和库,基础都是由这三板斧搭建起来的。
https://github.com/bradtraver...
不知不觉,原创文章已经写到第 33 期了呢,几乎每一篇都是猫哥精心挑选的优质开源项目,推送的每一篇文章里面的项目几乎都是对前端开发颇有帮助的。
原创不易,一篇优质的文章都是要肝几个晚上才能肝出来的,花费不少时间、精力去筛选和写推荐理由,大佬们看完文章后顺手点个赞或者转发吧,给猫哥一点鼓励吧。
往期精文请看下方宝藏仓库,请慎入!
https://github.com/FrontEndGitHub/FrontEndGitHub
平时如何发现好的开源项目,能够看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目
公众号: 前端GitHub,专一于挖掘优秀的前端开源项目,抹平你的前端信息不对称,致力于打造最优质的前端开源项目资源库。
微信搜 “前端GitHub”,回复 “电子书” 便可以得到上面 160 本前端精华书籍哦,猫哥 WX:CB834301747 。
往期精文
原创不易,给点鼓励吧