用户工具

站点工具


project:openbook

开源电子书排版计划

分类 书名 协议 备注 状态
数学 An Infinite Descent into Pure Mathematics CC-BY NC SA 4.0 可翻译
数学 Calculus made easy 版权过期 可翻译
计算机 计算机网络:原理,协议和实践 协议未知
计算机 加密学导论 CC-BY NC ND 4.0 不可翻译
计算机 Go By Example CC 3.0 Unported 可翻译1) 已创建
计算机 精通 JavaScript 模块 CC BY NC SA 4.0 可翻译
计算机 机器学习解释 CC BY NC SA 4.0 可翻译
计算机 计算机科学:以 Julia 语言为例 CC BY NC SA 3.0 可翻译
计算机 Introduction to Computing CC BY NC SA 3.0 可翻译
计算机 SICP in Python CC BY SA 3.0 可翻译
计算机 opsschool CC 3.0 legalcode 可翻译? 已创建

资源

阮一峰每周分享资源部分

http://www.ruanyifeng.com/blog/weekly/

snippet.bash
#!/bin/bash
API="https://www.yuque.com/api/docs/issue-"
BOOKID=102804
curl -s "${API}$1?book_id=$BOOKID" |sed 's/</\n</g' |sed -n "/^<a href.* id=.*$2.*>/,/^<h2 id=/p" |sed 's/\\"/"/g' |tr -d '\n' |pandoc -f html -t gfm |sed '$d' |sed "s/^\[\]\(.*\)(.*)/## $1期 \1/g" |tr -d '\r' |sed -zr 's/\n\n+/\n/g'
curl -s "${API}$1?book_id=$BOOKID" |sed 's/</\n</g' |sed -n "/^<h2 id=.*>$2/,/^<h2 id=/p" |sed 's/\\"/"/g' |tr -d '\n' |pandoc -f html -t gfm |sed '$d' |sed "s/^## /## $1期 /g" |tr -d '\r' |sed -zr 's/\n\n+/\n/g'

8期 资源

1、GitHub 替代品

微软收购了 GitHub,导致一部分开发者怀疑这个平台的独立性,从而迁移到其他平台。这里列出了十几个 GitHub 的替代品,以及各自的优缺点。

9期 资源

1、机器人数据库

这个数据库收集人类历史上生产的各种型号的机器人。

2、[电子书] 应用加密法的研究生教材(英文)

这是开源教材,介绍密钥加密的知识。因为是研究生教材,内容不容易。

10期 资源

1、高中物理笔记(英文)

高中物理要点讲解,配有插图和动画。

2、FiraCode

开源的代码字体。

3、C 语言学习资料

收集各种网上可以免费得到的 C 语言学习资料,不过都是英语资源。

4、2018年最有上升潜力的 Linux 发行版

它们是 AntergosDeepinMX LinuxSubgraphDebian

11期 资源

1、机器学习50个最佳免费数据集

这里列出50个可以用来训练模型的免费大型数据集。

2、2018 世界杯 API

这个网站的 API 返回世界杯的各种 JSON 数据,比如 http://worldcup.sfg.io/matches 是所有比赛数据(每分钟更新)。 

3、Google Analytics 的替代品

Google Analytics 是网站访问量的监控工具,这篇文章介绍了几个替代品。

4、Java 面试知识点

这个库收集各种 Java 面试的知识点。

12期 资源

1、风琴音乐

一个美国程序员业余喜欢演奏风琴。他把自己的50多首演奏录音,免费放到网上,我觉得很好听。

2、Heraclos Game

一款类似塞尔达的 WebGL 游戏,制作非常精美,推荐试玩。

3、人工智能编程范式(英文)

这本书(Paradigms of Artificial Intelligence Programming)是人工智能领域的名著,Peter Norvig 写于 1992 年,探讨 Lisp 语言在这方面的应用,现在开源了。

4、Mac 系统免费软件

Mac 的一大烦恼,就是各种软件都要钱。有人整理出了一份 Mac 系统免费软件清单,看看有没有你需要的。

13期 资源

1、Bash 操作指南

收集各种 Bash 常用操作的仓库,比如分割字符串、倒转数组等等。

2、vjtools

唯品会的 Java 编程规范。

3、数据科学的必读免费书籍

网上有很多免费资源,这份书单是学习大数据的指南。

14期 资源

1、C 语言教程:构建 Lisp 编译器中文英文

一本免费电子书,从零开始讲解 C 语言,目标是写出一个 Lisp 语言的编译器。

2、Learn command line

一本开源的初级命令行教程,特色是配有大量的手绘图。

3、learn-python3

学习 Python 3 的实例教程。通过各种可以在网页运行的小例子,学习 Python 3。

15期 资源

1、Crafting Interpreters

开源电子书。如何写一个解释器,其实也就是如何自己设计并实现一门语言。

2、10本 Java 语言好书

这个书单推荐了10本学习 Java 语言的必读书,前三名是 Effective Java、Clean Code 和 Java Concurrency in Practice。

3、CheatSheet 汇总

这个网站收集各种软件的 Cheat Sheet(常用操作表)。

4、机器学习指南

谷歌推出的机器学习各个领域的初学者指南,目前只有两个专题。

16期 资源

1、汇编语言初学者教程(PDF)

开源电子书,从零开始介绍汇编语言,读者必须懂一点 C 语言。内容很全,也非常厚。

2、Bloomberg 机器学习课程

这个培训课程帮助学员深入理解机器学习的概念,技术和数学框架。一共30个讲座,包括一整套课后作业。

3、XV6

麻省理工学院开发的一个类似 Unix 的教学操作系统。

4、Acceptance Test Driven Development with React

中国开发者写的英语专著,介绍前端测试。书放在 Leanpub,付不付费、付多少钱都是自愿的。

5、网站可靠性工作手册

《网站可靠性工作手册》一书现在免费下载,谷歌官网提供,为期一个月。

17期 资源

1、机械键盘

这个网站收集各种各样的机械键盘。

2、Emulator 101

开源电子书,从零开始讲解如何写一个8080处理器的模拟器。

3、stackshare.io

收集各大网站使用的技术栈。

4、Meteor Wrongs

华盛顿大学维护的一个网站,收集各种假陨石的照片,并附上说明,讲解为什么某块石头不是陨石。

5、Byte 杂志

Byte 杂志是上个世纪很有影响的 IT 杂志,archive.org 提供免费下载。

18期 资源

1、Web 排版资源

该网站针对英文排版,有一个小测试和游戏,讲解如何制作出阅读舒服的网站。

2、ArdaCraft

ArdaCraft 是一个在 MineCraft 里面重现电影《魔戒》的中土世界的项目。

3、Composing Programs

一本开源电子书,使用 Python 语言实现 SICP 一书的主要概念。

4、 Elm 语言学习资源

如果你想学习 Elm 语言,建议参考这个页面列出的各种资源。

5、火星车

美国航天局 NASA 开源了火星车的简化版本,它的原型是真正的火星漫游车。据说这个项目全部采用市面能买到的材料,爱好者可以搭建自己的火星车。

6、深度学习/机器学习面试笔记(中文)

这个仓库收集深度学习/机器学习面试经常问到的问题,以及基础知识。

19期 资源

1、深度学习(英文)

fast.ai 免费的深度学习课程。

2、GEB 公开课程(英文)

《哥德尔、埃舍尔、巴赫》一书的解读。

3、计算机系统导论:以汇编语言与 Linux 系统为例(英文)

介绍计算机底层知识的免费电子书。

4、14000种鸟叫

谷歌的一个数据可视化项目,将14000种鸟叫进行分类,可以在页面上选择收听这些鸟叫。

5、MacOS system6

MacOS system6 是 Macintosh计算机的操作系统,1988年由苹果公司发布。这里用虚拟机在浏览器里面启动这个操作系统。

20期 资源

1、XINU

XINU 是普渡大学开发一个教学操作系统,属于简化版的 Unix。

2、Go 高级编程

开源电子书,涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题。

3、Swift 学习材料

免费的 Swift 学习材料,包括视频和代码练习,从零开始教起。

4、《Node.js 调试指南》

《Node.js 调试指南》一书的开源版。

5、node best practices

一个收集  Node 最佳实践的仓库。

21期 资源

1、 OpenStax.org

该网站收集各个学科开源的大学教材。

2、C++ 编程题

25道 C++ 的编程题,经常用于面试。

3、世界各国护照效力排名

中国护照排在第55位,免签国29个,落地签国49个。

4、PublicWWW

一个网页源码的搜索引擎,可以搜索哪些网页使用 react.min.js,或者服务器是 Server: nginx/1.4.7"

5、JCSprout

一个收集 Java 核心知识的中文库。

6、计算机网络:系统方法

《计算机网络:系统方法》英文原版开源了(下载地址)。

22期 资源

1、Windows 2000 的浏览器版

Windows 2000 通过 WebAssembly,可以在浏览器里运行了。

2、数据挖掘教材

《数据挖掘》(第二版)这本书本身没有全部开源,这个网页提供了所有章节的 PPT 教辅材料和实验代码。

3、计算机科学:以 Julia 语言为例

开源教材,以 Julia 语言的教学,讲解计算机科学的基本概念和原理。

4、Windows 95 App

Windows 95 被做成了一个 Electron App,可以用来玩 DOS 游戏,底层是 x86 的JS虚拟机。

5、如何在应用商店成功?

开源电子书,介绍 App 发布到应用商店,怎样才能取到满意的结果。

23期 资源

1、Linux 系统管理的面试题(英文)

这个仓库收集了200多道 Linux 服务器管理的面试题,涉及的面很广,着重考察基础知识。

2、C\# 语言免费教程(英文)

C#(发音为“ C Sharp ”)是一种简单,现代,面向对象且类型安全的编程语言。C#源于C语言,与 Java 编程大致类似,主要用来开发在 .NET Framework 上运行的 Windows 应用程序。

3、网页设计博物馆

该博物馆展出了900多个精心挑选和分类的网站,展示了1995年至2005年间的网页设计趋势。上图是苹果公司2001年的主页。

4、计算机之前的计算设备

这是一本免费电子书,介绍计算机出现之前的人类计算设备,从算盘、差分机、穿孔计算机,直到电子计算器。

24期 资源

1、SQL 开源教程(英文)

这是一本互动书籍,免费,帮助读者了解如何使用 SQL 对数据集运行查询。

2、谷歌数据集搜索

大数据研究需要数据集,谷歌推出数据集搜索,根据关键词找出相关的数据集。

3、谷歌放弃的产品

谷歌推出了很多产品,许多后来都放弃了。这个网页列出所有被谷歌放弃的产品,目前有70个。

4、东京防灾手册

遇到灾难(地震、洪水、大雪等等)怎么办?东京市政府编写的免费电子书,这里是简体中文版的下载。

5、代码行数的可视化

本文给出一个可视化展示,比较不同软件的代码行数。

25期 资源

1、《预测:原理与实践》

免费电子书,如何通过数据进行预测。

2、Python 语言互动教程

通过网页上的互动实例,教授 Python 语法。

3、bellwoods

一个 13KB 的网页小游戏。

4、Storybook 图书馆

各大公司的 UI 组件库的 Storybook 展示。Storybook 是一种 React 组件的展示工具。

5、v8.dev

v8 引擎新的官方网站。为了体现 v8 高效快速的特点,这个网站故意做得很简单,能够快速加载。

26期 资源

1、Youtube 的教育视频

如果你不知道 Youtube 上可以学什么,就来看看这个帖子。当然,所有资源都是英语的。

2、计算机组织导论:以树莓派和 ARM 汇编语言为例

开源教材,介绍计算机的底层实现,写得比较好懂。

3、从零开始写一个操作系统

一个教程库,每一步都有指导,教你怎么写出一个简单的操作系统。

4、创业公司

一个网页游戏,玩家是创业公司的创始人,模拟经营这家公司,完成各种任务。

5、各种算法的 Python 实现

这个仓库收集 Python 语言实现的各种算法代码。

27期 资源

1、精通 JavaScript 模块

开源电子书,介绍如何编写模块化的 JavaScript 代码。

2、机器学习解释

开源电子书,尝试用通俗的语言解释机器学习。

3、开源火星车

美国航空航天局开源了火星漫游车的设计。完全使用市场上可以买到的材料,爱好者就能做出自己的漫游车。它使用树莓派作为车载控制中心,使用安卓手机或 xbox 手柄遥控。

28期 资源

1、全球假日 API

该数据库覆盖全球180多个国家的公众假期。

2、learn-python3

Python 3 教程库。

3、Youtube 资源

该网站列出分类的最受欢迎 Youtube 频道。如果你不知道 Youtube 上看什么,可以浏览一下这个网站。

4、计算机网络:原理,协议和实践

英文的开源电子书,解释了计算机网络的主要原理以及互联网的关键协议,用于高年级本科网络课程。

5、加密学导论

英文的开源电子书,介绍加密背后的数学知识,哈佛大学的本科生教材。

6、VPS 搜索工具

通过各种搜索条件,比较不同的主机商品,看看哪个云主机最好用。(@DoctorLai 投稿)

29期 资源

1、轻量级网站

很多网站有一个轻量级版本(lite version),这个仓库收集这些网站的清单。

2、Common Lisp 实战教程

开源的 Common Lisp 教程。

3、TensorFlow-Course

针对新手的 TensorFlow 教程。

4、基于模型的机器学习

开源电子书,通过真实案例掌握机器学习。

5、AWS 的所有 IP 地址

Amazon 公司提供一个 JSON 文件,列出 AWS 服务用到的所有 IP 地址。

6、CrashCourse (视频)

Youtube上有一个 CrashCourse 系列课程,介绍各个学科的比较基础的知识,对初学者很有用。不仅有理科的数据、计算机科学,也有生物、历史之类的课程。B 站有 CrashCourse 字幕组。(@chixuchao 投稿)

30期 资源

1、IPv6 采用率

谷歌有一个公开网页,展示使用 IPv6 访问谷歌的比例。最近,这个比率来到历史最高的25%。

2、进入纯数学

一本英文的纯数学教材,免费下载,从简单的自然数讲起,包括代数、数论、集合运算、概率和微积分等章节。我觉得,至少对于了解数学的符号体系很有好处。

3、33 个 JS 程序员需要知道的概念

按照主题,收集 JS 学习资源的仓库。

4、纸飞机

收集纸飞机折纸方法的网站,目前有40种纸飞机。

5、微积分很容易(Calculus made easy)

有名的微积分教材,版权已经过期。虽然年代比较久了,但是内容很经典。

6、科幻界面

该网站收集科幻影视作品里面出现的计算机界面设计。

7、ScriptOJ

国人开发的前端题库,可以用作评测系统,带有讨论区。(@LeeChar 投稿)

31期 资源

1、木材数据库

该网站收集全世界各种木材的信息。链接给出的是全世界硬度最高的十种木材。

2、Erlang by Example

Erlang 语言的入门教程。

3、漫威 API

漫威公司将自己的漫画资源做成 API 开放。

4、DeepLearningProject

哈佛大学深度学习开源教程,附有代码实例。

5、符号清单

常用符号的 Unicode 码点、HTML 代码和 HTML 实体写法。(@amenzai 投稿)

6、600门在线课程

过去9年,全球超过600所高校,在网上发布了超过10000门公开课程。本文收集了最近发布的600门课程,基本都是英文的。

7、React.js 小书

国人编写的 React 入门教程。(@LeeChar 投稿)

32期 资源

1、DevTube

该网站收集 Youtube 上面的软件开发视频。

2、互联网的历史文件

互联网早期是没有 DNS 系统的,所有域名与 IP 地址的映射关系都保存在一个 hosts.txt 文件里面,该文件起到 DNS 系统的作用。这个网站收集了各个时期的 hosts.txt 文件。

3、Code I like

