30秒?快捷学习开源库,硬核插件

2,584 阅读3分钟

GitHub 上有一个名为 **30-seconds-of-code ( 30 秒学会编程 )**的项目很火。

网站地址:https://github.com/30-seconds/30-seconds-of-code

火到什么程度?

看它的 star 数,63.4k star

这 star 数绝对是名列前茅的。

其次这项目还入选了 2018 年度十大开源项目

或许现在我们会好奇,这个这么火的项目是干什么的呢?

这个项目是一个精选了 JavaScript 代码段的集合,这些代码段不会太长,旨在开发者可以在 30 秒乃至更短时间内理解

比如这些代码片段:

1、initialize2DArray - 初始化一个二维数组

初始化一个给定行数和列数,及值的二维数组。

使用 Array.map() 生成 h 行,其中每个行都是一个长度为 w 的新数组。 如果未提供值 val ,则默认为 null。

const initialize2DArray = (w, h, val = null) =>
  Array.from({ length: h }).map(() => Array.from({ length: w }).fill(val));

2、sample - 数组取样,随机获取数组中的一个元素

从数组中随机返回一个元素。

使用 Math.random() 生成一个随机数,乘以 length,并使用 Math.floor() 舍去小数获得到最接近的整数。这个方法也适用于字符串。

const sample = arr => arr[Math.floor(Math.random() * arr.length)];

示例:

sample([3, 7, 9, 11]); // 9

可能看到 30-seconds-of-code 这么火,后续 Github 上还有很多类似的 30 秒系列仓库。

比如有:30-seconds-of-python(python 代码集)30-seconds-of-css(CSS 代码集)30-seconds-of-Interviews(面试问题集锦)30-seconds-of-react(React 代码集) 等。

除了这些类似仓库的出现,还启发了很多奇妙的项目出来。

比如网站。

为了方便阅读,把这些项目的内容弄成网站展示。

网站地址:https://www.30secondsofcode.org/

还有中文版的:

网站地址:https://www.html.cn/30-seconds-of-code/

除此之外,还有一位从事 Web 开发的 Stefan Petrovic 在这些开源项目的基础上,创建了 30 Seconds of Knowledge 的项目。

Github 地址:https://github.com/petrovicstefanrs/30_seconds_of_knowledge

这个项目是一个浏览器扩展程序,能够令开发者在每次打开新标签页时,都能学习到新的技能。

真的那么神奇吗?

每次打开新的标签页,就能学到新技能吗?

这个浏览器扩展插件主要功能是在我们打开新的标签页,或者刷新标签页的时候,就会展现 30 秒就可以阅读和理解的代码片段,那这期间我们就可以阅读,提高自己的知识水平。如果碰巧遇到你有用的,你可以直接复制/粘贴。

真的时时刻刻都可以学习,而且不影响你的正常使用。

那我们看看这个插件怎么用吧。

1、可以在直接搜索这个插件,下载安装。

也可以直接通过下面的地址下载安装

https://chrome.google.com/webstore/detail/30-seconds-of-knowledge/mmgplondnjekobonklacmemikcnhklla

2、安装完成后,电子插件按钮,可以设置自己感兴趣的内容。

比如我只勾选了 JavaScript ,C++ ,Css,python ,react 。

3、后续你只要刷新或者打开一个新的标签页就可以看到不同的代码片段了。这样我们就可以短时间的学习。

4、如果你看到自己刚好能用的代码片段,直接复制就可以使用了。又或者你觉得这代码段很好,后续能用,你也可以点击按钮,保存到自己的代码库中,后续再用。