该网站使用图形和动画,解释一些常见的算法问题。链接是如何在二叉搜索树里面插入一个值的动画。

4、C/C++ 面向 wasm 编程—— Emscripten 工程实践

中文开源电子书,大部分还没有写完。本书从 Emscripten 基本用法开始介绍如何使用 C/C++ 开发 WebAssembly 模块。

5、OI-wiki

收集编程竞赛的基础知识、常见题型、解题思路以及常用工具等内容。

6、Go modules by example

一个代码示例库,解释 Go 语言的 module 功能。

7、线性代数入门

本教程帮助初学者掌握,深度学习所需要的线性代数知识,每一部分都包含代码、示例和图表。

8、Levels.fyi

每个公司都有自己的内部等级,该网站比较各公司的等级对应关系,收录了北美20多家互联网公司。上图是谷歌、脸书、微软的工程师等级。

33期 资源

1、console.love

很多公司会在浏览器的控制台隐藏信息,这个网站收集这类有隐藏信息的网站。

2、testing-distributed-systems

一个搜集各种分布式系统的资料库。

3、人间乐园

《人间乐园》是15世纪荷兰画家博斯的著名作品,该网站将这幅画进行了多级扫描,做成了类似网上地图那样可以自动移动,多级放大的版本。

4、crushcourse.club

Crash Course 是一个 Youtube 的教育频道。B站上面有很多翻译小组。他们组成了一个联盟防止翻译重复,并提供了索引。(@showerc 投稿

5、GraphQL 全栈课程(英文)

Prisma 公司推出的免费课程,分成基础知识、前端、后端三个部分。

6、登录页设计

登录页的各种页面设计,可以免费下载模板。

7、GraphQL 之路

开源电子书,介绍如何使用 React.js 和 Node.js 开发 GraphQL 应用。

34期 资源

1、互联网技术的发展

该网站使用彩带图,以可交互的形式展现了互联网技术的发展和演变。(@tifazxy 投稿

2、NLP 学习资源(英文)

本文列出初学者学习自然语言处理(NLP)时,比较有用的一些资源。

3、本月分子(英文)

英国布里斯托大学化学系制作的网站,每个月介绍一种化合物的分子。

4、Gitlab 手册

Gitlab 将公司的所有内部政策,做成一份2000页的手册,公开在网上,以做到“透明公司”的承诺。

5、C++ 程序设计

北京大学的视频课程《C++ 程序设计》,要求学习者具有 C 语言基础。该课程有 B 站镜像。(@lianmt 投稿)

6、谷歌的技术文档写作指南(英文)

谷歌的英语技术文档的写作手册,讲解了程序员写文档的各种要求。

7、Caddy 中文文档

Caddy 是一个新的 HTTP/2 Web 服务器,该网站是志愿者翻译的中文文档。(@comdeng 投稿)

35期 资源

1、艺术品图像

芝加哥艺术学院的网站提供5万多张艺术品图片,全部都是高分辨率,而且可以免费使用。

2、大峡谷全景地图

效果不错,但是目前只做了几个点,无法在地图上自由移动,操作也不够便利。

3、城市模型

使用 WFC 模型生成的城市模型,没有游戏功能,但是可以无限漫游,有飞行模式,只支持 Windows 系统。

4、可以编译成 JS 的语言列表

许多语言可以编译成 JavaScript,从而在浏览器运行,这张列表收集所有已经有编译工具的语言。提醒,这是一张很长的列表。

5、edabit

收集各种编程语言(JS、Python、Ruby、Swift、PHP、Java、C#、C++)练习题的网站,可以在线编码,然后验证答案。

6、FPGA 入门网站

FPGA 是可编程的逻辑电路。该站是 FPGA 入门与学习的网站,有关于FPGA概念和原理的介绍,以及一系列的实例。每个实例包含了详细的设计过程与 Verilog 源码,提供源码下载和电路图。(@tifazxy 投稿

7、实用排版指南(英文)

免费电子书,介绍网页排版的知识。

8、Code Combat(游戏)

一款学习编程的网页游戏。(@Ynjxsjmh 投稿)

36期 资源

1、Pwned Passwords

该网站收集已经泄漏的密码。你可以输入自己的密码,看看有没有泄漏。(@DoctorLai 投稿)

2、机器学习书籍清单

这份书目的特别之处在于,它是一份树状的互动图表。(@nivance 投稿)

3、3D 病毒浏览器

该网站对各种病毒 3D 建模,可以缩放、旋转观看病毒模型。

4、Chinese-Podcasts

收集中文播客资源。(@alaskasquirrel 投稿)

5、C ++ Annotations(英文)

C++ 开源教程,主要针对那些了解 C 语言,希望学习 C++ 的程序员。

6、程序员的实用密码学(英文)

密码学开源教材,全面介绍的密钥相关的各种基本知识。

7、DOS 游戏博物馆

该站收集 DOS 游戏,可以在线游戏。另外还有一个“中文家用游戏博物馆”。(@Brenner8023 投稿)

8、HelloGitHub

一个分享 GitHub 上有趣的、入门级开源项目的月刊,每个月 28 号发布。(@521xueweihan 投稿

10、旅行者二号的海报

1977年发射的旅行者二号(Voyager 2)最近飞出了太阳系,成为飞得最远的人类飞行器。美国宇航局为了庆祝这个事件,在官网发布了一系列可以下载的海报。

37期 资源

1、http3-explained

curl 作者写的小册子,介绍 HTTP/3 协议。此前,他也写了介绍 HTTP/2 的小册子。

2、亚马逊的机器学习课程

亚马逊公司推出了官方的机器学习课程,学完以后,还能参加付费考试,通过者可以获得 AWS 机器学习认证。

3、强化学习导论(第二版)

《Reinforcement Learning: An Introduction》,2018年出版的新书,作者开源了。

4、Linux 内核揭密(中文)

本书是《Linux inside》一书的中译,介绍 Linux 内核知识,从计算机通电讲起,需要 C 语言和汇编语言的知识。(@imilano 投稿)

5、Best-websites-a-programmer-should-visit

该仓库收集对程序员有用的网址,包含问题查找、技术新闻、技术博客、开源社区、英文提升、新奇的玩意儿、视频教程、在线工具等数十个方向的内容。(@qiurenbo 投稿

6、日本农村待售的房屋

看看日本乡下,几万元人民币可以买到的房子一大堆,都是买来就可以直接入住,还带土地产权。

7、GNU 壁纸

自由软件基金会为 GNU 操作系统提供的壁纸。

8、No More goole

该网站收集各种谷歌服务的替代品,让你可以不使用谷歌。(@Ynjxsjmh 投稿)

38期 资源

1、CSS Animation 101

开源电子书《CSS Animation 101》,从零开始介绍 CSS 动画。

2、React 视频课程(英文)

React 的短视频课程,几分钟一集,共有45集。

3、开源人物肖像

该项目专门拍摄推动计算机革命的开源程序员的肖像。

4、学习 C++

CodeCademy 的 C++ 在线课程。

5、UI gradients

一个收集渐变色样式的网站。(@valenzhou 投稿)

6、rejected.us

该网站收集优秀程序员面试没通过的经历,用来鼓励面试失败者不要灰心。

7、30秒系列

该系列专门收集30秒以内可以解答的问题。目前有以下6个库:(1)30秒 JS 问题;(2)30秒 CSS 问题;(3)30秒面试问题;(4)30秒 React 问题;(5)30秒 Python 问题;(6)30秒 PHP 问题

39期 资源

1、火星全景照片

该网站提供美国的好奇号火星车拍摄的多张火星全景照片,各种不同的地貌,可以360度旋转观看。

2、《Rust 编程语言》

《Rust 编程语言》的 EPUB 版本下载,可以从这本书开始学习 Rust 语言。

3、GetTheFont.com

字体搜索引擎。

4、Maths is fun

网站是数学知识科普,覆盖了代数,几何,统计,微积分等领域。有一个爱好者翻译的中文镜像。(@rolitter 投稿

5、OAuth 2.0 Servers

介绍如何搭建 OAuth 服务的电子书。

6、Linux 命令搜索引擎

Linux 命令的搜索入口,提供中文解释。(@jaywcjlove 投稿)

7、Awesome Mac(中文版)

收入各种好用的 Mac 软件。(@jaywcjlove 投稿)

40期 资源

1、粉碎棱镜

该网站收集不对用户进行监控的开源桌面软件。(@Ynjxsjmh 投稿)

2、Better Dev 周刊

每周一期的开发者周刊(英文)。

3、3Blue1Brown 视频的中文官方账号(视频)

3Blue1Brown 是著名的数学科普视频制作者。(@guerbai 投稿)

4、《几何原本》在线版

在线还原1847年的欧几里得《几何原本》的彩色版本。(@arbeitandy 投稿)

5、页面加载动画

这篇文章收集了近20个加载页面的优秀动画效果。

6、12 款助你学编程的免费游戏

本文中,我们评选出12个热门网站,你可以通过玩游戏学习编程。(@Ynjxsjmh 投稿

7、Python 算法与数据结构(第二版)

开源教程《Problem Solving with Algorithms and Data Structures Using Python》。网上有网友翻译的中文版

41期 资源

1、全球空气污染地图

实时查看全球各个地点的 PM2.5 指数,看上去整个美国西海岸的空气质量,都比较一般。

2、免费图库

图库网站列表,提供免费的商业级高清晰度图片下载。

3、地球时间线

网页展示地球演化的46亿年。(@chensiun 投稿)

4、前端早报

一个个人开发者的前端开发的分享日报。(@wubaiqing 投稿)

5、Crypto 101

免费的加密学入门书籍,介绍基础原理,针对各种水平的读者。

6、Seeing Theory

概率和统计学入门教程,有网页图形版和免费的 PDF 电子书下载。

7、Essential C(PDF)

一本入门级别的 C 语言简单教程。

8、谷歌地图:探索国际空间站

谷歌地图提供了国际空间站的实景地图,可以在里面四处逛逛。

42期 资源

1、AdGuard 公司的 DNS

AdGuard 宣布提供免费的 DNS 服务:76.103.130.130176.103.130.131 ,还支持 DNS over HTTPS。

2、JavaScript 互动教程

一份简短的入门课程,直接在浏览器里编写代码,学习 JavaScript 语言的基本语法。

3、dumb-crypto

常见加密算法的实现演示。作者用容易懂的代码、详细的注释帮助读者理解这些加密算法的实现。

4、Golang Example

该网站收集 Go 语言的各种应用实例。

5、技术的极限

一个国内开发者分享阅读与思考的专栏。(@fanfeilong 投稿

6、GitHubDaily

每日不定时在社交媒体推送一批 GitHub 优秀的开源项目给开发者, 帮助开发者们发现当下最火的开源项目。(@PansonPanson 投稿)。

7、advanced-java(中文)

Java 互联网开发的知识笔记,涉及MQESRedis等周边工具。(@LanjianNUll 投稿)

8、How to Design Programs(第二版)

麻省理工学院以前用著名的 SICP 作为编程教程,但是该书使用 Scheme 语言作为示例,再加上出版多年,现在已经不用了。作为改进,2001年出版了《如何设计程序》这本教材(缩写为 HTDP),2018年又出版了该书的第二版,使用 Racket 语言的图形界面 DrRacket 作为示例,内容全部开源。

43期 资源

1、SimpleKernel

个操作系统内核的简单实现,提供了各个阶段完成度不同的内核,可以用来练手和学习。(@MRNIU 投稿

2、FlatIcon

一个图标搜索引擎。(@LanjianNUll 投稿)

3、TravelAdapter.xyz

该网站收集各国的电压、插头和插座资料。

4、如果保留后台进程

手机为了节省电力,会主动杀死后台进程,有时这种行为不是用户希望的。该网站收集各品牌安卓手机的做法,如何关闭主动杀死后台进程这个功能。

5、《组合程序》(Composing Programs)

加州大学伯克莱分校以 SICP 为范本,使用 Python 3 语言解释编程原理的教程。  

6、SQLi Hall of of Shame

该网站收集 SQL 注入的各种真实案例。

7、数据可视化基础

O'Reilly 新书《数据可视化基础》一书的在线预览版。

8、Apache Guacamole

浏览器里面的远程桌面连接器,可以在网页上登录远程桌面,支持 VNC、RDP、SSH。(@barrer 投稿)

9、周刊资源整理

读者对这个周刊提到的内容进行了分类整理。(@wanmaoor 投稿)

44期 资源

1、死刑犯的遗言

美国得州政府有一个网页,专门收集犯人执行死刑前的遗言。

2、中国科大计算机学院课程资源

该仓库收集中科大计算机学院的课程资源, 包括课程电子版书籍、参考书、slides(ppt)、考试试卷、学习心得、一部分习题答案。(@mbinary 收集)

3、《Linux 命令行(第五版)》

介绍 Linux 命令行基础用法的开源书籍。

4、树莓派的项目

该网站收集各种树莓派的项目,目前已经有1000多项了。

5、Python 3 的入门教程

一个很简单的入门级教程,但是 Python 3 的最基本语法都提到了。

6、CDN 提供商2019介绍

该文介绍了全球25家 CDN 服务提供商,并提供简单的测评。

7、HelloGitHub

分享 GitHub 上有趣、入门级的开源项目的周刊,帮你找到编程的乐趣。(@521xueweihan 投稿)

8、Micro8

一个匿名作者写的渗透攻击教程,主要用于 Windows 主机。“适用于初中级安全从业人员,乙方安全测试,甲方安全自检,网络安全爱好者等,企业安全防护与提高”。

45期 资源

1、线性代数

美国本科生的线性代数教材,免费下载。

2、计算机科学的自学方案

本文对于计算机科学各门课程的自学,给出了一个完整的方案。

3、科技资讯的聚合网站

该网页聚合多个英文科技咨询网站的消息,一个地方就能看到所有资讯。(@shouldsimple 投稿)

4、Vim Adventure

通过游戏学习 Vim,看上去比较有趣。(@lenkenlau 投稿)

5、LeetCode Animation

使用动画的形式呈现解 LeetCode 题目的思路。(@nivance 投稿)

6、前端开发精选工具库

收集前端开发各方面的工具。(@xiaohesong 投稿)

7、笨办法学 Vimscript

开源的中级 Vim 教程,将 Vimscript 作为一门编程语言,帮助读者掌握。(@douchuan 投稿)

8、public-apis

这个仓库收集免费的 API,已经有100多个了。

9、Last-Statement-of-Death-Row

美国得州的政府网站,有该州死刑犯的遗言数据库。周刊读者编写了 Python 脚本,去抓取所有遗言,输出 CSV 文件。(@wansho 投稿)

46期 资源

1、Statistics Done Wrong

一本介绍统计学常见错误的书籍,可以在线阅读。

2、WOWA

一个收集免费音乐的网站,可以下载用来制作视频的背景音乐。该网站的目标是成为免费音乐的 Unsplash。

3、React 教程

一个入门教程,需要下载到本地运行。通过一个个练习和演示,帮助读者完成开发实际的 React 应用。

4、黑客工具课程

麻省理工学院的入门课程,介绍 Linux 系统使用者需要掌握的各种基本工具,适合刚入门的初级用户。

5、数据结构可视化

该网站收集各种数据结构,并将它们用可视化的形式表现出来。

6、计算机图形学教程(英文)

从数学基础开始教起的图形学教程,包含 C++ 源码。

7、GitHub Courses

GitHub 官方的课程中心,教你如何使用该网站的一些功能。

8、人大代表的可视化

第十三届全国人民代表大会的代表数据可视化。(@jdk137 投稿)

47期 资源

1、我爱 Ruby(英文)

Ruby 语言的开源入门电子书。

2、魔方数学(PDF)

麻省理工学院的课程材料,介绍魔方里面包含的数学。

3、前端开发技术日报

每日分享互联网上的前端技术、前端资讯。(@kujian 投稿)

4、sicp-py-zh

加州大学伯克利分校的 SICP 的 Python 版教程中译。(@Ming-Lei 投稿)

5、GitNews

该网站实时显示 GitHub 趋势、HackerNews 和 Reddit 里面出现的热门代码仓库。

6、Go by Example

通过示例学习 Go 语言的教程。

7、AntzOS

一个用于实验和教学目的的操作系统,从零开始实现。(@CasterWx 投稿)

48期 资源

1、Tracker 服务器列表

BT 下载需要有稳定的 Tracker 服务,该网站收集可用的 Tracker 服务器列表。另外还有一个 GitHub 仓库 ,也是做类似的事情。

2、Treeographer

该网站收集各种著名树木的历史。

3、Our World in Data

该网站收集一些世界性问题的数据,比如人口、健康、食物、能源等等。

4、互动式线性代数教程

基于网页的线性代数教程,有各种互动式图形。

5、Grokking Deep Learning

深度学习入门教材的在线阅读。

6、Marc Andreessen 创业文集

Marc Andreessen 是 Netscape 浏览器创始人,现在是硅谷著名的风险投资家,本书收集了他关于创业的文章。

7、中国独立 iOS 和 macOS 开发者的作品

该仓库收集个人开发者提交的作品。(@Y024 投稿)

8、GeoFS

GeoFS是一个免费的在线飞行模拟器,包含全球的真实景色。你只需要一个网页浏览器就能运行它。(@JeremiahZhang 投稿)

49期 资源

1、OCaml 语言在线教程

OCaml 语言教程,从最简单的讲起。

2、Qt5 教程

开源电子书,介绍如何使用 Qt5,开发图形界面。

3、Python 数据科学手册

使用 Python 工具进行数据科学研究的教程,现在全书开源了。

4、WikiHow

一个收集如何解决生活中各种问题的网站,比如“如何换轮胎”、“如何调整电脑字体大小”等等。(@xcuYao 投稿)

5、互动式计算机语言学习网站

该网站提供近10种常用语言(C、Python、JS、Java 等等)的实例教程。(@baibm 投稿)

6、计算机理论导论

哈佛大学本科生的《计算机理论》课程的教材,已经开源。

7、Japan Dev Jobs

一个分享日本技术工作机会的邮件列表,想去日本工作的开发者可关注。(@roujiangzailushang 投稿)

50期 资源

1、React 教程

一个 React 的30天开源教程。(@CharlesCCC 投稿)

2、PC Assembly Language

介绍汇编语言的本科生入门教材,有中文译本,免费下载。

3、<span>ARM 汇编语言</span><span>简介</span>
通过树莓派介绍 ARM 汇编语言的开源教材。

4、Visu Algo

各种算法的动态演示网站。(@wyzlove 投稿)

5、7DRL Challenge 2019

这是一个地图探险类(rogue like)游戏的比赛,全世界开发者都可以将自己的作品上传,唯一的条件是该游戏必须是在七天内开发完成。目前,已经有100多个作品,各个平台都有,其中将近一半可以在浏览器里面运行,都可以免费下载。

6、name-suggestion-index

这个项目收集各类商品的著名品牌,作为 OpenStreetMap 的自动拼写建议。比如,你在地图上要标识一家“名牌鞋专卖店”,它会自动提示59个牌子的鞋子。

51期 资源

1、Generative.fm

该网站专门收集软件生成的音乐。比较奇特的是,这些音乐可以无限播放,并且每次听都不一样。暂停以后重新播放,你会听到跟前面不同的音乐。

2、Star Wars Asciimation

ASCII 码的形式演绎整部《星球大战》,可以使用 telnet towel.blinkenlights.nl 在命令行观看,也可以在网页观看。(@linkoln 投稿)    

3、Test-Driven Web Development with Python

免费的英文电子书,介绍如何以 TDD 的方式开发互联网应用,使用 Django 框架举例。(@nosarthur 投稿)

4、算法

开源英文电子书,作者是美国伊利诺伊大学的教师,本书是他的讲课笔记,偏重于数学。(@nosarthur 投稿)

5、Killed by Google

该网站收集谷歌关闭的所有自家产品。(@murongsihua 投稿)

6、航班实时追踪

国内做的全球航班实时位置展示,国内航班的覆盖是全球最好的。(@cq0206 投稿)

52期 资源

1、中国哲学古籍电子化计划

免费的线上图书馆,提供中国古籍电子版,已收藏超过3万本著作,约50亿字。(@nosarthur 投稿)

2、Chrome 插件英雄榜

该项目收集优秀的 Chrome 浏览器插件,并为它们写中文说明书。(@zhaoolee 投稿)

3、Ops School

运维工程师的培训资料库,介绍各种运维的基础知识。

4、维米尔全部画作

17世纪荷兰画家维米尔以精确还原生活场景而著称,他一共留下了36幅作品,全部收集在这个网页。

5、好奇者的量子计算入门

英文的开源教程,介绍量子计算的基本概念。同时,网站中包含了上百道简单的练习题,可以帮助初学者检验自己的知识掌握程度。(@nosarthur 投稿)

6、2018年 JavaScript 明星项目

该网站列出2018年各个方向上最受关注的 JavaScript 项目。(@StephenWu5  投稿)

53期 资源

1、manypixels

一个收集无版权插图的网站,提供 SVG / PNG 格式下载,并且允许更改颜色。
2、leetcode

记录个人 leecode 解题之路的笔记库,使用 JS 语言。(@azl397985856 投稿

3、Automate the Boring Stuff with Python

免费电子书,Python 语言的入门和初级应用。(@nosarthur 投稿)

4、955.WLB

该仓库收集国内不加班的 IT 公司名单。(@ifrontend-xyz 投稿)

5、I love PDF

该网站提供各种免费的 PDF 在线工具,比如合并、拆分、压缩、Office 文件转 PDF、PDF 转图片等。(@ifrontend-xyz 投稿

54期 资源

1、如何构建一个简单的数据库

英文的开源电子书,介绍如何用 C 语言实现一个类似 sqlite 的数据库。

2、简单逻辑

免费电子书,通过实例介绍如何通过 Prolog 语言实现智能推理。

3、libpku

北京大学各种课程资料收集,目前已经接近100门课,让你在网上读北大。(@Y024 投稿)

4、Programming Notes for Professionals books

该网站提供各种免费计算机教程下载。(@zhjp0 投稿)

5、神经网络与深度学习

复旦大学邱锡鹏老师的开源电子书,主要介绍神经网络与深度学习的基础知识、主要的模型,以及在计算机视觉、自然语言处理等领域的应用。(@ifrontend-xyz 投稿)

6、创意共享图像搜索引擎

创意共享基金会推出的官方图像搜索引擎,索引了3亿张图片,都可以免费使用。素材主要来自 Flickr 和 Behance,下一步会把维基百科的图片放进来。

55期 资源

1、广东工业大学计算机学院课程攻略

该仓库收集该校从大一到大四各门课程的资料。(@brenner8023 投稿)

2、跟我写 JPEG 解码器

中文教程库,讲解 JPEG 图片压缩标准和理论,并带有配套源码(Rust 语言)。作者希望读者只要跟着学习,就能写出自己的 JPEG 图片解码器。(@MROS 投稿)

3、vue-unit-test-with-jest

教程库,介绍如何用 Jest 为 Vue 项目写单测。(@holylovelqq 投稿)

4、《HelloGitHub》第 36 期

分享 GitHub 上有趣、入门级的开源项目的月刊,帮你找到编程的乐趣。(@521xueweihan 投稿)

5、github-rank

Github 中国用户排名。(@xurui3762791 投稿)

6、今日掘金

每15分钟抓取一次掘金首页数据,保留点赞数大于55的文章,过滤出质量相对较高的文章。(@ZY2071 投稿)

56期 资源

1、围棋百科

一个英文的围棋维基网站。

2、天线知识

这是无线电天线的百科网站。

3、开源语音数据库项目

Mozilla 基金会为了开发语音识别技术, 做了一个开源语音数据库项目,邀请全世界用户为这个数据库朗读句子,或者听他人的录音,判断朗读是否准确。(@user12138 投稿)

4、镜子中的谷歌街景照相机

该网站收集谷歌街景出现的镜子里面的拍摄机器

5、命令行的艺术(中文)

一篇命令行的详细介绍,各种任务可以使用什么命令。(@sdir 投稿)

6、<span>kindle电子书分享网</span>

个人业余时间搞得一个小网站,以解决自己找电子书的烦恼,后端基于rails,可以参考技术方案。(@sun1752709589 投稿

57期 资源

1、国家地理频道纪录片:宇宙时空之旅

美国国家地理频道拍摄的13集科学纪录片,从理论物理学的角度,探讨宇宙的奥秘。中英文字幕,网易公开课提供全片。(@qinhanlei 投稿)

2、wamp

一个收集 WebAssembly 软件包的网站,相当于 WebAssembly 模块的 NPM。它还提供一个命令行工具,可以在命令行运行这些软件包。

3、数据库基础

免费的英文电子书,介绍数据库涉及的基本的数学知识。

4、MuseNet

人工智能公司 OpenAI 开发的自动作曲系统,可以指定你想听的音乐家(比如肖邦、莫扎特),然后该系统就会使用10种乐器生成一段4分钟的音乐。现在,OpenAI 每天在网上直播音乐会,旋律都是人工智能生成的。

5、数据科学的原理与技巧

加州大学伯克利分校的本科生入门教材,全英文,介绍数据科学原理,内容较简单,需要统计学和 Python 基础。

6、RemixIcon

一套免费高质量的开源图标库,目前有1500多枚图标,提供矢量图和字体图标文件,可用于商业用途。(@xiaochunjimmy 投稿)

58期 资源

1、Lorem Picsum

图片占位服务,可以返回指定大小的图片,并且提供多种定制参数。

2、1mb.site

一个免费的静态网站托管服务,支持绑定域名、SSL 和 NoSQL 数据库。

3、Haskell 趣学指南(中文)

Haskell 语言开源教程的中译本,针对初学者。

4、Oddly Satisfying

一个视频项目,收集各种无限循环的短视频。

5、ui-libraries

该仓库收集前端各种 UI 组件库的名单,现在有20个左右,主要的组件库都包括在内了。

6、从零打造 Echarts(中文)

原创的中文教程,介绍如何从零开始,打造一个你自己的 canvas 图表库,大体遵循 echarts 的设计。(@webbillion 投稿)

7、openbiox.org

一个开源的生物信息学的中文社区,源码托管在 GitHub。(@Miachol 投稿)

59期 资源

1、龙猫学术导航

一个外文期刊检索与下载的网站,里面有很多资源链接。类似网站还有“大木虫学术导航”。(@Andrew5c 投稿)

2、MOOC 课程搜索引擎
该引擎可以搜索全世界的开放课程,目前包含1.2万门课程,里面也有中文课程。(@ketra21 投稿

3、开放的招聘信息网站

一个开放式的张贴工程师招聘信息的网站,该网站本身也是代码开源。(@timqian 投稿)

4、awesome-uikit

该仓库收集前端各种JS框架,Web组件库和后台管理模板。(@jaywcjlove 投稿

5、SAFE

这个项目在印度尼西亚婆罗州的热带雨林里面,放置了十几个录音设备,然后将每个小时录到的声音放到网上,让访问者听到每天不同时辰的大自然的声音。

6、任正非思想

该仓库收集了1994~2018年任正非400余篇讲话。这里是可下载的合集。(@wikiios 投稿)

7、Dork-Admin

这是一个中文仓库,盘点世界上比较重大的数据泄漏事件。(@No-Github 投稿)

60期 资源

1、Prob 140

加州大学伯克利分校的数据科学概率入门课程的教科书。

2、VS Code 能做到

该网站收集 VS Code 能够实现的各种高级功能教程,目前已经有36个。

3、如何 root

该页面收集各种安卓手机 Root 的方法。

4、数据科学项目 Python 实战

DigitalOcean 推出的免费电子书,介绍如何使用 Python 完成三个基本的机器学习项目:自动分类、识别手写数字、机器人构建。

5、如何使用 Python3 编程

DigitalOcean 推出的免费电子书,介绍 Python3 编程,针对新手。

6、i18ns.com

一个制作国际化应用的利器。该网站收集各种语言包,你输入中文,它返回各种语言包对这个词的翻译。(@2i18ns 投稿)

7、CTOLib 码库

该网站收集并分类开源项目和资源,每日更新。目前共有49959个收录,并归类到658个分类。(@ctolib 投稿)

阮一峰每周分享教程部分

1期 教程

1、[免费电子书]《Machine Learning Yearning》,by 吴恩达

吴恩达(Andrew Ng)是斯坦福大学的教授,人工智能领域的权威,曾经担任过百度的首席科学家。

他的新书《Machine Learning Yearning》现在可以免费订阅。今后几个月里面,他每完成一个部分,你就会得到邮件通知,可以立即读到。根据说明,这本书大概100页左右,每章的长度很短,非常容易阅读。内容主要关于如何实现你自己的机器学习项目,重点不是算法,而是如何运用算法到真实项目。

2、[免费视频教程]《Foundations of Data Science》,by 加州大学伯克利分校

加州大学伯克利分校的视频课程《Foundations of Data Science》(数据科学基础),现在上网了。报名学习是免费的,如果需要证书才收费。

课程分成三个部分,每个部分需要5个星期学习,都由加大的老师亲自教授。整个课程针对初学者,不需要任何统计学或编程的基础。

3、[文章] Programming Blockchains Step-by-Step, by Gerald Bauer

介绍如何使用 Ruby 语言从零开始写一个区块链实现,代码非常好懂,并有各种基础概念的解释。

4、[文章] Low Level Bit Hacks You Absolutely Must Know, by Peter Krumins

位运算(bit operation)的用途,有很多例子。

5、[文章] React - Basic Theoretical Concepts

React 官方关于 React 原始设计思想的解释。

6、[图片] React v16.3 生命周期的示意图 7、[电子书] Google 面试自学手册

一份爱好者整理的 Google 面试准备指南。

8、[文章] Chrome DevTools 的一些使用技巧

9、[文章] Color: From Hexcodes to Eyeballs

人眼如何感受到色彩,读懂这篇文章需要一点物理学知识。

2期 教程

1、[电子书] A Gentle Introduction To Rust

Rust 语言入门教程

2、[电子书] D3 Graph Theory

图理论(graph theory)是重要的数学分支,在数据处理领域有着重要应用。这个教程采用可视化库 D3,把图理论变成了可视化互动教程。

3、[文章] 数据回归的15种类型

回归(regression)是数据处理的常用技术,用来找出数据的模式。本文介绍数据回归的15种拟合。

4、[视频课程] GitHub 最受欢迎的20个课程仓库

很多开放课程的仓库放在 GitHub 上面,GItHub 官方列出了最受欢迎的20个仓库。

5、[文章] Probability Theory (For Scientists and Engineers)

一个概率论的概览性介绍,每个章节后面有一个 R 语言的小例子。

6、[电子书] D3 In Depth

可视化引擎 D3 的教程。

7、[文章] 分布式系统的几个基本概念

Uber 架构师分享在搭建分布式支付系统过程中,遇到的最重要的几个概念:SLA、scaling、Consistency、Durability、Idempotency等。

8、[电子书] 解谜计算机科学

王垠正在写的新书,目前只公布了第一章。

我写这本书,就是为了弥补计算机业界这一空缺,改变行业的现状。它将吸引新鲜干净的血液进入这个行业,并且赋予他们力量。它也可以刷新内行人员的头脑,让他们重新理解和审视已有的知识。这样也许我们能冲破这个行业的重重迷雾,让它变得诚实,获得科学的精神,成为像物理一样踏实的学科。

很多计算机书籍都喜欢从“数学基础”开始,一开头就是长篇累牍的数学公式,定理,证明……结果读者还没读完数学基础就倒下睡着了,再也不想打开这本书。所以我不从数学基础开始,而是从最简单的生活常识。在认识发展的过程中,你会自己去创造出所需要的那些数学。(摘自[《序言》](http://www.yinwang.org/blog-cn/2018/03/21/csbook-preface))

## 3期 教程

1、[文章] Meet the New Dialog Element

HTML 5.2 新增了 \<dialog> 元素,这个元素将来一定会广泛使用,因为它提供了浏览器原生 Modal 窗口。

2、[教程] Android 开发工程师面试指南

3、[文章] Active Record 与 Data Mapper 的差异

关系型数据库的操作通常采用 ORM 库,将表格转换成对象。ORM 主要分成两种类型:Active Record 与 Data Mapper。本文讨论这两种模型的差异和适用场景。

4、[电子书]《计算与推断:数据科学基础》

本书是加州大学伯克利分校《数据科学导论》课程的教材,现在开源了。

5、[邮件列表] WebAssembly 周刊

每周给你发送一封邮件,介绍本周值得关注的 WebAssembly 消息。

6、[文章] Optimizing React: Virtual DOM explained, by Evil Martians

React 的虚拟 DOM 机制的详细解释, JSX 代码如何变成虚拟 DOM 的数据结构。

7、[教程] Canvas: Draw on the web

国人写的 HTML5 Canvas 教程。

<span style="color:rgb(41, 47, 51)"><span style="background-color:rgb(255, 255, 255)">从零基础开始,到CanvasAPI,再到基本动画与高级动画的实现,还会介绍视音频的处理、移动应用,最后如果有时间会扩展说一说3D、多人应用、游戏制作等。</span></span>

8、[文章] Node 10 的异步遍历器

上个月底发布的 Node 10 支持异步遍历器,对 Stream 操作有重大影响。这篇文章介绍了如何用这个新语法读取文件内容,写法变得很自然。

4期 教程

1、[文章] Node.js 最佳托管商

现在,各大云服务商都支持 Node.js 主机,本文对比了最大的 6 家服务商各自的优缺点。

2、[文章] 软件测试的误区

本文讨论了13种软件测试的错误做法,比如:(1)单元测试与集成测试的比例不正确;(2)太相信 TDD(即写代码之前就写测试);(3)写了大量很慢的测试;(4)手动运行测试;(5)没有把生产环境的错误写成测试等等。

3、[电子书] 《React in patterns》

React 如何使用各种编程模式?

4、[文章] Rust 的内存安全革命(中译原文

Rust 语言不需要手动管理内容,却也没有垃圾回收机制,这是怎么实现的?

本文集中介绍 Rust 最重要的核心特性:内存管理。这是 Rust 的主要创新之一,它的许多独特的特点是基于此的。本文写给不知道 Rust或刚刚开始学习它的程序员的。对于熟悉 C、C++ 或其他使用手动管理内存以及使用垃圾回收器语言的读者来说会更容易理解 Rust的特点。 

5、[文章] SHA256 的实现

SHA256 是目前常用哈希算法里面最可靠的,Git 和比特币都依赖这种算法。本文解释了它的实现。

6、[文章] Python 列表的用法

列表(list)是最基本的数据结构,这篇文章通过实例讲解 Python 如何操作列表。很容易读,就是内容比较浅,只适合刚刚开始学 Python 的初学者。

7、[代码仓库] Cosmos

收集各种算法的代码实现的仓库。

5期 教程

1、[文章]最简单的马尔可夫链图解(英文)

上面是最简单的马尔可夫链图解。系统包括 A 和 B 两个状态。一共有四种转化路径:A 到 A、A 到 B、B 到 A,B 到 B。每种路径的可能性都是 50%,就得到了随机的运动轨迹。

一个通俗的实例是,每天有“晴天”和“下雨”两种天气,天气变化的概率是50%,那么马尔可夫链就可以生成一个未来一周天气的模型。

2、[文章] 决策树模型入门(英文)

决策树模型(Decision Tree)是最简单的机器学习模型,也最容易理解。当决策受到多个因素影响时,这个模型相当有用。           3、[文章] 为什么 go 结构是有害的?(英文)

多线程编程之中,有一种 go 结构,就是主线程之外分出一个线程,这个线程完成任务以后,再回到主线程。作者认为,这种结构是有害的。他的最精彩观点就是:如果允许使用 go 结构,那么所有的语言功能都可以用这种结构实现,程序很快就会乱做一团。

4、[代码] Elm + Rust 开发桌面应用(英文)

目前,使用 Web 技术开发桌面应用,主要通过 Electron。它的缺点是,有时你只是想要在桌面上展示一个网页,不需要跟本地文件系统交互,但是不得不把整个 Chromium 浏览器和 V8 引擎包含在这个应用里面,导致不管逻辑是否复杂,任何一个 Electron 应用都至少有几十MB的大小。

这个项目展示了另一种开发桌面应用的可能。它的原理是,任何操作系统都有自己的 WebView,也就是说可以在应用程序里面调用 WebView 展示网页。那么可以使用 Rust 语言打包 WebView,而 JS 脚本部分交给 Elm 语言生成。由于 WebView 是系统提供的,所以打包出来非常小,一般只有几百KB,资源占用也很少。

5、[文章] 高可用的部署技巧(英文)

Netflix 公司的工程师介绍,他们如何部署代码,提高服务的可用性,比如使用红黑部署、设置部署窗口等等。

6、[教程] 哈佛大学《CS109:数据科学基础》的课程资料(英文)

1xx 编号的课程都是本科生的基础课程,我看了一下,讲的是 Python、基础的统计学知识和数学模型,提供免费的课程视频和PPT 下载。

7、[笔记]《技术面试需要掌握的基础知识整理》(中文)

技术面试需要掌握的基础知识整理。

8、[资料] 互联网公司技术架构(中文)

作者收集的国内各大互联网公司技术架构的资料

6期 教程

1、[文章] 分布式系统的全面介绍(英文)

分布式系统的基本概念和基本知识,这篇文章都谈到了。

什么是分布式系统?最简单的定义,分布式系统是一组计算机一起工作,对于最终用户只显示为一台计算机。这些机器具有共享状态,可以处理并发操作,如果其中一台机器发生故障,不会影响整个系统的正常运行。

2、[教程] C Primer(英文)

一张网页的《C 语言的入门教程》,比较注重内存部分的讲解。写得不是很易读,但是还是可以看一下。

3、[教程] 改变世界的17个数学公式(英文)

本文介绍了17个据说改变了世界的数学公式。数了一下,我知道9个。

4、[文章] 如何用 Python 实现一个简单的 JSON 解析器?(英文)

代码还算简单,可以作为编译器的训练。

5、[文章] Everything old is new again: Microservices(英文)

这篇短文讨论了 SOA 架构(服务导向架构)和微服务架构的差异,为什么 SOA 会演变成微服务。

6、[文章] 只有 13 台 DNS 根域名服务器原因(中文)

我们经常听到 DNS 根域名服务有 13 台,那么是为什么呢? 今天我们来深入了解下。

7、[PDF] Linux: a Portable Operating System(英文)

这是 Linus Torvalds 的硕士毕业论文,介绍 Linux 系统如何适配不同的硬件架构。这篇论文不涉及代码,只介绍一些概念性的东西,但也不是那么好懂,至少我没有完全看懂。对内核和操作系统感兴趣的朋友,可以读一下。

8、[文章] ed 命令的一种用法(英文)

ed 是 Unix 系统里面最古老的命令行编辑器,但是功能并不弱。这篇文章介绍了一个使用 ed 的简单实例。

9、[游戏] PacVim(英文)

通过吃豆子(PacMan)游戏学习 Vim 操作的命令行游戏。

7期 教程

1、[网站] DiscoverDev.io(英文)

该网站每天列出5~10篇当天值得阅读的软件文章。

2、[视频] Facebook 的机器学习视频教程(英文)

《Facebook 机器学习指南》是由 Facebook 广告机器学习团队开发的六部分的视频系列。该系列分享了最好的现实世界实践,并提供了如何将机器学习功能应用于实际问题的实用技巧。

3、[文章] 气压的知识(英文)

气压就是大气的压力,一个标准大气压等于760毫米汞柱。有的地方气压高,有的地方气压低,这是风形成的根本原因,台风就是巨大的热带低气压。地球上,赤道由于高温蒸发是低压区,极地由于冷空气下降是高压区,这就形成了地球的风带。

4、[教程] Flask 教程的中文版(中文)

Flask 是 Python 的 Web 开发框架。这个教程教你如何用 Python 和 Flask 来创建 Web 应用。

5、[资料] arl

各种语言最受欢迎的项目,按照 GitHub Star 的数量排行。

6、[资料] 谷歌官方的 Bash 脚本风格要求(英文)

Bash 脚本的语法远比编程语言宽松,你很容易写出难以阅读、风格混乱的脚本,可以参考谷歌如何写 Bash 脚本。

7、[文章] 不必要的 HTTP 头信息(英文)

本文统计了30个最常见的 HTTP 头信息,逐个讨论哪些是必要的,哪些是没必要的。

8、[文章] 响应式表格的两种解法(英文)

手机怎么显示表格?常见的方法是将表格转为键值对。Lea Verou 给出了两种纯 CSS 的解法,不需要任何多余的 HTML 标签。

一种是使用 text-shadow 属性复制表头,另一个使用 element 方法复制表头。但是,这两种方法都有局限,前者是单元格里不能有换行,后者是只有 Firefox 支持。

8期 教程

1、[文章] 深度学习在线课程比较(英文)

深度学习是目前很热名的主题,各大网校都有这方面的课程。这篇文章比较了美国三大教育平台的深度学习课程:Coursera、Udemy 和 Udacity。

2、[文章] 前端人工智能?TensorFlow.js 学会游戏通关(中文)

作者使用 TensorFlow.js,让程序自动完成 Chrome 浏览器的内置小游戏“恐龙快跑”。

3、[课程] 哈佛大学游戏开发课程(英文)

哈佛大学游戏开发课程 CS50,提供讲课视频、课程笔记、PPT 和作业等资料。

4、[文章] 马尔可夫决策过程(英文)

如何利用马尔可夫链建立一个决策模型,文章较好懂。

5、[PDF] Awk 编程语言(英文)

awk 是 Unix 命令行处理文本的有用工具,这里是1988年出版的 awk 教程。Unix 命令行高度稳定,所以这本教材也没那么过时。

6、[仓库] JavaScript 算法与数据结构(中文)

这个仓库收集了30多种算法的 JavaScript 实现。

7、[教程] 高性能矩阵乘法(英文)

矩阵乘法需要计算每一行与所有列的乘积之和,如果矩阵很大,乘法计算是非常耗时的。这篇文章讨论如何实现一个高性能的矩阵乘法算法。

8、[电子书] Python - 100天从新手到大师(中文)

一本针对初学者的 Python 教程。

9期 教程

1、[文章] 数码照相机如何工作 (英文)

本文介绍数码相机 CMOS 芯片的感光原理,彩色的光线是如何变成数字信号的。

2、[游戏] while True: learn()

一个帮助玩家学习人工智能的游戏。你扮演一个人工智能专家,在游戏的引导下解决各种问题。

3、[文章] 初学者在 Linux 上安装比特币完整节点指南(2018年版)(英文)

这篇文章教你如何在没有任何 Linux 经验的情况下,全新安装Kubuntu 18.04系统,并在这个系统安装比特币完整节点,加入比特币网络。

4、[视频] 计算机科学速成课(英文中字)

志愿者从 Youtube 搬到 B 站的40集视频教程。

5、[仓库] awesome-ruby-china(中文)

Ruby China 论坛的精华贴整理。

6、[PDF] 相关系数与余弦相似性(英文)

上面是相关系数的计算公式,这是统计学的基础公式。我一直不知道它是怎么推导出来的,为什么这个公式就能断定两个矢量的相关性,我读过的教科书都不解释这一点。

这里有一篇论文,给出相关系数的十三种解释,但都写得不太容易理解。后来,我又读到了标题里面的那篇论文,指出相关系数就是两个矢量的余弦相似性,所以完全相关是+1或-1,完全不相关是0,一下子就看懂了。

7、[PPT] Docker and Go(英文)

2013年的时候,Docker 团队介绍他们为什么使用 Go 语言写 Docker。

8、[文章] 编写 Markdown 解析器 (英文)

一组三个部分的系列文章,介绍如何从零开始写一个 Markdown 解析器。作者是用 Ruby 语言实现,但是一些基本知识的介绍跟语言无关,写得挺好的。

10期 教程

1、如何使用 AWS LAMBDA 做一个 YOUTUBE MP3 下载器(英文)

作者做了一个 Bookmarklet。浏览 Youtube 的时候,只要按一下这个书签工具,就会把请求发到 AWS LAMBDA,然后抓取 Youtube 流文件,转码成 mp3 文后以后存到 S3,再返回下载地址。

2、各种数据结构的 JavaScript 实现(英文)

这篇文章针对初学者,介绍 Array、HashMaps、Sets、Linked Lists、Stacks、Queues 这六种数据结构的 JavaScript 实现。

3、tcpdump 示例教程(英文)

tcpdump 是一个 Linux 命令行工具,用来查看 TCP 通信。

4、Eloquent JavaScript 3rd edition 中文版

一本开源的 JavaScript 语言的入门教材。

5、2018 世界杯预测

有人根据历史数据,写了一个脚本,预测本届世界杯的所有比赛(见上图)。四强是葡萄牙、阿根廷、巴西、德国,决赛是巴西对德国,冠军是德国。链接是完整的脚本和数据集下载。不过,世界杯已经开始了,跟真实结果一比较,似乎出入比较大,这届的强队都表现一般。

6、MATLAB 处理照片

你还是使用 PhotoShop 处理照片吗?可以考虑试试看 MATLAB。

7、V8 改进垃圾清理机制(英语)

V8 引擎宣布“垃圾清理机制”的重大改进。我们知道,对于大型程序,垃圾清理很影响性能,因为程序必须暂停,让引擎识别哪些内存不再需要。

V8 现在允许内存识别不暂停程序,而是并发进行,使得程序停顿时间减少70%左右。引擎如何识别不再需要的对象,希望了解具体实现的朋友,可以看看上面这篇文章。                                                                                                                                                                 8、Testcafe  教程(英文)

Testcafe 是一个 UI 测试框架,可以在各大浏览器进行 UI 测试。相比 Puppeteer,它提供各种专门针对测试的封装好的方法。

11期 教程

1、git push --force-with-lease(中文)

不要用 git push –force,而要用 git push –force-with-lease 代替。在你上次提交之后,只要其他人往该分支提交给代码,git push –force-with-lease 会拒绝覆盖。

2、为什么 Linux 用户更喜欢命令行?(英文)

这篇文章讨论了为什么程序员更喜欢使用命令行,而不是图形界面。

3、IPFS 教程(中文)

如果你想把一个文件放到网上,从此任何人无法删除和屏蔽,别人只要想看就能看到,你可以使用 IPFS。

它是一个分布式网络,采用点对点通信。内部是一个区块链,文件写入以后就没法删除了,然后通过哈希可以读出文件。缺点是本地需要架设一个客户端,资源开销有点大。

4、Puppeteer 的一些使用经验(英文)

Puppeteer 是谷歌推出的 Chrome 无头浏览器,是目前的浏览器自动化首选工具。本文介绍了作者的使用经验。

5、GRAIL 笔迹识别算法(英文)

这篇教程详细介绍一种手写识别算法,并且附有多个可视化示例可以操作。这篇的英语看起来有点费劲,但是耐心看一定可以看懂,因为解释得很好,也没有复杂的数学。

6、网页如何适配 WatchOS5(英文)

苹果手表的最新系统 WatchOS5,可以在手表上浏览网页。WWDC 2018 放出一段8分钟视频,介绍网页如何适配苹果手表,还算挺简单的。

7、GPU 知识介绍(英文)

这篇文章介绍什么是 GPU,为什么不用 CPU 进行图形渲染,GPU 的基本概念等等。

8、Python 的数据类型: list 与 tuple 的区别(英文)

Python 语言之中,元组(tuple)和列表(list)都表示数据的序列。最大的区别是 tuple 是不可变的,即不能新增、删除、修改 tuple。

9、纯 CSS 效果展示

12期 教程

1、devops 工程师的职务(英文)

devops 是 IT 行业的一个新兴领域,这一类工程师的职务应该怎么分类呢?这篇文章认为可以分成三种职务:运维(Operations)、平台工程(Platform Engineering)、发布管理(Release Management)。

2、MySQL 数据库的字符集,要用 utf8mb4,而不是 utf8(英文)

MySQL 的 utf8 字符集不是真正的 UTF-8,只支持最多三个字节的字符。真正的 UTF-8 可能会出现四个字节的字符。MySQL 从来没有修复这个 Bug,而是使用另外的解决方法:真正的 UTF-8字符集改用 utf8mb4 的名字提供。.

3、网站流量指标的含义(英文)

UV、PV、跳出率(bounce rate)这些词到底是什么意思?怎么计算?

4、Web 技术史(英文)

这篇文章写于2014年,回顾了互联网开发技术的历史。客户端的部分看不看无所谓,服务器的部分写得很好。

5、socks5 技术简介(英文)

socks 是一种服务器的通信代理协议,本文介绍它的一些基本知识。

6、Flutter 试用感受(英文)

Flutter 是谷歌推出的跨平台App开发工具。只要写一次代码,就能同时编译出安卓和iOS两个平台的App。这篇是一个 iOS 开发者的试用报告,他说他对 Flutter 感到非常满意。

7、Channel 服务介绍(英文)

Channel 是 Web Socket 协议的封装,提供服务器、PC端、手机端的库,做到客户端订阅服务器事件,或者服务器订阅客户端事件。

8、Rust 初学者指南:初识 Rust(中文)

Rust 是一种静态的编译型语言,实现了 C 或 C++ 大部分的功能。但是不同于 C 和 C++,Rust 还可以进入 C# 和 Java 长时间统治的领域:自动内存管理。Rust 语言既有低级语言的速度优势,同时又不用手动管理内存,还不存在麻烦的垃圾收集机制。

9、WebAssembly 现状与实战(中文)

WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行, 浏览器厂商需要做的就是根据 WebAssembly 规范实现虚拟机。本文重点介绍如何使用 AssemblyScript 来编写 WebAssembly。

13期 教程

1、Flutter 入门介绍(英文)

现在的跨平台App开发工具分成两类:(1)容器包了Web View,App实际是一个本地网站;(2)原生控件的跨平台抽象。Flutter走了不一样的路:自己开发了一套原生控件,每个平台实现一遍,然后把渲染引擎(这套控件)打包在每个应用里面,因此性能没有问题,平台差异也很小。

2、Python 类型系统的现状(英文)

众所周知,Python 是动态类型语言,运行时不需要指定变量类型。这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发者指定变量类型。它的主要作用是方便开发,供IDE 和各种开发工具使用,对代码运行不产生影响,运行时会过滤类型信息。

本文回顾了 Python 类型系统的现状,对它的优缺点进行了评价。

3、为什么 SQL Server 的日期从1753年1月1日开始?

原因是1752年英格兰进行了日历改革,由于日历算法的差异,导致丢失了9月3日到9月13日的一共12天。为了避免计算天数的误差,SQL Server 就索性把最小日期定为1753年1月1日,更大的日期范围由 datetime2 类型提供。

4、Unix 就是 IDE(中文)

集成开发环境(IDE)作为文件结构、代码编写、代码维护、测试和排错工具于一体的应用程序,对程序员们非常有价值。这个教程展示如何用 Unix 命令行工具完成 IDE 的功能。

5、Web Assembly 和 Go(英文)

Go 1.11 将支持 Web Assembly,作者尝试用 Go 写了一个 TodoMVC。他的结论是:“WebAssembly是 Web 开发的未来。两年后,Go、Swift、Rust 将占到前端代码的三分之一。

这里还有一篇文章,展示了两个用 Go 语言写的 WebAssebmly demo。

6、如何生成 localhost 的证书?(英文)

本地开发时,我们常常使用 localhost 访问本地服务,怎样才能生成证书,让 localhost 提供 https 服务呢?

7、Unicode 字符与 CSS 背景(英文)

Unicode 字符用作 CSS 背景,可以产生一些非常独特的背景。此文还有续篇

8、如果没有 if 语句(英文)

一篇很有意思的文章,讨论如果不使用 if … else 语句,应该怎么写代码。他的意思是,某些情况下 if 属于误用,会造成代码冗余或不利于阅读,这时应该减少 if 的使用。

9、国内最大的 DDOS 攻击(中文)

4月8日,清明节后第一个工作日,腾讯云一个重要的棋牌游戏客户突然遭受大流量 DDoS 攻击,棋牌类游戏遭受攻击习以为常,但是本轮攻击流量峰值竟达到了1.23Tbps,刷新国内DDoS攻击最大流量记录。

14期 教程

1、数据结构参考(英文)

一份很好的数据结构教程,图文并茂,简明扼要,列出每种结构的定义和优缺点,非常适合初学者。

2、Go101(英文)

Go 101 是一本介绍 Go 语言的语法和各种细节的开源电子书,帮助读者深入彻底地了解 Go。

3、逆向工程初学者教程(英文)

向初学者介绍逆向工程的知识。

4、如何破解路由器?(英文)

一份简单的教程,如何获得局域网路由器的 root 权限。

5、Timsort 入门(英文)

Python 的默认排序算法是 Timsort,它的表现据说好于快排(quicksort)。本文解释了这种算法的基本原理。

6、深入理解 flutter 的编译原理与优化(中文)

闲鱼是国内最早使用 Flutter 的 App 之一,这个系列的文章是他们对 Flutter 的使用总结。

7、Chrome 的缓存浏览模式(英文)

Chrome 可以启用“show saved copy” 按钮。如果网站下线,而本地又有以前访问时的缓存,就能看到缓存的版本。

8、微服务架构的简单解释(英文)

一篇比较简单的微服务架构的解释。

9、在 Google Bucket 托管静态网站(英文)

静态网站可以免费托管在很多地方,现在又多了一个选择:谷歌的云服务。这篇文章教你怎么做。

15期 教程

1、Python 语言教程:基本统计学指标(英文)

一篇很好的初级 Python 教程,教你用最基本的语法,算出平均数和标准差。

2、WordPress 编译为 .Net(英文)

有人把 WordPress 编译成了 .Net 代码,运行的时候只需要 .Net 环境,不需要 PHP 了。随着转码器的流行,以后这种事情可能越来越多。你用什么语言可能根本无所谓了,反正都可以转来转去。

3、IP 地址 192.168.1.1 的由来(英文)

为什么是 192.168.1.1 这个地址,而不是别的地址被指定为内网 IP?

4、Kubernetes 入门教程(英文)

Kubernetes 是现在最流行的容器集群管理工具,本文给出了一份上手教程,教大家怎么安装和使用它。

5、dd 命令教程(英文)

dd 命令通常用来克隆整块磁盘,或者制作 Linux 系统的 USB 启动盘。这篇文章教你怎么用,其实很简单。

6、如何写一个模块打包器(英文)

Webpack 是现在最流行的模块打包器,可以将脚本依赖打包成一个文件。这到底是怎么实现的?如果自己写一个打包器,应该怎么写?

7、Chrome 浏览器开发者工具教程(英文)

介绍 Chrome 开发者工具各个部分的用法。

8、MacOS 内核与 Linux 内核的差异(英文)

介绍 MacOS 内核的历史演变,跟 Linux 的差异还是很大的。

9、什么是 Web 应用程序防火墙(WAF)?(英文)

WAF 是应用程序级别的防火墙,目前主要用在 Web 服务器软件。这篇文章简单介绍了 WAF 的概念。

16期 教程

1、图数据结构入门(英文)

图(graph)是一种数据结构,由点(vertex)和边(edge)组成。本文介绍图结构的算法基本知识。

2、判断油画的年代(英文)

上面这幅欧洲油画是什么时候画的,15世纪还是17世纪?

这种问题恐怕要熟悉欧洲艺术的专家才能回答。现在,有人写了一个神经网络教程,介绍如何用算法判断油画的年代。

3、SVG 背景(英文)

这篇文章教你如何手写一个 SVG 文件,作为网页的背景图案。

4、气候变暖的入门介绍(英文)

全球气候正在变暖,这到底是怎么一回事,原因是什么。本文是我读过最好的这方面的入门读物。

5、如何设计 Web 应用的架构(中文)

大型 Web 应用最关键的就是架构,最难的也是架构。这份教程整理了这方面需要知道的知识。

6、Webpack 4 入门教程(英文)

Webpack 是 JS 代码的打包器,现在前端开发的主流工具。Webpack 4 是它的最新版本。

7、ssh 端口为什么是 22?(英文)

SSH 的作者回忆, ftp 端口是21,telnet 的端口是23,他就挑了中间剩下的22。

8、PDF 格式有什么用?(英文)

作者认为应该避免使用 PDF 格式。一般情况下,HTML 格式是更好的选择。如果要求保证精确的打印效果,可以使用压缩的 Postscript 格式。

9、为什么 Kubernetes 是新的应用服务器?(英文)

这篇文章解释,为什么以后发布应用的时候,不是直接发布在服务器上,而是通过 Kubernetes 发布。

17期 教程

1、如何使用 Node 优化图片?(英文)

本文教你使用 JS 的 imagemin 模块,压缩图片的大小。

2、DNS over HTTPS(英文)

DNS 查询都是基于 HTTP 协议的,即使是加密通信,网络服务商依然可以知道你想访问的网站。现在有多种解决方案,本文介绍如何在 Firefox 浏览器打开设置,使得 DNS 协议走 HTTPS 协议。

3、WebAssembly 的发展方向(英文)

WebAssembly 是浏览器可以执行的字节码,使得非 JS 编写的程序可以在浏览器运行。它现在的功能非常少,还处在 MVP(最小可用产品)状态。这篇文章介绍了一些很可能采纳的 WebAssembly 提案。

4、少子化和人口老龄化综述(英文)

全世界发达国家都有少子化和人口老龄化的趋势,这篇文章是我看过的最好的这方面的综述,有大量的数据和事实。除了非洲,其他大洲的人口都接近峰值了,将要开始下降,这意味着许多国家将不得不依靠移民,解决本国人力不足问题。

5、SVG 动画入门:以加载转子为例(英文)

本文手把手教你如何写一个最简单的 SVG 动画。

6、Hash 算法简介(英文)

Hash 算法的概念性介绍。

7、为什么飞机驾驶舱不使用触摸屏?(英文)

现在的飞机驾驶舱还是使用物理仪表盘,而不是触摸屏,这是为什么?主要的原因还是物理按钮会形成肌肉记忆,比操作触摸屏更快。

8、斐波那契数列的计算公式(英文)

如果不用递归,直接算出斐波那契数列的任意项,应该怎么计算?

9、如何通过 npm 窃取信用卡密码?(英文)

本文讲述了作者通过 npm 发布恶意代码的种种手段,非常值得一读。其中有一个技巧,就是package.js 与 package.min.js 的代码不同,恶意代码只放在后者。

18期 教程

1、为什么选择 Java 作为后端开发语言?(英文)

本文介绍了 Java 语言用在后端开发的一些优势。

2、断言库 Power Assert 介绍(英文)

为什么 Power Assert 是更好的断言库?

3、如何自学计算机科学?(英文)

作者给出了各门课程的参考书单和学习资源,以及一些建议。

4、如何制作一个节能的网站?(英文)

臃肿肥胖的网页会消耗更多能源,释放更多二氧化碳。为了保护地球,我们应该制作简单节能的网页,作者演示了如何制作一个只有 7KB 的 Wordpress 网站。

5、最简单的反向代理服务器(英文)

本文介绍如何用 Go 语言实现一个最简单的反向代理服务器。

6、谷歌云服务:The Good, Bad, and Ugly(英文)

作者从用户角度,对谷歌云服务的各个方面进行了评价。

7、图像 EXIF 方向错误(英文)

你有没有遇到,照片在手机里面方向正确,上传到网站却左右颠倒或上下颠倒?这篇文章告诉你为什么。

8、幽灵文字

Unicode 里面有一些不存在的汉字,称为“幽灵文字”。它们是怎么进入标准的?原来,1978年,日本制定本国编码标准 JIS 时有一些错误,创造出这些文字,后来 Unicode 又全部继承了 JIS。

9、新的 HTTP 头字段 Feature-Policy(英文)

继内容安全政策之后,现在又多了一个新的 HTTP 头字段 Feature-Policy,用来禁止网页执行某些功能。

10、Android 9.0 特性介绍(中文)

Android 9.0 就是早先推出 Beta 版的 Android P。现在我们知道,P 代表的甜点就是派(Pie)。

11、TLS 1.3 介绍(英文)

HTTPS 协议的最新版本 TLS 1.3,最近成为了国际标准 RFC 8446。本文详细介绍这个新协议,包括 TLS 1.2 的缺陷,以及 TLS 1.3 如何解决它。

19期 教程

1、Python 语言如何生成随机数?(英文)

如果你需要在 Python 语言用到随机数,看这篇文章就够了。

2、Cherry 公司的历史(英文)

Cherry 是世界最著名的机械键盘品牌,这篇文章介绍这个品牌的历史。

3、Python 面向对象编程(英文)

Python 初级语法教程。

4、如何让 SSH 更安全?(英文)

提高 SSH 安全等级的一些知识。本文较难,需要密码学知识。

5、Kubernetes 的起源(英文)

Google 官方介绍 Kubernetes 这个项目是怎么诞生的。

6、如何写一个脚本语言的虚拟机?(英文)

这组系列文章介绍脚本语言的运行虚拟机(VM)怎么写。

7、C 程序员应该选择哪一种语言?(英文)

本文从 C 程序员的角度比较 C++、Go、Rust 这三种语言。

8、WireGuard 介绍(英文)

WireGuard 仍然是一个实验性的新产品,目前只有 Linux 和安卓客户端。

9、正则表达式中隐藏的陷阱(英文)

从一个失败的正则表达式解释正则引擎的运行原理。

10、鸽子传信解释 HTTPS(英文)

本文使用鸽子传信作为比喻,解释 HTTPS 协议。

11、Debian 系统小知识

Debian 是历史最悠久、使用最广泛的 Linux 发行版之一。今年8月16日是它25周年的生日,本文介绍一些它的小知识。

20期 教程

1、Java 面试的算法问题(英文)

本文讲解了 Java 面试经常遇到的各种算法问题。

2、Vi 的来源(英文)

Vi 是 Unix 系统的常见编辑器。它最初是 ed 编辑器的改写,vi 表示 ed 的 visual 模式,后来有人写了增强版 vi improved,这就是 vim 的来历。

3、Mastodon 简介(英文)

Mastodon 是开源的 Twitter 克隆。它的最大特点是允许多个实例(即服务器)之间的互相联系,比如引用一个用户需要给出他所在的实例地址(@foo@mastodon.instance),有点像 Email 的概念。

4、如何拿到 Homebrew 的代码提交权?(英文)

作者讲述了,他如何在30分钟内发现 Homebrew 的一个漏洞,从而可以向代码库提交代码。Homebrew 是 Mac 环境最广泛使用的开发工具之一,一旦注入恶意代码,后果非常严重。这个事情提醒我们,使用网上下载的任何代码,都必须非常小心。

5、Kotlin 标准库的一些优点(英文)

Kotlin 是安卓设备替代 Java 的一种编程语言,本文介绍了它的一些胜过 Java 的地方。

6、Go 与 Python 的比较(英文)

本文介绍 Go 语言对比 Python 的优点。

7、公共 DNS 比较(英文)

本文测试了几个全球性的公共 DNS 服务提供商,结果第一名是 Cloudflare,第二名是 Google。

8、提高 Python 程序性能的七个方法(英文)

Python 的长处不是性能,但是采用本文的方法,可以减少一些不必要的资源浪费。

9、网页设计的常见错误(英文)

本文使用图片对比,列出网页外观设计的15个注意点。上图左侧是改造前的网页,右侧是改造后。

10、axios 内部设计分析(英文)

axios 是一个非常流行的 JavaScript 语言的 HTTP 请求库,本文分析它的内部设计。

21期 教程

1、如何维持缓存的一致性?(英文)

有一句名言:“计算机科学有两大难题:缓存不一致和变量命名。”本文就介绍缓存与源数据不一致的基本知识。

2、如何对缓存服务器注入恶意代码?(英文)

用户发出的请求,很大一部分是缓存服务器响应的。这意味着,不一定需要感染源站,只要能在缓存服务器注入恶意代码,就能达到目的。本文给出了这方面的详细介绍以及实际的案例。

3、OCaml 语言入门教程(英文)

OCaml 是一种通用语言,在函数式编程里面加入了命令式编程和面向对象编程的特性。

4、Python魔术方法指南(英文)

Python 有大量的魔术方法(方法名前后有两个下划线),本文给出了一个完整的介绍。

5、如何用 Node 搭建一个推特机器人?(英文)

本文详细指导你搭建一个免费推特机器人,每当有人在推特 follow 你,就会收到一条欢迎私信。

6、地中海为什么没有潮汐?(中文)

地中海沿岸,很多城市最热闹的大街就在海边。我一直很奇怪,难道他们不怕涨潮吗?现在终于确认了,地中海几乎没有潮汐。

7、如何将 Swift 用于服务端编程?(英文)

Swift 语言一般用于开发 iPhone 的 App,现在开始有人尝试将它用于服务端编程。

8、Puppeteer 网页爬虫和自动化测试教程(中文)

想要学习浏览器自动化的同学,可以看看这篇中文教程。

9、.snap vs .deb(英文)

.snap 是一种新的 Linux 安装包格式,最大特点就是自带依赖,某种程序上很像容器。

10、人脸检测服务对比(英文)

本文比较了谷歌、微软、亚马逊、IBM 四家公司的人脸检测服务的准确性。

22期 教程

1、网站架构101(英文)

本文介绍大型网站架构的基本知识。

2、Go 模块简介(英文)

Go v1.11 引入了模块(module)的概念,主要为了使用语义版本,解决依赖升级的兼容性问题。

3、about 协议的来历(英文)

“about: ”开头的网址,返回与浏览器本身相关的内容,最常用就是空网址 about: blank ,以及 about:history

4、.ipynb 文件和 Jupyter 云服务(英文)

.ipynb 文件是一种在网页上运行的代码运行时,可以实时看到运行结果,支持40多种语言的运行,包括 Python,R,Julia 和 Scala。它是由 Jupyter  Notebook 生成的,本文介绍5种支持 Jupyter 的云服务。

5、使用 Webview 开发跨平台桌面应用(英文)

跨平台桌面应用一般用 Electron 开发,打包体积很大。对于纯静态应用,其实有另一种轻量级选择。

操作系统都有自己的 Webview,Mac 是 webview,Windows 是 MSHTML,Linux 是 gtk-webkit2。这篇文章教你怎么用 Webview,开发一个跨平台的桌面打飞机游戏。

6、如何搭建一个私有的 CDN?(英文)

大部分情况下,我们使用市场上现有的 CDN 服务。但是,你也可以自己搭一个,这篇文章教你怎么做。

7、Java 与 Node / JavaScript 的对比(英文)

作者原来是一个 Java 开发者,后来转为使用 Node。他比较了这两种语言。

8、如何将 WordPress 站点发布成 Gitlab 静态页面站点?(英文)

WordPress 是常用的博客软件,虽然方便易用,但是容易产生安全问题。作者提供了一个脚本,可以将 WordPress 网站的 HTML 页面,部署到 Gitlab Pages 服务,做成一个静态网站。

9、WireGuard 介绍(英文)

WireGuard 内部实现原理的一些介绍,以及与现有方案的比较。

10、Serverless 最佳实践(英文)

Serverless 作为服务导向架构的一种形式,有很多优点。本文介绍了使用这种架构时,应该注意的问题。

23期 教程

1、Common Lisp 的学习途径(英文)

Lisp 是函数式语言的鼻祖,入门难度较高。作者给出了学习途径。

2、如何编译 GIF 解析的 WebAssembly 代码?(英文)

本文以一个 C 语言的 GIF 解析库为例,介绍怎么把它编译成 WebAssembly 用在浏览器。

3、什么是区块链?(英文)

一篇针对普通读者的区块链入门介绍,写得比较好懂,还带有互动性的示例。

4、如何追踪 tab?(中文)

多个浏览器 tab 同时访问一个网站,服务器如何区分不同 tab?

答案是利用新建 tab 的时候会新建 Session 这个特点,可以创建一个 uuid 写入 sessionStorage,每个请求都附上这个 uuid,就可以区分 tab 了。

5、使用 Google Cloud Functions 运行端对端测试(英文)

谷歌云服务最近内置了 Puppeteer。本文介绍如何使用这个功能,完成云端的端对端测试。

6、命令行工具的增强(英文)

这篇文章给出增强版命令行工具的清单,比如 bat 取代 cat,htop 取代 top 等等。

7、了解 Linux 容器技术(英文)

容器实际上是 Linux 进程的一种特殊封装,这组系列文章介绍了容器的底层知识。

8、如何使用 PySimpleGUI 开发 GUI?(英文)

PySimpleGUI 是一种为 Python 脚本加入图形界面的简单方案。

9、Julia语言简介(第1部分)(英文)

Julia 是一种新兴语言,设计目录是兼具 C 的速度和 Python 的灵活语法。本文介绍它的基本语法。

10、二叉树算法介绍:go 语言实现为例(英文)

这篇文章很不错,用最简单的语言介绍了二叉树和 go,还有大量配图。

24期 教程

1、 \<input\> 元素的三个属性(英文)

HTML 网页的 <input> 元素有几十个属性,本文介绍其中三个开发者比较不熟悉的属性。

2、Cloudflare worker 的一个使用实例(英文)

这篇文章很容易懂,解释怎么使用 serverless 服务,修改 HTTP 回应。这个服务看起来很好用,缺点好像是只有使用 Cloudflare CDN 的网站才能用。

3、为什么技术有利于暴政?(英文)

《人类简史》的作者尤瓦尔·赫拉利的最新文章。他提出,人工智能有利于政府,可以将权力集中在少数精英手里。唯一可能的解决方法,是寻找分布式的技术方案,防止资源的集中。

4、命令行脚本的运行原理(英文)

脚本的第一行为什么以 #! 开头?Shell 内部又是如何处理脚本的?

5、Presentation API(英文)

Chrome 66 支持 Presentation API,这个 API 允许浏览器定制投射到第二块屏幕的内容,使用脚本进行控制。

5、跨站点请求的七种情况(英文)

网页可以向第三方站点发出请求,这是 CSRF 攻击的主要原因。这篇文章总结了可能发出第三方请求的七种情况。

6、网络协议入门(英文)

本文从协议设计的顶层角度,总体上解释互联网协议的设计思想。

7、为什么 GraphQL 可以取代 Redux?(英文)

本文解释了 Redux 想要解决的问题,而 GraphQL 可以解决同样的问题。但是,该文没有给出细节。

8、DNS over TLS 的 Node 客户端(英文)

为了提高安全性,防止监听,DNS 查询已经可以在 HTTPS 协议上完成。这篇文章教你怎么写一个 Node 客户端,获取 DNS 信息。

9、戴维·霍夫曼的人生(英文)

本文介绍著名的压缩算法霍夫曼编码的发明人戴维·霍夫曼的故事。

10、V8 引擎十周年回顾(英文)

本文是 V8 官方团队写的历史回顾,介绍 V8 每一年在技术上的突破。

25期 教程

1、 PyPy 的十五年(英文)

PyPy 是用 Python 编写的 Python 解释器,这也是它名字的来源。该项目的创始人回顾了走过的十五年。

2、Linux 内核与 Mac 内核的差异(英文)

Linux 内核与 Mac 内核虽然都源于 Unix,但是差别较大。Mac 内核继承 BSD Unix,有一些很老的代码,并且做了大量的定制。

3、六种虚拟私有网络工具(英文)

一些虚拟私有网络的相关知识。

4、你不需要Momentjs(英文)

本文列举如何用 date-fns 或者原生方法,取代 moment.js。

5、Severless 的缺点(英文)

决定使用 Severless 架构之前,你应该读一下这篇文章,了解这种架构的一些问题。目前,最大的问题是,一旦用了它,就很难再摆脱对服务提供商的依赖。

6、IPFS 介绍(英文)

IPFS 是一个具有 web 接口的分布式数据库,一旦写入,你的内容就将永远存在,且无法修改。本文是一篇很不错的介绍文章, Cloudflare 在文中宣布开通 IPFS 网关服务。如果你有自己的 IPFS 节点,就可以让 Cloudflare 的 CDN 网络分发你的内容。

7、 ActivityPub 协议介绍(英文)

ActivePub 是一种分布式的通信协议,本文以 Mastodon 为例,介绍为什么它可以改变互联网。

8、Github 的语义搜索(英文)

Github 正在测试语义搜索,匹配的依据不再是关键字,而是搜索的语义。比如,搜索“连接两个字符串”,就会跳出相关的代码。本文介绍实现细节。

9、为什么 Reason 语言合适写 React 应用?(英文)

Facebook 在开发 React 的同时,还发明了一种新语言 Reason,它是 OCaml 语言的变种。Reason 和 React 的创始人是相同的,这篇文章解释了为什么 Reason 语言天生适合写 React 应用。

10、现在的歌词变简单了吗?(英文)

简单的歌词通常有重复的内容。这篇文章使用压缩算法,比较现在的歌词与过去的歌词,看看哪个压缩得更小,内容更简单。

26期 教程

1、异常处理是错误的设计(英文)

许多主流语言都采用抛出异常的方式处理错误,这篇文章认为,这种设计是错误的,传统的返回值是更好的方式。抛出异常的主要好处是,可以将业务代码与错误处理代码分开,缺点是它改变了控制流,有点像 goto 语言,可以随意跳转。

2、如何撰写技术文档(英文)

技术文档(documents)分成四种:教程(tutorial)、指导(guide)、解释(explanation)和参考(reference)。本文解释了每一种文档的特点,并给出了写作建议。

3、阿里巴巴的18位创始人(英文)

1999年,阿里巴巴集团成立,当时共有18位创始人,大部分是马云的同事、朋友和学生。这篇文章汇总了这18个人的公开资料。

4、使用 Qt 为 Python 脚本添加图形界面(英文)

Qt 是一个 C++ 写的跨平台控件库,PyQt 将其移植到 Python,可以很方便地为 Python 脚本添加图形界面。

5、微服务入门示例(英文)

本文解释了什么是微服务架构,并且给出了一个简单的示例,在 Docker 里面使用 Flask 框架和 ZeroMQ 搭建一个简单的微服务应用。

6、为什么使用 i3 窗口管理器?(英文)

Linux 发行版一般都自带桌面环境,如果你需要的只是一个好用的命令行,那么你可以放弃桌面环境,改用窗口管理器。i3 就是一个很好用的平铺式窗口管理器,本文给出了五个推荐理由。如果你有兴趣的话,这里还有一篇简单教程

7、Pi-hole 拦截广告(英文)

如果你还在用广告拦截器,Pi-hole 是更好的选择。它是树莓派上的 DNS 服务器,架设在局域网里面,内置黑名单,拦截广告域名的 DNS 请求。从此,局域网所有设备都看不到广告。

8、如何制作命令行动画?(英文)

本文介绍如何使用 ncurses 这个 C 语言标准库,写一个简单的命令行动画。

9、如何将 Web 应用做成 Docker?(英文)

本文通过一个很简单的单页应用,演示如何将 Web 应用放到 Docker 里面,然后通过 Docker 运行。

27期 教程

1、如何写一个 Chrome 浏览器的扩展(英文)

想写 Chrome 浏览器的扩展吗?可以看这篇教程,很容易懂。原始代码有一些小问题,我重新做了一个 Demo

2、树莓派如何搭建 NAS(英文)

想要搭建家用储存系统的朋友,可以看这篇教程,使用树莓派和移动硬盘,搭建一个 NAS,操作简单,可玩性高,费用便宜。

3、Kubernetes:令人惊讶的个人项目平台(英文)

流行的观点认为,Kubernetes 是一种过于复杂的技术,只适用于非常大的机器群。我认为这可能是错的,Kubernetes 适用于小型项目。

4、Kubernetes 用于个人项目?不用了,谢谢!(英文)

本文是对上一篇文章的反驳。

5、网页性能的准确测量(英文)

本文讨论如何使用window.requestAnimationFrame() 测量脚本操作的准确耗时。

6、区块链技术概述[PDF](英文)

美国国家标准技术研究所(NIST)编写的介绍区块链的小册子,针对一般读者,内容比较全面完整。

7、我为什么起诉 PinScreen?(英文)

一个硅谷工程师起诉了他的华人老板,还制作了一个极其详细的网页。我觉得这招很好,值得借鉴。不管官司能否赢,我要让你曝曝光。

8、为什么国际航线的航路如此混乱?(英文)

《南华早报》的长篇可视化报道,解释为什么国际航线弯弯曲曲,不采用最近的直线距离飞行。本文图文并茂的呈现方式,值得借鉴。

9、CSV 和 JSON (英文)

CSV 和 JSON 两种数据格式的介绍和比较。很多人忽略的一个事实是,最近几年 CSV 的使用量一直在上升。

28期 教程

1、Java 线程与 Go 线程的根本差异(英文)

作者注意到一个现象,同一台机器,Java 线程最多只能建几千个,但是 Go 线程可以建数百万个。他研究后发现,这跟线程的内存占用有关,每个 Go 线程竟然只占用4KB。

2、如何用 C++ 写网页?(英文)

本文教你如何用 C++ 写一个二进制程序,每当收到通过 CGI 网关发来的调用请求时,自动返回一个网页。其他后端语言也可以用来写网页,原理是一样的。

3、为什么要使用 GraphQL ?(英文)

GraphQL 是客户端请求服务器数据的一种新技术,本文分析的它的优点和局限。

4、FPGA 是什么?(英文)

现在,程序员编程都是针对某种硬件架构,比如 CPU 或 GPU,但是也可以为某种计算定制电路,这种电路专门用来完成这种计算,这就叫做 FPGA。本文介绍 FPGA 的特点,长处和短处。

5、DHCP 协议如何工作?(英文)

DHCP 协议全称是“动态主机配置协议”,局域网的设备往往使用这个协议获得动态 IP 地址。本文解释这个协议的运作过程。

6、HTTPS 协议图解(英文)

图解 HTTPS 对话过程,非常形象,每一个字节的含义都讲到了。

7、如何让不纯的函数变纯?(英文)

通过 JavaScript 代码解释函数式编程的一些基本概念。

8、Go 语言与 Rust 语言的比较(英文)

本文谈了这两种语言各自的长处和短处。

9、最早的域名(英文)

作者写了一个脚本,查询 whois 数据库里面最老的域名。最早的 .com 域名是 symbolics.com(1985-03-15 注册),最早的 .net 域名是 nordu.net(1985-01-01 注册)。

29期 教程

1、如何阅读 RFC?(英文)

RFC 是很多互联网协议的标准,但是它是文本文件,不太容易阅读。本文介绍 RFC 文档的相关知识。

2、奇特的代码缩进风格(英文)

本文总结了几种奇特的缩进方式。比如,每一层缩进都是前两层缩进之和,这就叫做斐波拉切缩进。

3、如何使用 Flutter 制作一个 iPhone 计算器?(英文)

Flutter 开发的一个简单教程。

4、TensorFlow.js 自动化 Chrome 恐龙游戏(英文)

本文介绍如何使用 TensorFlow.js 进行深度学习,自动玩 Chrome 浏览器的恐龙跳跃游戏。

5、神奇物理学:树木中的水(英文)

一个有趣的问题是,树木为什么会长得这么高?加州红杉可以长到100米,到底什么决定了树木长高的极限?

有一点是肯定的,树木需要将水从根部运送到顶部。如果树高100米,树木内部有什么机制可以将水运送得这么高?要知道,一个大气压的情况下,吸管最多只能将水吸到10米的高度,要达到100米,树的内部难道存在10个大气压?

6、文本数据如何储存在 Canvas 图片?(英文)

网页从服务器拿到数据,需要保存下来,但是不想存在 Cookie 和 LocalStorage,怎么办?这篇文章的方法就是动态生成一张 Canvas 的 PNG 图片,将数据存在里面。

7、GraphQL 入门教程(英文)

本文介绍 GraphQL 的概念和优点,演示如何用 Express.js 搭建一个 GraphQL 后端。

8、HTML 网页的 \<head\> 元素 指南(英文)

网页的 <head> 元素可以放置很多东西,本文列出了其中一些主要的内容,可以当作参考手册。

9、Nginx 如何设置 IPv6 网站(英文)

本文介绍如何配置网站,接受 IPv6 的访问。

10、React Router v4 教程(英文)

前端框架 React 的路由库教程,提供在线代码运行示例,例子简洁能说明问题。(@Anderson-Liu 投稿

30期 教程

1、压缩算法的解释(英文)

压缩是最常用的功能之一,压缩算法一般分成两大类:基于熵的压缩和基于字典的压缩。本文简单解释这两类算法的原理,以及将它们合在一起的 deflate 算法。

2、Manjaro 发行版介绍(英文)

Manjaro 是一个新的 Linux 发行版,内核采用 Arch Linux,UI 采用 Deepin,集灵活性和易用的 UI 于一体。

3、密码学简明教程(英文)

本文回顾了加密发展的几个阶段,每个阶段都给出了 Python 的小例子。

4、停止无限滚动(英文)

本文提出网页的无限滚动并不是一个好的设计,应该限制使用或者停止使用。

5、WebAssembly 的未来(英文)

WebAssembly 目前只是 MVP(最小可行产品)阶段,本文介绍了这种编译语言未来可能具有的功能。

6、YAML 格式的问题(英文)

YAML 格式虽然比 JSON 格式易读易写,但也有很多问题。这种格式其实很复杂,并不是配置文件的理想格式。

7、Pokemon Go 为什么成功?(英文)

Pokemon GO 是一个在地图上捕捉口袋妖怪的游戏,初看起来相当无聊,不需要任何游戏技能。但是该游戏取得了惊人的成功,这是为什么?

8、2018 最佳 Linux 桌面发行版(英文)

本文对三个层次的(初级、中级、高级)用户,介绍最合适的 Linux 发行版,用于桌面系统。对新手有一定的参考价值。

9、Web Performance 101(英文)

网页性能的基础知识,针对初学者,内容比较全。

31期 教程

1、等待时间悖论(英文)

公共汽车的间隔时间为10分钟,那么平均等待时间应该为5分钟,但是如果进行抽样,你会发现抽样得到的平均时间为10分钟,这是为什么?简单说,原因就是等待时间越长的人,越容易被抽样到。

2、我为什么喜欢 Java 语言?(英文)

一个程序员解释他眼中 Java 语言的优点。

3、需要学习的是编程,而不是编程语言(英文)

作者注意到,编程与编程语言几乎没有关系,学生可能只是在学编程语言,而不是在学编程。

4、你可能不需要单页应用(英文)

现在的前端开发大量使用单页应用 SPA,使得前端的复杂性急剧增加。这篇文章提出,SPA 可能被过度使用了,大部分情况下,你可能不需要单页应用。

5、新人要学习的机器学习十大算法(英文)

本文介绍了机器学习最基本的十种算法,比如线性回归、朴素贝叶斯、KNN聚合等。

6、10月21日 GitHub 故障分析(英文)

10月21日,GitHub 发生了一次持续24小时的故障,本文是该公司的事后故障分析。主要原因是,当天两个数据中心之间的光纤断了43秒,导致主库与从库之间数据不同步,而且没法确定哪一个镜像是数据完整的,不得不从头做数据恢复。

7、圆周率 Pi 需要使用多少位小数?(英文)

美国国家航天局计算时,使用 Pi 小数点后15位。这样的话,即使轨道半径是250亿英里,计算误差也小于手指的长度(几厘米)。

8、Pandoc 生成静态网站(英文)

Pandoc 是一个文档格式转换工具,本文介绍如何使用它,将 Markdown 源码转成网页,发布到 AWS S3。

9、QR 二维码是怎么生成的?(英文)

本文通过一个实例,一步步演示二维码的生成算法。

32期 教程

1、TCP 协议的堵塞控制算法(英文)

网络数据包如果一次发送太多,就会造成网络拥堵;如果发送太少,就浪费了带宽,延长了通信时间。TCP 协议有一个拥堵窗口机制,负责动态调整每次发送数据包的数量。本文通俗地解释了这种算法的细节。

2、使用 Go 编写前端 Web 框架(英文)

本文使用 Go 语言编写一个非常简单的前端单页应用,然后将它编译成 WebAssembly。所有功能,包括前端组件和前端路由,都是用 Go 写的。看上去,网页编程即将不再是 JS 的专利了。

3、破坏程序员生产力的12件事(英文)

本文列出了影响程序员工作效率的常见情景:工作经常被打断、领导进行微观管理、产品需求不断扩大等等。

4、使用 Pandas 处理 CSV 文件(英文)

Pandas 是一个用于数据操作和分析的 Python 库,本文通过一个范例,介绍如何使用它对 CSV 文件进行数据处理。

5、排版入门(英文)

介绍排版的基本知识。

6、创业公司的20个指标(英文)

一位风险投资家的观点,如何判断一家创业公司是否值得投资。

7、使用 Neovim 进行 JavaScript 开发(英文)

如果你喜欢 Vim 的便捷,又喜欢 VS Code 的图形界面,那么可以试试 Neovim。本文介绍如何配置 Neovim,以适应 JavaScript 开发。

8、Python 使用数字与字符串的技巧(中文)

本文是《Python 工匠》系列的第三篇,介绍在 Python 中编写与数字和字符串相关代码的建议与技巧。(作者@piglei 投稿

9、GitHub 十大最佳实践(英文)

如何才能最好地使用 GitHub 管理项目,本文提供了具有可操作性的十条建议。

33期 教程

1、如何在安卓手机里清除谷歌?(英文)

本文作者讲述如何将红米手机重刷系统,剔除了所有谷歌相关的服务。

2、IPFS 简介(英文)

IPFS 是一个分布式的互联网协议,底层机制类似于将网站发布到区块链。本文介绍 IPFS 的特点,不涉及技术细节。

3、AWS 网络介绍(英文)

本文介绍亚马逊网络服务(AWS)对用户提供的子网服务。每个购买 AWS 的用户会分配到一个 VPC(虚拟私有云),即一个虚拟子网,比如 10.0.0.0/16,文章介绍与之相关的一些概念和知识。

4、为什么静态资源应该使用 CDN?(英文)

本文用一个简单的例子解释什么是 CDN,以及它的好处。

5、HAProxy 的防 DDOS 机制(英文)

HAProxy 是一个负载均衡服务器,自带过滤 HTTP 请求的功能,可以防止应用层的 DDOS 攻击,这方面比 nginx 更强大。

6、Python 的数据序列化(英文)

本文介绍 Python 的各种数据序列化方案,包括 XML、JSON、MsgPack、Protobuf、Thrift等。

7、如何定制一个调色板(英文)

本文介绍如何为自己的应用定制一个调色板,指定各种颜色。

8、图解 DNS over HTTPS(英文)

长期以来,DNS 请求一直是不加密的,这造成 DNS 可能被监听和篡改。最新的方案是推广 DNS over HTTPS,即对 DNS 请求加密,Mozilla 基金会的这篇文章解释了这是怎么回事。

9、网页加载Three.js、Rust 和 WebAssembly(英文)

本文通过一个简单的实例,介绍网页如何加载用 Rust 写的 WebAssembly 模块。

34期 教程

1、使用 Swift 解析 Excel 电子表格(英文)

本文使用 Swift 语言操作 Excel 电子表格。文中解释了 Excel 的格式,理论上其他语言也可以做到。

2、Clojure 语言入门教程(英文)

如果你想从头学习 Clojure 语言,可以读这篇教程,内容非常详尽。

3、网站域名是否该有 www?(英文)

www.example.comexample.com 哪一个合适作为主站的域名?这里的关键问题是,example.com 设置的 Cookie 可以被子域名读取,并一起发送到服务器。

4、UDP 协议到底可不可靠?(英文)

UDP 协议不如 TCP 协议可靠,这是大家都知道,但是这个协议到底丢包率有多高?有人做了测试,结果发现丢包率并不高,主要的问题是数据包的顺序。

5、调试 Node 应用的最简单方法:VS Code(英文)

本文介绍如何使用 VS Code 编辑器调试 Node 代码。

6、JavaScript 如何复制对象(英文)

JavaScript 的对象复制默认是浅拷贝,本文介绍如何深拷贝。

7、Netlify lambda 的最简单示例(英文)

Netlify 的 lambda 函数可能是现在最简单的 Serverless 实现,本文教你如何完成一个 hello world 示例。

8、不必要的 HTTP 头信息(英文)

本文统计了世界最大的前50万个网站返回的 HTTP 回应,其中最常见的30种 HTTP 头信息包括了很多错误的用法。

9、水平看板(英文)

看板(kanban)是管理 issue 的流行方式,一般的看板是垂直的。本文提出,这是因为日本文字是直排的,而看板是日本人发明的,西方文字是横排的,所以看板应该改成水平。

11、tldr

Linux 系统的 man 帮助文件通常很冗长,难以查阅,这个项目提供简化的 man 文件。(@chenylvia 投稿)

35期 教程

1、地址表单不应该分成两行(英文)

本文提出地址输入不应该有两个输入框,而是应该只是一个 textarea。

2、ZIP 压缩算法详细分析(中文)

使用通俗的语言介绍 ZIP 算法,文章较长。(@chowc 投稿)

3、新版 Gmail 代码一瞥(英文)

新版的 Gmail 用谷歌自家的 Lighthouse 评估性能,100分里面只得了2分。下载的脚本有6MB,完全渲染需要9秒,其中一半代码可能根本用不到。有人分析了代码,发现过时的早期代码都还在。猜测由于过于复杂,现有团队可能没有能力升级底层,只做了一些样式的更新。

4、使用 TypeScript 两年后(英文) 

作者回顾了使用 TypeScript 两年的经历,总体上还是推荐的,也提出了一些值得注意的问题。

5、极简主义软件工程师宣言(英文)

作者解释了什么是极简主义的态度开发软件。

6、2018年 JavaScript 开发者调查(英文)

2018年 JS 开发者的调查报告,主要是各种框架、工具的使用情况。

7、《超人特工队2》的设计过程(英文)

《超人特工队2》的设计师介绍他们如何从现实生活吸收灵感,设计画面,多图。

8、TOML 配置格式介绍(中文)

TOML 格式的介绍、中文文档翻译和解析工具。(@LongTengDao 投稿)

9、Git bisect 命令解释(英文)

如果你不知道哪个提交引入了错误代码,就可以使用 git bisect 命令利用二分法,逐步定位到错误的提交。

10、package.json 大数据分析(英文)

有人分析了 GitHub 上面56万个项目的 package.json 的依赖项,得到了一些结论,比如过去一年被依赖最多的30个模块。

36期 教程

1、 高级 Web 安全主题(英文)

本文收集各种网页入侵的技术,已经收集了十多种。

2、何时不使用微服务?(英文)

微服务是目前流行的架构,但是会增加复杂性,比如一个 API 变成多个 API(上图)。本文讨论了哪些情况不应该使用微服务。

3、使用 Cloudflare Worker 加速谷歌字体加载(英文)

网页加载谷歌字体的最大问题是加载速度较慢,会影响网页体验。Cloudflare 提供 Worker 方案,可以改写用户的字体请求,从而加速字体加载。

4、Vue.js 框架的作者尤雨溪专访(英文)

介绍了 Vue.js 的发展历程,以及背后的想法。(@M1seRy 投稿)

5、Flutter 框架印象(英文)

作者较深入地评论了目前 Flutter 框架开发手机应用的优缺点,总体上还是鼓励大家使用它。

6、MVC 框架的误解(英文)

作者提出,现在那些 MVC 应用其实改叫 MVA 更合适,也就是把 Controller(控制器)改成 Adapter(适配器)。

7、QUIC 协议的注意事项(英文)

本文介绍了 QUIC 协议的一些优点。作者提出,QUIC 与其称为 HTTP/3,不如称为 TCP/2。

8、 target = "\_blank" 的危险性(英文)

HTML 网页的`\<a>`元素打开的子网页,可以用`window.opener.location.replace()`方法替换掉父窗口的网址,这会带来风险。

9、一个人如何开发游戏《星露谷》(英文)

畅销游戏《星露谷》(Stardew Valley)作者只有一个人埃里克·巴罗恩,从编码到美术音乐都靠自己。大学毕业后,他没找工作,而是待在公寓写了四年游戏。唯一收入是晚上打工,在电影院门口收电影票。

上线前,唯一测试就是女朋友玩了几天。如果卖不出去(绝大多数游戏的结局),四年就浪费了,幸好成功了。不过,这个游戏借鉴了任天堂的《牧场物语》,有人认为他抄袭了。

10、如何编写一个硬盘启动程序?(英文)

本文教你如何向硬盘的主引导扇区 MBR 写入程序,使得计算机可以在没有操作系统的情况下运行程序,显示 Hello World。

37期 教程

1、编译器基础(英文)

本文用 JavaScript 语言演示如何写解析器,将代码转为抽象语法树 AST,然后再写编译器,将其转为汇编语言。

2、放弃 Linux,试试 FreeBSD 或 Illumos?(英文)

本文提出 FreeBSD 或者基于 Solaris 的 illumos 在功能上优于 Linux,更值得尝试。

3、如何创建一个具有机器学习能力的 Sketch 插件(英文)

本文用浅显的语言介绍,如何写一个简单能够识别热狗图像的 Sketch 插件。(@Anderson-Liu 投稿)

4、熵是什么?(英文)

一篇科普文章,不仅介绍了物理意义的熵,还介绍社会内部的熵、公司内部的熵等。

5、Docker 镜像中有什么?(英文)

Docker 的 Image 文件是分层的,本文简单介绍怎么查看每一层的内容,它们又是怎么组合成一个可以运行的 Image 文件。这里还有另外一篇类似的文章,通过控制分层来缩小 Image 文件尺寸。(@tifazxy 投稿)

6、为什么你应该尝试 hapi?(英文)

hapi 框架的作者介绍该框架的特点。这里还有一篇《值得关注的10个 Node.js 框架》

7、网咯追查俄罗斯间谍(中文)

英国一个民间机构如何使用互联网公开资料,追查两个俄罗斯间谍的故事。

8、解密英语语法 (中文)

王垠老师的《解密计算机科学》还没写完,又开始写第二本书《解密英语语法》。发布第一章以后,第二天他又把这个计划取消了,“我曾经想过把这写成一本完整的语法书,可是后来发现似乎一篇文章足矣。”(@wblovezqy 投稿)

9、vimdiff 教程(英文)

vimdiff 是一个显示文件 diff 的命令行工具,本文主要介绍怎么改用其他算法,以不同的格式显示 diff。

10、谷歌代码搜索的工作原理(英文)

谷歌代码搜索的作者,介绍搜索的算法原理。

11、《荒野大镖客:救赎2》制作记(英文)

这篇长篇报道介绍 RockStar 游戏公司和它开发的游戏《Red Dead Redemption 2》。

38期 教程

1、Chrome 开发者工具如何使用断点?(英文)

本文通过实例讲解,如何设置事件监听断点和 watch 表达式。

2、让你的生活更轻松的9个 Bash 快捷别名(英文)

本文介绍9个实用的 Bash 函数,你可以参考他的方式,将自己常用的操作封装成函数,然后设置别名。

3、HTTP 头信息的安全设置(英文)

本文介绍跟网页安全相关的一些 HTTP 头信息。

4、25 个改变世界的芯片(英文)

本文列出了人类历史上25个最重要的集成电路。

5、为什么复印店老板都是湖南人?(中文)

这是一篇2010年的论文,作者是北京大学社会学博士,他经过调查研究后发现,全国70%的复印店老板都是湖南新化人。(@yuanjingsong 投稿)

6、安卓设备如何启用加密 DNS?(英文)

DNS 查询默认是不加密的,本文介绍如何在安卓手机上通过 cloudflare 的服务,启用加密 DNS 服务。

7、IPFS 文件系统的简单解释(英文)

本文以一种通俗易懂的方式解释 IPFS 这个基于 IP 协议的文件系统的原理。

8、Erlang 语言的20年历史(英文)

2018年12月8日是 Erlang 语言发布20年的纪念日,本文从一个历史参与者的角度回顾了这20年。

9、如何写一个 Node 命令行验证码图像识别工具(中文)

Node 命令行工具的开发实例,从 0 开始写。(@ringcrl 投稿

10、为什么使用 F\#?(英文)

F# 语言的特点介绍。

39期 教程

1、文档站点生成工具(英文)

本文以 JS 项目为例,介绍各种生成文档站点的工具。

2、软件创新和软件专利(英文)

本文总结了历史上重大的软件创新,进而提出专利制度不适合软件业,应该废除软件专利。

3、Wireguard 安装教程(英文)

介绍 Wirdguard 如何安装和配置。

4、JSON 操作命令行工具 fx(英文)

fx 可以方便地在命令行操作 JSON 数据,本文是 fx 用法的教程。

5、我不喜欢 Python 的原因(英文)

作者谈了他不喜欢的8个 Python 语法。

6、计算机如何识别图像?(英文)

本文较通俗地介绍了神经网络的历史发展和计算原理。

7、10年博客的经验(英文)

作者写了10年博客,介绍怎么可以通过博客取得最佳效果。

8、月光和放大镜可以点火吗?(英文)

假设放大镜可以无限大,能够聚焦月光以点火吗?答案是不能。

9、我的必备 iOS 软件,2018年版(英文)

一个软件工程师介绍自己安装的 iOS 软件。

10、我如何做日本糖果的邮寄服务?(英文)

一个芬兰程序员搬到日本,介绍他如何创造一个向全世界邮寄日本糖果的服务,从而赚到自己在日本的所有生活费。

40期 教程

1、Python 的 Dict 数据结构的实现(英文)

本文介绍 Dict 结构的实现原理,从最简单的哈希数组的实现讲起。

2、开发不需要“编译”的 WebApp(中文)

作者介绍如何使用 Web Components 技术开发一个网页音乐播放器。(@mantou132 投稿)

3、什么是真正的程序员(中文)

本文是一篇译文,作者仿照《小王子》中的情节,通过小 printf 遇见的不同类型的程序员,最后悟出什么才是真正的程序员!(@LanjianNUll 投稿

4、2018年最佳笔记本电脑(英文)

这个网站评选了2018年最好的10款笔记本电脑。

5、使用 Docker 部署React(英文)

本文介绍如何制作 React 应用的 Docker 容器,并将其部署到服务器。

6、FizzBuzz 的10种语言解答(英文)

FizzBuzz 是考验编程初学者的经典题目,本文用10种语言写出答案,比较各种语言的不同。

7、去瑞典当工程师,是否值得?(英文)

一个中国开发者移居到瑞典当工程师。十年之后,他对自己这个决定的看法,留在国内好,还是去瑞典好?

8、电话键盘与计算器键盘为什么不同?(英文)

左侧是电话的拨号键盘,右侧是计算机的输入键盘,它们的排列方式为何不同?

9、我如何搭建家庭机房(英文)

作者回顾了六年来自己在家里搭建机房的过程,有大量图片。

10、现在最流行的网站技术栈是什么?(英文)

这是一个论坛的讨论帖,有人问这个问题,下面一堆回答,流行的技术基本上都提到了。

41期 教程

1、Netlify Lambda 的一个应用实例(英文)

本文使用 Netlify Lambda 服务,每当网站更新的时候,就自动到推特发一个消息。

2、HTTP 协议简史(英文)

介绍 HTTP 协议的由来和发展。(@gusibi 投稿)

3、Docker 的优缺点(英文)

一篇很简单的对 Docker 技术的评论。(@lanzhiwang 投稿)

4、mkcert 制作 localhost 证书(英文)

mkcert 是一个签发本地证书的工具,用于开发环境,最大特色是可以签发 localhost 的证书。

5、Python 类型系统入门教程(英文)

介绍 Python 新引入的数据类型系统。

6、如何识别音频广告?(英文)

作者通过机器学习和音频指纹,识别出音频里面的广告,从而可以过滤广播里面的广告,只听节目的部分。也可以分辨谈话和音乐,做到只听音乐。

7、cat 命令的历史(中文)

本文介绍了 Unix 系统的 cat 命令的由来和发展。(@pad0van 投稿)

8、Chris Dixon 的12个创业观点(英文)

Chris Dixon 是一个很有名的美国创业者,在网上分享过很多关于创业的想法。本文介绍他的12个观点。

9、TypeScript 写一个词法解析器(英文)

词法解析器(lexer)的作用是将源码转成一个个词元(token),本文介绍如何用 TypeScript 写一个简单的解析器。

10、电子的轨道(英文)

上面是一张常见的原子模型的图片,但是这张图片其实是错的。电子的运动其实不存在图中那种轨道,所谓电子轨道实际上是电子的能量级,至于电子真正的运行方式,我们并不知道。

42期 教程

1、Cordova,React-Native 和 Swift(英文)

作为一个 iOS 开发者,作者谈了自己使用标题里面的三种技术,开发 App 的感受。

2、3万行代码从 Flow 迁移到 TypeScript 的经验(英文)

一篇 TypeScript 的使用体会,以及一些使用经验。

3、浏览器的 gRPC 协议支持(英文)

gRPC 是谷歌提出的一套远程服务调用的解决方案,只能用于服务器之间。本文介绍了 gRPC-Web 这个项目,旨在让浏览器也可以使用 gRPC。

4、Linux 桌面设置(英文)

本文介绍了作者如何配置 Linux 桌面开发环境。

5、安全上网指南(英文)

一份安全上网清单,从专业角度告诉你,应该做哪些事情,怎样才能安全地使用互联网。

6、如何使用树莓派架设各种网络服务(英文)

作者介绍使用一台树莓派,架设个人使用的反向代理服务器、Git 服务、看板服务的过程。

7、我的 NAS 损坏经历(英文)

作者的家用 NAS 的电路板损坏,导致所有数据都无法读出,他不得不把4块 1TB 硬盘插到台式机里面恢复数据。

8、SQLite 用作搜索服务(英文)

SQLite 有很强的读取性能,作者提出它可以用作小型网站的搜索数据库。

9、Dart 语言的异步编程(英文)

Dart 是 Flutter 框架的开发语言,语法与 JS 高度类似,也是单线程。本文介绍 Dart 语言的异步操作,可以比较与 JS 的异同。

10、实时动画将是下一个热点(英文)

随着 GPU 日益强大,实时渲染高质量的 3D 动画已经成为现实,这将改变许多行业,个人将可以制作完整的电影。

43期 教程

1、Java 语言如何实现线程间通信(英文)

一篇简单的教程,Java 语言如何实现多线程编程。

2、谷歌搜索的运算符(英文)

本文详细介绍谷歌搜索的运算符,用来定制搜索结果。

3、函数式编程的好处(英文)

著名程序员 John Carmack 谈了函数式编程对 C++ 语言的好处。不涉及代码,只是概念上的讲解。

4、取消 C++ 的预处理器(英文)

本文作者建议,不要使用预处理器定义宏(Macro),甚至不要使用(自定义的)宏。

5、Fossil 与 Git 的对比(英文)

Fossil 是专为 SQLite 开发的版本管理系统,与 Git 采用不一样的模型,总体上来说,比 Git 更简单。

6、超越 DRY(英文)

DRY 原则指的是“不要重复自己”,意思是如果代码有重复,就应该把它提炼出来。本文提出,这条原则不应过分严格地使用,有时候代码冗余对软件是有利的。

7、Deno 运行时介绍(英文)

Deno 是一个 JS/TypeScript  运行时,用来取代 Node。它的最大特点就是不支持 CommonJS,只支持 ES6 模块。

8、MIT 许可证逐句解释(英文)

MIT 是常见的开源许可证,但是很多人并没有看过它的条文。本文逐句解释该许可证的每一句话。

9、未来的 JavaScript 语言(英文)

本文介绍 TC39 委员会正在考虑的、加入 JavaScript 语言的一些新功能。

10、30年的梦想失败是什么感觉?(英文)

一个发明家受鸵鸟奔跑姿势的启发,发明了一种弹簧鞋。他为这个梦想投入了30年,依然没有成功。现在专利即将到期,30年可能就是白忙一场。

44期 教程

1、MSIX文件:Windows 可执行文件的未来?(英文)

Windows有三种常见的安装程序格式: MSI,EXE 和 AppX。微软据称正在考虑推出 MSIX 格式,统一这三种格式。这种格式的最大特点就是,它是一个容器,因此有很多容器的好处。

2、K 线图的机器学习(英文)

K 线图经常用于股市预测,如果使用人工智能分析 K 线图会怎样?有人真的搞了一个机器学习模型,用无数 K 线图训练,然后去预测股价。结果非常糟糕,亏损严重,我们终于有了一个人工智能无能为力的领域。

3、安装 Google BBR(中文)

Google 开源的 TCP BBR 拥塞控制算法,可以提升网速,适合 CentOS 等内核较老的云主机升级。本文介绍安装方法。(@ansiz 投稿)

4、数字世界中的纸张——理解 PDF(中文)

一篇面向一般用户的 PDF 格式介绍,覆盖了 PDF 的适用场景、内部结构、常见误区。(@jerrylususu 投稿)

5、不要忘了控件的背景颜色(英文)

Mac 系统提供深色背景以后,网页如果忘了设置控件的背景色,可能就会出现上图的结果,控件变成了系统默认的深色背景。

6、回忆理查德·费曼(英文)

理查德·费曼是当代最著名的物理学家之一,作者在1970年代读本科期间,听过费曼的课,并与他有密切的接触。本文回忆了一些往事,主要是费曼对碰到的新问题如何做出反应。

7、戴尔49寸显示器使用感受(英文)

戴尔49英寸超宽显示器的最高分辨率为5120 x 1440,可以分成两个27英寸的16:9视图。作者谈了这台显示器的一些限制,以及使用感受。

8、不要随意放置点文件(英文)

越来越多的软件会将自己的配置文件,以点文件(dotfile)的形式放在用户的主目录下面。作者呼吁不要这样做,而要采用已有的 XDG 目录规范,将配置文件和数据文件放在该规范指定的位置。

9、树莓派的问题(英文)

作者谈了树莓派的一些局限,最大问题在哪里,哪些项目不适合使用它。

45期 教程

1、Finally 代码块的解释(英文)

随着 JS 引入 async/await ,开发者不可避免地会更多使用 try/catch/finally ,本文解释 finally 代码块的一些容易混淆的点。

2、一段混淆过的 JS 脚本剖析(英文) 

作者收到一封诈骗 Email,比较特别的是,它不是引诱用户点击链接,而是提供了一个网页附件,让用户打开,里面是一段混淆过的 JS 脚本。

3、apt 与 apt-get 的差异(英文)

Debian 系统安装软件包有 apt 和 apt-get 两种命令,本文介绍了它们的异同。

4、TensorFlow.js 介绍(英文 PDF)

本文描述了TensorFlow.js 的设计、API 和实现,并重点介绍了一些使用实例。

5、编程语言都有中央包存储库吗?(英文)

许多语言都有中央软件包存储库,比如 npm、PyPI 和 CRAN。但是,每种编程语言都有这些吗?答案是只有39种语言有。

6、你应该记住的 DNS 地址(英文)

作者介绍了几个常用的 DNS 服务器地址,简单谈了它们之间的差异。

7、磁极的改变意味着什么?(英文)

最近,地球磁极的 N 极突然加速改变,这篇《国家地理》的报道详细介绍了背景知识。

8、Jsonnet 比 Yaml 更适合配置文件(英文)

Jsonnet 是谷歌推出的 JSON 配置文件生成工具,基本上解决了 JSON 格式的所有痛点,比 Yaml 格式更优越。

9、为什么我们从 Go 转向 PHP?(英文)

作者谈了 PHP 过去三年的改进,以及为什么更适合架设他们的网站。

10、文件系统的过去,现在和未来(英文)

文件系统的历史回顾,介绍各种文件系列的来历和特点。

46期 教程

1、如何成为一个优秀工程师(英文)

作者谈了自己在 Stripe 公司担任 SRE (系统可靠性)工程师的经历。

2、计算机如何实现除法(英文)

对于计算机来说,加法和减法比乘法容易实现,而乘法又比除法容易实现。

3、从 Google Analytics 迁移到 Fathom(英文)

如何自己架设开源的 Fathom 服务,统计网站访问情况。

4、贝佐斯的秘密是如何泄漏的(英文)

亚马逊公司老板贝佐斯的婚外情,被媒体披露,让他陷入了麻烦。媒体如何得知贝佐斯的秘密呢?这篇文章认为,原因是黑客进入了他女友的邮箱,因为该邮箱的密码早就泄漏了。

5、如何计算月相(英文)

地球看到的月亮形状是不一样的,本文通过可视化图形,解释如何通过三角函数计算月相。

6、扼杀应用(英文)

马丁·福勒认为重写重要系统的较好做法,是逐步扼杀它,而不是一次性取代。

7、Chrome 的隐藏插件

Chrome 浏览器启动的时候,会加载一些系统插件,不会在插件页显示。本文介绍如何查看这些隐藏插件。

8、JPG 和 JPG2000 格式(英文)

JPG2000 图像格式的介绍,也解释了 JPG 和 PNG 格式。

9、条形码如何工作?(英文)

怎么解读条形码,本文还给出了 Python 的扫码实现。

10、Java 开发人员调查结果 2018(英文)

一份针对全世界 Java 开发者的调查统计,有不少有趣的结果。上图是 IDE 的选择。

1)
没必要排版了,不适合PDF,正文即使代码注释,和具体代码绑定的,单独抽离出来不方便阅读
project/openbook.txt · 最后更改: 2019/07/25 17:19 由 annhe