蒙鼓上单
返回首页

文章

共收录 340 篇内容

387科技爱好者周刊(第 387 期):你是领先的

1、增强 AI 模型的一个技巧(英文)

AI 模型不会做某件事,或者做得不好,怎么办?

著名开发者 Simon Willison 介绍解决方法:你去找这方面的介绍文章和可运行的代码示例,然后放入上下文,让模型参考该示例,它就能学会解决类似的问题。

所以,你要囤积自己懂得如何做的事情,模型学会后,就能自己去做这些事。

2、我做了一个 AI 版的自己(中文)

作者记录了,如何将自己十几年的博客、视频和社交媒体,训练成一个数字版的个人分身,对外提供聊天服务。他分别用6个模型训练,就可以6个版本的分身。(@foru17 投稿)

3、scp 命令的一个注意点(英文)

scp 命令一般用来向服务器传送文件,它是带权限拷贝,某些情况下可能会意外禁掉 ssh 远程登入服务器。

4、Nano Banana 2 与 Seedream 5.0 Lite 对比(英文)

本文比较了目前最先进的两个图像生成模型,谁的效果更好,谷歌的 Nano Banana 2 还是字节的 Seedream 5.0 lite。

5、JavaScript 的四种遍历(英文)

本文比较了 JavaScript 的四种数组遍历,结论是 for i++ 速度最快,for-of 其次,forEach 较慢,for-in 应该避免使用。

386科技爱好者周刊(第 386 期):当外卖员接入 AI

1、SWE-bench Verified 测试应该放弃(英文)

OpenAI 公司创建的 SWE-bench Verified 是目前最常用的测试基准,用来衡量模型的编码能力。

本周,OpenAI 公司提出应该放弃它,因为有难以克服的缺陷,已经不准确,可以改用 ScaleAI 创建的 SWE-Bench Pro。

2、.plan 文件(英文)

作者提出,文本文件 .plan 是最好的任务管理系统。放在云盘上,随时随地使用任何设备,都能查看和编辑。

3、鲸落(英文)

一鲸落,万物生。本文通过很多例子,说明一个大项目终止后,并不会真的死亡,而是化作许多小项目,四处生长。

4、40 行代码实现无服务器 OCR(英文)

本文是一篇教程,作者用云函数调用 DeepSeek OCR 模型,将 PDF 格式的数学论文转为 Markdown。

5、两台路由器实现局域网无缝漫游(中文)

作者家中的两台路由器无法组 Mesh,本文介绍如何将它们组成同一个局域网,让设备可以无缝漫游。(@popring 投稿)

6、视觉隐藏的最新实现(英文)

视觉隐藏指的是,网页上看不见这个元素,但是网页阅读器能读到这个元素。本文介绍它的最新 CSS 写法。

7、OpenClaw 背后的引擎 Pi(英文)

OpenClaw 的走红,也带火了它的底层引擎 Pi。Pi 是一个 Coding Agent,跟 Claude Code 作用类似,但更轻量级。

385科技爱好者周刊(第 385 期):马斯克害怕中国车企吗?

1、直接用 Postgres 吧(英文)

一般来说,不同用途可以使用不同的数据库,比如搜索用 Elasticsearch、缓存用 Redis、队列用 Kafka……

本文提出,不管什么用途,Postgres 数据库都适用,只要为它装上相应的插件。

2、TypeScript 的 Brand 类型(英文)

本文介绍 TypeScript 的一个重要编程技巧:为同一种类型添加 brand 属性,防止混淆。

这里还有一篇同样主题的教程,可以结合起来一起看。

3、我如何对本地餐厅排序(英文)

作者介绍他从谷歌地图,下载本地餐厅数据和评价,进行评分排序的过程。

4、如何在开发者工具定位 JavaScript 对象(英文)

本文介绍一个 JS 的高级技巧,有时需要追踪内存中的某个对象的变化,可以利用开发者工具来查看。

5、如何使用 Unix 信号传递消息(英文)

Unix 系统(包括 Linux 和 macOS)有信号机制,用来触发进程的某种行为。信号只是一个数字,本身不能发送文本消息。

本文用一种很巧妙的方法,实现了通过信号向进程发送文本消息。

6、泊松分布背后的原理(英文)

泊松分布是独立小概率事件的概率分布,本文通俗介绍它的原理。

384科技爱好者周刊(第 384 期):为什么软件股下跌

1、我的妈妈和 DeepSeek 医生(中文)

作者的母亲是一个的肾移植患者,住在小城市,每过几个月,就要去省城杭州看医生。

医院的人非常多,排队几个小时,医生问诊只有几分钟。她转向 DeepSeek 寻求医疗建议,同时也是为了有个说话对象。本文反映了 AI 对普通人生活的影响。

几个月过去了,我妈妈对她的新 AI 医生越来越着迷。“DeepSeek 更人性化,”我妈妈五月份告诉我,“医生更像机器。”

2、如何将系统用户从0扩展到1000万(英文)

一篇系统架构的通俗教程,详细介绍架构发展的7个阶段,逐渐负载不断增长的用户数量,写得非常好。

3、我的 Kagi 使用感受(中文)

Kagi 是一个类似谷歌的搜索引擎,但是需要付费。作者从付费用户的角度,介绍了这个引擎,给出了不错的评价。(@Spike-Leung 投稿)

4、Windows 小部件的历史(英文)

一篇长文,图文介绍迄今七代的 Windows 桌面小部件,每一代都有缺陷,不得不改。这么一个小东西,没想到这么难搞,微软都搞不定。

5、我的硬件创业经验(英文)

作者是一个美国程序员,转型搞硬件创业,设计了一个灯,在中国制造。他谈了自己的经历,得到的教训,包括如何跟中国制造商打交道。

6、150行 Python 代码构建全文搜索引擎(英文)

本文以 Python 代码为例,构建一个最简单的搜索引擎,解释它的原理。

6、Little Snitch 的一个用例(英文)

Little Snitch 是一个 Mac 应用,用来查看和管理各种应用程序的网络通信。作者以一个自己的真实用例,演示了怎么禁止某个应用向指定网站发送数据。

383科技爱好者周刊(第 383 期):你是第几级 AI 编程

1、2026年的 Linux 音乐播放器(英文)

本文介绍 Linux 系统现在主要的几种音乐播放器。

2、选择性禁用 HTTP/1.0 和 HTTP/1.1(英文)

本文介绍如何设置 nginx,禁止 HTTP/1.0 和 HTTP/1.1 协议,只有白名单里面的客户端可以通过,这杜绝了绝大部分的攻击和爬虫。

3、我扫描了所有的 GitHub “孤儿提交”(英文)

如果你不小心把密码提交到 GitHub,怎么办?你可能会立刻修改代码,强制覆盖上次的提交。

本文告诉你,这样不行。因为 GitHub 不删除任何提交,你上次提交实际上还在。作者扫描了所有 GitHub 的强制提交事件,真发现了许多泄漏的密码,

4、CSS 动画计数器(英文)

本文介绍纯 CSS 动画计数器的各种写法。

5、我的 n8n 用例(英文)

n8n 是一个工作流编排器,可视化生成自动操作脚本。作者介绍了自己的用例:通过聊天软件,将每一笔费用发给 n8n 本地服务器,它会用 AI 进行分类,再将结果存入谷歌表格。

6、2025应该知道的 HTML 新知识(英文)

本文介绍 HTML 的一些新属性和新功能。

7、新的自托管应用推荐(英文)

作者推荐一些他个人喜欢的自托管应用,都相当不错。

382科技爱好者周刊(第 382 期):独立软件的黄昏

1、别用 MySQL,改用 MariaDB(英文)

曾经的明星数据库 MySQL,最近几个月的代码提交数为0(上图)。作者认为,种种迹象表明甲骨文已经放弃了这个项目。

2、10秒获得 AI 代码评审结果(英文)

本文介绍一个技巧,让 AI 快速给出提交代码的评审结果,方法是不要提交整个代码库,只提交 diff 的部分。

3、使用 Pandoc 生成静态网站(英文)

文档格式转换工具 Pandoc 可以用来生成静态网站,作者介绍自己是怎么做的。

4、锚点元素<a>的一些鲜为人知的地方(英文)

锚点元素<a>用来生成链接,本文介绍如果链接到一些特殊字符的情况。

5、学习自定义元素(英文)

一篇 HTML 自定义元素的教程文章,写得简单清晰。

6、Go、Rust 和 Zig 的一些想法(英文)

作者是一个高级程序员,谈谈他对 Go、Rust、Zig 三种语言的感受。有趣的地方是,这三种语言都没有类,也不支持面向对象编程。

7、我的个人基础设施(英文)

作者介绍他自己的家庭实验室。比较有趣的是,他的个人网站是本地构建后,自动用 Syncthing 同步到服务器,这对小型静态网站确实简单。

381科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么

1、我所有的新代码都将闭源(英文)

作者是一个开源软件贡献者。他感到,自己的开源代码都被大模型抓取,导致仓库访问者减少,进而也没有收入,所以他后面的代码都要闭源。

2、网站的视觉回归测试(英文)

本文介绍如何使用 Playwright,对网页进行视觉测试,看看哪里出现变动。

3、我用 PostgreSQL 代替 Redis(英文)

Redis 是最常用的缓存工具,作者介绍它的痛点在哪里,怎么用 PostgreSQL 数据库替代。

4、如何用 CSS 修复水平滚动条(英文)

一篇 CSS 初级教程,介绍四个简单的技巧,让网页不会出现水平滚动条(即避免溢出)。

5、消息队列原理简介(英文)

本文是初级教程,介绍消息队列(mesage queue)的概念和作用。

6、macOS Tahoe 的圆角问题(英文)

macOS 最新版本 Tahoe 加大了圆角半径,造成调整窗口大小时经常失败。作者认为,从操作角度看,圆角面积最好超过端头的50%。

380科技爱好者周刊(第 380 期):为什么人们拥抱“不对称收益”

1、2025年大模型回顾(英文)

西蒙·威利森(Simon Willison)的 AI 年度回顾,过去一年的大事件基本都提及了,总结和评点得非常好,推荐阅读。

2、华为的 5nm 制程怎么样?(英文)

这是一家美国技术媒体对华为麒麟9030芯片(搭载于最新的 Mate 80 手机)的分析文章。

该文认为,该芯片比早先的 7nm 制程有提升,是大陆制造的最先进芯片,但从跑分看,还没达到台积电的 5nm 水平。文章有中文版

3、Opus 4.5 将会改变一切(英文)

作者不相信 AI 会取代程序员,直到遇到 Anthropic 公司的 Opus 4.5 模型。本文是他的4个项目的编程体会,他现在确信程序员会被替代。

4、HTTP caching, a refresher(英文)

对于 HTTP 缓存机制的一个总体介绍,梳理浏览器缓存的处理逻辑。

5、Vitest 的浏览器模式介绍(英文)

JS 测试框架 Vitest 4.0 引入了浏览器模式,可以进行浏览器自动化,类似于 Playwright,进行 UI 测试,本文是一个简单介绍。

6、如何提高 JS 数组的读写速度(英文)

一篇 JavaScript 中级教程,介绍通过为 JS 数组分配连续内存,提高数组的读写速度。

379科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录

1、分布式架构的演化(英文)

本文将分布式架构分成三种:P2P、联邦式(比如 Mastodon)、中继式(比如 Nostr)。作者认为,对于大型分布式应用,中继式架构才是未来方向。

2、什么是 GitHub 自托管 Runner?(中文)

GitHub Actions 有一个 self-hosted runner 功能,让 action 运行在你自己的服务器。本文详细介绍它的概念、原理,并结合案例进行实践。(@luhuadong 投稿)

3、CSS Grid Lanes 布局(英文)

浏览器开始支持 CSS 的 Grid Lanes 布局了,大大方便了瀑布流的实现。

4、6502 指令集适用汇编语言初学者(英文)

6502 是一块诞生于1975年的 CPU,很多早期电脑(比如 Apple II)都使用它。作者解释,为什么你应该用它,作为学习汇编语言的第一个指令集。

5、你应该多用/tmp目录(英文)

作者提出,Linux 系统的/tmp目录用起来很方便,完全可以把它当作自己的临时性目录。

6、中国的清洁能源战略(英文)

《纽约时报》驻华记者的长文,体验当代中国的生活,比如无人驾驶、无人机送餐,他说“感觉像生活在未来”。

378科技爱好者周刊(第 378 期):预测是新的互联网热点

1、程序员为自己的工具命名时的彻底迷失(英文)

本文批评很多程序员为软件起名时,尽起一些烂七八糟的名字,根本看不出软件的用途,建议软件名称应该跟用途有相关性。

2、解读斯诺登文件(英文)

这篇文章详细分析了2013年斯诺登泄漏的文件,文章第一部分就是分析对北方工业公司的情报收集,美国的监控令人叹为观止。

3、从文本到词元(英文)

一篇科普文章,通俗地介绍搜索引擎如何将查询的文本转换成标准化的词元(token)。

4、大模型构建 HTML 工具的实用方法(英文)

著名程序员 Simon Willison 的长文,总结他使用大模型生成网页应用的经验。

5、GraphQL 蜜月期已结束(英文)

作者认为,GraphQL 解决的问题远比人们想象的小众,而且可以通过其他方式解决,这项技术最终往往弊大于利。

6、git add -p 的解释(英文)

本文介绍 git add -p 命令。它会显示一个互动界面,让用户逐个确认每个文件的变动,是否要加入暂存区。

377科技爱好者周刊(第 377 期):14万美元的贫困线

1、内存价格为何暴涨?(英文)

现在的内存价格是上半年的三倍,原因是今年10月1日,OpenAI 公司同时与三星和 SK 海力士签署了协议,买断了全球40%的内存供应,引起了其他厂商的恐慌。

2、AV1 赢得艾美奖(英文)

美国电视最高奖艾美奖,将今年的技术与工程奖授予视频编码格式 AV1,本文是对 AV1 历史的简单介绍。

3、GitHub 不再使用 Toast(英文)

Toast 是一种 UI 组件,通过矩形弹框显示消息。GitHub 表示,这种组件的可访问性不佳,不建议使用。

4、2025岁末 AI 模型选型指南(中文)

现在的大模型如此之多,即使同一个模型还分成多个型号,应该如何选择?

作者从性价比的角度,谈了他的选型方法:大杯、中杯、小杯怎么选?Thinking 要不要关掉?缓存命中率值不值得做?(@thuwyh 投稿)

5、Linus 访谈(英文)

Linux 内核创始人 Linus Torvalds,上周上了一个视频节目,与主持人进行了深入对谈。本文是节目的内容总结。

6、Conventional Branch(英文)

这是 Git 分支命名规范,建议命名为feature/bugfix/hotfix/release/chore/等几类。(@shenxianpeng 投稿)

376科技爱好者周刊(第 376 期):太空数据中心的争议

1、关于近期安全报告的情况说明(中文)

一个国外安全团队近日报告,某些浏览器插件(如 Clean Master、WeTab)是恶意软件。本文是这些插件的中国开发团队的回应。

他们表示,Clean Master 去年已经卖掉了,现在跟他们无关,至于其他插件属于误报。建议先读安全报告,再读这篇回应。(@yiGmMk 投稿)

2、Electron vs Tauri(英文)

Electron 和 Tauri 是目前跨平台桌面应用的两种主流开发方案。本文是它们的详细对比,各自的优缺点。

3、我为什么要从 GitHub 迁移(英文)

作者感到 GitHub 不符合需要,太重了,就做了一个自己的代码仓库托管方案。如果你也想自己架设代码服务器,可以参考。

4、Protobuf 好于 JSON(英文)

本文呼吁使用 Protobuf 格式代替 JSON。作者认为,JSON 唯一的优点就是人类可以识读。

5、如何写一份好的 CLAUDE.md 文件(英文)

很多 AI 编程工具,使用一份文本文件,作为每次查询的上下文。本文以 CLAUDE.md 为例,介绍怎么用好这个文件。

6、ZFS 文件系统好于 Btrfs(英文)

ZFS 和 Btrfs 是两种流行的现代文件系统,本文介绍它们的特点,提出前者更可靠。

375科技爱好者周刊(第 375 期):一扇门的 Bug

1、为什么每个数据库都使用 B 树(英文)

一篇科普文章,介绍为什么 B 树比二叉树更适合数据库。

2、为什么评估新模型越来越难(英文)

著名程序员西蒙·威利森感叹,他已经评估不了最新的大模型了。因为各种模型的能力越来越强,简单的题目都会解,必须用很高深的题目去测。

3、固态硬盘不能长时间断电(英文)

本文指出,消费级的固态硬盘(SSD)在断电状态下,超过一年就会丢失数据。

目前,最好的固态硬盘也不能断电超过十年。所以,如果长时间不用,数据不要保存在固态硬盘。

4、中国龙芯的基准测试(英文)

一个老外程序员测试龙芯 3A6000 处理器,跟2021年发布的英特尔 Xeon Gold 6338 对比。

5、C 代码里面的 URL(英文)

上面这段 C 语言代码里面有一个 URL,居然是可以编译的,这是为什么?

6、如何做一个简单的搜索引擎(英文)

本文介绍搜索引擎的原理,如何自己动手写一个简单的搜索引擎。

7、DIY NAS:2026 年版(英文)

作者详细介绍自己组装 NAS 的配置,可以参考。

374科技爱好者周刊(第 374 期):6GHz 的问题

1、中国 AI 模型是纸老虎(英文)

一个美国人的文章,批评中国 AI 模型不如看上去那样好。

我认为,他的观点太偏颇,很多论据站不住脚,读上去酸溜溜,但是可以作为参考。

2、WhatsApp 现在使用 WebView(英文)

通信软件 WhatsApp 的 Windows 版,原先是一个原生桌面应用。

作者震惊地发现,它的新版本居然退回了 WebView,成为网页版的包装器,性能急剧下降,内存占用 1GB。原因可能是 Meta 公司裁掉了 Windows 版的开发团队。

3、Vibe Coding 面试感受(中文)

作者团队的面试,开始改为让应聘者用 AI 实现一个功能,作者谈了实施的感受。(@thuwyh 投稿)

4、本地运行 AI 模型的方法(英文)

本文介绍在本地计算机运行 AI 模型的几种方法:LM StudioOllamaLMStudio

5、我们在 Zed 里面办公(英文)

Zed 是一个全新的代码编辑器,正在密集开发。除了文档编辑以外,Zed 团队也用它来开会和讨论,它内置了讨论区和实时协作。

6、中级程序员的标志(英文)

今年是作者从事专业编程的第十年,他认为自己属于中级程序员,总结了自己的工作内容。

他说,做到了这些事,你就达到了中级程序员的标准。

373科技爱好者周刊(第 373 期):数据模型是新产品的核心

1、一个伊朗程序员的求助(英文)

一个伊朗程序员开发了一个 AI 虚拟头像生成器,但是发现由于美国制裁,根本不可能向国外出售,于是在 GitHub 求助。

我没有客户,没有收入,积蓄已经用光,而且已经积极找了九个月的工作,却一无所获。我的妻子是一名护士,每天从早上五点工作到晚上七点,而我却坐在电脑前,开发一些连房租都付不起的东西。

我在伊朗无法使用 Stripe、PayPal 等西方支付处理商,也无法使用 AWS、GCP、Azure 等云服务商,我不能用西方银行账户接受付款,也不能接受顾客使用信用卡付款。

2、我讨厌代码截图(英文)

一个老外程序员呼吁,客户遇到问题时,不要再向他发送代码截图了,因为无法拷贝代码,而要发送代码链接。

3、图片是否比文字节省 token?(英文)

本文验证如果把提示词从文字转成图片,是否更节省 token?

答案是提示词本身确实节省了 token,但是模型会用更多的 token 来补全上下文,所以总体上并没有节省。

4、Dijkstra 算法详细图解(中文)

Dijkstra 算法是寻找两点间最短路径的经典算法,本文用一步步的详细图解,解释这个算法。

5、Web Monetization API 试用体会(英文)

浏览器有一个实验 API,用来让访问者向站长捐款,本文是这个 API 的试用报告。

6、AI 插件的模型成本比较(英文)

本文使用实际的编程任务,对 VS Code 的两个 AI 编程插件进行成本比较:Augment CodeKilo Code

前者不能更换模型,必须使用内置的 Claude Sonnet 4.5;后者可以配置自己的模型,到底谁更省钱。

372科技爱好者周刊(第 372 期):软件界面如何设计

1、如何架设一个暗网网站(英文)

暗网网站(网址后缀 .onion)是只能用 Tor 浏览器访问的网站,作者记录自己架设的过程,看上去不难。

2、如何简单地过滤爬虫(英文)

作者提出一种简单的方法,可以让网站过滤掉爬虫的请求,不需要防火墙,只需设置一下 Web 服务器即可(作者用的是 Caddy)。

3、你知道 HTML 表格 API 吗?(英文)

有一个古老的网页 API,允许用 JS 操作表格,虽然这些年很少人用,但是浏览器一直是支持的。

4、编译器发展状况(英文)

本文是一篇综述,介绍目前编译器工具的总体发展状况。

5、树莓派的最佳方式是网络启动(英文)

树莓派一般都是 SD 卡启动,作者建议改用网络启动。对于经常切换操作系统,或者你需要管理多台树莓派,非常方便。

6、《小小作品》系列(英文)

1999年至2006年,动画师朱志强创作的 Flash 动画系列《小小作品》(又称“火柴人”系列),风靡了国内互联网。本文回顾了他的故事,如今已经很少人记得了。

371科技爱好者周刊(第 371 期):一个乐观主义者的专访

1、苹果公司不再关注细节了(英文)

苹果的软件以精美著称,但是现在好像不是这样了。这篇长文罗列了苹果系统的各种疏漏,都是细节没有处理好,尤其是最新的液态玻璃效果,简直就是匆忙上架。

2、Chrome 默认启用 HTTPS 协议(英文)

Chrome 浏览器公告,从明年(2026)10月起,将始终使用 HTTPS 协议。如果访问 HTTP 协议的网站,会跳出一个弹框(上图),用户确认后才可以访问。

这意味着,以后除了内网,HTTP 协议实际上被淘汰了。

3、Linux 启动过程(英文)

本文简单清晰地介绍,按下电源开关后,电脑的启动过程,主板如何找到操作系统。

4、查看带宽占用的5种方法(英文)

什么程序在占用家庭网络的带宽?本文介绍5种查看方法。

5、表单的 dialog 提交方法(英文)

网页表单的提交方法,除了常见的 GET 和 POST,还有一个鲜为人知的 dialog(即<form method="dialog">),本文介绍它的用法。

6、CSS 相对颜色(英文)

本文介绍一个新的 CSS 语法,从基础颜色生成相对颜色。

7、行走郑州(英文)

作者是一个美国人来到郑州,发现这里跟中国其他大城市不太一样,充满了一种粗旷的年轻人的活力,让他觉得这里很像没有衰退之前的“汽车城”底特律。

370科技爱好者周刊(第 370 期):正确的代码高亮

1、TypeScript 类似于 C#(英文)

这篇文章提出 TypeScript 的语法很像 C#,因为它们的设计者就是同一个人。

所以,当 TypeScript 需要提高性能时,可以考虑将代码转为 C#,现在 C# 也是跨平台的。

2、如何将网页动画压缩到每帧16.67毫秒(英文)

显示器的刷新率一般是每秒60帧,为了让动画流畅,每帧的渲染时间最好不超过16.67毫秒。本文介绍一个 CSS 知识点,可以提高网页动画性能。

3、从 HTTP 轮询到 MQTT:我们在 AWS IoT Core 的架构演进(中文)

作者公司的物联网项目,最早采用 HTTP 轮询,后来改成了 MQTT 协议,采用 AWS IoT Core 云服务。(@Konata9 投稿)

4、为什么 NetNewsWire 不是一个 Web 应用(英文)

NetNewsWire 是一个桌面的 RSS 阅读器,总是有人要求作者,将其改成 Web 应用。本文是作者解释为什么不开发 Web 版,理由很充分。

5、Burrows-Wheeler 变换(英文)

本文介绍一种奇妙的算法 Burrows-Wheeler Transform(简称 BWT),它会把字符串打乱,使得相同的字符倾向于组合在一起。

它的奇妙之处是,打乱后还可以用逆运算,将字符串还原,从而使得这种算法很适合用来压缩文本。

6、屏幕截图的不可见注入

越来越多的公司推出了自己的 AI 浏览器,它通过截图阅读屏幕。现在已经出现在屏幕嵌入人眼不可见、但机器可见的文本,进行模型注入,让模型执行恶意操作(上图)。

7、Unicode 隐形字符的病毒(英文)

本文介绍一个令人叹为观止的 JS 病毒,它的恶意代码是用 Unicode 隐形字符写的,人眼看不见(上图的空白处),但是引擎会执行这些代码。

369科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈

1、破解加拿大航空的飞机上网(中文)

作者连接飞机 Wifi 后,出现一个登录页。作者发现,网关这时不限制 DNS 请求,可以发出到外网,通过这一点进行破解。(@ramsayleung 投稿)

2、面试官引诱我安装恶意软件(英文)

一个非常恶劣的案例,大家引以为戒。作者面试一家区块链公司,面试官给他一个代码库,让他运行后找出问题,结果里面藏着恶意代码,会窃取运行者的数字钱包。

3、Bun 1.3 新功能介绍(英文)

Bun 号称是最好用的 JavaScript 运行时,本周发了1.3版,本文介绍新功能,确实比 node.js 好用。

4、NGINX ACME 模块申请 HTTPS 证书(中文)

一篇操作教程,写得比较清楚,怎么让 nginx 服务器自己去申请 HTTPS 证书。(@hzbd 投稿)

5、如何根据 HTTP 标头防止 CSRF 攻击(英文)

最新版本的 Go 标准库,内置了防止 CSRF 攻击的功能。它完全根据 HTTP 请求的 Sec-Fetch-Site 标头来判断,本文解释原理。

6、我在一台10年前的笔记本安装 Proxmox(英文)

本文推荐过时的老电脑安装 Proxmox 系统。它是流行的虚拟化平台,可以方便地运行各种各样的虚拟机和容器。

368科技爱好者周刊(第 368 期):不要这样管理软件团队

1、Cloudflare 推出电子邮件发送服务(英文)

Cloudflare 宣布,支持使用 worker 功能发送电子邮件了,以前只支持接收。这意味着,可以自己编程实现个人邮箱了。

2、为什么 Python 开发者喜欢类型系统(英文)

Meta 公司有一个 Python 类型检查器 Pyrefly。本文是开发团队介绍为 Python 加上类型有何好处。

3、为什么 TypeScript 代码库充斥 var 语句(英文)

一般来说,JavaScript 代码不应使用 var 语句,而要用 let 和 const。但是,TypeScript 官方编译器大量使用 var 语句,这是为什么?

4、浏览器遇到撤销的 HTTPS 证书会怎样?(英文)

本文介绍浏览器怎么检查 HTTPS 证书是否被撤销。

5、当你有 1M 上下文窗口时,谁还需要 git?(英文)

作者意外发现,大模型会记忆代码,从而相当于有了代码备份。

6、我用 Raspberry Pi Zero 搭建了一个 VPN 网关(英文)

本文是一篇教程,作者用 Raspberry Pi Zero 架设了一个内网的 VPN 网关,让外网可以访问内网服务。

7、URL 设计(英文)

一篇很多年前的文章,介绍怎么设计 URL。作者的理念是,URL 不是写给机器的,而是写给人看的。

367科技爱好者周刊(第 367 期):Nano Banana 的几个妙用

1、超越沙盒(英文)

如何在网页上安全地运行第三方代码?谷歌提出一个全新的解决方案 SafeContentFrame。

它是一个 JS 库,会将第三方代码加载到一个单独域名 googleusercontent.com 上面,再用 iframe 将其插入当前网页,这样就提供了最大限度的隔离。

2、离线应用为什么尚未流行?(英文)

离线使用功能一直没有流行起来,作者认为,离线使用就相当于建立一个分布式系统,面临着复杂的同步问题,很难做对。

3、Elasticsearch 不适合用作数据库(英文)

Elasticsearch 是目前主流的搜索服务,能否把它用作主要数据库?本文告诉你不可以,它不是为数据库而设计的。

4、如何使用 Python 生成音频的文字稿(英文)

一篇简单的入门教程,一步步教你自己写 Python 脚本,通过 Whisper 模型提取音频的文字稿。

5、避免使用 @ts-ignore(英文)

TypeScript 的 @ts-ignore 标注,用来关闭下一行的所有报错。作者认为不应该使用它,宁愿改用 @ts-expect-error 标注或者 any 类型。

6、Apple 的私有 CSS 属性,为网页添加“液态玻璃“效果(英文)

作者发现,苹果为 Safari 浏览器添加了一个没有公开的 CSS 属性,让网页元素呈现“液态玻璃”效果。

7、如何调整 systemd 加快启动(英文)

一篇初学者教程,教你5个技巧,通过调整 systemd 设置,缩短启动时间。

366科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告

1、你可能不需要高端 CPU(英文)

本文提出几个理由,普通用户购买8核以上的高端 CPU,可能是浪费。

2、如何用 make 命令编译 C 程序(英文)

一篇 C 语言初级教程,介绍 make 命令怎么编译一个程序。

3、去除多余的真值判断(英文)

ESlint 有一条规则,如果某条判断语句始终是true或者false,那么就报错,因为这个判断是多余的。

现在,TypeScript 5.6 也引入了这个规则,默认报错。

4、CSS 的 cos() 和 sin()(英文)

本文讲解使用 CSS 的三角函数,做出圆形布局。

5、HTTP 的 Options 方法(英文)

HTTP 方法,除了常用的 GET 和 POST 等,还有一个不常用的 OPTIONS,本文介绍它的用法。

6、你应该采用虚拟机,而不是双重启动(英文)

本文认为,不再有必要安装两个系统,做双重启动了,完全可以改用虚拟机。

7、神奇的苏联地图(英文)

苏联地图的细节程度令人难以置信。他们出版的外国地图会标注桥梁在水面上的高度、承载能力以及主要建筑材料,河流的宽度、流向、深度,森林的树木种类等等。

至今也不清楚,他们怎么得到这些信息,又为什么画在公开出版的地图上。

365科技爱好者周刊(第 365 期):流量变现正在崩塌

1、数据库表名使用单数名词(英文)

本文解释为什么数据库的表名,user 好于 users。

2、一次 NPM 供应链攻击剖析(英文)

本周,几个流行的 npm 软件包(包括 Chalk 和 strip-ansi)被植入恶意代码,它们的周下载量达到10亿次。本文介绍这次攻击的详细情况。

3、Markdown 文件如何转成精美文档(英文)

本文介绍通过 Pandoc 模版功能,使用一行命令将 Markdown 文件转成精美文档。

4、CSS 和 SVG 模拟液态玻璃(英文)

本文介绍只使用 CSS 和 SVG 文件来模拟苹果的液态玻璃效果。大家可以先看结尾的效果展示,非常惊艳(只限于 Chrome 浏览器)。

5、成为一名独立数字音乐作者(中文)

作者没有任何乐理基础,使用 AI 做出了完全属于自己的第一首纯音乐,并且发布到 QQ 音乐。(@theodoruszq 投稿)

6、如何解决队列的吵闹邻居问题(英文)

如果有一个用户向队列提交了大量任务,会影响其他所有用户,这叫做“吵闹邻居问题”。本文介绍了一种解决方法。

7、美国的地理位置(英文)

本文详细解释美国的地理位置是多么优越,自然条件适合经济发展,外敌又很难入侵。

364科技爱好者周刊(第 364 期):最难还原的魔方

1、Cloudflare 的爬虫认证(英文)

Cloudflare 作为世界最大 CDN 服务商,推出了爬虫认证。如果想抓取它托管的网站,必须登记你的公钥,然后每个请求附上签名。

2、我在 Anduril 当工程师(英文)

Anduril 是美国新崛起的一家国防科技公司,专注于无人机的军事应用。它的创始人就是 AR 眼镜产品 Oculus 的创始人,自称要用无人机保卫美国。

本文是它的工程师介绍公司内部研发情况,很多细节,推荐阅读。

3、用数据库替换缓存(英文)

作者谈了他的看法,什么时候直接查询数据库,什么时候使用缓存。相比数据库,缓存有什么优缺点。

4、我们把 AI 编程放入一个 while 循环(英文)

作者写了一段指令,让 AI 自己生成代码,出现问题就自己提交 PR 修复。

他把这段指令放入 while 循环,就去睡觉了。第二天醒来,看看 AI 进展如何。(剧透:一个晚上,AI 用掉了800美元。)

5、我的 Python 工具箱(英文)

作者是 Python 语言初学者,本文介绍他使用的基本开发工具,比如 uv、ruff、ty 等等。

6、AMD 和 Intel CPU 之间的区别(英文)

AMD 和 Intel 都生产 x86 CPU,虽然是同质产品,本文介绍它们的架构差异。

363科技爱好者周刊(第 363 期):最好懂的神经网络解释

1、谷歌宣布安卓开发者认证计划(英文)

安卓一直可以自行安装程序,不通过软件商店。谷歌打算改变这种做法,从明年9月开始,对所有应用作者进行认证。国产手机因为没有谷歌框架,估计不受影响。

2、OAuth 协议为什么这样设计(英文)

OAuth 是第三方登录协议,设计得有点复杂。本文解释这样设计的原因,每一个细节都讲得很清楚,让人豁然开朗。

3、CSS 的 random() 函数(英文)

本文介绍如何使用 CSS 的随机数函数 random(),用纯 CSS 代码制作星空、转轮等。

4、容器管理工具 Portainer 和 Dockge 比较(英文)

当你的计算机启用了多个 Docker 容器,就需要用到容器管理工具。本文比较了两种常用工具 Portainer 和 Dockge 的差异。

5、Mac 电脑如何查看进程信息(英文)

Mac 电脑有一个内置的 fs_usage 命令,可以查看进程信息,最有用的就是查看进程正在操作什么文件。

6、老旧 Kindle 改造成个人仪表盘(英文)

老旧 Kindle 怎么利用?本文将它改造成墨水屏的个人仪表盘。

362科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计

1、GitHub Models 的免费 AI 服务(英文)

我刚刚知道,GitHub 提供免费的 AI 模型调用,有 GPT-4o、DeepSeek-R1、Llama 3 等模型,不过有用量限制。

2、用 JavaScript 生成迷宫(英文)

本文用通俗的语言,介绍一种生成迷宫的简单算法,给出 JS 的实现。

3、Cloudflare 不是 CDN(英文)

Cloudflare 提供无限流量的免费 CDN,那么为什么它还有收费的 CDN?本文告诉你,除了流量,CDN 还有其他指标。

4、Git 如何处理大文件(英文)

几十 MB 的大文件,不适合放入 Git 仓库。如果一定要放,要使用一个扩展 Git LFS。但是它不太好用,作者提出改进建议。

5、10个有用的 VS Code 插件(英文)

作者介绍10个他已经离不开的 VS Code 插件。

6、TCP 初始拥塞窗口的问题(英文)

TCP 协议有一个“拥塞窗口”的设计,会根据网络状况,自动调整发送数据包的数量。本文通俗地解释这个概念,并提出改进的方案。

361科技爱好者周刊(第 361 期):暗网 Tor 安全吗?

1、锚点定位简介(英文)

CSS 的新语法“锚点定位”(anchor position),可以不使用 JavaScript,只用 CSS 就完成弹出菜单对某个锚点元素<a>的定位。

2、使用 Rclone 挂载网盘到本地(英文)

本文介绍使用 Rclone 这个工具,将网盘(比如微软的 OneDrive),挂载成一个本地目录。

3、如何选择英文字体(英文)

本文介绍选择合适的英文字体的一些注意点。

4、我的 NotebookLM 使用方法(英文)

NotebookLM 是现在公认的最佳 AI 笔记工具,作者写了他的使用方法,用它来“看”没看过的电视剧,我觉得有参考价值。

5、Docker 运行图形界面软件的一种方法(英文)

本文介绍使用 Wayland 协议,把图形界面软件放在 Docker 容器运行。

6、为什么 π² ≈ g?(英文)

π² 等于9.86,很接近重力加速度 g 的9.8。本文告诉你,这不是巧合,跟米的定义(北极到赤道的距离的百万分之一)有关。

360科技爱好者周刊(第 360 期):Dan Wang 的新书

1、达里奥·阿莫迪的故事(英文)

达里奥·阿莫迪(Dario Amodei,1983年出生)是 Anthropic 公司的创立者和首席执行官。本文是他的故事,一个生物学博士如何做出了 Claude AI。

2、硅谷的军事化(英文)

《纽约时报》的报道,硅谷科技公司正在不断加强与美军的合作。

它披露了一张令人震惊的照片。今年6月,美军特别为硅谷科技人员成立了一支技术创新部队,给予他们正式的军衔。上图为 Meta、OpenAI、Palantir 等四家公司的高管身穿军服,宣誓保卫美国。

3、Node.js 2025年的现代模式(英文)

Node.js 已经发生了巨大的变化,本文介绍现在应该采用的新写法。

4、.gitignore 如何变成白名单(英文)

.gitignore 默认是黑名单,会把指定文件排除出 Git 提交。本文教你把它改成白名单,只有提到的文件才能提交。

5、5个 Linux 基本命令的替代品(英文)

Linux 的很多基本命令(cd、cat、ls、du、df 等)现在都有更好的替代品。

6、一道谷歌编程竞赛题(中文)

题目是“(3 + 根号5) 的 n 次方“最后三位整数是多少,我觉得非常难。(@longluo 投稿)

359科技爱好者周刊(第 359 期):Palantir 值得关注

1、浏览器用户指纹测试(英文)

我们知道,JS 脚本可以生成用户指纹,用来追踪用户。作者测试了 Chrome/Firefox/Tor,看看它们能否阻断用户指纹。默认情况下,只有 Tor 通过了测试。

2、为什么2025年仍然值得学习 Java(英文)

作者是一个资深 Java 程序员,向新人解释 Java 的优点。这门语言一直在进化,已经今非昔比。文章还给出了学习资源。

3、Python 脚本运行器 uv 教程(英文)

uv 可以用来运行 Python 脚本,本文是一篇初学者教程。

4、邮件附件 PDF 文件的处理方案(英文)

很多邮件带有 PDF 附件(比如发票、合同),很难管理。

作者想出了一个解决方案,使用文档管理系统 Paperless-ngx 自动下载邮件,实现附件的分类、排序、搜索。

5、如何定制 Bash 环境(英文)

作者以自己为例,讲述怎么改造 Bash 环境,每次打开都会自动输出一个提醒(上图)。

6、CSS 的 font-size-adjust 属性(英文)

如果网页使用了多种字体,font-size-adjust 属性可以让它们看上去一样大小。

358科技爱好者周刊(第 358 期):如何拯救一家濒临倒闭的创业公司

1、绕过 Chrome 证书报错的口令(英文)

Chrome 浏览器遇到网站证书错误,会显示一个报错页面(上图)。

谁能想到,它居然有后门,只要输入口令thisisunsafe,就能跳过这个页面。

2、离职后,我的第一个出海产品上线了(中文)

作者一个人全职开发出海产品的故事。(@tahitimoon 投稿)

3、GPU 组网基础知识(英文)

AI 大模型需要成千上万的 GPU 连在一起,本文告诉你,这在技术上多么不容易。

4、CSS border-image 详解(英文)

本文详细介绍 CSS 的 border-image 属性,如何为边框设置背景图案。

5、Windows 任务管理器的四种替代品(英文)

Windows 进程如何管理?系统内置的任务管理器并不好用,本文介绍四种替代工具。

6、Tailwind CSS 的优缺点(英文)

本文详细分析了目前最流行的 CSS 框架 Tailwind CSS,它的长处并非没有代价。

7、粒子只有两类(英文)

物理学的科普文章,万物由已知的17种基本粒子组成。这些基本粒子可以分成两大类:玻色子(boson)和费米子(fermion)。

357科技爱好者周刊(第 357 期):稳定币的博弈

1、Django 框架的起源(英文)

本周是 Django 框架的20周年纪念日,创始人 Simon Willison 回忆发明过程,很多有趣的细节,比如他最早只是想用 Python 替换掉 PHP 4。

2、树莓派安装 PiKVM 教程(英文)

登录一台远程计算机,控制它的桌面,一个简单的方法就是使用 KVM 设备。本文演示如何在树莓派上安装 PiKVM

3、Elm 语言的现状(英文)

Elm 是一种 Web 开发语言,非常有特色,但是从2019年至今没有新版本。本文指出 Elm 没有死亡,而是一直在发展,社区非常活跃。

4、CSS 的 if() 函数(英文)

Chrome 浏览器的137版本,开始支持 CSS 的条件语句—— if() 函数。CSS 越来越像编程语言了。

5、如何添加 Git 子命令(中文)

本文教你怎么手动增加一个git branch.note命令。(@shangwenhe 投稿)

6、避免 continue 语句(英文)

本文提出循环结构的 continue 语句根本不必要,让阅读代码变得不流畅,你不应该使用这条语句。

356科技爱好者周刊(第 356 期):公司强推 AI 编程,我该怎么办

1、Bloom Filters 示例讲解(中文)

本文通过例子,介绍 Bloom Filters 入门知识,可以用来判断元素是否在集合内。

2、阶乘的斯特林公式推导(中文)

一篇数学科普文章。斯特林公式一般用来快速计算阶乘 n!,本文尝试用通俗语言推导这个公式。(@longluo 投稿)

3、Git 用户应该尝试 Jujutsu (英文)

Jujutsu 是 Git 的一个前端,底层兼容 Git 代码库,但是大大简化了前端操作。本文比较了三种操作,都是 Jujutsu 简单得多。

4、在 Mac 电脑使用 Apple Container 的感受(英文)

在 Mac 电脑使用 Docker 容器,性能开销很大,好在苹果推出了自家的原生工具 Apple Container 取代 Docker。

本文是作者的使用感受,发现它目前只适合简单场景。

5、如何判断是否在线?(英文)

通过向某些特定网址发送 HTTP 请求(比如google.com/generate_204),根据它们的回复,判断当前是否在线。

6、点赞泄漏的个人信息(英文)

作者将过去7年中、自己点赞保存的近900篇文章,输入 o3 模型,让模型分析自己是怎样一个人。

结果令他大吃一惊,模型给出了2000多字的分析,准确说出了他的个人情况。

7、从 DNS 查询国际空间站的位置(英文)

本文介绍 DNS 的一个妙用,它可以提供 LOC 记录,表示服务器的经纬度。作者就用这个记录,来提供国际空间站的当前位置。

355科技爱好者周刊(第 355 期):两本《芯片战争》

1、Meta 的 AI 人才名单(英文)

《华尔街日报》的报道,Meta 公司搞了一个50人的名单,包括了世界最顶尖的 AI 人才,准备把他们都挖过来,甚至传言开出了1亿美元的天价薪水。

我们可以从中了解,AI 人才的身价有多高,争夺有多么激烈。

2、ECMAScript 2025 的新增语法(英文)

JS 语法标准发布了2025版,本文罗列了今年的8个新增语法。

3、2010年江西高考理科数学压轴题(中文)

知乎上有个问题是高考数学最后一题可以有多难?公认史上最难高考数学题就是2008年江西高考理科数学压轴题,2010年的题目也很难。(@longluo 投稿)

4、通过超声波发送数据(英文)

本文介绍如何让手机浏览器发送超声波,并把数据编码在里面,从而就可以在用户毫无察觉的情况下,跟其他设备通信。

5、我的程序员人生(英文)

作者的一篇回忆文章,总结了自己的人生,写得很鼓舞人。

他在高中想学舞蹈,但是被 3D 动画片吸引,去读了计算机本科,毕业后成了 Python 程序员,后来靠着自学和努力,现在是分布式系统研究员。

6、如何用 JS 写一个浏览器的语音朗读器(英文)

本文是一篇 JS 教程,教你用浏览器的 API,通过内置的 TTS 语音引擎,写一个句子朗读器。

7、Cloudflare 和 Vercel 的沙盒功能(英文)

最近,CloudflareVercel 这两家公司,不约而同推出了沙盒功能,运行不受信任的 JS 代码,主要用例是执行大模型生成的代码。

354科技爱好者周刊(第 354 期):8000mAh 手机电池,说明了什么?

1、智能插头当作网站开关(英文)

作者想了一个很聪明的方法,将智能插头当作网站的浏览开关。

如果本机通过 Wifi 检测到插头,就立刻修改/etc/hosts文件,使得某些社交网站无法访问。反之,拔出插头,则计算机将该文件再改回原样。

2、网页压缩算法比较(英文)

服务器发送给浏览器的网页,一般都是压缩的,主要有四种算法:gzip、deflate、brotli、zstd。

作者用 Go 语言测试,哪种压缩算法对服务器开销比较小。

3、巧解 Docker 镜像拉取失败(中文)

本文介绍一种拉取 Docker 镜像的变通方法:通过 GitHub workflow 拉取,然后存储到阿里云个人镜像站,并给出脚本。(@you8023 投稿)

4、CSS 的部分关键帧(英文)

本文是 CSS 中级教程,介绍 CSS 动画如果只写一个关键帧(起始/结束),也有很多应用场景。

5、让 Claude Code 使用其他模型(中文)

Claude Code 只能使用自家模型,本文介绍使用 Claude Bridge,让它可以使用任意第三方模型,从而极大降低使用成本。(@jerrylususu 投稿)

6、git notes 命令(英文)

git 有一个鲜为人知的 notes 命令,可以往日志添加自定义数据,很适合为每次提交加入元数据。

7、如何减少 OpenAI 的音频/视频费用(英文)

作者让 OpenAI 概括一个视频的内容,意外发现,如果让文件的播放速度加快到2倍或3倍,OpenAI 的处理费用可以减少30%以上。

原因可能是,加速会让一些短音节变得不明显,从而减少输入 token 的数量。

353科技爱好者周刊(第 353 期):苹果的“液态玻璃”是为了 AR

1、CSS class 的替代方法(英文)

作者认为,网页元素的 class 属性有很多弊端,可以不用,改用替代写法,很有启发性。

2、短信发送天气预报教程(英文)

本文介绍怎么使用短信,给自己发送天气预报。

3、更好的 Shell 历史搜索(英文)

本文教你怎么打造更好用的 Shell 历史搜索。

4、让 NotebookLM 更好用的3个浏览器插件(英文)

谷歌的 AI 笔记应用 NotebookLM 非常有用,本文介绍三个 Chrome 插件,让它更易于使用。

5、SSL 为何改名为 TLS(英文)

HTTP 的加密协议 SSL,后来改名为 TLS,本文解释原因,完全是大公司斗争的产物。

6、自适应网页的正确写法(英文)

为了适应手机浏览器,网页的 HTML 头部一般会加上缩放命令,比如width=device-width。本文介绍这个命令的正确写法。

352科技爱好者周刊(第 352 期):Bug 追踪系统的正确样子

1、过去半年的大模型回顾(英文)

Simon Willison 点评过去半年的大模型,可以当成大事记来读。

AI 的进展实在太快,去年底的模型已经是上一代了。

2、我使用 Claude Code Max 的感受(英文)

作者购买了 Claude Code 的 Max 会员,一个月要200美元,使用后认为完全物有所值。

3、速率限制交互式指南(英文)

如何限制访问速率?本文介绍了四种常用算法:令牌桶、漏水桶、固定窗口、滑动窗口。

4、Amazon VPC 图解(英文)

本文用插图解释,云服务器的虚拟私有网络(VPC,Virtual Private Cloud 的缩写)是什么。

5、五个自搭建的书签服务(英文)

本文介绍五个开源软件,可以自己架设网址书签的收藏服务。

6、我的香港露营实验(英文)

2016年,一个老外在香港留学,他的奖学金很少,就想在海边搭帐篷居住,省下房租。本文是他对这段生活的总结,挺有意思的。

351科技爱好者周刊(第 351 期):GitHub Issues(几乎)是最好的笔记应用

1、我的 Canonical 面试经历(英文)

Canonical 是 Ubuntu 背后的公司,作者记录了他的面试经历,从初试一直到老板的终面。

整个过程令人瞠目结舌,最重要的问题居然是高中成绩好不好。就凭这种面试,Ubuntu 就不值得看好。

2、microSD 卡可靠吗?(英文)

作者测试了200多张卡,发现 microSD 保存数据的可靠性很差。数据读写循环3000次后,大部分卡都会遇到故障或读写错误。

作者评价了10多个常见品牌,可以作为购买参考。

3、Go 不再修改错误处理的语法(英文)

Go 语言的错误处理,与众不同,报错会单独返回一个值,这导致代码冗余。

多年来,使用者一直要求有更好的写法,Go 团队想了很多办法,效果都不好。现在,官方终于宣布,不再寻求更好的写法,保持现状。

4、NLWeb 协议简介(英文)

NLWeb 是微软新提出的一个接口协议,类似于 MCP 协议,是网站跟 AI 大模型的对话协议,方便大模型从网站获取数据。本文是这个协议的简介。

5、运行本地 AI 的教程(英文)

这篇短文介绍,如何使用 Python 工具 llm,快速在本地计算机上运行 AI 模型。

350科技爱好者周刊(第 350 期):Java 三十周年

1、CAPTCHA 没用了(英文)

作者在一家票务网站工作。他提出,各种识别机器人的验证机制,要么可以被 AI 绕过,要么不适用于出票,难以找到有效的解决方案。

2、我的同步备份方案(英文)

作者的备份方案分成两部分。(1)使用开源软件 Syncthing 在多台电脑之间同步目录,(2)使用 TrueNAS 将本地内容同步到云存储。

3、Bash 脚本执行心跳测试的写法(英文)

本文教你一种简单的写法,使用 Bash 脚本执行心跳测试(验证服务器是否正常在线)。

4、虚拟主机加固指南(英文)

开通虚拟主机(VPS)后,应该如何设置,提高安全性,本文给出基本步骤。

5、自解释的代码(英文)

本文通过一个例子,演示应该怎么写,才能让代码清晰易懂,自己解释自己。

349科技爱好者周刊(第 349 期):神经网络算法的发明者

1、手机的 Linux 桌面环境(英文)

作者出门不带笔记本,只带手机,再配上蓝牙键盘和 AR 眼镜。

他的安卓手机在获取 root 权限后,通过 chroot 安装了 Linux 发行版,从而可以运行桌面环境。

2、AI 应用的核心逻辑(英文)

作者提出,AI 应用(AI agent)的核心逻辑只需要9行代码。

3、浏览器默认屏蔽的端口(英文)

你可能不知道,浏览器无法打开下面的网址localhost:6000,原因是6000是浏览器默认屏蔽的端口。

4、推荐 RustDesk 远程桌面(英文)

Mac 电脑访问 Windows 电脑,一种方法就是使用远程桌面,作者推荐远程桌面工具 RustDesk。

5、HTML <dialog> 的 CSS 技巧(英文)

HTML 有一个原生的弹窗元素<dialog>,本文介绍两个配套使用的 CSS 技巧。

6、Git 配置详解(英文)

本文详细解释 Git 配置命令 git config 的几个最常见的设置。

348科技爱好者周刊(第 348 期):李飞飞,从移民到 AI 明星

1、一段让 Chromium 机器人崩溃的代码(英文)

作者介绍了一段 JS 代码,让Chromium 无头浏览器(Puppeteer 和 Playwright)崩溃。它可以用来识别,访问者是不是机器人。

2、Git worktree 简介(英文)

Git 仓库同时只能有一个工作区,如果想同时建立多个工作区,可以使用 git worktree 命令。

3、用 Go 移植 TypeScript 的重要影响(中文)

微软官方要用 Go 语言重写 TypeScript 项目,本文分析这样做的目的和影响。(@imbant 投稿)

4、为什么大模型可以控制手机(中文)

开源项目 droidrun 可以通过大模型,以自然语言操作安卓手机的 APP。本文分析它是如何做到的。(@lezhi12 投稿)

5、创业公司可能无法承受微服务(英文)

本文提出,微服务需要很强的运维能力,并会增加代码复杂性,创业公司不要盲目采用,单体应用更简单。

6、从 Prettier 和 ESLint 迁移到 BiomeJS(英文)

BiomeJS 是用 Rust 语言写的工具,对 JS 代码进行格式化和语法检查,速度极快,可以取代 Prettier 和 ESLint。

7、如何自己托管 Obsidian(英文)

Obsidian 是一个优秀的笔记软件,作者给出详细步骤,自己托管 Obsidian 服务器,从而在任何地方都可以通过浏览器使用。

347科技爱好者周刊(第 347 期):冷启动的破解之道

1、ChatGPT o3 可以识别照片拍摄地(英文)

如果你给 o3 模型一张照片,问它这是哪里拍的,它会猜得相当准确。

举例来说,上图是加州海边的某个村庄。因为 o3 用街景地图训练过,如果碰巧你也在这个位置拍摄,它会给出极准确的位置(这是坐在xx咖啡馆,对着窗外拍摄的)。

还有一篇相关文章,人类的专业级选手(下图)与 o3 比赛,谁猜地点更准,里面有各种实例。

这件事告诉我们,AI 时代上传照片必须非常小心,你会透露自己的位置。

2、Deno 的衰落(英文)

作者认为,Deno 作为一种 JavaScript 的运行环境,最近出现了很多问题,业务在收缩,前景不乐观。

3、如何命令行设置新 MacBook(英文)

macOS 内置了一些命令行工具,可以快速设置系统,非常适合用来配置新电脑。

4、使用 Zip 炸弹保护服务器(英文)

作者痛恨网络爬虫,决定使用 Zip 炸弹对付它们。

zip 炸弹就是一个体积很小的压缩文件,但是解压后却极其巨大(比如 10GB)。

5、Astro 框架的架构(英文)

著名程序员 Dan Abramov 解释 Astro 框架的设计思想,以及它与 React 的服务器组件的差异。

346科技爱好者周刊(第 346 期):未来就是永恒感的丧失

1、昊龙:中国首个货运航天飞机(中文)

天宫空间站的补给,目前由天舟飞船完成。但是,天舟每次返回大气层,都会烧毁。

国内正在研究可以重复使用的“昊龙”货运飞船,以降低货运成本。

昊龙已经完成了设计,正在工程测试阶段。

2、如何使用 UTM 在 Mac 电脑架设虚拟机(英文)

一篇教程,教你如何在 MacBook 安装 utm 虚拟机,从而方便地使用 Linux 系统。

3、清理<head>(英文)

网页的<head>部分里面,很多标签是不必要的,这个网站介绍可以删除的标签,比如 favicon、Apple touch icons。

4、线上故障应急处理:4 年多 on call 经验总结(中文)

我的第一份工作是 CDN 基础设施研发,考虑到公司体量,那些年其实故障蛮多的。在故障处理中,积累了一些经验教训,总结回顾一下。(@swananan 投稿)

5、在 Docker 沙箱中运行 MCP Server(中文)

本地运行他人的 MCP 服务器有极大的风险,本文介绍怎么在 Docker 沙箱里面运行。(@ccbikai 投稿)

6、如何用 Whisper 生成字幕(英文)

本文是作者的操作记录,演示如何用 OpenAI 公司的 Whisper 模型为视频文件生成字幕。

345科技爱好者周刊(第 345 期):HDMI 2.2 影音可能到头了

1、我们正在进入大芯片时代(英文)

大芯片指的是 CPU、GPU、内存封装在一块芯片里面,典型代表是苹果的 M 系列芯片。

这种设计使得 CPU 和 GPU 共享内存,并且有极大的内存带宽,这就是为什么苹果电脑不需要 Nvidia 显卡,也能运行 AI 模型。

2、我放弃了笔记本,只用袖珍电脑 + AR眼镜(英文)

作者介绍他现在外出所携带的电脑设备:一个袖珍电脑,一个移动电源,一副 AR 眼镜和移动键鼠。

3、为什么大写字母的二维码小于小写字母(英文)

作者指出一个有趣的现象,如果把网址全部转成大写字母,再生成二维码,会小于小写网址的二维码(更稀疏)。

4、JS 性能测试的一个技巧(英文)

通常测试 JS 代码的性能时,会使用循环,但是循环本身有开销。作者介绍消除循环开销的一个技巧,就是分成两个循环,前一次循环执行一次代码,后一个循环执行两次代码,后者再减去前者。

5、让你的 RSS/Atom feed 更好看(中文)

一篇简单教程,介绍如何为 XML 格式的 RSS 文件加入样式。(@Spike-Leung 投稿)

6、text-wrap 的新设置(英文)

text-wrap 在 CSS 里面用来控制文本换行。它有两个新设置 text-wrap: pretty 和 text-wrap: balance。

344科技爱好者周刊(第 344 期):制造业正在“零工化”

1、微软50周年的回忆(英文)

今年是微软诞生50周年,比尔盖茨写了这篇回忆文章,介绍了他怎么会创立这家公司,文末给出了微软第一个产品 Altair BASIC 的源码下载。

微软官方也提供了8款五十周年纪念壁纸

2、NotebookLM 是你的最佳笔记本(英文)

作者提出,谷歌的 AI 笔记本 NotebookLM,从根本上改变了管理知识、提取信息的方式,是最佳笔记工具。只要把原始材料扔进去,它自己会生成整理好的笔记。

3、Gemini 2.5 Pro 与 Claude 3.7 Sonnet:编码比较(英文)

这是目前生成代码最强的两个 AI 模型,作者对它们进行比较,看看谁更强。

结论是总体相差不大,但是 Gemini 2.5 Pro 的上下文窗口更大,而且免费。

4、代码混淆101(英文)

本文介绍几种最常见的代码混淆的做法。

5、安卓不再是 iPhone 的竞争者(英文)

作者认为,安卓变得越来越封闭,不再能 Root 和改装,完全依附于谷歌生态,那为什么不去用协同性更好的 iPhone 呢?

6、NVIDIA 为 CUDA 添加原生 Python 支持(英文)

CUDA 框架是 AI 模型的计算工具,它的官方编程语言主要是 C/C++,现在终于添加原生 Python 支持,不用通过第三方库了。

343科技爱好者周刊(第 343 期):如何阻止 AI 爬虫

1、Gemini 2.5 Pro 模型

本周,谷歌发布它的最强模型 Gemini 2.5 Pro,迅速登顶。

著名程序员 Simon Willison 对其进行测评,评价很高。

另有一个程序员让其执行一个非常复杂的任务,它想了半天后说,这个任务太复杂,不可能在一个步骤中完成,只能做出一个简化版。

这让人非常震惊,因为以前的 AI 遇到做不了的事情,只会给出错误的答案,而现在竟然会在分析后,承认超出了自己能力。

2、谷歌将不开放安卓的开发(英文)

这篇报道称,谷歌将完全私有化安卓的开发,不再接受外部的代码提交,以避免安卓开源版 AOSP 与内部版本之间合并分支的麻烦。

以后,谷歌会把安卓新版本先提供给 OEM 厂商,然后再发一个不接受外部提交的开源 AOSP 版。

3、Next.js 的中间件漏洞(英文)

本周,Next.js 爆出一个高危漏洞。如果登录步骤是在中间件里面完成,那么可以绕过这个步骤,直接进入登录状态。本文简要介绍什么代码导致了这个漏洞。

4、TypeScript 如何写函数类型(英文)

本文是一篇初级教程,介绍函数的类型在 TypeScript 的三种写法。

5、我对 MCP 的批评(英文)

MCP 是 Anthropic 公司提出的一个 AI 应用的接口协议,作者认为它并不好用,给出了自己的理由。

6、只使用 ESM 模块(英文)

本文提出,现在可以放弃 JS 语言的 CommonJS 模块了,只使用 ESM 模块,一个原因是require命令已经支持加载 ESM 模块了。

342科技爱好者周刊(第 342 期):面试的 AI 作弊——用数字人去面试

1、服务器发送事件(SSE)被低估了(英文)

本文详细介绍“服务器发送事件”是什么,以及目前的 AI 服务如何使用它。

2、关于继承和子类型(英文)

Java、Go、Python 这三种语言,有不一样的继承设计,本文比较了它们各自如何实现一个子类型。

3、CSS 属性的 unset 值(英文)

CSS 属性几乎都可以设成三个值 initial(不继承)/inherit(继承)/unset(取消默认值),本文用例子解释它们的含义。

4、布尔属性的陷阱(英文)

本文提出一个编程技巧:尽量少在类(class)里面设置布尔属性,而要改用枚举(enum)。

5、我从零制作了一个智能手表(英文)

作者介绍怎么制作一款智能手表,可以用来了解硬件工程师的工作。

6、:user-valid 伪类(英文)

一篇 CSS 教程,介绍 :user-valid 伪类(表示用户的输入通过了 input 输入框的校验)。

7、使用 GitHub Actions 和 GitHub Pages 构建和部署网站(英文)

本文是一篇教程,介绍如何使用 GitHub Actions 构建网站,然后部署到 GitHub Pages。

341科技爱好者周刊(第 341 期):低代码编程,恐怕不会成功

1、AI 大模型2024年的进展(英文)

著名程序员 Simon Willison 3月7日的演讲稿,通俗地介绍了 AI 在过去一年的巨大飞跃,很好的综述。

2、如何用 Claude Code 反编译代码(英文)

作者演示了一个惊人的例子,使用 Anthropic 发布的 Claude Code,将 Webpack 编译出来的文件反编译,还原成源代码。

3、CSS 跨文档视图转换(英文)

本文介绍一个示例,通过 CSS 新的跨文档视图转换功能,使得多页面应用的跳转,也像单页面应用(SPA)一样流畅顺滑。

4、Cursor 上传 .env 文件(英文)

Cursor 是现在非常流行的一个 AI 代码编辑器,它的用户论坛爆出一个帖子,有人发现它会上传用户的 .env 文件,由于里面都是环境参数,会带来安全隐患。

5、JSON 与 JavaScript 的对象成员顺序(中文)

JSON 与 JavaScript 的对象,里面的成员顺序有没有规定?本文探讨这个问题。

6、Go 语言错误处理机制的优点(英文)

Go 语言的错误处理很特别,没有 try...catch 机制,错误是一个值,作者解释这样设计的好处。

340科技爱好者周刊(第 340 期):技术炒作三十年

1、流式 HTML(英文)

AI 的聊天对话都是流式加载的,本文介绍一个技巧,不使用 JS 也能加载流式内容。

2、不要用 TypeScript 枚举(英文)

TypeScript 官方已经不建议使用 enum(枚举)语法,作者建议改用字符串的联合类型代替。

3、我如何使用 roboscribe 音频转文本(英文)

一篇教程,作者使用软件 roboscribe 将播客转成可用的文本,这事要比听上去麻烦。

4、如何测试电梯(中文)

本文将电梯抽象成一个“有限状态机”,设计测试用例。(@lezhi12 投稿)

5、我为什么选择 Firefox(英文)

作者介绍 Firefox 浏览器胜过 Chrome 的几个地方,有些功能大家可能未必知道。

6、脚本代替别名(英文)

常用的终端命令,往往可以设置别名(alias)作为快捷方式,作者提出一种新的方式,用脚本代替别名,更容易维护。

7、Tailscale 对我很有用(英文)

作者介绍自己的 Tailscale 用法,将不同的设备组成一个虚拟局域网。

339科技爱好者周刊(第 339 期):代币是什么

1、本地部署 DeepSeek 模型保姆级教程(中文)

网友的教程,家用 PC 怎么跑 DeepSeek,当然跑不了满血版,只能跑小参数的版本。(@lovefc 投稿)

2、从头构建大模型(英文)

作者按照教材(上图),从零开始做一个大模型,本文简要解释了大模型原理。

3、Svelte 5 不是 JavaScript(英文)

Svelte 是一个流行的前端框架,去年发了5.0版。作者使用后感觉,它的抽象层次太高,已经不像 JavaScript 语言,而像一种新的语言。

4、面试伦敦谷歌(中文)

作者面试伦敦谷歌,最后被拒,全程的记录。(@DoctorLai 投稿)

5、Proxmox 虚拟机的10个项目(英文)

Proxmox 是现在很流行的虚拟机软件,本文介绍它在家庭实验室的10种用途。

6、我如何用手势模拟鼠标(英文)

一篇教程,作者用谷歌的 MediaPipe 和 OpenCV,将摄像头捕获的手势动作,转化为鼠标操作,也就是不需要鼠标了。

7、如何制作网页的毛玻璃效果(英文)

本文介绍如何制作一个网页的毛玻璃透明区块。

8、CSS 局部作用域 @scope(英文)

本文介绍 CSS 局部作用域语法 @scope,它定义的规则只对当前区域生效,Chrome 浏览器已经支持。

338科技爱好者周刊(第 338 期):重新思考 6G

1、废弃 Create React App(英文)

React 官方宣布,正式废弃 Create React App,建议通过框架来使用,也就是不建议直接用 React。

2、Unicode 字符的迷你柱状图(英文)

本文介绍怎么使用 Unicode 字符,来生成迷你的柱状图(上图)。

3、多页应用不输给单页应用(英文)

单页应用(SPA)是网页应用的主流,本文提出多页应用也可以做到 SPA 的各种优点。

4、详解 Linux 硬链接和软链接(英文)

Linux 有两种特殊文件:硬链接和软链接,本文详细解释它们的区别。

5、了解 CSS 的 overflow: clip(英文)

CSS 的 overflow 属性,有一个 clip 值,可以截去溢出部分。通过它,可以做出很多页面效果。

6、什么是网页的元信息?(英文)

本文介绍如何在网页中插入元信息(比如作者、关键词、内容描述等等),便于计算机检索。

7、如何安装 ADB(英文)

ADB 是电脑连接安卓手机必需的,本文分别介绍 Windows/macOS/Linux 如何安装 ADB。

337科技爱好者周刊(第 337 期):互联网创业几乎没了

1、如何用 OPNsense 搭建家庭防火墙(英文)

OPNsense 是一个开源的防火墙和路由软件,本文介绍自己安装的详细步骤。

2、《软件设计哲学》笔记(英文)

作者阅读了《软件设计哲学》这本书,对怎样减少软件的复杂性,做了详细的笔记,给出了代码示例。

3、CSS 的 backdrop-filter 属性(英文)

本文介绍 backdrop-filter 属性,可以产生毛玻璃的效果。

4、为什么你应该用 Canva 制作幻灯片(英文)

本文提出 Canva 是比 PowerPoint 更好的幻灯片制作工具。

5、在虚拟机中开发(英文)

作者介绍在 MacBook Pro 安装 Ubuntu 虚拟机,所有开发都在虚拟机里面完成,保证本机系统始终是干净的。

6、基于 signal 的 Web 组件(英文)

作者介绍自己写的一个 Web 组件,可以在不加其他 JS 库的情况下,实现 signal 功能。

336科技爱好者周刊(第 336 期):面对 AI,互联网正在衰落

1、DeepSeek R1 的推理实例(英文)

DeepSeek R1 会显示推理过程。作者问它,美国对加拿大征收25%的关税,对加拿大 GDP 有何影响。

DeepSeek R1 的回答过程,简直就是一篇经济学论文,而且只“思考”了12秒。

2、Canva 如何建立图像搜索(英文)

本文介绍 Canva 公司如何使用向量嵌入,建立相似图片搜索。

下面是另外一篇类似的文章《基于 pgvector 和 Next.js 构建语义电影搜索》,也是使用向量嵌入。

3、OpenMediaVault 与 TrueNAS Scale 的比较(英文)

OpenMediaVault 与 TrueNAS Scale 是两个开源的 NAS(网络文件系统),需要自己搭建,本文对它们进行比较。

4、同一个 GitHub 用户如何用不同身份 SSH 登录(英文)

有时,同一个 GitHub 用户使用不同的 SSH 密钥,去登录不同的仓库。本文教你这时怎么写 SSH 配置文件。

5、浏览器内置书签是最好的书签系统(英文)

作者认为,浏览器内置的书签系统,是最好用的保存网址的方法。

6、为什么 TCP 需要三次握手(英文)

建立 TCP 连接需要双方的三次通信,本文详细解释这个连接过程。

7、我从中国进口迷你电动挖掘机(英文)

作者是美国人,介绍他新近的一门生意,将中国的迷你电动挖掘机进口到美国来卖。这种挖掘机真的很像大玩具。

335科技爱好者周刊(第 335 期):年底的未来已来

1、如何减少 Docker 的日志体积(英文)

Docker 容器会产生日志,长年累月变得越来越大,本文教你怎么减少日志文件的大小。

2、如何包装 try...catch(英文)

JavaScript 语言的 try...catch 用起来非常不直观,作者提供了一种方法,将其包装成函数用法。

3、iTerm2 的一些鲜为人知的功能(英文)

iTerm2 是 Mac 平台的终端模拟器,有许多内置的功能,但是很多人都不知道这些功能。

4、架设家庭 DNS 服务器的6个原因(英文)

本文介绍为什么你应该在家里架设自己的 DNS 服务器。

5、寻找易记忆的质数(英文)

本文介绍数学家如何寻找容易记忆的质数,其中提到两个大质数:1234567891 和1、2、3、4、5、6、7、8、9、10、9、8、7、6、5、4、3、2、1(把顿号去掉)。

6、Python 的链式表达式(英文)

作者作为面试官,发现面试者用了上图的奇怪语法。他认为这是错的,但实际却是 Python 的合法语法。

7、推特的纯 CSS 点赞效果(英文)

推特的点赞按钮是一颗心(上图),点击后出现一段动画效果。它是用 CSS Sprite 实现的,本文介绍如何做这个效果。

334科技爱好者周刊(第 334 期):年终笔记四则

1、一个副业应用的开发心得(中文)

本文总结2018年作者为自己的安卓应用,加了一个收费功能的开发心得。(@javayhu 投稿)

2、俄罗斯和乌克兰各自有哪些知名软件?(中文)

本文介绍了两国的知名软件,都有不少很厉害的项目。(@mzhren 投稿)

3、为什么要学习写编译器(英文)

作者谈为什么你应该试试自己写一个编译器,并且提供了三个入门的学习资源。

4、国际数学奥林匹克金牌得主的去向(英文)

国际数学奥林匹克是高中生的数学比赛,作者做了一个调查,历届金牌得主后来怎么样?

5、AWS S3 与 Cloudflare R2 比较(英文)

AWS S3 是一个老牌的存储服务,Cloudflare R2 是它的新兴对手。本文比较这两种服务。

6、无限滚动轮播的 CSS 实现(英文)

本文教你只用 CSS 实现类似弹幕的无限滚动轮播效果,还能用鼠标悬停。

7、如何将笔记本用作第二个显示器(英文)

一篇电脑使用的教程,如何将笔记本当作显示器使用。

333科技爱好者周刊(第 333 期):一切都要支付两次

1、段永平浙大师生见面会问答实录(中文)

段永平1月5日重返母校浙江大学,与现场观众进行交流,这是2万字的现场实录。“我没有鼓励过(别人创业)。我觉得该创业的人根本就不需要你鼓励,你有个很强烈的想法,你就会去做。”(@851235550 投稿)

2、如果 GPU 那么好,为什么我们还用 CPU(英文)

本文通俗地介绍 GPU 和 CPU 的差异,解释为什么它们彼此不能替代,写得很好。

3、如果不断要求 AI 改进代码会怎样?(英文)

作者做了一个有趣的实验,他让 AI 生成一段代码,然后要求 AI 改进这段代码,这样连续做四次,看看会发生什么。

4、关于 SQLite 的各种趣事(英文)

SQLite 是世界使用最广泛的数据库,本文收集关于它的各种趣事。

5、搭建免费的企业邮箱(中文)

本文使用 Gmail + Resend + Cloudflare 搭建免费的企业邮箱,可以接收/发送企业域名邮件。(@javayhu 投稿)

6、旧台式电脑的10个用途(英文)

本文介绍怎么利用旧电脑,提供了一些有用的思路。

332科技爱好者周刊(第 332 期):西蒙·威利森的年终总结,梁文锋的访谈

1、2024年 Linux 发行版推荐(英文)

作者介绍他心目中,各种用途最佳的 Linux 发行版。

2、中美工作感想(中文)

“过去四年五个月,我随着工作从 SF 搬到北京,再搬到上海,后来搬回美国在洛杉矶住了一年半。”本文是国内做工程师和美国做工程师的对比。(@wukan 投稿)

3、开发者应该知道的10个终端命令(英文)

本文简单介绍10个终端命令,比如 grep、awk、sed、find 等。

4、Meta 四次面试经历(中文)

“这些年,我一共面试了四次 Facebook/Meta。虽然都未成功,但收获颇多。”(@DoctorLai 投稿)

5、算法面试心得(中文)

本文是作者对如何应付一般的算法面试的知识总结和心得。(@javayhu 投稿)

6、我们用 React 取代了 Next.js(英文)

作者难以忍受 Next.js 的庞杂和性能,改为直接使用 React,不再用基于它的框架了。

7、Windows 的增强剪贴板(英文)

我很少用 Windows,现在才知道它的剪贴板有同步功能,还能永久保存。

331科技爱好者周刊(第 331 期):你可能是一个 NPC

1、我的几何人生(中文)

著名华人数学家丘成桐,回顾自己的成长道路。

2、编程十年的感悟(中文)

“代码写多了才意识到,程序员的竞争力并不是写代码,也并不是哪门语言或者框架, 其核心竞争力是通过技术解决问题的能力”。(@ramsayleung 投稿)

3、我给博客添加 dark mode(中文)

作者介绍他为博客添加 dark mode 的处理方法和注意事项。(@Spike-Leung 投稿)

4、七个最佳的生产力 Docker 镜像(英文)

本文介绍七个可以自己用 Docker 镜像架设的生产力服务。

5、不可变 Linux 发行版(英文)

越来越多的开发者开始使用不可变的 Linux 发行版(immutable Linux distro),即系统文件在运行期间不可更改。这样会让系统更稳定,也更容易迁移和回滚。

6、macOS 命令行内置的工具程序(英文)

本文介绍 macOS 内置的一些命令行工具程序,比如 security、open、pbcopy、pbpaste 等。

330科技爱好者周刊(第 330 期):李开复梳理人工智能

1、汇编语言的一点入门介绍(中文)

这篇短文通俗解释了汇编语言的基本概念。

2、CSS 网格区块详解(英文)

这篇长文详细介绍 CSS grid 布局的区块功能(template area)。

3、网页如何插入 JSON-LD 语义数据(中文)

本文详细介绍网页的 JSON-LD 数据块,用来插入机读的语义数据。

4、13个对前端开发有用的 Chrome 插件(英文)

本文介绍13个用于前端开发的 Chrome 插件。

5、谷歌不再是最好的搜索引擎(英文)

本文是一篇新闻分析,作者认为 Perplexity 的 AI 搜索体验已经优于谷歌了。

6、如何为 Windows 添加6个 macOS 最好的功能(英文)

一篇 Windows 使用技巧,教你怎么为 Windows 添加一些 macOS 功能,比如文件浏览器可以文档预览。

329科技爱好者周刊(第 329 期):示意图利器 D2

1、CSS 重置(2024版)(英文)

作者提出,最新的 CSS 重置(CSS reset,即更改浏览器默认样式)只需要9条规则,每一条都详细解释。

2、Monokai 的历史(英文)

本文介绍流行的代码编辑器配色方案 Monokai 的诞生历史。

3、并发运行(Concurrency)和并行运行(Parallelism):以 JavaScript 为例(英文)

本文解释并发和并行的区别,然后给出 JavaScript 的示例。

4、直接链接网页的某段文本(英文)

浏览器现在支持,URL 直接链接到网页的某个文本片段(text fragment)(上图的高亮部分),本文介绍如何使用。

5、了解多重 DNS(英文)

多重 DNS 就是同一个域名有多个 DNS 解析记录,可用来均衡负载。作者就测试了,均衡负载是否真能生效。

6、感知器是什么(英文)

本文解释神经网络的基础概念“感知器”(Perceptron)。

328科技爱好者周刊(第 328 期):AI 模型不是一门好生意

1、我们为什么转向 Astro(英文)

作者原来使用 Next.js 框架,因为受不了 React 和 Next.js 的种种问题(主要是复杂性),转向了 Astro 框架,本文是使用感受。

2、Phoenix LiveView 1.0.0 发布了(英文)

Phoenix LiveView 是 Elixir 语言的 Web 开发框架,(目标是)用更简单的模型,实现 React 框架的所有功能,同时还支持高并发。本文是它的介绍。

3、我如何用机上 WiFi 获知飞机方位(英文)

作者乘坐飞机时,利用航空公司的服务器,绘出了当前飞机的飞行路线。

4、如何用 Cloudflare 重定向 URL(英文)

作者的个人网站更换了域名,他就用 Cloudflare 将旧网址重定向到新网址,完全免费。

5、不要用 SQL 的 count(*) 语句与 0 比较(英文)

一篇 SQL 科普文章,不要用 count(*) 等于 0,来判断不存在符合条件的记录。

6、如何用手机远程解锁 Windows(英文)

Windows 11 有一项功能,允许你用手机的指纹识别或人脸识别,解锁 Windows。

7、如何用 Docker Compose 安装 phpMyAdmin(英文)

一篇初学者教程,关于怎么用 Docker Compose 在本机架设数据库应用。

327科技爱好者周刊(第 327 期):没有链接的互联网

1、iTerm2 如何设置状态栏(英文)

iTerm2 是 Mac 电脑的终端模拟器,它有一个内置的状态栏,本文教你怎么设置。

2、我用投影仪当作显示器(英文)

作者的家庭办公室,使用投影仪当作显示器,如果你也想这么做,可以参考本文。

3、家庭机房的搭建感受(英文)

作者介绍搭建家庭机房的六点感受,其中一点是电费很贵。

4、浏览器的数据存储方法比较(英文)

本文介绍浏览器现在的几种数据存储方法: LocalStorage、IndexedDB、Cookies、OPFS、WASM-SQLite。

5、Bluesky 可以托管网站(英文)

Bluesky 是一个类似推特的微型博客服务,但使用开放协议。该协议允许上传和直接返回文件,因此可以用它托管网站。

6、Jest 与 Vitest(英文)

Jest 和 Vitest 是两个流行的 JS/TS 测试框架,本文对它们进行比较。

326科技爱好者周刊(第 326 期):世界没有那么多财富

1、排版引擎纵谈:程序员的视角(中文)

本文介绍并对比了几种排版引擎,重点是 CJK 文字处理: HTML + CSS、LaTeX、LaTeX.js、Typst 和 react-pdf。(@xiaohanyu 投稿)

2、AI 的视觉注入攻击(英文)

本文介绍如何在图片里面,进行“视觉注入”(visual prompt injections),从而欺骗 AI 模型。比如,上图男子拿着一张纸,上面写着“忽略我这个人”。

3、服务器端渲染简介(英文)

本文举例介绍网页应用的“服务器端渲染”是什么,也就是大家常说的 SSR(server side rendering)。

4、带有平铺式窗口管理器的 Linux 桌面(英文)

对于大量使用键盘的人,平铺式窗口管理器最好用。本文介绍了内置平铺式窗口管理器的 Linux 桌面环境。

5、12 个当代 CSS 的一行代码增强(英文)

本文介绍12种 CSS 的新写法,只要一行代码,就能增强网页样式。

6、如何正确使用 git worktree(英文)

git 有一个 worktree 功能,大多数人只把它当作分支功能的替代方案。作者提出,应该把 worktree 用来管理并发任务。

325科技爱好者周刊(第 325 期):VS Code 编辑器的下一站是 Zed?

1、如何简化 PATH 环境变量(英文)

Linux 系统有一个环境变量 PATH,指定可执行文件的默认路径。本文告诉你,怎么简化这个变量,更容易管理。

2、AppData 目录的作用(英文)

一篇科普文章,Windows 11 有一个 AppData 目录,它有什么用。

3、蓝牙版本的变化(英文)

本文介绍蓝牙协议如何进化,每个版本的特点是什么。

4、业务逻辑不要放入数据库(英文)

本文提出,数据库最好只用来存放数据,不要加入业务逻辑,让应用程序处理业务逻辑。

5、SAML:技术入门(英文)

一篇长文,介绍企业用的登录协议 SAML。开头部分是 SAML 简介,写得挺好,后面是技术细节,可以不看。

6、质能公式与光速(英文)

一篇物理学科普长文,谈怎么理解质能公式 E=mc^2,为什么包含光速的平方。没有数学,我觉得很有启发。

324科技爱好者周刊(第 324 期):人类已知的最大质数

1、ChatGPT 搜索 vs 谷歌搜索(英文)

上周,OpenAI 公司推出了 ChatGPT 搜索,跟谷歌发生正面竞争。

网络媒体就去对比了两者的搜索结果,结果就是一句话:谷歌有麻烦了。

2、为 Git 命令设置别名(英文)

作者介绍怎么为 git 命令设置方便的别名,比如git add -A可以设为git a

3、如何生成简历网页(英文)

作者用静态站点生成器 Eleventy(基于 JS 语言),为自己做了一张简历网页(上图),还可以本地打印为 PDF 文件。

4、我为 VS Code 贡献了代码(中文)

VS Code 内置的 TypeScript 语言服务器,有一个 bug,作者修复了这一问题。(@imbant 投稿)

5、如何将 makefile 用于 Node.js 项目(英文)

本文详细教你怎么用 makefile 管理 Node.js 项目的各种内部操作。

6、Lit 框架开发 Web Components 入门教程(英文)

一篇不错的 Lit 框架入门教程,教你怎么写一个 Web component。

7、Ruby 如何加载模块(英文)

一篇初学者教程,介绍 Ruby 程序的模块加载方法的历史演变。

323科技爱好者周刊(第 323 期):技术公司的口号比拼

1、OpenAI 如何发送数据(英文)

OpenAI 的 AI 使用“服务器发送事件”(sse),向浏览器主动发送数据,本文演示它的数据格式。

2、谷歌的三次面试记录(中文)

作者记录了在2016年、2020年、2024年三次面试谷歌软件工程师的经过。(@DoctorLai 投稿)

3、画布与文档(英文)

本文认为,网页设计已经从文档演变成画布,更有设计感。他给出了很多例子,可以当作首页设计的参考。

4、纯 Web 视频剪辑(中文)

本文介绍使用 WebCodecs API,构建一个基于网页的视频剪辑产品的原理。(@hughfenghen 投稿)

5、BGP 协议简介(英文)

BGP(边界网关协议)是互联网各个子网之间的路由协议,本文是一篇简单介绍。虽然写得不太清楚,但可以看看。

6、机器学习的嵌入(embedding)是什么(英文)

嵌入(embedding)是机器学习的重要技术,本文解释它是什么,写得不错。

7、提升 Shell 脚本用户体验(英文)

Shell 脚本难读难写,本文给出6个小技巧,可以提升用户体验。

322科技爱好者周刊(第 322 期):内容行业的内幕

1、require() 支持 ES6 模块了(英文)

最新的 Node.js 23 支持 require() 加载 ES6 模块。本文介绍这个功能,但也质疑这是否明智。

2、从 Vite 迁移到 Rspack(中文)

作者介绍他们公司,为什么将前端打包工具从 Vite 改成了 Rspack。(@bamboofive 投稿)

3、如何使用 Tailscale 架设内网 VS Code 服务器(英文)

本文介绍使用 Tailscale,在内网架设一个 VS Code 服务器,从而可以在各种设备(包括 iPad)使用远程 VS Code 编程。

4、如何自动备份 Obsidian 笔记(英文)

Obsidian 是一个很优秀的笔记工具,但是它的自动同步(备份)功能是要收费的,本文介绍一种免费的自动备份方案。

5、纯 CSS 实现网格背景(中文)

作者介绍几种方法,使用纯 CSS,实现网页背景的网格效果(上图)。(@fantingsheng 投稿)

6、Nginx 日志详解(英文)

本文详细介绍如何配置 Nginx 的访问日志功能。

7、如何用 Git Bisect 命令找出错误(英文)

git bisect 是一个很有用的命令,但是很多人不知道怎么用,本文是一个简单的示例。

321科技爱好者周刊(第 321 期):傅盛回忆录

1、SpaceX 的“筷子”式回收强在哪?(中文)

SpaceX 公司使用机械臂,夹住返回地面的火箭助推器。本文分析这种打破脑洞的回收方法的优点。

2、AI 假图在美国泛滥(英文)

美国最近遭遇了飓风,社交媒体出现了一张灾民的照片(上图),进行政治宣传,实际却是 AI 假图。这种事情在美国越来越多。

3、我们如何在五个月内推出 Threads(英文)

Threads 是 Meta 公司推出的替代品,从立项到发布,只用了五个月。

这是 Threads 工程师的一个演讲稿,介绍了该项目的开发内幕。

最有意思的一段话是,这个项目基于 Instagram 的代码库,内部人开玩笑,两者只是布局不同:Instagram 是图片在上,文字在下,Threads 正好反过来。

4、JavaScript 信号简介(英文)

“信号”(signal)是 JavaScript 引入的一个新概念,本文简单解释它是什么。

5、微软的远程桌面应用(英文)

微软推出了一个叫做 Windows App 的应用,支持苹果设备和安卓,甚至可以浏览器使用,用来打开 Windows 系统远程桌面,本文是这个 App 的介绍。

6、为什么单线程 Redis 这么快(英文)

本文解释 Redis 的单线程架构,为什么可以这么快,以及什么情况下,使用 Redis 的多线程。

7、为什么葡萄干在汽水中“跳舞”(英文)

一篇科普文章。将葡萄干放入汽水,葡萄干会上下跳动,本文解释这是为什么。

320科技爱好者周刊(第 320 期):乒乓仓

1、垫紫草的诱惑(中文)

作者是中科院植物所的研究员,讲述在云南白马雪山4800米海拔处,发现垫紫草的故事。

2、如何使用 CSS flexbox 制作时间线(英文)

一篇简单教程,教你使用 flex 布局,制作出上图的时间线(timeline)样式。

3、服务器的基本设置(英文)

本文介绍,如果自己搭建一台公开访问的服务器,怎么进行设置。

4、我如何构建自己的博客(英文)

这篇文章详细介绍作者的博客技术方案,这个方案比较复杂,基于 Next.js + MDX。

5、LLM 书签收藏方案(中文)

作者介绍了自己的书签收藏工作流:收藏书签后,自动抓取全文,并用 AI 生成页面摘要,以备未来查找和回顾。(@jerrylususu 投稿)

6、btop 使用介绍(中文)

Linux 系统一般使用 top 命令,查看系统运行情况,本文介绍更好用的 btop 命令。(@xiaobox 投稿)

319科技爱好者周刊(第 319 期):如何拍出爆款视频

1、线性代数入门(英文)

一篇简短的文章,介绍矩阵的基本概念。

2、flex 布局的表单的一个问题(英文)

作者使用 flex 布局,放置表单的 input 控件时遇到的一个小问题。

3、关于 GNU Readline(英文)

很多人不了解,在 Linux 命令行输入命令时,有很多快捷键,比如 ctrl-a(回到行首)。它们都来自行编辑库 readline。

4、TCP 什么情况下不需要三次握手?(中文)

本文介绍 TFO 机制,可以在 TCP 第一个握手请求 SYN 时就发送数据。(@duanbiaowu 投稿)

5、使用 @layer 自制一个 CSS 框架(英文)

一篇 CSS 高级教程,介绍使用 @layer 指令,自己写一个 CSS 框架。

6、演唱会发光腕带的原理(英文)

作者拆了一个演唱会的发光腕带,解释它的工作原理。

7、我用 AdGuard Home 自托管 DNS(英文)

作者详细介绍,怎么使用开源软件 AdGuard Home,搭建自己的 DNS 服务器,彻底定制 DNS 规则。

318科技爱好者周刊(第 318 期):创业咖啡馆的记忆

1、怎么写 CSS 的打印样式(英文)

本文是一篇教程,介绍网页打印样式的 CSS 写法。

2、使用 Caddy 部署 Web 应用程序(英文)

一篇长文,介绍 Caddy 如何当作 Web 服务器的初学者教程。

3、哨兵值是什么(英文)

这篇短文通过牙膏的例子,解释什么是编程使用的哨兵值(sentinel value)。

4、Stripe 公司如何招聘工程师(英文)

Stripe 公司的创始人,分享自己招聘工程师的方式,有参考价值。

5、好的重构 vs 坏的重构(英文)

有些时候,重构之后的代码比之前还难懂。本文逐一举例,分析怎样的重构是好的,怎样是坏的。

6、Node.js 的 AbortController 指南(英文)

使用 Node.js 时,取消异步操作(比如网络请求和文件系统读取)一直很棘手。本文教你怎么用 AbortController 做到这一点。

317科技爱好者周刊(第 317 期):驴子、老虎和狮子的寓言

1、余弦相似度如何计算(英文)

一篇入门的科普文章,详细解释余弦相似度的计算方法,写得不错。

2、Cursor 一个真正让程序员产生危机感的 AI 编程工具(中文)

作者对 AI 编程助手 Cursor 的使用感受和评价。(@xiaobox 投稿)

3、Accept-Language 头有什么用(英文)

HTTP 请求的数据头,有一个Accept-Language字段,作者解释网站可以用这个字段,决定向用户提供哪种语言的网页。

4、Postgres 和 Elasticsearch 全文搜索比较(英文)

全文搜索一般使用 Elasticsearch,但是 Postgres 数据库自带全文搜索,本文比较两者的优缺点。

5、什么是企业级 Linux?(英文)

有些 Linux 发行版属于“企业级”(Enterprise),本文介绍需要满足哪些特点,一个发行版才能称为“企业级”。

6、如何优化 JavaScript 代码(英文)

本文是一篇中级教程,介绍10个优化 JavaScript 代码,提高运行速度的技巧。

7、Bash 脚本高级技巧(英文)

本文介绍一些写好 Bash 脚本的技巧。

316科技爱好者周刊(第 316 期):你一生的故事

1、使用 GitLab 托管静态内容(英文)

一篇简明教程,演示如何在 GitLab 通过持续构建,部署静态网页。

2、AI 代码编辑器 Cursor 上手指南(英文)

Cursor 是最近走红的 AI 代码编辑器,底层模型是 Claude 3.5 Sonnet,代码生成要比 GPT-4 更出色。作者介绍怎么使用这个编辑器。

3、JS 垃圾收集机制的一个案例(英文)

作者发现自己的 JS 代码,出现了意想不到的内存泄漏。本文就讨论这个案例,为什么垃圾回收机制在这里失灵。

4、被低估的硬件小配件(英文)

一个老外发现淘宝/1688上面,有很多实用的硬件小配件,比如转角的 USB 接头(上图)。本文介绍他发现的这些配件。

5、云开发环境的好处(英文)

CodeSandbox 官方博客文章,介绍云开发环境(开发都在云端完成)的好处。

6、React 的混乱(英文)

本文是发在 Reddit 的一个帖子,作者写了自己的亲身感觉,总结 React 开发前端应用时存在的问题。

315科技爱好者周刊(第 315 期):一份谷歌离职报告

1、SAML 身份验证的可视化解释(英文)

SAML 是企业常用的身份验证协议和 SSO(单点登录)解决方案。本文解释它是什么。

2、现代 CSS 方式设置 table 样式(英文)

本文介绍怎么用现代 CSS,对网页的<table>标签进行样式设置。

3、如何制作 SVG 加载器(英文)

本文一步步讲解,如何写 SVG 代码,生成一个“正在加载中”的动画图标。

4、小写可以减少压缩文件体积(英文)

本文解释为什么将大写字母改成小写后,文件的压缩体积会变小,是一篇压缩算法的简介。

5、.git 子目录内部(英文)

Git 仓库的元数据都保存在 .git 子目录,本文解释该子目录里面每一项的作用。

6、方形复选框的记忆(英文)

作者认为,设计师应该遵守一个约定:复选框是方形的,单选框是圆形的。

314科技爱好者周刊(第 314 期):《黑神话:悟空》可以产业化吗?

1、CSS 终于支持垂直居中命令了(英文)

CSS 终于支持align-content一条指令,实现垂直居中了。

2、追求 O(0)(英文)

大 O 表示法用来衡量代码的效率,比如 O(n^2) 是很差的效率,O(n) 甚至 O(1) 是极高的效率。

作者提出,我们应该追求 O(0),即最快的代码是不需要执行的代码。这个观点有意思。

3、JavaScript 的并集、交集、差集语法(英文)

JavaScript 为 Set 数据结构,引入了集合运算的方法,原生支持计算并集、交集、差集。

4、自带语法高亮的字体(英文)

字体现在可以自带彩色效果,作者利用这一点,实现了纯字体的代码高亮,不需要任何脚本。(@wrenashe 投稿)

5、DuckDB 作为命令行工具(英文)

DuckDB 是一个内存数据库,本文介绍如何把它当作命令行工具,进行数据分析,取代 cut、sort、sed 等工具。

6、git worktree 介绍(英文)

本文简单介绍 git worktree 命令,让一个代码仓库同时并存多个工作目录。

313科技爱好者周刊(第 313 期):如果新加坡没有空调

1、适合老电脑的 Linux 发行版(英文)

本文介绍5种配置要求很低、适合过时硬件的 Linux 发行版。

2、回调函数转为异步迭代器(英文)

本文介绍 JS 语言的一个不太常用的语法“异步迭代器”(Async Iterator),它可以将连续的回调函数转为for await ... of循环。

3、软件工程师的必读书单(英文)

作者列出一份英文书单,包括34本程序员的必读书籍。

4、碰撞检测算法(Collision detection algorithms)(英文)

本文介绍游戏开发中,如何检测出两个物体(比如两个小球)发生相撞。

5、使用 Ruby 代替 Bash 脚本(英文)

一篇简短的教程,教你用 Ruby 语言来写 Bash 脚本,一些复杂的操作实现起来更容易。

6、tsconfig.json 的正确用法(英文)

本文主要介绍 TypeScript 的 tsconfig.json 的includereferences字段的用法。

312科技爱好者周刊(第 312 期):从英特尔看“美国制造”

1、指定 PDF 的跳转页面(英文)

很多人不知道,在 URL 链接里面可以指定,浏览器跳转到 PDF 文件的第几页。

2、从测试驱动学习 Go 语言(英文)

一篇初学者教程,从写测试用例开始,教你学习 Go 语言。

3、软考高级架构师备考记录(中文)

作者参加24年上半年高级资格”系统架构设计师“的考试并成功通过。(@jerrylususu 投稿)

4、向量搜索是什么?(英文)

本文用简单的例子,讲解如何将文本转换成向量(vector)进行搜索。

5、PostgREST 教程(英文)

PostgREST 这个工具可以为 PostgreSQL 数据库加上 REST 接口,用户就可以直接通过 HTTP 请求操作数据库。本文是一篇详细教程。

6、一步步生成一张 TLS 证书(英文)

在这篇长文中,作者演示如何手动生成一张网站的 TLS 证书,详细讲解了每个字段的含义。

7、我的异端思想(英文)

物理学家弗里曼·戴森(Freeman Dyson)的一篇长文,解释他为什么不担心全球变暖。这篇文章读起来有些费劲,但是很有启发,虽然结论未必正确。

311科技爱好者周刊(第 311 期):低利率与长期项目

1、任正非看剧(中文)

本文收录了任正非在各种发言中,对不同电视剧的评价。

2、微信小程序用户规模的 TOP50 榜单(中文)

今年上半年月活(MAU)最大的50个微信小程序。

3、证书颁发机构(CA)的通俗解释(英文)

本文用通俗语言,解释网站证书的工作原理。

4、我爱上了 Makefile(英文)

本文是一篇 Makefile 的初学者教程,介绍如何用它来简化和自动化日常的开发任务。

5、DuckDB 操作 JSON 数据(英文)

DuckDB 是一个着重数据分析的数据库,作者发现它能方便地处理 JSON 数据,比 jq 更易用。

6、Tunnelmole 入门(英文)

Tunnelmole 是一个简单易用的隧道工具,不需要配置,只要一行命令,就让公网可以访问内网服务。

7、Google 代码搜索的工作原理(英文)

谷歌曾经在2006年推出了代码搜索(上图),在2013年关闭。

本文是该功能的作者2012年写的文章,介绍实现原理,如何用三元组搜索代码,还算好懂。

310科技爱好者周刊(第 310 期):内容农场的 AI 赚钱术

1、阿里云公共 DNS 免费版限速(中文)

阿里云的免费 DNS 自9月30日开始限速,单个 IP 的请求数不能超过 20QPS,超过需要使用付费版。它开了公共 DNS 限速的先河。

2、.top域名的钓鱼问题(英文)

.top是钓鱼网站最泛滥的域名,它的注册管理商是一家中国公司。ICANN 已要求该公司采取行动,否则将吊销它的管理权。

3、JS 测试框架 Jest 入门(英文)

初学者教程,简单介绍如何使用 Jest 写测试用例。(@Faizan711 投稿)

4、Cron 定时任务入门(英文)

一篇 Linux 初学者教程,介绍如何使用 cron 设置定时任务,非常详细。

5、前端构建概述(英文)

本文综合介绍前端构建的概念、步骤和工具。

6、GitHub 的 fork 仓库的安全问题(英文)

GitHub 允许 fork 他人的仓库。只要一个仓库被 fork 过,那么就再也删不掉了,即使转为私有仓库,他人也可能看到你新提交的代码。

7、其他文章

  • 7月22日是有记录以来全球最热的一天。
  • 腾讯游戏对于未成年玩家,强制每秒自动人脸识别1次。
  • Node.js 官方添加剥离 TypeScript 类型代码功能。
309科技爱好者周刊(第 309 期):无人驾驶出租车的双面刃

1、没有404报错的网站(英文)

本文介绍一个简单技巧,不管用户输入什么网址,都从数据库找出最近似的正确网址,从而消除404报错(找不到网页的报错)。

2、使用 JavaScript 检测大写键(英文)

许多人输入密码的时候,不小心会开着大写键。本文介绍如何用 JavaScript 检测大写键是否按下。

3、一人公司的 SaaS 设施(英文)

一篇2021年的长文,作者详细介绍他怎么设置基础设施,从而一个人运作对外的 SaaS 服务。

4、如何设置 SSH 蜜罐(英文)

本文介绍怎么架设蜜罐工具 Cowrie,记录恶意登录者的行为,分析方法见后续文章

5、mock 测试是一种反模式(英文)

作者反对软件测试使用 mock,来模拟各种外部条件,提出尽量减少 mock 使用的各种方法。

308科技爱好者周刊(第 308 期):工作找不到,博士能读吗?

1、webhook 是什么?(英文)

本文解释 webhook 的概念,它其实是一种事件通知机制,既可以节省资源,又可以及时获得最新状态。

2、如何在 Linux 安装 Java(英文)

一篇初学者教程,以 Ubuntu 为例,详细介绍 Java 的安装,以及一些基本概念,比如 OpenJDK 和 OpenJRE 的区别。

3、Cookie 与 Token(英文)

本文介绍 Cookie 与 Token 的概念,各自的适用场景。

4、PostgreSQL 的 UUID 主键(英文)

本文讨论将 UUID 格式作为 PostgreSQL 数据库主键的最佳实践。

5、如何用 C 语言实现哈希表(英文)

一篇 C 语言教程,详细讲解如何实现一个简单的哈希表。

6、蒸汽机的起源(英文)

本文介绍蒸汽机的历史,它是怎么发明和制造出来的。它配有大量动画示例,这是文章的亮点。

307科技爱好者周刊(第 307 期):不要看重 Product Hunt

1、上海 MWC 参观记(中文)

上海最近举办了世界移动通信大会,本文介绍大会展出的 5.5G 通信和 AI 应用。

2、Git 的故事(繁体中文)

一篇长文,详细介绍 Git 诞生历史,也说到了 GitHub 的来历。

3、我在亚马逊 AWS 云 On Call(中文)

从2020年到2021年,我在亚马逊(AWS 云)担任软件开发工程师(SDE)。有人说 SDE 代表”Someone Does Everything”(什么都做的人),这相当准确。(@DoctorLai 投稿)

4、CSS 锚点定位(英文)

Chrome 125 引入了 CSS 锚点定位(Anchor Positioning),这种新语法使得元素之间相对定位变得异常容易。

5、如何更改 Docker 的数据目录(英文)

如果 Docker 容器分配的空间不足,如何更改它的数据目录,将其移到其他位置?

6、内存的栈和堆的区别(英文)

本文解释了内存的基本知识,不涉及细节,只解说概念,说得挺好的。

7、关于避雷的误解(英文)

本文提出野外避雷的很多建议都是错的,比如躲在大树下面,或者躲在山洞里,都不能减少雷击风险。

306科技爱好者周刊(第 306 期):信息就像糖一样上瘾

1、GitCode 全盘搬运 GitHub(中文)

国内代码托管服务 GitCode,全盘搬运了 GitHub,将后者的仓库一模一样放到自己网站上。

开源代码或许可以搬运,但把作者账户也一起搬运过来,未免太过份了。

2、new URL() 的问题(英文)

JS 的 URL() 用来解析网址,遇到非法字符串会抛错。作者认为这是一个非常糟糕的设计,并给出了解决办法。

3、t 检验是怎么来的(英文)

《科学美国人》杂志的文章,介绍一家英国啤酒厂如何促成统计学 t 检验的诞生,它的含义是什么。可能读起来有点费劲,但是写得不错。

4、HTML 属性与 DOM 属性(英文)

一篇前端初级教程,介绍 HTML 元素的属性(attribue)与 DOM 节点的属性(property)的差异,这个地方很容易混淆。

5、Bun 的 JavaScript 尾调用优化(英文)

JS 语言的服务器运行环境,目前有三种:Node、Deno 和 Bun。前两种使用 V8 引擎,而 Bun 使用 Safari 的 JavaScriptCore 引擎。

它们的“尾调用优化”(TCO)行为不一致,只有 Bun 支持,本文作者进行了测试。

6、恶意 IP 地址的可视化(英文)

作者的服务器每天收到几千次恶意访问,本文讲述他如何将这些 IP 地址的物理位置,进行可视化。

7、Python 的命令行小工具

Python 自带很多实用的小工具,不用编写脚本,就可以在命令行下直接使用。

305科技爱好者周刊(第 305 期):随机数,这是一个问题

1、AI 芯片的未来,未必是 GPU(中文)

本文认为,加速计算未必只能通过 GPU 实现,FPGA 或 ASIC 或许是更优的底层计算设备。

2、我编写自己的博客引擎的10年(英文)

作者为自己写了一个博客引擎,坚持了10年,他讲述在这个过程中学到的东西和体会。

3、CSS 的 3D 折叠效果(英文)

本文介绍如何使用 CSS 实现 3D 的页面折叠动画效果(上图)。

4、随机歌单的算法(英文)

本文介绍 Spotify 生成随机歌单的算法,要求是同一个歌手的歌曲不能连续播放。

5、ASML 总部访问记(英文)

作者访问荷兰光刻机公司 ASML 总部,在埃因霍温市的郊区,这里是他的见闻。

6、200行 JavaScript 代码实现虚拟 DOM(英文)

虚拟 DOM 是很多 JS 框架的底层基础,本文演示怎么自己从头实现它。

304科技爱好者周刊(第 304 期):最受欢迎的颜色

1、国产AI大战高考物理(中文)

媒体让多个国产 AI 模型,去解答今年的高考物理卷,看谁得分高。另有作文、数学、物理三科的模型排名

2、网络社区的信任算法(英文)

本文介绍一种算法,确定开放式的网络社区每个成员的可信度。

3、盗窃 SSH 密钥的 PyPI 和 npm 模块(英文)

最近出现了一些恶意模块,安装后会偷偷读取用户的 SSH 密钥,发到远程服务器。

4、为什么 QUIC 优于 TCP?(英文)

一篇很好的科普文章,作者介绍谷歌开发的 QUIC 协议(HTTP/3 的基础),解决了基于 TCP 的 HTTP/1.1 和 HTTP/2.0 的哪些问题。

5、如何让表格标题栏变成粘性?(英文)

本文是 CSS 初级教程,只要两行 CSS 代码,就可以让网页表格的标题栏变成粘性,不管如何滚动,始终显示。

303科技爱好者周刊(第 303 期):技术封建主义

1、如何简化布尔表达式(英文)

谷歌官方介绍代码小技巧,如果一个布尔表达式又长又复杂,如何提高可读性?

2、CSS 计时器(英文)

一篇 CSS 高级教程,介绍如何编写一个纯 CSS 的计时器,可以进行5秒倒计时。

3、如何用矢量数据库搭建一个搜索引擎(英文)

作者介绍如何用矢量数据库,快速为个人网站搭建一个搜索引擎。

4、我的 Prettier 设置(英文)

Prettier 是 JS 代码美化工具,作者介绍了一些他的设置,怎样让代码看上去比较美观。

5、理解 Docker 容器的层(layer)(英文)

Docker 容器文件是由多个层文件组合而成的,本文通过一个例子,介绍多个层如何组成一个容器文件。

另有一篇类似的文章,可以参考。

6、 傅里叶级数的动画介绍(英文)

一篇长文,从最简单的圆的方程开始,介绍傅里叶级数的概念,包含大量动画。

302科技爱好者周刊(第 302 期):创业虽然好,不敢推荐了

1、GitHub 的评论附件漏洞(英文)

本文指出 GitHub 有一个漏洞,用户可以在任意仓库的讨论区上传附件,然后这个附件的 URL 就属于这个仓库。

举例来说,我在 React 仓库的讨论区上传一个附件,这个附件的 URL 就是以 React 官方仓库的地址开头,看上去特别具有迷惑性。已经有人利用这一点,分发恶意软件。

2、2200美元的 MacBook 不支持双屏幕(英文)

作者有一台 M3 芯片的 MacBook Pro 14,价格2200美元,但是居然不支持双屏幕。只有关起笔记本,才能用双屏。2024年还有这种事,作者表示难以置信。

3、 <span>元素可以干什么(英文)

<span>是一个表示行内文本的 HTML 网页元素,本文收集了许多案例,你可以用它做各种各样的事情。

4、如何在 JavaScript 中快速读取文件(英文)

作者列出了 JavaScript 读取文件的5种方法,并且比较了它们的性能差异。

5、如何使用 mac 内置的 OCR(英文)

大家可能不知道,mac 电脑内置了 OCR(文字识别)功能,本文教你怎么使用。

6、为什么我的代码报错之前没有输出(英文)

一篇 C 语言的科普文章,解释一个有点费解的报错,关于 C 语言内置的行缓冲(line buffering)如何影响代码的执行结果。

301科技爱好者周刊(第 301 期):OpenAI 的图书馆工位

1、数据分析的 SQL 示例(英文)

本文是一篇教程,给出了几个示例,如何编写 SQL 进行数据分析。

2、PHP 老矣,尚能饭否?(中文)

本文作者是 PHP 官方 PECL 开发组成员,分析了 PHP 流行度下降的原因,存在的问题和现有的优势。(@ryantang1991 投稿)

3、如何为网页添加快捷键(英文)

作者讲解如何用油猴脚本,为网页添加自己的快捷键。

4、CSS :has() 选择器教程(英文)

本文介绍如何使用:has()选择器,特点是有大量互动示例。

5、我安装 FreeBSD 桌面的经历(英文)

FreeBSD 是 Unix 系统的正统后代,很少有人选它作为桌面系统。万一你想这么做,可以参考这篇文章。

6、xargs 是 echo 的逆操作(英文)

xargs 是一个重要的 Linux 命令,本文讲解它到底有什么用。

300科技爱好者周刊(第 300 期):三十年,解决人生三大问题

1、一个不知名的开源项目可以带来多少收入?(中文)

三年前,作者决定做一个开源的开发工具。三年过去了,这个项目怎么样了,赚了多少钱。(@zhouyanliang 投稿)

2、5个改善用户体验的 HTML 属性(英文)

本文介绍5个不常用的 HTML 属性。

3、现代 JavaScript 框架是如何工作的(英文)

作者通过示例,解释反应式的 JavaScript 前端框架的核心原理,并且自己实现了一个最简框架。内容还可以,但是写得不易读。

4、Emoji 正则匹配(中文)

本文介绍一个 JS 技巧,如何用一个简单的正则表达式匹配 Emoji 表情符号。(@Spike-Leung 投稿)

5、Linux 容器的底层技术(英文)

一篇非常简单的文章,列出了容器技术底层依赖的几个 Linux 技术。

6、Steam Deck 的五个杀手级功能(英文)

作者非常喜欢便携式游戏机 Steam Deck,列出了五个他最喜欢的点。

299科技爱好者周刊(第 299 期):AI 的关键是语料

1、CPU 超频的天花板(中文)

很多玩家喜欢超频 CPU,越快越好。但是,到达物理极限后,就很难突破。用了整整15年,世界纪录才从 8G Hz 提高到 9G Hz。

2、空的 S3 存储桶也能产生费用(英文)

亚马逊 S3 是最流行的存储云服务,作者建了一个空存储桶,万万没想到,没有写入任何数据,两天居然产生了1300美元的费用。

3、2024阿里巴巴全球数学竞赛预选赛(中文)

作者参加2024阿里巴巴全球数学竞赛预选赛,全部七道题只会做第1、2、6题,他分享了自己的解答。(@longluo 投稿)

4、Git 的离线使用(英文)

作者介绍没有网络怎样备份 Git 仓库,比如把本地仓库推送到 U 盘。

5、如何为项目设置打卡点(英文)

本文介绍一种便捷方法,使用 Makefile 在代码仓库里面设置打卡点(checkpoint)。

6、服务器实时消息获取的技术方案(英文)

本文比较了浏览器获得服务器实时消息的五种技术方案:WebSockets、服务器发送事件、长轮询、WebRTC、WebTransport。

298科技爱好者周刊(第 298 期):轮到硬件工程师吃香了

1、Linus Torvalds 最新访谈(中文)

Linux 创始人 Linus Torvalds 最新访谈的中译,主要谈到了最近的 xz 后门事件,以及对 AI 的看法。

2、CSS 网格实现经典出血布局(英文)

一篇非常好的教程,讲解使用 CSS 网格(grid)实现页面的出血布局(即图片占用边距,占满整个行宽)。

3、如何申请免费的 ZeroSSL 证书(英文)

ZeroSSL 跟 Let's Encrypt 一样,提供免费的 SSL 证书。它的用户界面比较友好,并且有一些付费的额外功能。本文教你如何申请该证书。

4、联手 Copilot,我在10个小时内上线了一个前端网站(中文)

作者只有前端基础,通过使用 GitHub Copilot,在短时间内完成一个 React 前端项目,并总结了一些使用 Copilot 的技巧。(@LeslieLeung 投稿)

5、我的推特增长策略(中文)

作者从去年末开始做推特账号运营,且发帖频率很低,如今涨了8000关注,本文总结增长策略。(@dongan-beta 投稿)

6、JS、Go、Rust 处理报错的不同方式(英文)

作者比较 JS、Go、Rust 这三种语言处理运行时报错的不同方式,认为 JS 应该向后两者学习。

7、rep 和 ren:替换和重命名的新工具(英文)

作者介绍他写的两个命令行工具,可以跟 grep 和 find 结合使用,大批量地替换和重命名文件。

297科技爱好者周刊(第 297 期):饮水鸟玩具

1、我如何搭建一个相似图片搜索引擎(英文)

作者使用向量嵌入技术,为自己的图片加了一个相似图片搜索功能,意外发现非常简单。

2、与 Tailscale 一起旅行(英文)

有些网络服务有地域限制,比如只限于美国境内使用。本文的前半部分介绍一种简单的 Tailscale 用法,让你在出国期间也能用本国的服务。

3、UUID 的用户体验(英文)

UUID 指的是独一无二的 ID 标识符,本文讨论怎么让它对于用户更好用。

另外,UUID 有多个版本,这里解释各版本的差异。结论是,一般情况使用 UUIDv4,如果需要单调递增,使用 UUIDv7。

4、如何找到 Chrome 的崩溃原因?(中文)

Chrome 浏览器打开页面时,经常崩溃,作者就从闪退时产生的 Crash dump 文件,着手寻找崩溃原因。(@linxiaowu66 投稿)

5、理想的 PR 长度为50行(英文)

GitHub 提交 PR 的最佳长度是多少?本文认为是50行,可接受范围为25行~100行。

少于25行,代码变动会过于频繁和琐碎;多于100行,提交的复杂度和审查时间都会增加。

6、为什么我不看好 Tailwind(英文)

Tailwind 是当红的 CSS 框架,最大卖点为样式代码的复用。作者解释,为什么他不喜欢也不看好这个框架。

296科技爱好者周刊(第 296 期):xz 后门的作者 Jia Tan 是谁?

1、史上首位图灵和阿贝尔双料获奖者(中文)

计算机科学的最高奖“图灵奖”刚刚揭晓,普林斯顿高等研究院的数学教授艾维·维格森(Avi Wigderson)。他还拿过数学界的最高奖“阿贝尔奖”,是唯一一位双料获奖者。

2、可以替代 React 的框架(英文)

这篇长文对 React 框架提出批评,认为它的很多做法已经过时。文章后半部分介绍了各种可以替代 React 的前端框架。

3、如何生成键盘输入统计看板(英文)

本文介绍使用一个 Python 脚本,统计用户在当前计算机按下了什么键。(@tisonkun 投稿)

4、Claude AI 能做,而 ChatGPT 不能做的四件事(英文)

Claude 是 Anthropic 公司推出的大规模语言模型,有免费版和收费的 Pro 版。本文比较了 Claude 强于 ChatGPT 的四个地方。

5、如何将 Caddy 作为反向代理(英文)

一篇初学者教程,介绍如何用 Caddy 架设反向代理服务器,它的设置比 nginx 简单,而且自动生成和更新 HTTPS 证书。

6、我后悔重构了代码(英文)

著名程序员 Dan Abramov 的一篇旧文。他曾经觉得同事的代码太冗余,就擅自重构了,让其变得干净。

但是,他后来认识到,那些冗余的代码有可取之处,抽象反而不利于日后的扩展。

295科技爱好者周刊(第 295 期):巧妙的灯泡钟

1、畅游 LLM 的世界(英文)

如果在家用电脑上安装 LLM(大型语言模型),应该选择哪一个模型?

本文分析并评价了目前最流行的几个 LLM 的基本情况和优缺点。

2、追寻 archive.today 的管理员(英文)

archive.today 是一个神秘的网站,可以生成网页的备份,供在线查看。没人知道谁建立了这个网站。本文试图找出答案。

3、微信早期的消息收发架构(中文)

本文是一篇简化的介绍,讲解微信刚刚建立时,怎么做到消息的收发。(@ryantang1991 投稿)

4、OPFS API 及工具介绍(中文)

网页脚本如果要跟本地文件系统交互,是很不方便的。目前,浏览器有一个 OPFS API,为网页提供一个虚拟的本地文件系统,本文介绍它的用法。(@hughfenghen 投稿)

5、如何管理多个 Git 身份(英文)

Git 使用时,需要指定用户名和邮件地址。本文教你一种简单的方法,不同的项目自动切换 Git 身份。

6、我在 Mac Mini 运行 Asahi(英文)

Asahi 是一个专门为苹果 ARM 芯片开发的 Linux 发行版,作者将其安装在 Mac Mini 上面,得到了一个他见过的最快的 Linux 桌面。

7、如何用 CSP 防止 XSS 注入攻击(英文)

本文讲解怎么使用浏览器的 CSP(内容安全策略),防止网页被 XSS (跨站点脚本注入攻击)。

8、什么是生锈(英文)

本文向普通读者介绍,生锈相关的各种知识,里面穿插了许多奇闻轶事。上图中,信箱已经生锈了,背后的镀锌板却完好无损。

294科技爱好者周刊(第 294 期):崖门海战的感想

1、女儿喜欢飞机,我为她做了一个雷达 App(英文)

作者介绍自己使用开源数据,为苹果手机做了一个雷达 App,能够显示飞机在头顶的实时方位。

2、Web 组件如何适配 JS 框架(英文)

Web 组件是浏览器原生的组件格式,本文介绍怎么将这种格式用于各种 JS 前端框架。

3、Python 很简单,Go 很清晰(英文)

作者比较了 Python 和 Go 两种语言,认为前者易学(easy),后者更清晰明白(simple),不易出错,可以将它们结合使用。

4、CSS 的悬挂标点属性(英文)

如果标点正好在行首或行尾,是否要跟上下文对齐?这就要用到 CSS 的hanging-punctuation属性。

5、epoll API 介绍(英文)

Linux 有一个 epoll API,能够高性能地处理网络请求。它是整个互联网的基础,JS 语言的异步处理就基于这个 API。

6、如何简化多个 if 的判断结构(英文)

编程实践中,往往连续使用多个 if 进行判断,这种代码非常冗余,也不易读,本文讨论怎么简化它。

7、探索 Podman(英文)

Podman 是 Docker 的替代品,本文是它的初学者教程。

293科技爱好者周刊(第 293 期):一周是一年的2%

1、黄仁勋斯坦福大学演讲(中文)

2024年3月初,英伟达CEO黄仁勋回到母校美国斯坦福大学,进行了两次演讲,讲述了自己的经历和对 AI 的看法。这是演讲的中文翻译。

2、Meta 的 H100 集群细节(中文)

Meta 公司公布了他们的 AI 集群细节。大家可以看看,AI 需要投多少钱。

他们现在有两个集群,每个集群包含了24576块英伟达 H100 GPU(上图)。H100 的价格是2.5万美元~4万美元/块,也就是说,每个集群就要花费数亿美元。

更厉害的是,他们计划今年年底前,将 H100 扩充至35万块,远期达到60万块。

3、注释可以减少技术债务(英文)

作者列举了代码注释的好处,论述得很好,然后大力推荐使用 Javadoc。

4、VS Code 的垂直 Tab 页(英文)

本文介绍如何在 VS Code 编辑器里面,放置一个垂直的边栏,进行标签切换。

5、Linux 服务器加固指南(英文)

你架设了一台 Linux 虚拟主机,如何让它变得更安全,本文列出了详细的操作步骤。

6、家庭电子实验室设置指南(英文)

作者介绍他的家庭电子实验室的配置,喜欢玩电子装置的朋友可以参考。

7、为什么去赌场是个坏主意(英文)

作者写了一些简单的小程序,使用蒙特卡罗模拟,演示如果不断博彩(比如1000次)会是多少收益。

292科技爱好者周刊(第 292 期):所有代码都是技术债

1、OpenAI 回应马斯克的长文(中文)

马斯克起诉 OpenAI,称后者违背开源承诺,成为微软的盈利性子公司。

这篇是 OpenAI 长篇回应的中文翻译(英语原文),透露了很多内幕。主要内容是 AI 需要大量算力和资金,所以不得不成立盈利性部门,马斯克当年对此知情,并表示支持。

2、Perplexity 会是“搜索的未来”吗?(中文)

英伟达 CEO 黄仁勋向媒体透露,他每天都使用 AI 工具 Perplexity 进行搜索。本文介绍这个对话式搜索引擎。

3、入行 15 年,我还是觉得编程很难(中文)

腾讯技术专家对其15年程序人生的思考,总结了8点经验看法。

4、100万级安装量的开源作品,一年有多少打赏收入?(中文)

作者在自己的开源作品里面,放了一个赞赏码,一年带来330元的收入。(@xxxily 投稿)

5、HTML 的 Switch 控件(英文)

Safari 17.4 引入了一个新的表单控件“滑块开关”(switch),从而将 iPhone 的这个控件带入了网页。

6、为什么我选择 Tauri 而不是 Electron(英文)

作者本来使用 Electron 开发跨平台桌面应用,后来改成了 Tauri。本文讲述了原因,以及他的感受。

7、text-wrap 的换行控制(英文)

长文本的自动换行,由 CSS 的 text-wrap 属性控制。本文讨论如何使用这个属性,让标题产生更美观的自动换行。

8、计算机从哪里获取时间?(英文)

计算机从 NTP(时间服务器)获取当前时间,但是 NTP 的时间又从何而来?本文图文形式地介绍人类如何确定时间。

9、如何在 Windows 上测试 Safari(英文)

苹果的 Safari 浏览器现在没有 Windows 版,本文教你一种方法,依然可以在 Windows 上测试这个浏览器。

291科技爱好者周刊(第 291 期):AI 没有护城河

1、AI 核心圈的第三位华人(中文)

本文介绍超微电脑(Super Micro Computer)创始人梁见后(Charles Liang)。他的公司主要生产 AI 服务器,最近股价暴涨,成为黄仁勋、苏姿丰之后,AI 核心圈的又一风云人物。

2、MacOS 的图片处理工具 sips(英文)

很多人不知道,MacOS 自带一个命令行工具 sips,可以进行各种图片处理,还支持 JS 编写的脚本。

3、structuredClone() 详解(英文)

JS 新增的全局方法structuredClone()可以实现对象的深拷贝。本文详细介绍该方法相比其他方法的优点,以及局限。

4、B 树原理解释(英文)

数据库使用 B 树作为数据结构,能够加快查询速度,本文介绍它的原理。

5、6个工程师如何支撑每月1100万用户(英文)

2012年,Pinterest 成立不到两年,每月用户就达到了1100万,这时它只有6个工程师。本文介绍 Pinterest 的早期架构,如何用最少的人力支撑大量用户。

6、一些有用的 Bash 别名(英文)

Bash 的 alias 命令可以为常用操作设置别名,作者介绍自己常用的一些别名,挺有借鉴意义。

7、如何通过网页完成 SSH 登录(英文)

SSH 登录是命令行下完成的,但是可以让用户在网页上操作命令行窗口,本文介绍详细步骤。

8、我开发 macOS 应用的获利(英文)

作者是一个罗马尼亚开发者,依靠出售自己开发的 macOS 应用谋生。本文透露他2023年的运营情况,总收入10万美元,获利近7万美元。

290科技爱好者周刊(第 290 期):苹果头盔的最大问题

1、Web 终极拦截技巧(中文)

本文介绍 Web 平台常见的拦截 HTTP 通信的方法,以及如何注入拦截代码。(@hughfenghen 投稿)

2、剖析 SSL 证书(英文)

本文通俗地介绍,如何查看 HTTPS 证书的内容,以及证书各部分的简单含义。

3、浏览器的自发连接(英文)

本文列出浏览器打开时,自动发出的 HTTP 请求。举例来说,Firefox 打开时自动发出15个请求,Chrome 12个,Edge 21个。

4、响应式视频播放器的 Web 组件(英文)

一篇详细的教程,通过一个响应式视频播放器,教你怎么写 Web 组件(Web Components)。

5、如何构建一个窃取一切的 Chrome 插件(英文)

作者提醒大家注意,浏览器插件可以读取用户的所有信息,发到远程服务器,因此不要随便安装。她还提供了一个演示。

6、Base32 编码解释(英文)

本文详细解释 Base64、Base32、Base8 等等是如何编码实现的。

7、SSH 登录如何实现双因素认证(英文)

本文是一篇教程,详细演示 SSH 登录服务器时,如何开启双因素认证。

8、开发者需要知道 GPU 知识(英文)

AI 大量使用 GPU 运算,本文介绍开发者需要知道的 GPU 知识。前半部分是概念,后半部分是 GPU 编程,可以只看前半部分。

289科技爱好者周刊(第 289 期):宽容从何而来

1、中美企业服务市场差异浅析(中文)

本文作者是一家企业软件供应商,在中国和美国都有客户。他比较两国企业软件市场的差异。

他提到,中国客户喜欢自己搞“in-house”实现,不喜欢购买外部服务,更不喜欢订阅。而且,买的时候希望一个产品提供 N 个本应由不同工具链完成的功能。

2、为什么 Laravel 这么优秀(中文)

Laravel 是 PHP 生态中最流行的框架,本文介绍 Laravel 的设计,以及作者为什么喜欢使用它。(@godruoyi 投稿)

3、中国开发者上传盗版视频到 NPM(中文)

一个国外安全团队发现,748个 NPM 模块包含视频文件。也就是说,有人利用 NPM 托管视频,内容是盗版的《武林外传》。很难理解,他为什么这么做?

4、谷歌删除搜索缓存链接(英文)

网友发现,谷歌已经从搜索结果页面删除了缓存链接,不能点击查看页面缓存。

但是,缓存结果依然保存在谷歌服务器,可以手动用cache:指令查看。本文给出了解决方案,它的留言里还有写好的书签工具。

5、SQLite 可以替代 MySQL 和 PostgreSQL 吗(英文)

SQLite 一般用于单机的嵌入式数据库,但是最近发展得越来越好,作者讨论是否可以把它用作服务器的主数据库。

6、如何在没有信号的地方找到手机(英文)

作者的朋友野外露营时,手机找不到了,不知道忘在家里,还是遗失在露营地。作者提出一种方法,可以找到手机。

7、为什么你几乎不可能移民美国(英文)

很多人以为,在美国待上几年,就能获得绿卡(永久居留权)。本文告诉你这种看法是错的,从概率上看,外国人几乎不可能(合法)移民美国。

本文最有价值的部分,是用通俗的语言解释了美国复杂的移民制度。

288科技爱好者周刊(第 288 期):技术写作的首要诀窍

1、高德地图如何实现红绿灯倒计时?(中文)

高德地图会显示,红绿灯倒计时读秒。本文介绍背后的专利。

2、2023年前端技术盘点与展望(中文)

腾讯云开发者公众号与腾讯 MoonWebTeam 前端团队联合推出的长篇技术报告。(@ryantang1991 投稿)

3、JS 空数组的 every() 方法(英文)

every() 方法对于空数组总是返回 true,这是为什么。

4、8个开源密码管理器介绍(英文)

密码管理器用来管理各种登录密码,本文介绍8个开源的密码管理器。

5、令人震惊的 CSS 动画效果(英文)

本文介绍一些高级的 CSS 动画技巧。

6、HTTP/3 详解(英文)

一组系列文章,向初学者介绍 HTTP/3 协议的设计,以及与 HTTP/2 的不同之处。

7、CPU 制造过程图解(英文)

作者使用大量图片,简明通俗解释如何从石头制造出 CPU。读了以后,对于 CPU 的制造流程就有一个大致的了解。

287科技爱好者周刊(第 287 期):禄丰恐龙谷记行

1、WebCodecs 介绍(中文)

WebCodecs 是一个新的浏览器 API,提供音视频的编解码能力的标准接口。本文介绍这个 API,并提供 demo。(@hughfenghen 投稿)

2、Windows XP 2024(英文)

Windows XP 常常被视为最成功的 Windows 版本,但早在2008年就停止了销售。

最近,网友发布了一段自制视频(上图),如果微软2024年继续发布 Windows XP,它会是什么样?看上去非常惊艳,Windows XP 的设计一点没有过时。

3、树莓派 5 可以用作桌面电脑吗?(英文)

去年10月,树莓派 5 开始发货,CPU 处理能力是上一代的“两到三倍”。

作者把它当作主力的桌面电脑使用,用了两个星期,本文是他的使用体会。简单说,就是一句话:可以当作工作电脑,但很痛苦。

4、JavaScript 的双重否运算(英文)

本文介绍 JS 的否运算(~),特别是连续执行两次(~~)的用途。

5、世界首座第四代核电站(中文)

去年12月6日,全球首座第四代核电站——山东石岛湾核电站投入商业运行。

根据设计,它是最安全的核电站,不会熔毁,也不会外泄。因为它采用了燃料球(下图)和氦气冷却,不需要水冷。

6、13个著名的 Node.js 库(英文)

本文介绍一些 Node.js 的常用库。

286科技爱好者周刊(第 286 期):蓝色指示灯的解决方案

1、我的 Pascal 编程经历(中文)

Pascal 语言之父尼克劳斯·沃斯(Niklaus Wirth)本周逝世。作者回忆了自己从小使用 Pascal 语言的经历。(@DoctorLai 投稿)

2、OpenWrt 将推出自己的路由器(中文)

著名的开源路由器操作系统 OpenWrt,为了庆祝项目20周年,将推出了一款自己设计的路由器,价格低于100美元,特点是刷机刷不死。

3、embeddings 是什么意思(英文)

GPT 模型的基础是一种叫做 embeddings 的技术,用来将文本转换成向量,从而可以计算出文本之间的相似度。

4、如何估计不重复元素的个数(英文)

本文提出一种很有趣的算法,估计一个数列里面不重复元素的个数,关键是它只使用指定大小的内存。

5、网络推送揭秘(英文)

作者写了一个简单的实现,解释渐进式 Web 应用程序的网络推送(Web Push),即怎么向用户推送通知。

6、集装箱船的秘密语言(英文)

集装箱轮船往往画着很多符号(上图),本文简单介绍它们的意思,对轮船感兴趣的朋友,可以看看。

285科技爱好者周刊(第 285 期):为什么 PPT 不如备忘录

1、争夺太空的拉格朗日点(英文)

“拉格朗日点”指的是受到地球和太阳引力相等的位置。处于这个位置的飞行器,不需要耗费能源,就可以长期停留。这样的位置一共有五个。

本文是一家美国媒体的报道。“拉格朗日点”并没有军事价值,而且每个点其实都是一个巨大的区域,但是美国国会议员要求,美国要抢在中国前面,占据所有的拉格朗日点。

2、Wi-Fi 7 解决了什么问题(英文)

本文介绍了 Wi-Fi 7 的几个主要特点,相比前一个版本的优势在哪里。

3、负数的取模问题(英文)

计算机编程有取模运算(mod),获取整除的余数。问题是负数的模怎么算?比如-13除以3的余数,一些编程语言是1,另一些编程语言是-2。

4、Python 变快的9个技巧(英文)

本文介绍9个让 Python 代码变得更快的小技巧。(@ZhouYang1993 投稿)

5、Podman 与 Docker 的比较(英文)

Docker 和 Podman 都是容器工具,很多功能是重合的。本文介绍它们各自的优缺点。

6、近似值的一个取值技巧(英文)

如果知道一个数值变量的上限和下限,那么有一种快速的方法,快速获取该变量更准确的近似值。

比如,已知变量e的大小范围是19/7 < e < 87/32,就可以快速得到它的近似值。

284科技爱好者周刊(第 284 期):YouTube 有多少个视频?

1、为什么手机最后1%的电可以用很久?(中文)

本文介绍手机剩余电量的计算方法。

2、如何在 Windows 删除 Edge(中文)

微软为了遵守欧元区的监管规定,允许该区域的用户卸载 Edge 并移除 Bing。网友找到了变通方法,让非欧元区的用户也能卸载 Edge。(@WFANG12719 投稿)

3、iPhone 允许应用追踪用户(中文)

iPhone 有一个 API,能够获取用户的 WiFi 接入点,从而在用户无感知的情况下对其精确定位,该功能还无法关闭。

4、了解图形系统 X(中文)

Linux 图形环境的底层是 X 图形系统,本文对它进行一个通俗的介绍。(@silaoA 投稿)

5、开源公司的生与死(英文)

一个外国人程序员购买了中国产的 3D 打印机 Bambu Lab A1。他很喜欢这台打印机,感叹中国公司基于其他人的开源软件,做出了更好的产品,威胁到了原始的开源公司的生存。

6、如何用 Node.js 写一个命令行工具(英文)

本文介绍如果用 Node.js 的标准库,不加载任何外部模块,写一个命令行工具。

7、如何拷贝 Windows 不能拷贝的文本(英文)

本文介绍三种方法,在 Windows 拷贝那些无法拷贝的文字,比如窗口面板上的文字(上图)。

8、Firefox 的多账户容器(英文)

Firefox 允许新建容器,在容器里面访问某个网站。这不仅可以保护隐私,还可以同时登录单个网站的多个账户。

283科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走

1、Have I Been Pwned 的创始人(英文)

“Have I Been Pwned”(上图)是一个著名的密码泄漏检查网站,输入邮件地址,它会显示你的密码是否泄漏。本文介绍该网站创始人的故事(下图)。

2、Linux 如何安装字体(英文)

本文总结了 Linux 安装字体的各种方法。

3、浏览器的67个调试技巧(英文)

浏览器的开发者工具怎么调试 JS 脚本,本文介绍67个高级技巧。

4、ESLint 新规则:禁止常量运算式(英文)

本文介绍 ESLint 的一条新规则no-constant-binary-expression,如果一个 JavaScript 运算式的运算结果为常量,就报错。

5、构建 Web 应用的四种方法(英文)

本文总结了目前架设网站的四种方法:静态网站、云函数、服务器、容器。

282科技爱好者周刊(第 282 期):电动皮卡 Cybertruck 的 48V 供电

1、2023年 CSS 发展总结(中文)

Chrome 团队的总结,2023年 CSS 增加了哪些功能。

2、一个越南程序员的阿里之旅(英文)

作者是一个越南程序员,原来在 Lazada 工作。后来,Lazada 被阿里收购,他就来到阿里,在杭州西溪园区呆过一段时间。

现在,他已经跳槽到 Booking.com,本文是他讲述自己的故事,以及对阿里的感受。

3、互联网档案馆参观记(英文)

互联网档案馆(Internet Archive)是一个神奇的项目,目标是为 所有网址 保存一个备份,免费供大众查阅。

它在加州的总部可以购票参观,作者就去参观了,还遇到创始人为他们讲解。

4、如何使用 Fail2ban 保护 SSH(英文)

一篇初学者教程,教你如何在 Linux 上使用 Fail2Ban,防止服务器被暴力破解密码。

5、Web 组件比 JavaScript 框架更长久(英文)

作者需要一个页面效果,最终选择了 Web 组件来实现,这样可以与任何框架匹配。否则,换了一个框架,就需要重新实现。

6、静态资源的缓存标头应该怎么写?(英文)

网站的静态资源,通常不会经常变动,它们的缓存应该怎么写 HTTP 标头呢。

7、如何将 MP3 文件转为 Opus 格式?(英文)

Opus 是新的音乐编码格式,比 MP3 音频质量更好,而且压缩后体积还更小。

8、如何降低手机的亮度(英文)

有时候,即使调到最暗,手机屏幕依然很亮,本文教你如何在苹果和安卓手机上,将屏幕调到极暗。

9、如何使用 GPT-3 解析非结构化数据(英文)

作者演示一个实例,如何用 GPT-3 将公司的招聘帖子转成 JSON 数据。

281科技爱好者周刊(第 281 期):新基建的政策选择

1、北京市的 AI 鸟类识别监测系统(中文)

本文介绍北京市如何通过 AI 系统,对保护鸟类进行识别和统计。

2、Cygwin 是什么(中文)

Cygnus 公司为 Windows 做了一个中间层,提供大部分 Linux 的 API,使得 Linux 软件可以运行在 Windows。(@silaoA 投稿)

3、GitHub 2023年统计报告(英文)

GitHub 官方的报告,美国用户数量依然第一,中国去年被印度超过,从第二变到第三。(@WFANG12719 投稿)

另外,维基百科公布了今年访问量最大的页面,ChatGPT 第一,印度的板球世界杯和板球联赛第三和第四。印度在互联网世界的影响,真是越来越大了。

4、纪录片《Aardvark'd》(英文)

2005年,一个导演来到 FogCreek 公司,拍摄四个实习生的生活,一共拍摄了三个月,后来就剪成了下面这部纪录片。

很可惜,没有多少人看过。现在,它已经放上了 Youtube,可以免费观看。

但是,真正有意思的事情是,18年过去了,这四个实习生过得怎么样。这篇文章就是他们的人生故事。

5、我用自行车 GPS 订披萨(英文)

作者是一个业余自行车选手,参加比赛时,因为骑得慢,到达终点时,热披萨都被抢光了。

他就写了一个程序,一旦自行车 GPS 信号距离终点20英里,就自动发出一个请求,向披萨店订购披萨。但是,这个程序没有运行成功,他就开始寻找原因。

6、llamafile 是运行 LLM 最方便的方法(英文)

上周,Mozilla 发布 llamafile。这是运行 AI 模型最方便的方法,只要下载一个二进制文件,就能在本地运行模型。本文是操作步骤介绍。

7、JavaScript 中验证 URL 的新方法(英文)

JS 新增了一个 URL.canParse()方法,可以验证字符串是否为有效 URL。

280科技爱好者周刊(第 280 期):机器点餐与宅文化

1、龙芯 3A6000 发布(中文)

本周,国产 CPU 龙芯 3A6000 发布。B 站有测试视频,它设置在 2.5GHz 时,性能跟 i5-14600K 接近,并可超频到 3GHz。国产芯片能达到这样的水平,让人刮目相看。

2、我在谷歌的18年(中文)

作者在谷歌工作了18年,本月辞职。他写了这篇文章,痛批谷歌已经蜕变,不再有公司创立时的理想主义,成了一家充满官僚主义的平庸大公司。

本文是对此事的中文报道,另有英文原文中文译文。(@yangchuansheng 投稿)

3、我对中国电动汽车的热爱(英文)

作者是美国的一个电池专家,最初只是猎奇,不料发现阿里巴巴上面,都是又奇怪又便宜的电动车。

他忍不住就买了一辆,托运到美国,从此一发不可收,写了很多中国低价电动车的介绍文章,在美国出名了。

4、大多数 AI 创业公司注定失败(英文)

作者是一个风险投资家,看好 AI,但不看好 AI 创业公司。本文是他的理由,其中一条是“如果你在周末构建了它,其他人也可以”。

5、为什么 Web Components 不流行(英文)

Web Component 技术诞生已经10年了,至今没有流行。为什么这样一种浏览器原生支持的技术,发展不起来?作者分析了它的一些设计失误。

6、Deno Cron 发布(英文)

JS 云服务 Deno Depoly 宣布,推出定时运行功能 Deno Cron。如果需要定时执行 JS 脚本,以后多一个选项。

7、六大平台的游戏开发评价(英文)

作者是一个游戏开发者,比较了六大平台(Web、Windows、Mac、Linux、Android、iOS)的开发优劣。

8、Dobb·E 家务机器人(英文)

纽约大学的研究团队设计了一个家务机器人,专门供家庭使用,设计目标是“便宜 + 通用”,通过观看人类动作,实现模仿。他们现在公开了设计。

279科技爱好者周刊(第 279 期):网络社区的悲剧

1、Starship 火箭第二次轨道级飞行情况分析(中文)

上周,美国的登月飞行器 Starship 进行了第二次发射,结果在空中爆炸。北京星际荣耀团队写了万字长文,对这次发射进行分析。

2、《中国企业家》专访 Sam Altman(中文)

Sam Altman 被 OpenAI 董事会赶下台前几天,接受了《中国企业家》杂志的专访,不过内容比较普通。(@Lyeragain 投稿)

3、ChatGPT 使用入门(中文)

作者结合自己的使用感受,详细介绍了ChatGPT 注册、开通、使用技巧和原理。(@guojingwen 投稿)

4、Linux 命名管道简介(英文)

本文是“Linux 进程间通信”的系列文章之一,作为初级教程,介绍命名管道的概念,写得简洁清晰。同系列的《套接字》《Unix 信号》也可以看一下。

5、Target="_Blank" 属性的安全漏洞(中文)

一篇老文章,介绍网页<a>标签的target="_blank"属性打开新窗口时,会使得新窗口可以引用原始窗口,因此可能有安全风险。

6、高空照片的投影处理(英文)

我们在飞机上拍的高空照片,怎么把它跟地图对应起来,完成梯形校正,作者介绍了一种简单方法。

7、React 服务器组件的体会(英文)

React 框架最早是客户端渲染(CSR),后来增加了服务器渲染(SSR),现在又开始推广服务器组件(RSC)。

作者最近迁移到服务器组件,这篇长文就是他的感想,并给出了使用建议。

8、curl 支持 IPFS 协议(英文)

老牌工具 curl 最近开始支持抓取 IPFS 协议的网页,本文介绍一些背后的考虑,具体用法参考文档

278科技爱好者周刊(第 278 期):棘手的 AI 版权

1、如何发布一个 TypeScript 软件包?(英文)

TypeScript 语言写的软件包,怎么发布到 npm 上面?

2、C++ Fiber 基础知识(英文)

React 引入了 Fiber,这个词到底是什么意思?它其实来自 C++,本文就介绍 C++ Fiber 的基本知识,前半部分都是通俗的讲解。

3、被复制最多的 StackOverflow 代码片段(英文)

问答网站 StackOverflow 里面,被最多人复制的代码片段是什么?本文告诉你,这段代码里面其实还有一个小错误。

4、可拖动对象的网页实现(英文)

作者详细讲解,如何在网页上实现一个可以拖动的对象,并且鼠标和触摸都可以拖动。

5、自适应文本框的 CSS 实现(英文)

用户输入文本,如何让网页输入框随着文字的增加,自动增加高度?不用 JS,只用 CSS。

6、如何生成虚拟的世界地图(英文)

作者想写一个环游世界的游戏,就用算法生成了一张虚拟的世界地图。虽然看不懂技术,但是每一步都有图片,很好玩。

7、英国青少年动画比赛的最佳动画(英文)

今年英国青少年动画比赛的头奖得主,是一个16岁的少年。他的作品《机器人做串串》的制作水准,让人惊叹。

277科技爱好者周刊(第 277 期):工作台副屏的最佳选择

1、如何训练 AI 生成个人肖像(英文)

作者演示,上传一组自拍照供 AI 训练,然后就能根据提示,生成你的个人肖像。

2、Chrome 的 Headless 模式升级(英文)

从 Chrome 112 开始,Headless 模式(无 UI 模式)得到了升级,与 Chrome 浏览器的实际行为完全一致,本文介绍基本用法。

3、我的创业故事:两年内从零到每月4.5万美元(英文)

一个越南程序员的自述,辞职两年,做了4个应用,最近收入达到了每月4.5万美元。

4、男孩概率问题(英文)

本文讨论一个概率问题:有两个孩子,已知一个是男孩,请问另一个也是男孩的概率是多少。很多人会回答是50%,这个答案是错的。

5、Twitter 社区笔记的算法(英文)

Twitter 今年推出了一个“社区笔记”功能,允许用户对别人的发言撰写笔记,其他用户可以对这些笔记进行投票,系统自动选出一条,跟原始发言一起展示。本文分析该功能背后的开源算法。

6、分片不等于分布式(英文)

本文区分两个概念,数据库分片(sharding)不等于分布式数据库。

7、如何让字体等比例缩放?(英文)

本文介绍使用 CSS,将字体缩着窗口大小等比例缩放。

276科技爱好者周刊(第 276 期):内容行业的衰落

1、“苹果皮”复活(中文)

美版的 iPhone 只支持 eSIM,不支持实体 SIM 卡。国内现在出现了一款手机壳,让美版 iPhone 可以使用实体 SIM 卡。

2、你的文件位于 Git 仓库哪里?(英文)

作者通过找出某个文件在.git目录的位置,介绍 Git 的原理。

3、我如何在网上保持匿名(英文)

作者介绍自己在网上防止被追踪而采取的各种措施。

4、Remix、Next.js 和 Gatsby 的比较(英文)

标题里面的三个框架都基于 React,自带后端,本文比较了它们的特点。

5、Instagram 的早期架构(英文)

Instagram 在2010年10月发布,一年之内就拥有了1400万用户。它那时只有3个工程师,他们怎么设计后端架构,支持这么多用户。

6、如何查看 Linux 系统的安装时间(英文)

本文教你使用几个简单的命令,查看本机的 Linux 系统是什么时候安装的。

7、64位整数够放货币吗?(英文)

这篇文章讨论一个有趣的问题:货币该用什么类型的数据来储存。

275科技爱好者周刊(第 275 期):彼得·蒂尔的实验

1、如何让 SSH 连接保持活动状态(英文)

SSH 连接服务器后,长时间不活动会自动断开,本文教你怎么让它不断开。

2、如何访问树莓派的远程桌面(英文)

本文以树莓派为例,讲解如何远程访问内网设备的桌面。

3、Flutter 与 React Native 的开发体验比较(英文)

作者分别使用 Flutter 和 React Native 开发手机 App,总结了自己的感受。

4、如何不使用缓存构建 Docker 镜像(英文)

构建 Docker 镜像,默认会使用上一次的缓存,加快速度。本文教你某些情况下,如何跳过整个或部分缓存,完成构建。

5、巧用 curl 查看连接时间(英文)

本文介绍了一个小技巧,可以用 curl 查看网站连接的各种时间指标。

6、Linux 的早期回忆(英文)

Linus 的大学同班同学写的回忆文章,挺有意思的,对技术史感兴趣的朋友可以看看。

274科技爱好者周刊(第 274 期):加密通信的最后一块拼图

1、Telegram 创始人及其加密野心(中文)

即时通讯软件 Telegram 创始人的传奇故事。

2、Linux 中如何安全地抹去磁盘数据?(中文)

文件管理器或者 rm 命令,并不能安全地删除数据。本文介绍 Linux 中常见的三个命令,安全地抹去磁盘数据。(@xxxsalted 投稿)

3、CSS 嵌套来了(英文)

以前的 CSS 不支持嵌套的写法。但是,现在 Firefox 和 Safari 的正式版本,都已经支持这种写法了(上图)。

4、CSS 重置详解(2023版)(英文)

著名 CSS 作者 Chris Coyier 的最新文章,解释浏览器的 CSS 重置(CSS reset)每一行的意思。

5、我用 Web Components 开发了自己的网站(英文)

作者记录怎么使用 Web Components 这种技术,开发自己的网站,他对结果非常满意。如果你想了解 Web Components,这是一篇不错的参考资料。

6、我的创业技术栈(英文)

作者记录了自己创业所使用的各种 SaaS 服务,免费的优先。

7、终端软件的新时代(英文)

GUI(图形界面)是目前的主流,但是这些年来 CLI(命令行)软件也一直在发展,变得越来越好用。本文介绍近年出现的一些新的 CLI 软件,可以替代传统软件。

8、探索 EXIF(英文)

本文介绍如何从 iPhone 照片提取 EXIF,并将它们放入数据库,检索各种有趣的信息。

273科技爱好者周刊(第 273 期):任正非的三篇最新谈话

1、GPT-4V 的图片应用(英文)

十一期间,OpenAI 公司推出了 GPT-4 的新版本,支持上传图片。

AI 既能处理文字,也能处理图片,打开了许多全新的用法,本文演示其中几种,令人思路大开。

2、Cloudflare 开放 Turnstile 验证码服务(英文)

Cloudflare 宣布,验证码服务 Turnstile(上图),对所有人免费开放。只要加入几行代码,就能免费嵌入自己的网站。

3、Astro 岛屿(英文)

前端框架 Astro 提出的一个概念:静态页面包含动态组件,后者就好像页面里面的“岛屿”(island)。

4、我爱死静态类型了(英文)

作者用实例解释,为什么他认为静态类型总是正确的选择。

272科技爱好者周刊(第 272 期):Unity 的安装费,游戏业的缩影

1、我们放弃 TypeScript(英文)

著名程序员、Rails 框架创造者 DHH 宣布,他的新项目不再使用 TypeScript,改回 JavaScript。

2、1024以后的端口(英文)

Linux 系统保留了小于1024的端口(0-1023),供系统使用,其他端口由用户自己分配。本文总结了被各种常见应用占用的大于1024的端口。

3、视口碎片化(英文)

浏览器窗口大小(又称视口)到底有多少种?一家设计公司尝试进行统计,结果有2300种之多。

4、AWS SES 如何申请进入生产模式(中文)

SES 是亚马逊的邮件发送服务,但是开通这个服务,需要写申请邮件,说清楚用途。作者分享了自己的申请经验。(@tiezhudotwang 投稿)

5、从技术角度看 ZeroNet(英文)

ZeroNet 是一个点对点网络,本文介绍它的技术架构,还算好懂。

6、如何在 Arch Linux 安装 Steam(英文)

本文教大家把世界最大游戏平台 Steam 安装到 Arch Linux 系统上。

7、《Rust 还是 Go?》(英文)

本文作者是一个 Rust 语言专家,他经常被要求比较 Rust 和 Go。他出人意料地说,对于新人来说,Go 语言可能是更好的选择。

他有一个理由是,Rust 变动太快了。他统计了2020年1月到2023年9月,主要的编程语言发布了多少个大版本。

  • Node.js:7个
  • Python:3个
  • Go:8个
  • Java:8个
  • Rust:31个

可以看到,Rust 的版本更新非常频繁,一段时间不用,它的生态就变了。从这个角度看,Go 更稳定一些,更适合新人。

271科技爱好者周刊(第 271 期):非线性的世界,线性的你

1、马斯克的 AI 之路(中文)

马斯克的官方传记本周上市,作者是《乔布斯传》的作者沃尔特·艾萨克森。《时代周刊》摘录了其中跟 AI 相关的部分,这是中文翻译。

2、《OpenAI 真正想要什么》(英文)

《在线》杂志著名作家史蒂文·利维的长文,介绍 OpenAI 公司的内幕,对这家公司感兴趣的人可以看。上图是 OpenAI 公司的四个核心高管。

3、腾讯 13 年,我所总结的 Code Review 终极大法(中文)

腾讯云官方公号的文章,腾讯的技术 Leader 谈他们怎么做 Code Review。

4、2023年编程语言流行排名(英文)

IEEE Spectrum 杂志发布了编程语言流行度排名(2023版),感觉还是比较符合实际的。不过,它采用技能维度,把 SQL、HTML 都算作一门语言。

5、iPhone 15 为什么是 USB 2.0?(英文)

iPhone 15 全系列改成了 USB-C 接口,但只有高级版用的是 USB 3.0,普通版还是 USB 2.0。这恐怕不是商业考量,而是苹果受到了一些技术限制。

6、为什么 SQLite 如此适合边缘计算(英文)

作者逐一分析 SQLite 数据库的优点,分析为什么它特别适合 Serverless 环境,比如边缘计算。

7、Meta 公司的隐私问题(英文)

Meta 公司最近发布了 Threads 应用,跟推特竞争。这篇文章告诉你,这个 App 怎么对待用户隐私。

最棒的地方是,本文做成了连环画,每一页都有插图和动画。

8、声音能通过真空传播吗(中文)

一篇科普文章。声波是机械波,不能在真空中传播,但如果两个物体靠得特别近(纳米级),就能接收对方的声波。

270科技爱好者周刊(第 270 期):“精益开发”的精益是什么?

1、任正非:华为有业务边界,人才要在边界内研究探索(中文)

9月4日,华为发布了任正非在高端技术人才使用工作组对标会上的最新讲话。任正非谈了华为的人才使用策略。

2、我是怎样程序员入门的(中文)

知乎的一个回答,作者记录大学四年,如何从完全不懂编程变成一个职业程序员。(@wind-liang 投稿)

3、如何将 iCloud 密码用于 Chrome(繁体中文)

苹果设备自带一个 iCloud 密码管理器,只用于 Safari 浏览器。两年前,它向 Windows 系统的 Chrome/Edge 浏览器开放,现在 Mac 系统的 Chrome/Edge 也能使用了。

4、如何自己写一个前端框架(英文)

本文教你两个技巧,用它们就可以写一个简单的前端框架。

5、维基百科 DNS(英文)

维基百科推出自己的 DNS,支持DNS-over-HTTPS(DoH)和 DNS-over-TLS(DoT)查询。

6、如何终止无响应的 Linux 会话(英文)

使用 Linux 终端时,有时会卡住,失去响应,这时应该如何终止会话?

7、AWS 网络基础知识(英文)

本文介绍亚马逊云服务的一些基础网络知识,针对初学者,包括 VPC(虚拟私有云)、subnet(子网)、路由、安全组等,写得很好。

8、财务安全的17条法则(英文)

本文跟技术无关,介绍个人财务的17个注意点。我觉得说得很好,有参考价值,就保存一下链接吧。

269科技爱好者周刊(第 269 期):为什么英雄不使用炸药

1、华为的 5G 之谜(中文)

华为本周开售 Mate 60 Pro。多方测试都表明,这部手机支持 5G。

在美国制裁之下,华为怎么做出 5G 芯片(上图),目前大家都在猜测。本文是这个事件的一篇报道,另可以参考《德国之声》

2、我在2023年买了一台 iPhone 5(中文)

作者花了220元人民币,买了一台 iPhone 5 作为备用机,这台10年前的手机能满足基本需要吗?上图左是 iPhone 13 mini,右是 iPhone 5。(@gadore 投稿)

3、GPU 云服务商 CoreWeave 的故事(英文)

《华尔街日报》的报道。2017年,一个基金经理买了几块 GPU,用来挖加密货币,发现非常赚钱,就不停地买 GPU。

后来,加密货币暴跌,他们手里已经有几千块显卡了。为了减少损失,就开始在云上出租 GPU 运算时间。

去年底 ChatGPT 出现后,他们的公司 CoreWeave 顿时成了明星。今年他们拿了 Nvidia 的风投,并向银行借了23亿美元,购买更多的 GPU。

4、为什么开发者喜欢 Rust 语言?(英文)

GitHub 官网的博客文章,分析 Rust 语言受欢迎的原因,为什么能在短短几年内快速崛起。

5、大型存储系统 S3 的构建和运行(英文)

本文是亚马逊存储服务 S3 副总裁 Andy Warfield 的演讲,解释这个大型网络存储系统是怎么运行的。他在该部门工作了17年。

6、Node.js 测试工具简介(英文)

本文介绍了三种常用的 Node.js 测试工具:Jest、Mocha 和 Node.js 内置测试工具。

7、如何使用 Python 的 multiprocessing 模块(英文)

Python 的初学者教程,介绍如何完成简单的多进程编程。

8、如何用 CSS 实现随机数(英文)

作者演示了 CSS 生成随机数的一种方法,不过相当复杂,留在这里备查吧。

268科技爱好者周刊(第 268 期):生产力是形容机器,不是形容人

1、TypeScript 五个小技巧(英文)

本文介绍 TypeScript 的一些使用技巧。

2、Docker 如何生成容器名(英文)

创建 Docker 容器时,如果不指定名称,Docker 会自己为容器生成一个(比如 Romantic_shtern)。这个名字是怎么得到的?

3、为什么 TypeScript 不能正确处理 Object.keys()(英文)

本文讲解 TypeScript 的一个难点,使用Object.keys()遍历对象键名会产生奇怪的报错。

4、如何在 QEMU 中模拟树莓派(英文)

QEMU 是著名的虚拟机软件,本文演示如何用它新建一个树莓派虚拟机,可以用来上手 QEMU。

5、UUID(版本4)的一个冷知识(英文)

UUID 意为全局唯一标识符,是一个十六进制的32位随机数。本文介绍一个冷知识,这个数字的第14位是固定不变的。

6、CSS 折叠翻页效果(英文)

本文介绍如何只使用 CSS 实现折纸一般的翻页效果。

7、C 语言 Struct 详解(英文)

C 语言初级教程,详细介绍 Struct 结构的用法。

8、JavaScript 的 macro 语法(英文)

JavaScript 正在引入 marco 语法,最新版的 Bun 打包器已经支持。本文介绍这个功能。

267科技爱好者周刊(第 267 期):5G 的春天要来了

1、机上 WiFi 指南(中国版)(中文)

本文介绍什么样的航班有 WiFi、机上上网要多少钱等问题。

2、什么是编译器的解析(英文)

这篇文章的前半部分,通过一个简单例子,解释编译器如何将代码解析成 AST(抽象代码树)。

3、波形(英文)

一篇互动式科普文章,介绍波的基本知识,有大量动画演示。

4、Ruby 的 Lambda 函数(英文)

一篇 Ruby 语言的入门教程,介绍怎么使用匿名函数(Lambda 函数),写得很通俗,可以用来了解 Lambda 函数。

5、矩阵是图,图是矩阵(英文)

本文是一篇教程,介绍矩阵与图之间的密切关系(上图)。

6、Makefile 的替代品 Taskfile(英文)

作者介绍他的自动化工具,使用 Taskfile 替代 Makefile。

7、哈希数据结构 HMAT 简介(英文)

作者通俗易懂地介绍 HMAT 结构,通过哈希快速匹配键名和键值。

8、使用 CSS 生成页面截图(英文)

本文介绍一个只有 Firefox 支持的 CSS 属性,可以直接获取当前页面的截图。

266科技爱好者周刊(第 266 期):自己做双语 EPUB 电子书

1、手机 App 备案(中文)

工信部宣布,从9月开始推行手机 App 备案(包括小程序),类似现有的网站备案。明年4月起,未备案的 App 不得提供接入。

2、Rhino Linux 介绍(英文)

Rhino 是一个 Linux 发行版,基于 Ubuntu,但是采用滚动更新模式,比较适合同时喜欢这两者的人。

3、Mastodon 驱动的博客评论(英文)

作者介绍了一种新鲜的做法,将 Mastodon 社交网络用作网站评论。它的最大好处是数据开放,不会被第三方控制,因为 Mastodon 是一个开放式、无中心的网络服务。

4、2048位的 RSA 密钥2030年可以破解吗?(英文)

有一种说法,随着计算能力的增长,2048位的 RSA 密钥在2030年将被破解,作者分析这种说法是否可信。

5、Docker Compose 是怎么来的?(英文)

作者是 Docker 的第一批用户,也是最早的 Docker 教程作者之一,他回忆了 Docker 早期是怎么发展而来的。

6、如何使用 Favicon(2023版)(英文)

本文介绍网页的 Favicon 现在应该怎么写。

7、PostgreSQL 如何制作全文搜索引擎(英文)

一篇初学者教程,讲解怎么使用 PostgreSQL 全文搜索功能。

8、Node.js 应用如何利用多核 CPU(英文)

本文是一篇简单教程,使用 cluster 模块或 pm2,让 Node.js 应用充分利用多核 CPU。

265科技爱好者周刊(第 265 期):WiFi 的后面是 LiFi

1、首枚液氧甲烷火箭成功入轨(中文)

7月12日,中国民营的蓝箭航天发射了朱雀二号火箭。这是全球首枚成功入轨的液氧甲烷火箭。

这篇报道介绍了这个事件,以及液氧甲烷作为火箭燃料的意义。

2、Python 标准库隐藏的命令行工具(英文)

Python 默认安装了一些命令行工具,可以直接使用,比如压缩/解压缩。

3、如何在安卓设备安装 Linux 桌面?(英文)

如何让安卓手机变成 Linux 设备?作者使用 Termux 这个 App,在安卓手机上提供 Linux 桌面环境。

4、我修改了 SQLite,让它可以网络访问(英文)

作者修改了 SQLite,让它提供网络接口,可以直接通过网络请求。

5、我如何隐藏自己的网络身份(英文)

互联网上如何保持匿名,作者介绍自己采取的各种措施。

6、Arm64 汇编语言入门教程(英文)

针对初学者的 Arm64 教程长文,从零开始教你写一个汇编程序。

7、容器编排器的自我介绍(中文)

本文以第一人称介绍管理容器的三个容器编排器——Docker Compose、Swarm、Kubernetes。(@xxxsalted 投稿)

8、手工解码二维码(英文)

本文举例演示,如何只用纸和笔,解码二维码。

264科技爱好者周刊(第 264 期):Elasticsearch 的启示

1、泄露的谷歌薪酬数据(英文)

谷歌内网的一份文档泄漏,里面有详细的员工薪酬数据,本文整理了不同工种的工资最大值、最小值,以及奖金和股票收益。

2022年,谷歌员工的薪酬中位数为279,802 美元,是科技业薪酬最高的公司之一。

2、Dan Abramov 宣布离开 Meta 团队(英文)

著名前端程序员 Dan Abramov 写了15条系列推文,解释他为什么从 Meta 辞职,离开 React 团队。(@hacker0limbo 投稿)

3、使用 Map/WeakMap 处理 DOM 节点(英文)

Map 和 WeakMap 作为 JS 语言新增的数据结构,很多人不清楚它们的用法。作者给出了一个实际的例子。

4、继承与组合(英文)

如果你要扩展一个类,可以使用继承(inheritance),也可以使用组合(composition)。本文讨论它们的区别和适用场合。

5、CPU 对分支代码的影响(英文)

本文分析 CPU 怎么处理代码,进而讨论分支语句(if)应该怎么写,执行效率比较高。

6、Object.keys() 的返回值类型(英文)

本文是 TypeScript 科普文章,解释 Object.keys() 方法的返回值类型,为什么是string[],而不是(keyof T)[]

7、NixOS 安装快速指南(英文)

NixOS 是一个 Linux 发行版,它有一个系统配置文件,记录所安装的软件。只要有这个文件,就能还原出一模一样的系统。

8、这个博客托管在我的 Android 手机上(英文)

作者介绍怎么把安卓手机当作服务器,托管网站。

263科技爱好者周刊(第 263 期):开源软件如何赚钱?

1、GitHub 支持无密码登录(英文)

GitHub 宣布,本月开始支持 Passkey(无密码登录),本文教你怎么打开这个功能。

2、《芯片战争》作者专访(英文)

专访畅销书《芯片战争》作者克里斯·米勒,谈美国芯片战略和中美芯片竞争。

3、structuredClone() 简介(英文)

JavaScript 自带的拷贝,都是浅拷贝,现在浏览器引入一个全局函数structuredClone(),用来深拷贝。

4、圆圈滚动问题(英文)

上图中,两个圆的半径分别是 r 和 4r。小圆沿着大圆滚动一圈,请问这时小圆自身滚动了几圈?(提示:答案不是4圈。)

5、CSS Media Query 入门(英文)

本文是 CSS 入门科普文章,介绍如何使用 Media Query 完成响应式设计,写得很清晰。

6、Git 内部原理的快速介绍(英文)

Chrome 团队工程师写的 Git 原理简单介绍,理清 Git 的一些基本概念。

7、哈希是什么

一篇入门科普文章,图文并茂,通俗解释哈希的原理,怎么使用,写得很好。

8、socket 到底是个啥(中文)

socket 的概念往往是常见面试问题,作者介绍了 socket 的使用场景和底层实现。(@xxxsalted 投稿)

262科技爱好者周刊(第 262 期):告别密码

1、“进化”这个词正确吗?(中文)

本文讨论一个观点,“进化”(evolution)这个词是否应该改成“演化”?因为生物更多是在适应环境,不一定变得进步。

2、我如何创立海外一人 SaSS 公司(中文)

作者讲述自己如何一个人将面向海外用户的 SaSS 服务,注册成公司。

3、爱奇艺 TV 版如何占用用户带宽(中文)

电视机装了爱奇艺 TV 版,息屏状态下,居然在上传数据,只有拔掉电源才会停止。它默认把用户机器用作 CDN 节点。

4、全方位对比 Postgres 和 MySQL (2023 版)(中文)

Postgres 和 MySQL 是两大最主流的关系型数据库,本文对它们进行全方位的比较。(@milasuperstar 投稿)

5、如何破解滑动验证码?(中文)

本文介绍了图片滑动验证码的实现原理和流程分析,以及如何破解。(@niumoo 投稿)

6、优化人工智能生成的二维码(英文)

作者尝试让二维码,尽可能像人类可以看懂的图片,同时机器还能扫描。上图其实是一个二维码,本文记录了优化过程。(@POKEZHANG 投稿)

7、React 服务器组件的问题(英文)

React 官方开始推广服务器组件,本文作者表示担忧,这会让现有的很多写法都失效。

8、Chrome 支持模块名映射(英文)

Chrome 浏览器加载 JS 模块时,需要给出模块的 URL。但是,现在只要指定模块名与 URL 之间的映射,浏览器就可以从模块名加载。

9、中国与美国的云服务竞争(英文)

美国政府正考虑把中国的云服务商(阿里云、腾讯云、华为云)赶出美国机房。本文分析中美云服务商在东南亚、拉美和中东的全球竞争。

261科技爱好者周刊(第 261 期):黑客马拉松的正确方式

1、中国限制出口镓和锗的影响(中文)

商务部、海关总署本周宣布,对镓和锗实施出口管制。本文介绍这两种金属的用途,以及这个举措的影响。

2、中芯国际是怎么成立的?(中文)

本文回忆了上海市经委副主任江上舟,在2001年促成中芯国际在上海成立的往事。

3、我私藏的英语学习工具(中文)

作者介绍他使用的英语学习软件和服务。

4、个人网站集成 GitHub issue 评论功能(中文)

作者采用 VitePress 搭建博客,本文介绍他怎么引入 GitHub issue 作为网站的评论功能。(@Richard-Zhang1019 投稿)

5、为什么 OAuth 仍然很难?(英文)

OAuth 是最常用的身份认证协议,本文分析它的一些难点,为什么至今仍然让人觉得很困难。

另外,这里还有一篇《OAuth2 概述》(英文),在很短的篇幅里面,清楚地介绍了 OAuth。

6、老旧 MacBook 如何安装 Linux(英文)

一篇详细的指南,教你怎么把过时的 MacBook 利用起来,装上 Linux。

7、MySQL 和 MariaDB 的差异(英文)

MySQL 和 MariaDB 是两个常用的关系型数据库,后者是从前者分叉出来。两者基本是一样的,但也有很多差异。本文总结这些差异。

8、AI “越大越好”已经走不通了(英文)

《经济学家》杂志的一篇新闻分析,认为由于成本和训练材料的限制,AI 模型的规模可能已经到头了,以后不会变得更大,并分析下一步的发展方向是什么。

260科技爱好者周刊(第 260 期):你的旅程不会停在 Day 1

1、我改装了一台“能拍照”的 GameBoy(中文)

作者介绍如何将一台二手 GameBoy 更换高分辨率屏幕,并添加摄像头。

2、基于机器学习实现的 Web 端实时防挡脸弹幕(中文)

本文介绍网页播放视频时,如何让弹幕不遮挡人脸。(@hughfenghen 投稿)

3、亚洲最高的树(英文)

今年5月,北京大学的研究人员在西藏波密县发现了亚洲最高、世界第二高的树,一颗高达102.3米的巨柏。本文是美国媒体的报道,有这棵树的全身照。

4、AI 作图引擎比较(英文)

目前,AI 作图引擎主要有五个。

  • Adobe Firefly(通过 PhotoShop 使用)
  • OpenAI DALLE-2
  • OpenJourney
  • Stable Diffusion
  • Midjourney

它们谁最强?作者进行了比较,发现最稳定、可用性最好的是 Midjourney 和 Stable Diffusion。

5、Transformer 是什么(英文)

Nvidia 官网博客文章,介绍 GPT 模型的核心算法 Transformer 的基本情况,不涉及技术细节,但是很全面。

6、GitHub 仓库的设置指南(英文)

一篇初学者的 GitHub 教程,教你怎么调整仓库管理的默认设置。

7、苹果 HDR 二维码(英文)

一个很有趣的演示,苹果设备打开这个网页,上面有两个二维码,如果有一个更明亮,就说明当前设备支持 HDR(高动态成像)。

8、Apache 奇怪的版本号(英文)

Apache 在2012年发了2.4版,现在还是这个版本,只是从2.4.0变成了2.4.57。已经超过10年了,二级版本号一直没变。

259科技爱好者周刊(第 259 期):如何免费使用 ChatGPT

1、当 ChatGPT 参加高考(中文)

如果让 ChatGPT 参加2023年数学高考,它可以得几分?

2、当人类数据用完,AI 或将越来越笨(中文)

机器生成的数据,能用来训练 AI 吗?英国科研人员发现这种情况下,模型将会崩溃。

3、高效计算三角函数的 CORDIC 算法(中文)

本文介绍一种简化的三角函数计算方法,不必使用泰勒公式逼近。(@longluo 投稿)

4、通过 Cloudflare 穿透防火墙(英文)

本文是一篇教程,介绍如何通过 Cloudflare 隧道,让 SSH 连接防火墙或内网里面,正常情况下无法连接的电脑。

5、AI 自动生成字幕(英文)

本文介绍使用 Whisper 模型,自动将视频语音转成文字,并生成字幕。

6、你不一定需要数据库索引(英文)

教科书总是说,数据库检索需要建立索引。但是,如果数据库不大,完全可以不建索引,不会影响检索速度。

7、如何让二维码变成图像(英文)

本文是一篇教程,教你如何使用 Stable Diffusion,将二维码变成一幅图像。另有一篇类似的教程

8、视觉信息论(英文)

这篇长文用大量例子,讲解怎么用可视化表示信息。

9、空气过滤机与正压新风系统的比较(英文)

保持室内空气干净,有两种做法,一种是使用空气过滤器,另一种是使用正压新风系统,让室内空气压力大于室外,从而室外的脏空气无法进入。本文比较哪一种方法更好。

258科技爱好者周刊(第 258 期):卡马克的猫

1、一道物理高考真题(中文)

刚刚结束的全国1卷物理高考真题之一:“嫦娥五号着陆器质量 m,月表重力加速度 1/6g,着陆器四条支腿与垂直方向夹角为 θ,则一条腿对月面的压力是多少?”

2、人工智能发现计算机算法(中文)

谷歌人工智能部门 DeepMind 宣布,使用 AI 发现了一种新的算法 AlphaDev,把排序速度提高了 70%。

如果 AI 自己能发现并实现算法,LeetCode 刷题的意义就少了很多。

3、苏联的电子工业为什么输了(中文)

在电子管时代,苏联的电子工业是很强的,本文探讨为什么它后来远远落后于西方。

4、安卓 Firefox 如何始终使用桌面视图(英文)

手机浏览器默认打开网页的手机版,本文教你一种方法,使得它始终打开桌面版。

5、CSS 获取子项目数量的方法(英文)

利用:has:nth-last-child,可以在 CSS 获得容器里面子项目的数量(比如某个列表有多少项)。

6、理解 PostgreSQL 数据库索引(英文)

本文是一篇科普文章,介绍 PostgreSQL 数据库索引的相关知识。

7、Gmail 正在扼杀独立电子邮件吗?(英文)

如果你自己架设邮件服务器,向 Gmail 地址发邮件,几乎肯定会被它当作垃圾邮件或者延迟送达。

8、REST 和 gRPC 的详细比较(英文)

REST 和 gRPC 是 API 的两种最流行的实现方法,本文详细比较它们的差异。

257科技爱好者周刊(第 257 期):黄仁勋的 Nvidia 故事

1、Meta 裁员亲历记(中文)

Meta 公司一共裁掉了1万多个员工,一位亲历者讲述自己被裁过程和感受,有很多细节。

2、我用 GPT 给电子厂带货(中文)

作者介绍自己怎么用 ChatGPT 大批量制作营销文章和视频。

3、越来越庞大的显卡(中文)

微星推出了一款原型显卡,号称是为了下一代 RTX 5090 显卡准备的设计,厚达空前的4.2个插槽。

里面主要是散热的铜片,一般的机箱根本放不下。很难想象,这么发展下去,未来的游戏电脑会是什么样。

4、Deno 支持 npm 打包(英文)

Deno 1.34 版引入了一个新功能,可以把 Node.js 程序和 npm 模块打包,成为一个二进制文件,支持 Windows/Mac/Linux 全平台。

5、popover API 介绍(英文)

网页的弹出层是很常用的 UI 模式,Chrome 正式推出了 popover API,浏览器内置了弹层组件。

6、如何制作 GitHub 个人主页(英文)

本文演示 GitHub 个人主页如何定制,并且使用脚本,通过 GitHub Actions 定期更新。

7、谷歌 AI 备忘录(英文)

这篇文章据说是谷歌内部泄漏的,一位研究员写给高管的备忘录,看上去像真的。

他分析了目前 AI 的发展状况,提出谷歌的应对策略,建议加大开源力度。

256科技爱好者周刊(第 256 期):最酷的乐高作品

1、AI 模型为什么都以羊驼起名(中文)

那些开源的 AI 模型的名字,往往跟偶蹄目羊驼有关,这是为什么。

2、飞碟幻想消亡史(中文)

上个世纪《飞碟探索》曾经是国内发行量最大的科普杂志之一。本文回顾了它的兴衰史,“飞碟热”的消退也是中国人科学素质提高的一种表现。

3、我发现的一个支付宝漏洞(中文)

作者先在“闲鱼”购物,再在支付宝付款,结果被骗。他发现骗子钻了漏洞,通过代码让交易自动确认“收货”。(@childrentime 投稿)

4、我的线上立案遭遇(中文)

作者跟银行发生纠纷,准备线上向法院申请立案,但是法院的立案系统很难用,一连操作了四次还没成功。(@dingjs 投稿)

5、英特尔发布全新架构 x86S(中文)

英特尔发布了一个新的 CPU 指令集 x86S,只支持64位模式,可以简化 CPU 的设计。

6、zip 域名的安全担忧(英文)

.zip 和 .mov 现在都是顶级域名,开放注册。setup.zip 已经不仅是文件,而是一个可以访问的域名。这可能会有一点安全风险。

7、无边界鼠标(英文)

微软发布了一项新功能“无边界鼠标”(Mouse Without Borders),Windows 直接支持一个鼠标操作局域网的四台电脑。

8、别再说 C/C++(英文)

很多人认为,C 和 C++ 是两种很相似的语言,前者是后者的子集。本文提出这种看法不对,它们非常不一样。(@wrenashe 投稿)

255科技爱好者周刊(第 255 期):对待 AI 的正确态度

1、陈皓2021年直播访谈摘录(中文)

陈皓(左耳朵耗子)前年做过一次直播访谈,谈到了技术、行业、创业的各个方面。本文是访谈内容的文字整理,以此纪念他。

2、Midjourney 中国版使用指南(中文)

上周,AI 图片生成引擎 Midjourney 正式发布中国版了,本文介绍怎么使用。

3、88岁 MIT 教授的最后一堂线性代数课(中文)

麻省理工学院教授吉尔伯特・斯特朗(Gilbert Strang)的线性代数课非常著名,他已经88岁,5月15日站上讲台,讲了最后一次课,并在网上直播。

4、Bun.js 打包器测评(英文)

Bun.js 是 Node.js 的替代品,最近内置了打包器,号称比 Webpack、Esbuild 都要快。

5、数据库分片是怎么回事(英文)

本文介绍数据库分片的基本知识。

6、如何关闭失去响应的 SSH 连接(英文)

SSH 连接服务器后,如果长时间没有操作,就会失去响应。本文教你怎么退出失去响应的 SSH 连接。

7、黑客新闻的排名算法(英文)

本文讨论黑客新闻怎么根据读者的投票,算出新闻的排名。作者还通俗解释了他自己的算法。

8、IP 地址的书写方法不止一种(英文)

IP 地址一般都写成 127.0.0.1 这种形式,但是你知道吗,还存在其他形式,比如 127.1。

254科技爱好者周刊(第 254 期):人生是一个长板问题

1、Midjourney 5.1 更新(中文)

图像生成模型 Midjourney 在5月7日发布了5.1版,效果惊人,本文进行详细介绍。

2、Redis 与作者 antirez 的故事(繁体中文)

Redis 是最常用的键值对数据库,它是意大利程序员 antirez 的作品。本文介绍他的故事,antirez 本人也看到了这篇文章,并给出了一些订正

3、我对 Svelte 的看法(英文)

Svelte 是目前国外比较流行的一种前端框架,作者详细谈了自己的使用感受,正面和负面的都有,比较客观。

4、甚至亚马逊也无法理解微服务(英文)

亚马逊 Prime Video 团队宣布放弃微服务架构,改成单体应用,主要原因是太贵。Rails 框架的创始人 DHH 对此事发表了评论。

5、.dev 域名的限制(英文)

作者讲述遇到的一个奇怪问题,最后发现原因是使用了 .dev 域名。

该域名由谷歌管理,谷歌硬性规定,所有 .dev 域名只能用 HTTPS 协议访问。谷歌管理的其他域名 .app、.day、.dev、.page 和 .new 都是如此。

6、自托管项目的选择(英文)

作者决定自托管几项服务:访客统计、邮件列表、无代码工具、日历。他逐一分析了这几项服务可用的开源产品。

7、HTTP Multipart 简介(英文)

本文解释文件上传的“multipart/form-data”模式是怎么回事。

8、AI 的硬件瓶颈(英文)

作者详细解释了 AI 模型很难做大的一个重要原因,就是硬件(主要是内存)存在瓶颈,导致很难处理特别大的模型。

253科技爱好者周刊(第 253 期):训练材料用完之日

1、我的开源经历(中文)

作者分享自己的经历,开发一个图片编辑的网页应用。(@nihaojob 投稿)

2、如何自己实现 CodePen(英文)

CodePen 是著名的网页实时编辑预览工具,本文教你怎么实现它的主要功能,非常简单。

3、tcpdump 快速上手(英文)

作者教你怎么使用 tcpdump 这个命令行工具,查看某个网站的 TCP 通信。

4、WebGPU 为什么重要(英文)

操作系统的图形 API,目前是不统一的:Windows 是 DirectX,苹果是 Metal,Linux 是 Vulkan。

WebGPU 是一种跨平台的解决方案,提供了统一的接口。推荐这篇长文。

5、我开发 PCalc 的30年(英文)

作者在1992年为 Macintosh 电脑写了一个计算器 PCalc(上图)。后来,他一直维护这个项目30年,还把它移植到苹果公司的其他设备上,比如 iPhone 和 iWatch(下图)。作者回忆了他这30年。

6、使用 hurl 自动化 HTTP 测试(英文)

本文介绍一种简单的方法,使用 hurl 这个软件,对网站 API 进行自动化测试,看它是否正确响应。

7、编程语言的错误处理机制(英文)

本文讨论不同的语言如何处理报错,比如 Java 会抛出异常,而 Go 将错误赋值给一个变量。

这里还有一篇相同主题的文章,也值得参考。

8、疯狂的 C 语言字符串(英文)

本文是 C 语言的字符串教程,从结尾的\0讲到 Unicode,结论就是在 C 语言里面,正确处理字符串是一件多么麻烦的事情。

252科技爱好者周刊(第 252 期):互联网创业变难了

1、我用聊天记录和博客文章,克隆了一个数字版自己(中文)

作者介绍怎么用自己的聊天记录和文章,训练出一个克隆自己的聊天机器人。

2、我对 ChatGPT 的看法(中文)

公号“硅谷王川”的文章,从投资者的角度分析 ChatGPT,其中提到“计算训练量超过 10^23 FLOP 之后,模型的准确度突然开始飞跃”。

3、2023 Web Components 现状(中文)

本文讨论了 Web Components 当前的标准现状,以及对未来的展望。(@occupy5 投稿)

4、克隆自己多么容易(英文)

一位教授演示使用 AI 工具,生成一段深度伪造的自己的演讲视频,是一件多么容易的事情。他以此提醒读者,AI 现在的发展程度已经远超普通人的想象。

5、手机的可变光圈

手机摄像头也有可变光圈了,今年发布的小米 13 Ultra 和华为 P60 Pro 都有该功能。

网友把这两台手机拆开,比较了它们的可变光圈实现。

6、LAION 数据集的故事(英文)

LAION 是世界最大的免费 AI 训练数据集,包含近6亿张图片,很多模型采用它来训练。

令人意外的是,它的创始人是德国汉堡的一位高中老师,至今仍在任教。

7、我们在2022年的云支出(英文)

37signals 详细披露了,2022年在亚马逊云服务 AWS 的支出。

他们一共花了320万美元,平均每个月26万+美元,仅仅 S3 存储就占了30%。这让该公司不堪负荷,最终决定告别云服务

8、HTML 的新增标签<search>(英文)

HTML 的最新标准新增了<search>标签,它类似于<div>标签,用来放置搜索相关的元素。

251科技爱好者周刊(第 251 期):国产单板机值得推荐

1、中国创作者的 AI 运用(中文)

《中国新闻周刊》的一篇报道,介绍国内创作者使用 AI 写小说、画插图、作曲。

2、如何在 AWS 租用 GPU(中文)

自己玩 AI 模型,算力和资金是一个大问题,一般都要租用云服务商的 GPU。作者尝试了各家服务商,这是在 AWS 租 GPU 的详细流程。(@cocomany 投稿)

3、Intl.Segmenter 的分词用法(英文)

Intl.Segmenter 是浏览器内置的 API,支持各种语言的分词(包括中文),本文介绍它的简单用法。

4、五年独立开发者的教训(英文)

五年前,作者辞职做一个独立开发者,本文回顾了他的三个教训。

5、Bun vs Node 性能比较(英文)

Bun 是一个新兴的 JavaScript 服务器运行环境,目标是兼容 Node.js 的 API,但是比后者更快。作者比较了一下两者的性能差异。

6、一人运营的时事通讯价值几百万美元(英文)

美国有一个 TLDR Newsletter,每天通过邮件发送时事新闻。它是一个人运营的,年收入超过500万美元,本文介绍他是怎么做的。

7、我为什么选择不稳定的排序算法(英文)

作者原为 V8 引擎团队的成员,负责排序算法。他解释,为什么他为 V8 选择了不稳定的排序算法,即排序的成员排列顺序可能与原始顺序不同。

不过,标准后来改了,现在已经变成了稳定排序算法。

8、Firefox 自动去除 Cookie 横幅(英文)

很多国外网站都有 Cookie 横幅,让用户点击是否接受 Cookie,非常烦人。Firefox 浏览器的最新版,加入了自动去除该横幅的功能。

250科技爱好者周刊(第 250 期):新技术的最大风险

1、prompt 写作指南(英文)

生成式 AI 的 prompt(提示)怎么写?本文是一篇教程,一步步用示例教你。

它针对的是 BoostPixels 引擎,但是很有参考价值。本文是详细版,还有一篇简明版,可以先看后者。

2、LLM(大型语言模型)快速上手指南(英文)

本文简单演示怎么使用 LLM,快速完成几种常见任务,很有用。

3、如何安全插入外部网页(英文)

作者在自己网站上,使用<iframe>插入不受信任的外部网页。本文介绍怎样才能保证安全。

4、 HTML 电子邮件不再需要<table>(英文)

编写电子邮件,以前要用<table>标签来做排版。随着 Windows Outlook 采用 Edge 引擎,实际已经不需要这样做了。

5、Asciidoc 与 Markdown 的比较(英文)

Asciidoc 是一种文本文档的书写格式,特别适合写书。本文作者将其与 Markdown 进行比较,谈了这种格式的优点,以及存在的问题。

6、Bash 脚本 Shebang 行的传参(英文)

Bash 脚本的第一行往往以#!开头,称为 Shebang 行,用来指定脚本执行器。那么,这一行里面能不能写入参数呢?

7、推特架构的演变(英文)

推特这个网站,后台架构是怎样的?作者做了一个简单的整理和综述。

8、物理学18大未解之谜(英文)

本文通俗介绍了物理学家至今无法回答的18个基本问题,都跟宇宙、时空、粒子有关。

249科技爱好者周刊(第 249 期):最成功的软件企业家

1、苏州的高科技“机械手”(中文)

中国科学院苏州生物医学工程技术研究所的博士后胡旭晖,为一位残疾女子研发了高科技“机械手”,获得全球半机械人奥运会第一名。

2、月球的阴影(中文)

作者给了一个开头,让 ChatGPT 接着写完。(@jwenjian 投稿)

“在2023年的一个晚上,一个程序员刚刚完成他的工作,准备像往常一样回家,一切都和往常一样,街道,公司,社交网络,公共汽车……他突然注意到,月亮看起来并不像往常一样,它比以前更大了。”

3、使用 AI 制作中国老照片(英文)

国外媒体报道,一些中国创作者正在使用 AI 生成中国90年代的复古照片,比如,上图是乡村婚礼,下图是西湖边吃快餐的情侣,都是 AI 作品。

4、中国建设自己的低轨卫星网(英文)

国外媒体报道,中国将在今年底,开始建设自己的低轨卫星网,最终目标是发射13,000颗卫星,作为 Starlink 的替代品。奇怪的是,没看到国内媒体报道这件事。

5、VS Code 支持 GitHub Copilot 聊天(英文)

微软宣布,VS Code 编辑器的 GitHub Copilot 插件,现在不仅能够直接生成代码,还能在编辑器里面与它聊天。

6、你所需要的编码助手(英文)

著名程序员 Steve Yegge 的最新博客文章,谈对 LLM 工具的看法:“它们是互联网诞生以来的最大变革”。

7、如何用开发者工具绕过网站付费墙(英文)

很多国外媒体网站对免费用户有限制,会弹出一个浮层,要求付费后阅读。作者介绍一种巧妙的方法,可以在开发者工具里面绕过这个浮层。

8、静态网站托管服务比较(英文)

很多云服务商提供静态网站托管:AWS、Cloudflare、Digital Ocean、GitHub、Netlify、Vercel。本文对它们进行比较。

248科技爱好者周刊(第 248 期):不要夸大 ChatGPT

1、维基百科的声音 Logo(英文)

维基百科本周发布了一个声音 Logo,作为音视频产品的标志。

2、为什么我们要与 CSS-in-JS 分手(英文)

作者认为,网页样式写在脚本里面的 CSS-in-JS 有重大缺陷,应该避免使用。

3、新的 CSS 视口单位 lvh 和 svh(英文)

本文介绍 CSS 视口的新引入的长度单位,专为适配移动设备的动态工具栏而设计。

4、Cloudflare R2 与 AWS S3 的比较(英文)

Cloudflare R2 是一个新推出的对象存储服务,比起老牌的 AWS S3,最大优势就是价格便宜。本文对两者的价格和功能进行详细比较。

5、苹果官网主页的历史回顾(英文)

本文回顾了苹果官网的变化,从最早的样子一直到现在,可以勾起很多回忆。上图是1997年乔布斯回到苹果之前的主页,怪不得当时濒临破产。

6、AV1 视频编码支持情况(2022版)(英文)

AV1 是最新的视频编码格式,可以节省流量。本文介绍了它目前的支持情况,结论是只有苹果设备不支持。

7、C 语言学习注意点(英文)

作者整理了自己学习 C 语言过程的一些笔记,相当于列出了 C 语言一些的学习难点。

8、老项目是否应该推倒重写?(英文)

接手一个很难维护的老项目,到底是继续改进原有代码,还是彻底重写?作者举了六个案例,讨论这个问题,值得一读。

247科技爱好者周刊(第 247 期):扎克伯格的裁员信

1、基于 GPT3.5 搭建定制化知识库(中文)

作者的一个小实验,通过 chatpdf.com 这个网站,将某个领域的文档(比如这份周刊)提供给 AI 训练,就会得到一个基于这些材料的问答引擎。(@ssyzyg 投稿)

2、如何与我一起工作(英文)

Stripe 公司前首席运营官克莱尔写了一篇文章,告诉新同事怎么跟她相处,她的工作方式是什么。

她认为,这样可以节省大家六个月的相互了解时间。这种方式值得借鉴。

3、为什么同一个网址返回不同的内容?(英文)

同一个网址,浏览器访问与 curl 的命令行访问,得到的内容是不一样的,这是怎么回事?

4、2023年的 PHP(英文)

本文介绍了 PHP 在过去一年的发展,对于了解 PHP 的现状很有帮助。

5、网页元素的 fetchpriority 属性(英文)

HTML 网页中,<img><link><script><iframe>等元素可以设置fetchpriority属性,本文介绍该属性。

6、如何零基础完成 SketchUp 建筑渲染(英文)

作者从初学者的角度,简单演示如何从一张建筑的平面草图(上图),发展成 SketchUp 里面的渲染图(下图)。

7、TypeScript 被高估了(英文)

很多开发者眼里,TypeScript 是更高级、更先进的 JavaScript 语言。但是作者认为,TypeScript 有一些缺点,不应该视而不见。

8、Node.js v18 和 v19 的新功能(英文)

本文简要介绍 Node.js v18 和 v19 新引入的一些重要功能。

246科技爱好者周刊(第 246 期):永不丢失的网络身份

1、如何在个人电脑运行 LLaMA(英文)

LLaMA 是 Meta 公司的 AI 模型,效果号称超过 ChatGPT。它刚刚开放内测,就被破解了。

本文教你怎么在个人电脑运行这个模型,从而拥有自己本地的 ChatGPT。它甚至不需要 GPU,只用 CPU 就能运行。

2、CSS 的 initial-letter 属性(英文)

CSS 新增了一个initial-letter属性,用来设置首字母下沉的样式。

3、WordPress 是怎么诞生的?(英文)

本文介绍2003年,19岁的美国程序员 Matt Mullenweg 怎么会创建开源软件 WordPress,文章内容挺精彩的。

4、Replit 诞生记(英文)

Replit 是运行在网页上的编程 IDE,作者是一个约旦人,后来移民到美国。本文介绍他的创业过程。

5、我用 Orange Pi 做了一个 NAS(英文)

作者从硬件到软件,完全自己动手,从头做出了一个 NAS 网络存储装置,非常厉害。

6、Web 浏览器引擎的历史(英文)

本文梳理历史上出现过的浏览器引擎。

245科技爱好者周刊(第 245 期):摩天大楼是反人类的

1、ChatGPT 发明的游戏(英文)

作者让 ChatGPT 发明一个小游戏,它不仅做到了,还给出了网页实现,直接可以玩。

2、高通希望用 iSIM 取代 eSIM(英文)

eSIM 是一块独立芯片,用来取代物理 SIM 卡。高通现在将其内置到 Snapdragon 8 Gen 2,取名为 iSIM。

3、React Native 应该怎么用?(英文)

作者谈了他们公司的 React Native 的使用体会,认为传统的用法不对,最好只把它当作 WebView 的容器用。

4、如何在 URL 存储状态(英文)

网页应用程序的整个状态,都保存在 URL 里面,作者介绍了这样做的好处,以及具体的做法。

5、汇编语言的基本概念(英文)

本文用相对通俗的语言,向初学者介绍汇编语言的一些基本概念。

6、小团队(英文)

这篇文章收集了一些例子,团队很小,但是公司的估值很高。

7、ARM 的历史:第一个 ARM 芯片(英文)

本文详细介绍 ARM 是怎么诞生的,对芯片感兴趣的朋友可以读。

8、SQL 的 CTE 功能(英文)

这篇短文介绍 SQL 的一个小技巧 CTE,适用于替换表的内容,比如将CN替换为China

244科技爱好者周刊(第 244 期):大数据已死

1、我如何搭建自己的博客(英文)

作者详细介绍自己使用 Next.js 框架和其他 React 工具,搭建博客的过程。他要使用 MDX 格式将 React 组件加入 Markdown 文件。

2、Steam Deck 上市一周年(英文)

本月,掌上游戏机 Steam Deck 上市满一周年了。本文介绍了这个设备的很多创新,尤其在软件上。

3、如何配置 nano 编辑器(英文)

服务器都自带 nano 编辑器,但是一般认为它的功能比较弱。本文介绍只要正确配置,它就会变得很好用。

4、Stripe 如何用 Markdoc 构建交互式文档(英文)

Markdoc 是 Markdown 的一种扩展语法,允许在生成 HTML 页面时插入组件,用户可以跟文档交互。本文介绍 Stripe 公司怎么使用 Markdoc 构建文档。

5、CSS 的颜色格式(英文)

这篇长文详细介绍 CSS 颜色的各种格式,如果想深入掌握如何表示颜色,推荐阅读这篇文章。

6、使用 ClickHouse 查询 GitHub(英文)

ClickHouse 是著名的数据仓库软件,它的官网有一个练习场,可以在线查询2011年以来所有的 GitHub 事件,总共31亿条记录。本文演示怎么使用这个数据库。

7、用信鸽解释 HTTPS(英文)

作者以信鸽传书举例,解释 HTTPS 协议是什么,写得很好,这个例子也很贴切。

8、Windows 11 有多少层 UI?(英文)

一篇挺有趣的文章,作者检视 Windows 11 的 UI 里面保存了多少以前的样式,甚至找出了遗留的 Windows XP 和 Windows 3.1 的样式。

243科技爱好者周刊(第 243 期):与孔子 AI 聊天

1、“中国植物画第一人”曾孝濂(中文)

曾孝濂退休前任中科院昆明植物研究所教授级工程师,为《中国植物志》、《云南植物志》等书绘制画稿超过2000幅。上图是他画的猪笼草。

2、我用 ChatGPT 发现代码 Bug(中文)

作者的一段 Java 代码存在一个 Bug,他让 ChatGPT 帮他检查,后者不仅发现了这个 Bug,还提出了修改建议。(@niumoo 投稿)

3、localhost 的终结(英文)

作者提出一个观点,localhost 用于本地开发的历史将要终结。因为越来越多的开发者转向云端编码,可以直接云端调试。

4、Uber 的开发基础架构(英文)

本文是 Uber 官方文章,介绍他们为了适应全世界的员工远程办公,而搭建的开发基础架构,所有工程师的代码都放在一个单一仓库里面。

5、Unix 管道之美(英文)

本文举了 Unix 管道运算符(|)的三个例子,讲解为什么它体现了 Unix 哲学。本文可以作为管道运算的教程。

6、帕洛阿尔托研究中心的故事(英文)

《IEEE Spectrum》杂志的长文,介绍了美国施乐公司的帕洛阿尔托研究中心(PARC)在上个世纪六七十年代的兴起和衰落。

这个研究中心诞生了许多划时代的技术,比如图形界面、以太网、激光打印机等等,喜欢科技史的同学可以读一读。

7、 macOS 升级所需的可用空间(英文)

苹果电脑的系统升级包越来越大,需要的硬盘空间越来越多。本文总结了过去几年,每个升级包的大小。

8、为什么我对 JavaScript 的未来感到乐观(英文)

本文提出 JavaScript 有三种使用场合:浏览器、服务器和边缘计算。在这三种场合都可以使用的语言,只有 JavaScript 一种。

242科技爱好者周刊(第 242 期):一次尴尬的服务器被黑

1、Next、Nuxt、Nest的区别(英文)

Next.js、Nuxt、NestJS 是三个流行的 JS 框架,本文解释它们的区别。

2、为什么业界转向内存安全语言(英文)

本文介绍大公司使用内存安全语言(Java、Rust 和 Kotlin)替代 C/C++ 的情况。

3、如何使用 360 相机生成航拍图像?(英文)

作者介绍如何使用 OpenDroneMap 这个软件,为 360 相机拍摄的视频建模,合成为航拍视角的空间图像模型。

4、打造我的家庭办公环境(英文)

作者详细介绍,自己怎么在家里布置一个舒适的电脑工作环境。

5、我如何以 SerenityOS 谋生(英文)

作者是开源软件 SerenityOS 的作者,2021年开始,全职投入开源开发。他介绍自己怎么谋生。

6、我的个人 IT 基础设施(英文)

Mathematica 软件的创始人 Stephen Wolfram 介绍自己家里的 IT 基础设置,他常年在家办公。

他还自制了一个“步行桌”(上图),可以在散步的时候,使用笔记本电脑。

7、Playwright 如何绕过登录验证码(英文)

Playwright 是一个无头浏览器框架,可以编写脚本,对网站 UI 进行自动化测试。有些网站的登录,需要身份验证器的一次性验证码,怎么绕过去呢?

8、使用 Ruby 语言理解网络堆栈(英文)

本文使用 Ruby 语言示例,解释网络基本概念。第一部分解释 UDP 协议,写得很好。

241科技爱好者周刊(第 241 期):中国的增长动力在内陆

1、苔藓如何变成一门产业(中文)

一篇新闻报道,介绍为什么会有人养殖苔藓。

2、Node.js 脚本登录服务器(中文)

作者介绍如何使用 ssh2.js 编写脚本,自动登录服务器,检查服务器状况。(@CatsAndMice 投稿)

3、Vue 与 Svelte 的比较(英文)

Vue 和 Svelte 是目前流行的两个前端框架,作者进行了比较,谈了自己的看法。

4、Galaxy S23 的系统占用高达 60GB(英文)

三星新推出的高端手机 Galaxy S23,系统竟然占了 60GB,是 Pixel 7 Pro 的四倍、Windows 11 的两倍。

三星的系统开发能力,真是令人怀疑。

5、最简单的维基网站搭建方法(英文)

redbean是一个神奇的软件,同一个可执行文件,能在三个系统 Win/Mac/Linux 执行。

网页文件跟它打包成 zip 压缩包,这个压缩包就可以当作 Web 服务器执行,本文是教程。

6、如何生成个性化视频(英文)

这是一个叫做 Shotstack 服务的教程,它允许通过 API 生成视频。

比如,你要向1000个用户发送生日祝福视频,就可以写脚本调用它,在原始视频上添加不同的生日贺词,自动生成个性化视频。

7、Python 类型初上手(英文)

Python 3.6 开始支持类型声明,这篇文章向初学者简单介绍,怎么使用 Python 类型。

8、git notes 介绍(英文)

git 有一个不常用的命令 git notes,可以为 commit 添加元数据。本文介绍这个命令的用法。

240科技爱好者周刊(第 240 期):教育年限可以缩短吗?

1、生产锗-76(中文)

本文介绍中核集团首次国产化一种锗同位素的过程。

2、热泵的原理(英文)

热泵取暖正变得越来越流行,取代电暖或烧煤/天然气,因为它比较省电。

本文通俗介绍热泵的原理,即冷媒气化后,气体膨胀导致(冬季)放热。写得还算清晰,谈到了空气热泵、地源热泵和水源热泵。

3、GitHub Copilot 有多神奇(英文)

GitHub Copilot 是一个 AI 编程辅助工具,会自动生成代码。

最近,它推出了“代码刷”功能(code brush),用户可以选择不同的刷子处理代码,本文演示这个功能多么神奇。

4、不要再写提交说明了(英文)

作者介绍怎么让 AI 模型来写 commit message,你自己就再也不用写了。

5、React 条件渲染实例(英文)

React 组件如何根据不同的状态,进行不同的渲染?作者给出了一种非常干净的写法。

6、Tailwind CSS 不是好的抽象(英文)

Tailwind 是目前很流行的 CSS 框架,但是作者认为这个框架并不可取。

7、Unix 已死,Unix 万岁(英文)

IBM 公司 的 AIX 系统,是最后一个还在开发的 Unix 正统分支,来自当年 AT&T 公司的授权。

最近有报道称,它的开发被转移到印度了。这等于说,IBM 放弃它了。这也不奇怪,毕竟前面花了大钱收购 RedHat。所以,官方 Unix 大概真的死掉了,以后只剩下它的衍生后代 BSD 和 Linux 两派了。

8、如何将正在运行的进程移入 tmux(英文)

tmux 是一个终端会话(session)管理器,它可以新建会话。本文介绍如何将一个正在运行的外部程序,移到 tmux 里面去。

239科技爱好者周刊(第 239 期):未来两种人会增加

1、手机快充大一统(中文)

国内最近发布了首个融合快充协议标准 UFCS,本文介绍统一手机充电协议的一些情况。

2、:has()伪类的表单样式(英文)

CSS 新增的:has()支持很多表单状态,完全可以不使用 JS 脚本,就实现可以跟用户互动的表单。

3、树状视图的 CSS 实现(英文)

本文介绍如何用纯 CSS 实现树状折叠视图。

4、Flexbox 交互式指南(英文)

本文通过多个网页交互式演示,详细讲解 CSS Flex 弹性布局。

5、如何用自定义钩子重构 React 组件(英文)

本文举了一个简单的例子,介绍 React 钩子应该怎么用在组件里面。

6、登录失败提示信息的漏洞(英文)

登录失败时,网站通常提示“用户名或密码错误”。作者认为,有一个办法可以简单地确定,到底是用户名不存在,还是密码出错。

7、Windows 如何检测互联网是否连通(英文)

Windows 系统怎么知道,当前计算机能不能访问互联网。

8、如何修改 Git 仓库的历史(英文)

修改 git 历史是常见需求,但是很难操作。本文介绍使用一个叫做 BFG 的工具,从 Git 仓库删除内容,修改历史。

238科技爱好者周刊(第 238 期):停止寻找的最佳时间

1、如何修建抗震的房屋?(中文)

这是一个建筑学博士的科普演讲,大楼应该怎么建造,才不会在地震中倒塌?

2、为什么 calloc() 存在?(英文)

C 语言分配内存空间有两个方法:malloc() 和 calloc()。一般认为,前者完全可以替代后者,那么为什么要设计后者?

3、BeOS 系统的故事(英文)

1996年,苹果公司濒临破产,决定收购一个外部系统,作为自己的操作系统。当时有两个候选者:BeOS 和 NeXT,都是苹果前员工创建的。

最终苹果选择了 NeXT,但是 BeOS 也没完全死,演变成了现在的开源系统 Haiku,还在开发中。

4、为什么 Git 如此难用?(英文)

本文分析 Git 复杂性的几个来源。

5、Pandas 加载数据的方法和技巧(英文)

Pandas 是 Python 语言的数据分析工具库,本文介绍这个库加载不同数据源的方法和技巧。

6、像写 CSS 一样写 SVG(英文)

作者介绍他发明的一种新工具,可以改变 SVG 的写法,让手写 SVG 变得像写 CSS 一样。

7、如何实现蓝绿发布(英文)

作者介绍如何在个人网站实现“蓝绿发布”。

他有两台服务器,一台是生产服务器,另一台是备用服务器,总是发布到备用服务器,然后把流量切过去。

8、Node.js 如何查看内存泄漏(英文)

这篇长文有一个部分,详细介绍了 Node.js 查看内存占用的几种方法。

237科技爱好者周刊(第 237 期):真实方位是如何暴露的?

1、CSS 父元素选择器:has()(英文)

CSS 以前只有子元素选择器,但是现在有了伪类:has(),可以通过子元素选中父元素。

2、浏览器插件 Tango(英文)

CSS Tricks 的创始人 Chris Coyier 的文章,介绍浏览器插件 Tango 快速生成操作指南,效果比产品文档好得多。

3、curl 如何构造 URL 查询参数(英文)

命令行工具 curl 新引入了一个参数--url-query,用来构造 URL 参数。作者介绍它跟以前的类似参数有什么区别。

4、Rust 命令行工具总结(英文)

最近有一种趋势,就是使用 Rust 语言重写传统的命令行工具,比如lsd替代lsbat替代cat等等。本文介绍这些新引入的工具。

5、Windows 10 的 Intel CPU 为什么表现不佳(英文)

作者发现,自己的 Windows 10 电脑自从用了英特尔第12代酷睿 CPU,构建速度很慢,16个核心里面只有4个在跑,这是为什么?

6、Maui 项目介绍(英文)

Nitrux 是一个新的 Linux 发行版,创造了 Maui Kit 框架,用于编写应用程序。

Mauri 框架基于 Qt,写出来的应用程序可以跨平台,同时运行于 PC 和手机,并且非常美观易用。

7、巧用版本依赖解决数独(英文)

版本管理器有一套处理版本依赖关系的语法,作者突发奇想,能不能用 Python 版本管理器 Poetry 来解决数独问题?

81个方格可以看作81个软件包,每个包有9个版本(即1-9)。只要给出约束条件,版本管理器会计算应该使用哪个版本,从而解出数独。

8、“加密猫”面临崩溃(英文)

加密猫(CryptoKitties)是第一个基于区块链(以太坊)的大型游戏,2017年发布。

当年,它曾经轰动一时,甚至造成了以太坊的价格飙升,但是现在已经沉寂了,面临崩溃。这篇报道就分析,为什么基于区块链的游戏可能都不可行。

236科技爱好者周刊(第 236 期):中国的阳光地带

1、三分钟读懂核聚变(中文)

美国能源部最近宣布,实现了可控核聚变的“净能量增益”。本文通俗解释了这是什么意思。(@marmul2 投稿)

2、美国的地理优势(英文)

这篇英语长文详细介绍了美国的地理优势:两边都是海洋,周围没有强敌;中部有巨大的平原,保证了粮食生产;内河水运距离超过其他国家的总和,运输成本极便宜。

文中有一张图片,很震撼:郑和下西洋的宝船(上方)与哥伦布环球航行的船只(下方)的大小对比。不过,郑和的宝船大小是后人根据古文献推算的,并没有足够的实物证据。

3、Mastodon 介绍(英文)

Mastodon 是一个类似推特的社交媒体,但是采用分布式结构,任何人都可以架设实例。本文详细地介绍它的运作机制。

4、动态生成头像的最简单方法(英文)

CDN 服务商 Bunny.net 让 AI 绘图引擎自动生成用户头像,每个用户都有一个不一样的兔子头像。

5、如何使用 HTML <picture> 标签(英文)

本文是一篇初级教程,介绍网页<picture>标签的使用方法。

6、如何关闭 favicon 请求(英文)

作者想制作一个体积尽量小的网页,文章里面介绍了一个技巧,如何让浏览器不发出 favicon 请求。

7、关系型数据库的优缺点(英文)

本文讨论跟 NoSQL 数据库相比,关系型数据库的优势在哪里。

8、分布式系统的8个错误观念(英文)

初学者对于分布式系统,往往有一些错误观念,忽视了这种系统的复杂性。本文总结了8个常见的错误观念,比如网络是可靠的、延迟为零、系统间通信没有成本等等,看完你就会了解分布式系统的难度在哪里。

235科技爱好者周刊(第 235 期):青年失业率与选择创业

1、使用 ChatGPT 写投诉信(英文)

AI 聊天软件 ChatGPT 发布以后,每天都有关于它的新用途。一个老外发现,它可以用来写投诉信,效果非常好。

2、苹果设备的通用剪贴板(英文)

这是苹果官网的介绍,如何在多个苹果设备之间使用通用剪贴板,即在一个设备复制,在另一个设备粘贴。

3、你可能不需要 JavaScript(英文)

这个网站总结了一些常见场景,可以用 HTML + CSS 替代 JavaScript。

4、不带括号执行 JavaScript 函数的七种方法(英文)

执行 JavaScript 函数,可以不写括号。本文总结了七种方法,上图就是其中一种。

5、替代 dd 命令(英文)

Linux 的dd命令常常用来复制磁盘镜像文件,其实完全可以使用cat命令替代它。

6、traceroute 命令查看简历(英文)

traceroute 命令用来查看网络请求经过的每一个路由节点。一个程序员灵机一动,买下一个 IPv6 的区段,使用 traceroute 命令就能查看他的简历。原理查看这篇文章

7、游戏引擎市场简介(英文)

这篇英语长文详细介绍了,现在主要的几个游戏引擎,即 Unity、Unreal 和 Godot 这三家。

8、我搭建了一个家用 NAS 服务器(英文)

作者详细记录了,自己如何从零开始,使用 TrueNAS 系统和自购硬件,自制一个四盘位的 NAS 服务器。

234科技爱好者周刊(第 234 期):AI 聊天有多强?

1、我在卡塔尔建世界杯足球场(中文)

作者作为参建者,披露本次世界杯主体育场的建造内幕。

2、如何使用手表作为指南针(中文)

西铁城手表的官网有一个页面,教你怎么用手表作为指南针,(在北半球)找到南方,很实用的小知识。

3、树莓派搭建一个自己的音乐服务器(中文)

很多音乐服务现在都是收费的,作者使用树莓派,搭建一个自己的音乐服务器,实现随时随地的听歌自由。(@niumoo 投稿)

4、NestJS 介绍(英文)

作者推荐使用 NestJS 作为后端框架,本文介绍他眼中这个框架的几大优点。

5、如何写一个 TypeScript 库(英文)

一个简单教程,介绍如何写一个 TypeScript 库发布到 NPM 上面。

6、JavaScript 如何验证 URL(英文)

本文介绍如何使用 JavaScript 验证一个 URL 是否合法。

7、如何使用 Backblaze 和 Cloudflare 搭建免费 CDN(英文)

Backblaze 是一个存储服务商,Cloudflare 是 CDN 服务商,两者都提供免费服务。将它们结合起来,就能获得免费的存储 + CDN。

8、开源云原生平台 KubeSphere 与 Rainbond 对比(中文)

作者需要找一个功能完善的云原生应用平台,经过自己筛选和朋友推荐,剩下 KubeSphere 和 Rainbond 这两个产品。(@zzzhangqi 投稿)

233科技爱好者周刊(第 233 期):生活就像一个鱼缸

1、为什么中国不适合搞支线航空(中文)

支线航空就是几十座的小飞机。本文分析,为什么这种小飞机的航线在中国搞不起来。

2、国产太行发动机(中文)

中国航空工业最薄弱的环节就是发动机,但是国产航空发动机其实一直在研发,率先用于军用飞机。

3、菌菇是一种万能材料(中文)

菌菇由网状的生物纤维组成,可以用来做各种材料,从填充的泡沫到建房的砖块(上图),无所不能。

4、五个你不知道的 React UI 库(英文)

市场上有很多优秀的 UI 组件库,但是知道的人不多,本文介绍其中五个。

5、如何找到创业点子(英文)

本文列出一些具体的、可操作的措施,帮助你找到可行的创业点子。

6、为什么那么多 Logo 改用无衬线字体(英文)

越来越多的品牌改变 Logo,使用更简洁的 无衬线字体(上图)。作者讨论为什么出现这种情况。

7、容器编排器介绍(英文)

容器编排器(container orchestrator)是管理多个容器的工具,目前主要是 Swarm、Kubernetes 和 Nomad 这三家。

本文介绍容器编排的基本知识,以及这三个软件的差异。

8、如何用 JavaScript 正则匹配电话号码(英文)

一篇初学者教程,讲解如何用 JavaScript 正则表达式,匹配美国的电话号码。很适合用来温习正则表达式。

232科技爱好者周刊(第 232 期):好用的平面设计软件

1、手机摄像头检测核辐射(中文)

网上流传一张照片,拍摄者将手机摄像头对准一根金属棒,照片顿时出现了大量的白色噪点(上图)。网友纷纷留言,让她赶快扔掉金属棒逃命。

虽然后来证实这张照片是伪造的,但是手机摄像头能够检测核辐射是真的吗?

2、AI 作图创业高潮(中文)

自从文字生成图片的 AI 作图模型开始流行,国内出现了很多这种小程序,尝试在这个领域创业。

3、改造城中村(中文)

一位建筑师接受委托,改造深圳城中村的5栋贴在一起的楼。它们原本都是农民的自建房,最终被改造成一个非常漂亮的现代建筑(上图的彩色建筑物)。

4、HTML 的 <template> 元素(英文)

本文是一篇入门教程,介绍怎么使用<template>元素。

5、Web 开发的未来是边缘网络(英文)

本文介绍了边缘网络(edge)是什么,有什么好处。

6、朝天鸣枪的物理学(英文)

这篇文章通过物理学计算,证明朝天鸣枪也有危险性,掉下来的子弹是致命的。

7、Raft 共识机制的通俗解释(英文)

作者使用电影《Mean Girls》的人物,解释一群人(计算机)怎么根据 Raft 机制达成共识。

8、一种计算二进制位的有趣算法(英文)

一个二进制数,如何知道它包含多少个1?本文介绍一种简单有趣的算法。

9、CNAME 循环会发生什么事情?(英文)

CNAME 域名指的是,将一个域名指向另一个域名的一种机制。本文作者做实验,如果两个 CNAME 域名互相指向对方,会发生什么结果?

231科技爱好者周刊(第 231 期):互联网公司需要多少员工?

1、900MHz 频段重新用于 5G 系统(中文)

工信部批准,原用于 2G/3G/4G 系统的 900MHz 频段,重新分配给联通的 5G 系统。这篇报道介绍相关情况,为什么 900MHz 是 5G 的黄金频段。

2、马斯克与员工争论 RPC(中文)

马斯克公开说,推特速度慢是因为有1000多个 RPC 请求。一个推特员工回复说,你错了。两人就争论起来了。

本文(还有另一篇)分析马斯克说得到底对不对。不幸的是,马斯克已经把那位与他争论的工程师解雇了。

3、CSS 中<html><body>(英文)

CSS 属性如果要对整张页面生效,可以定义在<html>,也可以定义在<body>,本文介绍两者的区别。

4、100字节的基本 CSS 设置(英文)

作者逐行介绍一个网页样式的基本 CSS 设置,只要100字节。

5、Node.js 19 的新功能(英文)

本文介绍刚发布的 Node.js 新引入的一些功能。

6、Xcode 14如何增大了 iOS App 的体积(英文)

苹果最新版的开发工具 Xcode 14 有一个问题,使用默认设置打包 iOS App,会显著增加 App 的体积(增加30%以上)。

7、什么是 WebAuthn(英文)

本文较通俗地介绍了账户登录的 WebAuthn 标准,不涉及实现细节,你可以大致理解它是怎么回事。

8、我如何拿到7万美元谷歌奖金(英文)

作者发现了安卓手机的一个大 Bug,可以破解任意手机的锁屏,最终得到谷歌7万美元奖金。本文讲述这件事的曲折过程,谷歌拖了四个月才解决。

230科技爱好者周刊(第 230 期):电子产品的用电量

1、我的哥哥 我的家(中文)

张益唐的妹妹张盈唐2018年的长文,介绍张家和他哥哥的往事。

“哥哥1985年出国,1987年回过一次国探亲,然后就是25年的漫长离别。”

他博士毕业后在美国非常不顺,生活困难,10年没跟家里联系,家人不知他是死是活。直到2013年他推动了孪生质数猜想,才有国内单位愿意出钱,请他回国讲学。

2、马斯克访谈(中文)

11月4日,马斯克接受了一次公开访谈,谈了接下来推特和特斯拉的一些设想。这是主要内容的中文整理。

3、26层的养猪大楼(中文)

湖北省鄂州市正在建造一栋26层的“国内最高、单体面积最大的养猪大楼”,本文介绍这栋楼的情况,高层建筑如何养猪。另外一篇报道也可以参考。

4、我造了一艘古代帆船(中文)

中国古代都使用帆船航海,甚至可以下南洋,但是现在已经看不到这种船了,甚至会造的人也找不到了。作者就设法仿制了一艘。

5、缓存 CORS 请求(英文)

CORS 是跨域 HTTP 请求,实际会发出两个 HTTP 请求(预检请求 + 正式请求)。很多云服务商按请求数计费,这将大大增加费用,本文介绍如何在客户端缓存 CORS 请求,避免过多的请求。

6、创业公司加快开发速度的方法(英文)

创业公司如何加快代码开发速度,作者提出他的做法。

7、测试 Windows Dev Kit 2023(英文)

微软最近发布了一款 ARM 主机,叫做 Windows Dev Kit 2023,配置很有吸引力,售价599美元,专门供开发者测试 Windows 的 ARM 版本。另有一篇中文评测

8、我怎么对付垃圾邮件发送者(英文)

作者搞了一个恶作剧,用 Microsoft Power Automate 做了一个自动化流程,自动回邮给垃圾邮件发送者。

邀请对方到指定页面登记,登记时需要设置密码,却总也设置不成功,从而浪费对方的时间。

229科技爱好者周刊(第 229 期):手机充电问题的解决

1、退役的 Netflix 缓存服务器(中文)

一位网友买到了一台2013年的 Netflix 服务器。它原来的用途是视频缓存,容量可以达到 262TB,现在已经退役了,不过还能正常开机使用。大家可以看看视频网站的缓存服务器是什么样。

2、走进世界最深地下实验室(中文)

四川大凉山的2400米山腹之中,有着一个世界最深的地下实验室,用来寻找暗物质。

3、索尼麦克风与 5G 频率冲突(中文)

索尼的多款无线麦克风使用了 700MHz 频段,这与国内的 5G 通信频段冲突,导致这些麦克风会频繁出现收音故障。

4、为什么电池只有1、5、7号?(中文)

本文介绍一些干电池的知识,它们的编号怎么来的。

5、details 元素的两个样式问题(英文)

HTML 网页的 details 元素有折叠效果,本文讨论怎么调整这个元素的样式。

6、input 元素的 capture 属性(英文)

很多人大概不知道,手机浏览器的网页输入框(input 元素)可以用capture属性,直接获取摄像头的数据,不需要 JS 代码。

7、Heroku 的替代品(英文)

Heroku 原来是一个免费服务,可以托管网站。最近它关掉了免费服务,要求用户付费。

本文介绍一些替代品,包括免费的部署服务和免费的数据库服务两部分。

8、为什么 PCIe 扩展槽正在减少(英文)

主板的扩展槽现在基本都是 PCIe 接口和 M.2 接口。本文分析为什么新出的主板上,PCIe 插槽的数量正在不断减少。

227科技爱好者周刊(第 227 期):脸书的公司入职教育

1、家用千元级 3D 打印机(中文)

最便宜的 3D 打印机已经是千元级别了,这样的打印机好不好?

2、50岁码农面试记(中文)

作者是加拿大华人,一直从事数据库管理。工作了20年后,他想转开发,于是猛刷 Leetcode,开始投简历求职。

3、美国的对华半导体禁令(英文)

10月10日,拜登政府发布了空前严厉的对华半导体禁令,其中有一条甚至禁止美国公民在中国半导体公司任职。这实质上已经不是贸易禁令了,而是开始扼杀中国的半导体工业。

作者是一个美国分析师,站在美国政府的立场,分析为什么他认为这个政策可以打击中国。从这篇文章,可以了解美国高层的想法。这里还有另一篇相关的分析文章

4、网页的最佳大小是不超过 14KB(英文)

TCP 协议有“慢启动”的特征,导致 14KB 网页的传输速度明显优于 15KB 网页。所以,网页(或者首屏代码)最好不超过 14KB。

5、应用内浏览器的隐私风险(英文)

当你在手机 App 里面打开一个网址(比如微信里面点击一个网址),你是在应用内浏览器打开,而不是在系统浏览器。

这时,宿主 App 可以监听你的一举一动,很多巨头都这么干。

6、如何保持网页图像的纵横比(英文)

作者详细讨论了,在网页图像加载之前,就提前留出图像空间的两种方法:CSS 的 aspect-ratio 属性,以及<img>的 height 和 width 属性。

7、什么是“干净的代码”?(英文)

有一本名著叫做《Clean Code》,提倡程序员要写“干净的代码”。这篇短文就总结了一些特征,什么样的代码可以称为干净。

226科技爱好者周刊(第 226 期):谷歌出了什么问题?

1、中国运营商为什么不推广 eSIM?(中文)

eSIM 取消了实体 SIM 卡,是一种方便消费者的技术。目前主要是手机厂商在推动,国内的通信运营商并不积极,这篇新闻报道分析原因。

2、元宇宙婚礼(中文)

上市公司中青宝的90后董事长,在元宇宙举办婚礼,来宾可以线上观礼和参与,还可以充值金币给新人送红包。

3、为什么古代中国没有玻璃业?(英文)

中国的玻璃历史很悠久,战国时期就出现了,但直到近现代才有玻璃制造业。一个老外分析原因,还挺有趣。

他认为很大原因是,中国瓷器太发达,导致人们不热衷于发现新材料,而制度也不鼓励创新。

4、React 的重新渲染(英文)

本文详细解释怎么会触发 React 的重新渲染。文章比较长,但是不难。

5、轻度动态网站(英文)

这篇文章回顾了网站开发的历史,从静态网站到动态网站,到静态网站生成器,再到诸如 Next.js 这样的全栈框架。

然后,作者提出一个概念,未来的趋势可能是“轻度动态网站”,总体是静态网站,但是某些部分是服务器直接渲染的动态组件,有点像以前的 PHP。

6、PowerToys 用法介绍(英文)

PowerToys 是微软官方推出的 Windows 工具集,包含11个有用的小工具,本文介绍它们的用法。

7、25个有用的 Mac 小应用(英文)

一组系列文章,作者逐一介绍了25个很有用的 Mac 小应用,其中不少是免费的。

225科技爱好者周刊(第 225 期):NPC 演员也是一种职业

1、全屋光纤布网 FTTR(中文)

大家可能不知道,国内的通信服务商都有“全屋光纤布网”业务,帮你在家里安装光纤局域网,这个服务称为 FTTR。

本文分析为什么它在国内发展得不好,一大原因是如果你的住房面积不大,根本没必要安装它。

2、多余的电去哪了?(中文)

如果用电量小于发电量,电就会多出来,本文介绍多余的电去哪里了。不是储藏起来,根本没有这么多储能设施。

3、中国坐标系简明指南(英文)

中国的地图服务的坐标系需要转换,作者作为一个外国的网络地图开发者,介绍了这方面的情况。

4、巧用 CSS 显示 HTML 源码(英文)

本文介绍了几个有用的技巧,很神奇地在渲染页面时,能够展示 HTML 源码。

5、写出清晰代码的六条规则(英文)

作者总结了六条简单规则,可以避免代码一团乱。我觉得总结得不错。

6、Android 替代品 /e/ OS(英文)

作者体验了手机操作系统 /e/ OS,它是安卓系统的替代品,去除了所有谷歌服务,跟 LineageOS 差不多。

7、我做了一个旅行路由器(英文)

作者介绍他如何自己购买零件,再安装软件,组装出一个旅行路由器。

8、如何配置本地电脑的短链接(英文)

作者演示了一种方法,创建在本地跳转的短链接,比如在地址栏输入g,就跳到 GitHub,网址翻译不需要服务器。

224科技爱好者周刊(第 224 期):Figma 为什么赢了 Sketch

1、卫星通话的消费级国产手机何时诞生(中文)

本文介绍中国卫星电话的发展现状,透露有一家叫做“银河航天”的创业公司,正在发射自己的卫星,试验组建一个低轨宽带通信网。

2、如何选择家用 3D 打印机(中文)

作者介绍他怎么选择购买自己的第一台 3D 打印机。

3、软件内部信息的7个可视化工具(英文)

本文介绍7个工具,可以将软件内部信息(比如目录结构、依赖关系等)以可视化的形式展现。

4、音乐数据库的难点(英文)

这篇文章列举了维护音乐数据库的难点,比如不同的乐队有相同的名字,有的乐队改过多次名字。再比如,有的曲目是多人合作的,最多的一首居然有191个人参与。

5、如何为 sudo 命令开启 Touch ID(英文)

命令行的sudo命令需要认证用户身份,这需要输入密码。作者突发奇想,能不能用 MacBook 的 Touch ID 代替密码,需要验证时,提示用户按一下指纹。

6、Python 的is运算符和==运算符(英文)

Python 比较两个对象是否相同有两个运算符,本文介绍它们的异同。简单说,is比较的是内存地址是否相同,==比较值是否相同,并可以自定义。

7、空气监测仪如何测量灰尘?(英文)

作者买了一个空气监测仪,测量 PM 2.5 指数。他把监测仪拆开了,分析测量原理。

原理就是用一个激光探头照射空气,尘埃越多、颗粒越大,被反射的光就越多,然后检测器根据接收到反射光脉冲数量和强度,来衡量空气质量。

8、你应该关闭 git 的自动垃圾收集(英文)

Git 默认会定期清除用不到的提交对象(孤儿对象),作者认为你应该关掉这个功能。

223科技爱好者周刊(第 223 期):程序员需要担心裁员吗?

1、高德地图的隐秘群聊(中文)

高德地图有一个功能,如果某条道路发生严重堵塞,它会为堵在这条路上的人,自动建一个聊天群。

2、中国推动“饲料粮替代”(中文)

今年饲料价格大幅上涨,主要是玉米和豆粕,对肉蛋奶等畜产品的生产极不利。国内开始推动工业化合成生物蛋白,然后添加酶制剂,做成“人工饲料”。

3、提问的智慧中国版(中文)

作者对英文原版的《提问的智慧》做了大量的删减和本土化改造,介绍如何在网上求助,更贴近中国程序员的实际情况。(@dingjs 投稿)

4、我如何实现一个 CDN(中文)

为了降低流量费,作者找了一些流量便宜的机房,然后自己写了一个调度服务器,架设了 CDN。(@star7th 投稿)

5、如何破解浏览器的右键劫持?(英文)

这是 Hacker News 论坛的一个帖子,讨论遇到禁止鼠标右键菜单的网站,应该如何破解。

6、如何提高 TypeScript 编译速度(英文)

大型 TypeScript 项目的编译速度,通常是很慢的。作者介绍了一个技巧,通过 webtreemap 找出速度瓶颈在哪里。

7、Node.js 项目依然有工具问题(英文)

作者写了一个 Node.js 小项目,结果发现需要做 TS 配置、Vue 配置、Vite 配置、npm 配置……大量的项目细节不是写在代码里面,而是写在各种配置文件里面。

8、Windows Terminal 支持自定义主题(英文)

Windows Terminal 是 Windows 的默认终端模拟器,本周宣布了新版本,可以使用自定义主题了。

9、停止引用 TIOBE(英文)

TIOBE 是一个编程语言流行度的排名网站,比如 Python 排在第一位,C 排在第二位。作者认为该排名毫无价值,不值得关注。

222科技爱好者周刊(第 222 期):四十年编程感想

1、知乎水印事件(中文)

网友发现,知乎网页暗藏水印,用来发现是谁截图。这个事件曝光以后,知乎又把这个功能下线了。

2、太阳能无人机有什么用?(中文)

本月,中国航空工业集团研制的“启明星50”大型太阳能无人机首飞成功。本文介绍这种完全依靠太阳能供电的无人机有什么用。

3、我国两种长臂猿野外灭绝(中文)

过去几十年,中国分布的白掌长臂猿、北白颊长臂猿在野外均没有被监测到,可以认为已经野外灭绝了。

4、CSS Grid 在 Figma 的应用(英文)

Figma 操作面板使用 CSS 网格来实现,作者详细介绍它的实现,网格原来还能这样用。

5、99美元的 Chromebook 是什么体验?(英文)

作者为了测试 Flutter 应用在低端设备的表现,花99美元买了一台全新的联想 Chromebook 笔记本。他原本预期会很糟糕,结果完全出乎他的意料。

6、软件工程师如何成为全职“创作者”?(英文)

作者是一个软件工程师,从 Uber 辞职以后,全职依靠创作(写文章、卖课程、做视频等等)为生。他写了对这种商业模式的思考。

7、美国需要大量机器人(英文)

一个美国人给美国政府写的政策建议。这篇文章有价值的地方是提出了一个观点:机器人越多,创造的就业岗位越多。作者认为,传统看法是错的,机器人实际上有助于创造人类就业。

8、Python 星号*的用途总结(英文)

一篇面向 Python 初学者的科普文章,介绍星号*在这门语言的各种含义。

221科技爱好者周刊(第 221 期):全世界最繁荣的行业

1、iPhone 的 Safari 浏览器插件(中文)

iPhone 手机和 iPad 平板的 Safari 浏览器,可以安装插件。本文介绍14个常用插件。

2、Javascript 混淆技术(英文)

本文介绍 JavaScript 的一些代码混淆的方法,让代码变得尽量难以辨识和阅读。

3、Facebook 加密了 URL 的查询字符串(英文)

有一些 URL 的查询字符串用来追踪用户,Firefox 现在可以自动剥离这些查询字符串。结果,Facebook 居然修改了自己的 URL,把查询字符串加密了,让你无法剥离,真是叹为观止。

4、什么发行版属于 GNU/Linux?(英文)

并不是所有的 Linux 发行版都是 GNU/Linux,作者提出只有使用了 GNU C 库(通常称为 glibc)和 GNU coreutils 软件包,才属于 GNU/Linux。

按照这个标准, Alpine、OpenWrt 和 Android 都不是 GNU/Linux。

5、DNS TXT 记录(英文)

本文举例解释 DNS 的 TXT 记录是什么,读起来可能有点费劲,但解释得挺好。

6、Apple M1 如何安装 qemu 虚拟机(英文)

本文一步步介绍如何在 Apple M1 机器上,通过 qemu 虚拟机,安装基于 x86 架构的 Linux 系统。

7、MacBook 的触摸栏设置成 git 操作(英文)

本文介绍如何在 MacBook 触摸栏上放置按钮,只要点一下,就能在命令行执行 git 命令。

8、Unix 时间戳还是 ISO-8601?(英文)

数据库的时间记录,到底是保存成 Unix 时间戳,还是 ISO-8601 格式的yyyy-MM-dd HH:mm:ssZ时间?

220科技爱好者周刊(第 220 期):人工智能的机会在哪里

1、蒋尚义万字访谈(中文)

蒋尚义(1946-)曾担任台积电共同营运长,后来到了大陆,担任过中芯国际副董事长。

今年三月,他接受美国“电脑历史博物馆”专访,回顾自己的半导体生涯。内容不错,值得一读,可以了解半导体行业和台积电。

2、DuckDuckGo 发放 @duck.com 邮箱(中文)

DuckDuckGo 开始向所有用户免费开放 @duck.com 邮箱。这是一个邮件转发服务,会剥离邮件里面的追踪代码。如果你想要注册,需要先安装它的浏览器扩展。

3、电动轮椅当电脑椅(中文)

作者探讨了一种可能性,能不能用电动轮椅,取代电脑椅?

4、为什么苹果一定会发布基于 ARM 的 Mac 电脑(英文)

一篇2014年的文章,作者正确预言 Mac 电脑会改用 ARM 架构 CPU,分析得有理有据,很有眼光。

5、如何使用 Next.js 搭建博客(英文)

如何使用 Next.js 在 Vercel 免费空间上搭建博客的教程。

6、Node.js 的性能差异:CJS vs ESM(英文)

这是 Node.js 官方仓库的一个 issue。有人发现,Node.js 处理 CJS 模块比 ESM 模块快10倍,而且 Node 18 的性能不如 Node 16。

7、Tauri vs Electron:真实项目的比较(英文)

Electron 是目前跨平台桌面软件的首选开发框架,Tauri 则是最近出现的一个替代品,试图解决前者的最大痛点:体积臃肿,资源占用高。

作者特意用 Tauri 写了一个桌面应用。本文是他的使用感受,以及两者的全方位比较。

8、103状态码:加载提示(英文)

Chrome 浏览器新增了 HTTP 协议的103状态码,表示“加载提示”(early hints),即提示浏览器可以预加载某个资源,用来取代已经下线的 HTTP/2 的服务器推送功能。

219科技爱好者周刊(第 219 期):如何防止帐号被黑

1、无人驾驶安全员的一天(中文)

去年,百度获得许可,在首钢园开始运营无人驾驶出租车。每辆车配备一个安全员,坐在驾驶位或副驾驶位,监督车辆行驶。

本文是对一位安全员的采访,他整天坐在车上,看着车自动开是什么感受。有一段很有趣,他说坐惯了无人驾驶以后,回到自己车上,就很难适应了。这篇是节选的中文翻译,内容很少,可以参考英文原版

2、中国的木拱桥(中文)

中国古代除了石拱桥,还有木拱桥,也就是用木头做的拱桥。前不久烧毁的福建万安桥,就是一座木拱桥。

3、灵隐寺“智慧寺院管理系统”(中文)

杭州灵隐寺“智慧寺院管理系统”近期正式上线,网上流传一张照片,一位僧人正在讲解该系统。

4、Bun:Node.js 的替代品(英文)

Bun 是 Zig 语言写的 JavaScript 服务器运行环境,目标是兼容 Node.js,并且将打包器、转码器、包管理都包含在内。本文是对它的测评,最终评价很不错。

5、停止在代码注释中使用 TODO(英文)

很多程序员习惯在代码注释写 TODO,表示待完成的任务。作者建议不要再写 TODO,而用具体的任务替代,比如需要添加文档写“DOCME”,需要添加测试写“TESTME”。

6、小米 12s Ultra 与 iPhone 13 Pro Max 的摄像头对比(英文)

小米最新发布的 12s Ultra 手机,有着1英寸传感器,比 iPhone 13 Pro Max 大了许多。XDA 论坛对两者的拍照和视频能力,进行了对比。

7、OpenSSL 与 OpenSSH 的区别(中文)

OpenSSL 与 OpenSSH 都是开源软件,它们的区别是:前者是 C 语言函数库,实现了 SSL 加密协议;后者是加密 Shell 的开源实现,提供了加密登录的客户端和服务端,它依赖于 OpenSSL。

8、使用人工智能解释代码(英文)

作者将代码提交给人工智能模型 GPT-3,让模型说出这段代码是什么意思,结果令人震惊。

218科技爱好者周刊(第 218 期):葡萄酒,樱花,全球变暖

1、雷军2022年度演讲(中文)

2022年8月11日,雷军主题演讲《永远相信美好的事情即将发生》的全文。

2、拆解一根快充线(中文)

作者拆解了一根 65W 的 Type-C 快充线,里面的结构还是挺复杂的。

3、10个实用写作技巧(中文)

作者学到的10个写好文章的实用技巧。原文是推特长推,属于对英文资料的一些总结。(@zonemeen 投稿)

4、Web Component 死了吗?(英文)

Web Component 是浏览器原生支持的组件规范,谷歌一直在推。它已经诞生10年了,本文回顾了历史,讨论这种技术的前景。

5、扩展 SaaS 业务的方法(英文)

这篇不是技术文章,而是写给 SaaS 创业者的商业文章,介绍应该怎么定位和扩张业务。给出的建议很实在,可操作性比较强。

6、Chrome 的实时字幕(英文)

Chrome 浏览器内置了实时字幕功能,同步将语音转成文字,显示在网页上,对于看英文视频、听英文播客很有用。

菜单“设置/高级/Accessibility/Captions”可以打开这个功能,详见标题链接的官方文档。

7、旧安卓手机用作 Web 服务器(英文)

很多人家里都有旧的安卓手机,本文演示如何将这些手机变成 Web 服务器,架设内网服务。

8、我错了,CRDT 是未来(英文)

这篇文章解释和比较了 CRDT 和 OT 这两种多人的实时同步算法,它们主要用来实现多人同时编辑文档。

217科技爱好者周刊(第 217 期):沙特的新未来城

1、假晶体丑闻(中文)

英国的一个晶体结构数据库宣布,将删除近1000个晶体结构,因为它们是不存在的。

它们来自800多篇中国医生的论文,因为中国医院要求,医生只有发表论文才能评职称,结果就产生了这些不存在的小分子结构。

2、北京海量建筑垃圾何处去(中文)

本文介绍北京将建筑垃圾做成“再生砖”,尝试重复使用。

3、任正非如何创立华为(中文)

本文介绍了任正非的个人经历,如何将华为从几个人的小公司做成电信设备巨头。

“那时候的华为只能算是一家皮包公司,什么能赚钱就做什么,卖过火灾警报器和气浮仪,也卖过保健品和减肥药。有一次,任正非听说深圳有家公司的墓碑生意做得很好,甚至专门找人去调研。”

4、SQL 背后的故事(中文)

SQLite 作者的播客访谈的中文整理,谈了 SQLite 是怎么来的,以及为什么变成了地球上最严格测试的软件:每个新版本有10亿个测试,要跑好几天。(@CherryLover 投稿)

5、如何维护一个开源项目(中文)

如果你要开源一个项目,要注意哪些事项,作者谈谈想法。(@da1234cao 投稿)

6、WebContainer 得到 Firefox 的支持(英文)

WebContainer 是 StackBlitz 公司开发的一种新技术,通过 WebAssembly 在浏览器里面建立一个 Node.js 虚拟机,服务器脚本从而可以直接在浏览器运行。

7、使用 Cloudflare Tunnel 公开 Web 服务(英文)

本文是一篇教程,介绍如何使用 Cloudflare Tunnel 这个服务,将内网的 Web 服务放到公网上。这里还有一篇外网 SSH 连接内网机器的教程

8、使用 Cloudflare Tunnel 隐藏你的服务器(英文)

本文介绍如何使用免费服务 Cloudflare Tunnel,隐藏你的网站的真实 IP。最大优点是不必打开服务器的任何端口,所以没法直接攻击源站。

216科技爱好者周刊(第 216 期):极简主义的胜利

1、甲醇汽车的前景如何?(中文)

吉利是国内唯一始终在推动甲醇汽车的公司,本文讨论甲醇汽车的利弊。

甲醇容易制造,没有技术难点,成本低,污染小。它的热量值约为汽油的一半,意味着配备同样大小的油箱,汽车行驶里程会打对折。此外,甲醇易挥发,有毒性,而且也会排放二氧化碳。

2、国家云正式上线(中文)

中国电信牵头打造的国家云,正式对外亮相。以后,国资企业的云应用,可能逐步向“国资云”平台迁移。

3、谷歌等科技公司要求取消闰秒(中文)

某些年份会增加或减少一秒钟,这就叫闰秒。这对计算机系统造成很大困扰,意味着一分钟可能有61秒或59秒。因此,谷歌、微软、Meta和亚马逊联合发声明,建议取消闰秒,参见 Meta 的原文

4、谷歌为什么要推出 Carbon 语言?(英文)

最近几年,越来越多的公司尝试发明新语言,比如使用 TypeScript 更新 JavaScript,使用 Kotlin 更新 Java。

本月,谷歌宣布推出 C++ 的替代品 Carbon 语言,因为谷歌认为 C++ 的发展太慢,希望设计出一种由社区推动而不是委员会控制的新语言。

5、如何将 Chrome 用作代码编辑器和调试器(英文)

Chrome 浏览器自带的开发者工具有很多功能,本文详细介绍如何用它来编辑和调试 JS 脚本。

6、最好的无损图像格式是什么?(英文)

作者比较了四种无损的图像格式,评论它们的表现:PNG、WebP、AVIF 和 JPEG XL。

7、超声波支付(英文)

很早以前,支付宝推出过超声波支付,就是用超声波发送支付请求,不需要网络连接就能付款。而且,人耳听不见超声波,用户不会感到被打扰。

作者自己动手实现一个简单的演示,使用 quite.js 在网页上用超声波发送和接收数据(需要麦克风和喇叭)。

8、我怎么会想写 Ruby 解析器(英文)

本文不涉及技术,作者讲述自己怎么会一个人去做一个 Ruby 解析器,可以当作故事读,了解一个人的大型项目是怎么做出来的。

215科技爱好者周刊(第 215 期):互联网最喜欢的行为模式

1、B 站2021年7月13日事故剖析(中文)

B 站官方回顾和剖析了去年7月13日停服的原因和处理过程。(@moreant 投稿)

2、国家植物园巨魔芋开花(中文)

巨魔芋是世界珍稀濒危植物,也是世界最臭的植物,很难得开花,人工环境下全世界总共只发生100多次。

7月19日,北京国家植物园的温室内一株巨魔芋开花了,而且它旁边那朵可能马上也要开了,这种群体开花,属于世界首次。这里还有图集

3、韦伯望远镜使用 68GB SSD(中文)

美国宇航局披露,韦伯望远镜使用的硬盘是 68GB SSD 固态硬盘。这令人难以置信,100亿美元的大项目,为什么会用这么小的硬盘呢?一天的数据就能装满,而且 SSD 并不是很可靠的存储介质。

4、5 种限流算法,7 种限流方式(中文)

本文总结了 Java 服务器端挡住突发流量的一些限流措施。(@niumoo 投稿)

5、我两年里面做过的小项目(英文)

作者回顾了他在两年里面做过的8个小项目,每个项目的构思,以及有没有赚钱,还是有所启发的。

6、CPU 散热器的罩子(英文)

作者注意到,英特尔 i9 CPU 的原装散热器(右图)在风扇周围有一个蓝色塑料罩,而 i5 的散热器(左图)只有一些零星的散热片。

他很好奇,这个罩子有什么用,就自己动手用硬纸板为 i5 做了一个罩子,看看有何不同。

7、用户通知的推送指南(英文)

2009年,苹果首先在 iPhone 推送用户通知(push notification)。这个功能很快就普及到安卓、浏览器和桌面系统。本文对它进行全面介绍,不涉及代码实现。

8、神奇的 H.264(英文)

一篇很有名的长文,写于2016年,介绍 H.264 算法为什么这么神奇,可以将高清视频压缩得这么小。

214科技爱好者周刊(第 214 期):你的地图是错的

1、银行人脸识别被破解(中文)

本文报道了一个真实案例,银行使用人脸识别 + 短信进行身份验证,结果被犯罪分子破解,多名用户的存款被转走。

2、在游戏《刺客信条》逛希腊(中文)

游戏《刺客信条:奥德赛》忠实还原了古希腊,本文进行了整理,将游戏里面的场景与真实场景一一对照。上图是游戏里面的雅典卫城,下图是真实的雅典卫城。

3、韦伯望远镜与哈勃望远镜的图像比较

本周,美国宇航局发布了韦伯望远镜拍摄的第一批照片。作者将这些照片与30年前发射的哈勃望远镜做了比较,看看影像改进了多少。这里还有一篇详细的韦伯望远镜介绍

4、如何写一个 React 路由组件(英文)

这是一个带有详细注释的脚本,讲解每一行的含义,不到100行代码,实现了 React 的路由。

5、.Net 技术的六个误解(英文)

本文为 .Net 正名,逐一解释常见的6个误解,比如认为 .Net 只能用于 Windows 系统。

6、如何为静态网页添加 OAuth 登录(英文)

本文使用 Cloudflare 的云函数,演示如何没有后端服务器,也能实现 OAuth 登录,并附有示例库

7、Postgres 索引入门(英文)

本文简单介绍了 Postgres 数据库的各种不同索引,及其简单用法。

8、NixOS 的包管理设计(英文)

NixOS 是一个 Linux 发行版,具有独一无二的包管理机制,彻底解决了版本冲突问题,不同版本的软件可以同时运行,新版本也可以无痛回滚到任意老版本。

213科技爱好者周刊(第 213 期):知识孤岛,知识软件

1、任正非:关于专家委员会(中文)

华为最近成立了专家委员会,是内部6000多名首席专家、科学家、十几万工程师的一个活动平台,平时组织大家搞搞活动、喝咖啡、开茶话会,进行思想交流。

这里是任正非今年6月1日的一个内部谈话,跟专家委员会秘书处的成员座谈,回答大家的问题,解释为什么要搞专家委员会。

我很喜欢里面的一句话:“铲除一切阻挡我们开放的人,我们要吸收别人的能量改进自己。”

2、追踪北京雨燕的迁徙(中文)

每年4月,一群雨燕会来到北京颐和园,7月份再离开。为了搞清楚它们的路线和去向,科研人员为它们装上定位器,证实它们离开北京后,会经过新疆中亚、中东,最后抵达非洲南部。

3、零基础开发一个 Web/Hybird 项目(中文)

作者零基础开发了一个完整的 Web/Hybird 的项目,支持浏览器端、Android 端、iOS 端,这篇长文记录了所有的学习和开发过程。(@imfms 投稿)

4、氧气蜡烛(英文)

蜡烛燃烧会消耗氧气,本文介绍一种特殊蜡烛,燃烧时会释放大量氧气,用来紧急供氧。

5、JavaScript 容器(英文)

Node.js 和 Deno 创始人 Ryan Dahl 的文章,提出将 JavaScript 作为容器标准语言,Deno 作为容器内部运行环境。

这样的话,容器就能标准化,开发者自己就不必构建容器的镜像文件了,直接把 JS 脚本扔到标准化容器就可以了。

6、如何选择美国的计算机硕士学校(英文)

作者是一个美国人,想要读一个计算机硕士学位。本文记录他筛选学校过程,对有类似需求的同学可能有用。

7、我所用的自托管应用程序(英文)

作者介绍了自己在家庭内网托管的所有应用程序,可以当作架设家庭 SaaS 服务的参考。

8、如何通过 JS 运行时快照进行 Web 抓取(英文)

很多网页的数据是通过 JS 产生的,这时就特别不便于网页抓取。作者想到了一个很妙的方法,对 JS 运行时生成内存快照,再从快照里面提取网页数据。

212科技爱好者周刊(第 212 期):人生不短

1、iPod 透明探索版改装指南(中文)

作者买了一个17年前的 iPod Classic 第五代,自己动手改掉了外壳、硬盘、系统,让它变成 1TB 的透明探索版。

2、现存最早的声音(英文)

1860年,一个法国印刷商制造了人类第一个声音记录装置,他将音波对膜的振动波形记录在纸上(上图),这是人类最早记录下来的声音。

但是,当年没有能力,将波形还原成声音播放。直到2008年,科学家设法将这些波形还原成声音,你在这篇文章就可以听到这些现存最早的声音。

3、ES2022 的新语法(英文)

JavaScript 语法的新标准 ES2022 上个月刚刚通过,本文简要列出今年新增的语法。

4、如果将一张照片隐藏在另一张照片中(英文)

本文举例讲解,图片文件隐藏信息的实现原理。

5、如何自制 CF 卡(英文)

CF 储存卡很贵,但它使用的是 NVME 接口,我们可以自己动手,轻松用 NVME 硬盘改装成 CF 卡。

6、一步步解释 SHA-256 哈希算法(英文)

SHA-256 是常用的哈希算法,作者用一个例子,一步步演示它怎么从字符串得到哈希值。

7、如何用 GitLab 和 Gitpod 远程编程?(英文)

如果手边只有一部平板电脑,应该怎么编程?作者用 GitLab 作为仓库,用 Gitpod 提供的开发环境,在浏览器中使用 VSCode 远程界面编程。

8、OpenBSD vs NixOS 比较(英文)

对于程序员来说,多熟悉一些操作系统是很有必要的。OpenBSD 是老牌的 Unix 系统,NixOS 是一个全新理念的 Linux 发行版,作者从使用者的角度比较了这两个系统。

211科技爱好者周刊(第 211 期):虚拟商品可以拉动 GDP

1、视频播放器还有前途吗(中文)

腾讯 QQ 影音最新关闭了下载,这个产品应该是要被取消了。本文回顾桌面软件的视频播放器的兴起和没落。

2、毒蘑菇如何识别(中文)

B 站有一位视频作者,拍各种视频,教大家识别毒蘑菇。本文介绍一些这方面的知识。

3、如何在用户离开页面时可靠地发送 HTTP 请求(英文)

用户关闭页面,或者点击链接离开,这时如何保证 HTTP 请求还能发送出去?本文分析了你能使用的几种方法。

4、如何使用蒙特卡罗模拟计算圆周率 pi(英文)

作者解释蒙特卡罗方法,使用 Python 语言写了一个小程序,计算圆周率,图文并茂,很容易懂。

5、Linux 的四个查找命令(英文)

Linux 有四个常用的查找命令:locate、whereis、which 和 find。本文介绍它们的区别和简单用法。

6、Flatpak 安装包有什么问题?(英文)

Flatpak 是 Linux 系统常见的安装包格式。它是二进制文件,不用自己编译,大大简化了不同发行版的安装和兼容问题。但是,本文详细讨论了这种格式,认为它的发展方向是不对的。

7、U+202E 骗术(英文)

U+202E 是一个特殊的 Unicode 字符,可以这个字符后面的字符串从右到左显示。很多病毒软件就利用这个特性,诱骗用户点击,比如 foofdp.exe 这个文件名,只要在foo后面插入该字符,就会显示成 fooexe.pdf。

8、Docker 架设静态网站的最小解决方案(英文)

作者想通过 Docker,提供静态网站服务。最后找到了一个解决方案,只需要在静态文件之外,加入一个 186KB 服务器就可以了。

210科技爱好者周刊(第 210 期):为什么软件变得复杂

1、我为什么与中国游戏发行商签约又分手(中文)

这是一篇日本独立游戏开发者的文章,被译成了中文。作者以亲身经历,解释了目前的独立游戏的发行制度和现状。

2、Intel 4 工艺宣布(中文)

上周,英特尔公司正式宣布了 Intel 4 工艺。这是英特尔公司第一次将 EUV 技术用于 CPU 的生产,实现了7纳米的制程,开始追赶台积电。本文介绍该工艺的一些情况。

3、我如何搭建家用 NAS(中文)

本文详细记录了作者选购硬件、安装软件,搭建一台 22TB 的家用 NAS (网络存储)服务器的过程,可以当作自己架设 NAS 的参考。这里是中文翻译,另有英文原文。(@yangchuansheng 投稿)

4、最简单的任务管理系统(英文)

本文介绍作者自己发明的最简单任务管理系统,就是把每天的任务写在卡片上,用一个架子放在眼前,做完一件就划掉一件。

5、使用 Cloudflare + Backblaze B2 打造一个免费的图像 CDN(英文)

本文是一篇详细的教程,教你怎么把图片托管在 Backblaze B2 对象存储,然后连接到 Cloudflare 的 CDN 服务。两者都有免费额度,对于小网站来说,不用花钱就解决了图片的存储和带宽问题。

6、如何用 iOS 快捷指令防止沉迷?(英文)

作者发现自己在社交媒体上,浪费了大量时间。他想出了一个办法,制作了一个 iOS 快捷指令(shortcuts),只要一打开社交 App,就会跳出提示“请专心工作”。

7、我的免费摄影软件工作流(英文)

作者是一个专业的摄影师,完全采用免费软件处理数码照片。本文介绍他的解决方案。

8、我在单个服务器上托管几十个网站(英文)

作者详细介绍,他如何在一个服务器上托管几十个网站,大部分是 API 调用。这里最大的难题还不是把服务架起来,而是如何同时维护和管理它们。

9、如何估算流入加密货币的资金(英文)

多少资金流入了加密货币市场?这显然是无法准确计算的,作者想到了一个办法,可以间接估算。那就是看稳定币每月增长的发行量,上图是过去两年稳定币每个月的增长百分比。

209科技爱好者周刊(第 209 期):程序员是怎样的人

1、国产 GPU 创业潮(中文)

最近,国内出现了好几家 GPU 创业公司。大家知道,独立 GPU 市场现在完全被 Nvidia 和 AMD 两大巨头垄断,技术壁垒非常高,新公司很难进入,本文就来分析了这些创业公司是怎么出现的。

2、手机号“一键解绑”(中文)

中国信息通信研究院推出“一号通查”功能,可以查询用户手机绑定的互联网帐号服务(目前只有微博、淘宝、抖音、美团等若干服务),并可以“一键解绑”。

3、三分钟读懂 NFT 和数字藏品(中文)

国内很多公司都在尝试发行数字藏品(NFT),本文使用通俗的语言介绍,到底什么是数字藏品,写得不错。(@marmul2 投稿)

4、你不知道的 HTML 属性(英文)

本文详细介绍几个你可能不知道的 HTML 属性,比如<input>enterkeyhint属性。

5、三个 Markdown 技巧(英文)

本文介绍了 Mardown 的三个小技巧,比如在行内代码中显示反引号。

6、如何从命令行读写剪贴板?(英文)

Windows 和 Mac 系统都提供命令行命令,可以读写系统的剪贴板。本文举了一个简单的例子,教你怎么使用它们。

7、Imagen 与 DALL-E 效果对比(英文)

谷歌最近发布了 Imagen 模型,跟 OpenAI 公司的 DALL-E 模型功能完全一样:输入一段文字,自动生成配图。

本文作者做了一个实验,同样的文字输入这两个模型,比较谁的效果更好。比如上图的原文是“一只蓝鸟站在一大篮彩虹马卡龙上。”

8、如何使用 dig(英文)

dig 是一个查询 DNS 信息的命令行工具,本文介绍它的简单用法,写得很好。

9、如何正确使用 Python 浮点数(英文)

一篇初级教程,介绍如何在 Python 语言里面正确使用浮点数。

208科技爱好者周刊(第 208 期):晋升制度的问题

1、他用50张 1080Ti 对抗癌症(中文)

4年前,一个程序员发帖称,他训练了一个模型,可以从 X 光片识别早期乳腺癌。最近,他又发帖了,使用人工智能治疗脑瘤。

2、寻找“树王”辛达布(中文)

本文讲述研究人员如何在墨脱县寻找和测量中国大陆最高的树。

3、GitHub Markdown 支持数学公式渲染(英文)

GitHub 宣布,支持 Markdown 里面的 LaTeX 数学公式渲染,渲染引擎是 MathJax。

4、网络迷踪初探(中文)

本文介绍几个真实案例,从网上照片分析出准确的拍摄地点。

5、世界最大核聚变反应堆的内部照片(英文)

所有核反应堆目前都是核裂变,但是真正有前途的是核聚变反应堆。32个国家正在合作,在法国建造世界最大的核聚变实验堆,一个摄影师获准进入施工现场,拍摄了照片。

6、第三方登陆钓鱼(英文)

本文提出一种钓鱼方式,很容易上当。钓鱼网站提供第三方登陆选项,但是点击后跳出一个假冒的窗口,诱骗用户输入密码。

7、如何用<dialog>元素替换网页对话框(英文)

本文用浏览器原生的<dialog>元素替换掉alertconfirmprompt对话框,给出详细的代码实现。

8、失败的谷歌 I/O 2022大会(英文)

本文认为刚刚举办的谷歌 I/O 2022大会完全失败,根本没有拿出让大家兴奋的新产品,而是把那些已经失败好几年的产品重新捡起来:安卓平板、谷歌钱包、谷歌眼镜、安卓手表…… 作者认为,谷歌这家公司似乎迷惘了。它迫切需要告诉大家,它的战略方向是什么。

207科技爱好者周刊(第 207 期):汽车行业的顶峰可能过去了

1、我养活了一只没有腿的小螃蟹(中文)

作者发现了一只腿全断的小螃蟹,按理说,这只螃蟹肯定活不了。但是作者知道,螃蟹脱壳后会重新长出腿,就决定救它一次。

2、中国第四家电信服务商来了(中文)

中国广电是广电系统成立的三网融合公司,有 5G 牌照,是中国第四家基础电信运营商,5月17日开始向用户发放192号段。

3、私有方法要写单元测试吗?(英文)

软件业一直有一个悬而未决的问题:编写单元测试时,私有方法需要写吗?本文总结了关于这个问题的各种意见,以及每一方的理由。

4、我们分析了 425,909 个 Favicon(英文)

每个网站都有一个 Favicon 图标,作者分析了世界排名前10万位网站的425,909个 Favicon 文件,得到了很多神奇的发现。比如,最大的 Favicon 体积有 7mb,大小为 7087 x 5197。

5、vscode.dev 介绍

官方介绍 VS Code 编辑器的线上版 vscode.dev

6、代码编辑器比较:Ace、CodeMirror 和 Monaco(英文)

replit 团队需要一个网页版的代码编辑器,先后试用了 Ace、Monaco 和 CodeMirror,比较了它们的优缺点。

7、如何使用 GitHub Actions 网页截图(英文)

本文提供了一个 Action 模板,演示怎么使用它生成网页截图。

8、iPhone 激光雷达的使用(英文)

iPhone 现在内置了激光雷达扫描仪,可以对5米内的物体进行 3D 建模,本文演示了如何使用这个功能。

206科技爱好者周刊(第 206 期):如何走出失望和怀疑

1、全民级 AR 应用 Snapchat(中文)

社交软件 Snapchat 整合了大量 AR 功能,成为了业内唯一名副其实的 AR 应用。

2、河南默认关闭国际短信接收(中文)

河南通信服务商(电信、移动、联通)为了防止境外电信诈骗,默认关闭境外短信接收,需要用户手动发短信打开,估计其他省很快会跟进。有些境外网站会通过短信发验证码,因此需要注意这个问题。

3、如何使用线上语料库(中文)

网上有一些大型的英语语料库,可以用来查询英语语法,比如介词搭配、合适的形容词等等。

4、如何检查 Mac UI 的 Web 代码(英文)

macOS 的某些 UI 采用 Web 技术开发,本文教你如何用开发者工具查看这些 UI 的代码。

5、HTML 注释也适用于 JavaScript(英文)

你知道吗,HTML 注释<!---->也是 JavaScript 的注释。当然,不应该在 JS 脚本使用。

6、Barcode Detection API 介绍(英文)

安卓手机的 Chrome 浏览器内置一个条形码侦测 API,可以直接解读条形码和二维码。不过,其他浏览器都不支持这个 API。

7、用 gdb 学 C 语言(中文)

本文展示 gdb 这一学习 C 语言的强大工具,介绍常用的 gdb 命令,演示如何用 gdb 来理解指针和数组的区别。(@StrokMitream 投稿)

8、3G 与 4G/5G 的差异(英文)

本文通俗解释了 3G 与 4G/5G 的差异,以及码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交频分多址(OFDMA)的含义。注意,文章分成两页,主要内容在第二页。

9、可以检查质数的正则表达式(英文)

作者介绍了一个可以检查质数的正则表达式/^1?$|^(11+?)\1+$/

205科技爱好者周刊(第 205 期):互联网风口过去了吗?

1、如何使用 CSS 偷取用户信息(英文)

本文介绍了几种只使用 CSS 获取用户信息(比如密码)的方法,以及对策。

2、不需要 JavaScript 的5件事(英文)

有一些网页互动,并不需要用 JavaScript 实现,本文介绍了5种这样的情况,比如折叠显示。

3、如何了解用户的访问历史(英文)

浏览器不允许 JS 脚本获取用户的访问历史,作者想出了一个很聪明的方法,让用户自己确认是否访问过某个网站。文章只给出了思路,大家要看这个页面的源码。

4、如何用 esbuild 替换 Create React App 中的 Webpack(英文)

Create React App 是 React 的官方工具,它的默认打包器是 Webpack,本文介绍如何将报告器更换为速度更快的 esbuild,把打包时间减少为原来的1%(6秒到60毫秒)。

5、Mac 电脑的开发环境搭建指南(2022版)(英文)

作者买了一部最新的 MacBook Pro,详细记录了搭建 Web 开发环境的所有步骤。

6、无聊猿游艇俱乐部是什么(英文)

无聊猿原来只是几个朋友组成的兴趣团队,现在据说估值50亿美元,而且发生在一年之内。这篇文章解释了这是怎么回事,他们的 NFT 怎么发展成为一个会员俱乐部。

7、银行支付系统的简单解释(英文)

本文通俗解释了银行转账是怎么回事,从 A 银行向 B 银行汇款是怎么实现的。内容写得不错,但是没有金融基础的同学,本文可能不好懂,需要耐心看。

8、如何使用 GDB 调试 C 程序(英文)

本文是一篇入门教程,教你如何使用 GDB 调试 C 语言程序。

9、使用 GitHub Actions 获得短信通知(英文)

本文演示如何使用 GitHub Actions 监控服务状态,出现变化时,自动发短信到手机。

204科技爱好者周刊(第 204 期):如何度过疫情、裁员、还有战争

1、HTTPie 是如何丢失5.4万 Star(中文)

HTTPie 是一个非常知名的开源项目,在 GitHub 有5.4万颗星。项目管理员不小心将其设为私密项目,导致所有 star 和 watch 清零,并且无法恢复。HTTPie 官方写了一篇长文,回顾整件事,总结教训,本文是中文翻译。(@yangchuansheng 投稿)

2、一个欧盟应届毕业生的求职之路(英文)

这是一个欧洲人写的文章,他硕士毕业应聘软件工程师,面试了十几家互联网公司。他记录了每家公司的应聘过程,以及给出的薪水。大家可以从中了解欧洲的互联网行业状况。

3、推特 HTML 网页的前10行代码(英文)

作者面试前端程序员时,经常打开推特的 HTML 网页源码,让应聘者解释前10行代码(上图)每一行的目的。

4、USB 接口是如何诞生的(英文)

上个世纪90年代初,Intel 公司的一个工程师想找到一种简单的办法,为电脑添加外部设备,可以即插即用,并且还能供电。本文介绍了当时的一些情况。

5、当你难过时,电脑发来一张猫的照片(英文)

本文介绍作者的一个小项目,用摄像头识别用户情绪。如果发现情绪不佳,就自动在 iPhone 上推送一张猫的照片。所有运算都在本地,不会有数据泄露的风险。

6、我们每月有 80TB 流量和 500 万页面浏览,费用不到400美元(英文)

作者介绍如何用每月400美元的代价,通过 Cloudflare、Backblaze、Bunny.net 等服务,支撑一个流量巨大的网站。

7、树莓派搭建 PyPi 服务器(英文)

作者演示了如何用树莓派搭建一个 PyPi 服务器,用来在离线时下载 Python 的各种包。如果你不知道树莓派怎么玩,可以看看这篇文章。

8、内网应该使用 Let's Encrypt 吗?(英文)

Let's Encrypt 一般用于生成免费的 HTTPS 证书,但是它有一个问题:一旦使用了,外界可以查到主机名。

9、改善 Postgres 数据库健康度的五个技巧(英文)

Postgres 数据库的应用越来越广,这篇文章总结了五个小技巧,改善数据库的健康度。

203科技爱好者周刊(第 203 期):英国的名校签证,伯克利的计算机教育

1、浅谈不规范使用汉字(中文)

国家新闻出版署最近开展了“不规范使用汉字问题专项整治工作”。本文给出了实例解释,什么叫做不规范使用汉字(比如上图)。

2、如何架设一个石油钻井平台(中文)

本文使用大量图片,介绍石油钻井平台如何架设在大陆架上。中国最深的钻井平台,距海底有3000多米,这是怎么做到的。

3、芯片工厂是怎么建设的(英文)

《纽约时报》的长篇图文报道,通过英特尔公司在亚利桑那州的新工厂,介绍建设一个芯片工厂为什么耗资巨大。

4、Telegram 如何绕过谷歌翻译的 API(英文)

外部软件调用谷歌翻译需要付费,但是 Telegram 没有付费就在使用它。Telegram 是开源的,有人就去看了代码,它是怎么做的,很有意思。

5、找出泄漏的 JavaScript 全局变量(英文)

本文给出了一种方法,可以用脚本自动列出所有泄露到全局的 JavaScript 变量。

6、HTTP 协议的 QUERY 方法提案(英文)

HTTP 的 GET 方法没有数据体,查询参数必须放在 URL。如果参数太多,URL 就非常混乱。这个提案建议增加一个 QUERY 方法,跟 GET 的唯一区别就是查询参数都写在数据体里面。

7、POST 和 PUT 方法有什么区别?(英文)

有的文档说,HTTP 协议的 PUT 方法用于新建资源,POST 方法用于修改资源;另一些文档说,应该反过来做。其实这两种说法都不完全对。

8、Linux 信号知识(英文)

本文是一篇科普文章,介绍什么是 Linux 信号,以及它的基本用法。(@lyhellcat 投稿)

202科技爱好者周刊(第 202 期):三个有启发的学习方法

1、从财报看华为2022年的现状(中文)

华为最近公布了2021年的财报,收入比去年下滑28.6%,但是利润增长75.9%。作者从财报分析华为的现状,以及将来的发展思路。

2、了解字体的基础知识(中文)

设计师入门系列,介绍英文字体的基础知识,帮你认识各种字体名词。

3、为什么国行 iPhone 不支持 5G 毫米波(中文)

一篇两年前的文章,写得挺好,通俗解释了 5G 通信的毫米波频率(24.25GHz—52.6GHz)和 Sub-6GHz 频率(450MHz—6GHz)的差异。

4、毫米波雷达的巨大意义(英文)

毫米波 60Ghz 是一个公共频率,就像 Wifi 的2.4Ghz 和 5Ghz 那样,可以自由使用。这个频率的波长短,导致穿透性差,但是它的带宽大,可以传送大量信息,适合当作近距离雷达使用,比如隔空感知手势(下图),有着巨大的应用前景。

5、Netflix 的发展之路(英文)

本文总结了 Netflix 这家公司从1997年成立到2021年,每一年做出的各种尝试和改变,可以当作编年史来读。

6、如何在 GitHub 伪造他人的代码(英文)

GitHub 有一个 bug,你可以在他人的仓库里面,显示他没有写过的代码。比如,Linux 内核仓库显示 Linus Torvalds 写过I am Satoshi(上图),其实他没有写过这一行。

7、为什么圆角受欢迎(英文)

本文解释了在产品设计中,圆角比直角受欢迎的几个原因。比如,圆角更容易引导视线,直角要求视线突然改变方向(上图)。

8、浏览器的文件访问 API 入门(英文)

浏览器现在提供了文件访问 API(File System Access API),允许网页 JS 脚本读写本地文件,本文是一个详细的介绍。另外,也可以参考 Webkit 官网对这个 API 的介绍

201科技爱好者周刊(第 201 期):中国需要成立半导体部

1、猪心脏移植,中国还有多远?(中文)

前不久,美国完成了一例人体的猪心脏移植,患者存活了两个月。本文介绍这种技术是否会在中国推行,难度在哪里。

2、360 软件如何删除(中文)

日本网友无意间安装了360安全浏览器,结果怎么都无法删除,他只好在网上请教懂中文的朋友。

3、应县木塔的严重倾斜问题(中文)

山西应县木塔建于辽代,是世界现存最古老、最高的木塔。但是,它的木柱现在严重倾斜,可能会突然倒塌。

4、为什么会有冰刺?(英文)

冰箱里面形成的冰块,有时会出现冰刺,这是为什么?

5、CSS 纵横比(aspect ratio)解释(英文)

CSS 新增的属性aspect-ratio,可以设定矩形的长宽比,本文介绍它的用法。

6、一行 CSS 布局(英文)

本文介绍10种可以用一行(关键)代码实现的网页布局。

7、如何从安卓手机翻录电子书(英文)

作者得到一本电子书,只能在安卓手机上打开。他就写了一个脚本,让手机自动对电子书翻页并截屏,最后将所有图片在电脑进行文字识别。

8、马尔可夫链的可视化解释(英文)

本文使用大量动画,解释什么是马尔可夫链。

200科技爱好者周刊(第 200 期):低期望,多尝试

1、苹果 Thunderbolt 4 Pro 数据线 (中文)

苹果公司发布了一根 1.8m 长的 Thunderbolt 4 pro 连接线,售价949元人民币。这根线到底有什么神奇之处,要卖这么贵?

2、我们在月球种出了绿叶(中文)

重庆大学的团队在嫦娥四号月球着陆器上,放置了一个生态圈装置,里面有植物种子、昆虫和细菌。结果,棉花种子顺利地在月球上发芽,长出了绿叶。

3、现在的手机刷单灰产(中文)

现在的手机刷单,不再用手机真机了,而是用手机主板,相当于真机的五分之一。一台机器可以控制几十台手机。

4、开源软件不应该武器化(英文)

最近,Node.js 模块的作者添加恶意代码,只要用户 IP 地址属于俄罗斯,就删除用户的所有文件。另一个开源软件 Terraform 也修改许可证,如果俄罗斯用户不反对普京,就不得使用该软件。

本文作者认为,开源软件一旦武器化,就不能叫做开源软件了,因为这属于歧视部分用户。而且,开源软件本来就没有质量担保,用户完全基于信任而使用,如果丧失了信任,会伤害整个开源社区。

5、股市上涨 Emoji 的颜色(英文)

Unicode 有一个股市上涨符号(U+1F4C8),最初是日本人引入的,颜色为红色。欧美人很不习惯,因为欧美的股市上涨是绿色,红色代表警告、负债、损失和破产,表示股市下跌。于是,一些系统就将这个 Emoji 换成绿色,另一些系统还是保持红色(上图)。

6、半导体行业的组成(英文)

本文将整个半导体行业分成了七个部分,逐一介绍。

7、TypeScript 的类型编程(英文)

TypeScript 的作用主要是为 JavaScript 添加类型,但是它的类型语法是图灵完备的,可以进行各种编程。本文演示类型的定义、比较、映射、递归等语法。

8、Caddy 服务器如何从 Markdown 文件生成静态站点(英文)

Caddy 服务器内置了 Markdown 渲染,这意味着不需要其他工具了,只要让 Caddy 直接处理 Markdown,就能生成静态站点。

199科技爱好者周刊(第 199 期):俄罗斯的 HTTPS 证书问题

1、中国发电量远超美国,为何 GDP 却低于美国?(中文)

发电量一般跟 GDP 成正比,比如中国的发电量是印度的5倍,GDP 也差不多是5倍。美国的发电量大约是中国的55%(2020年数据),为什么 GDP 却高于中国。

2、我经历的一次电信诈骗(中文)

作者不慎在钓鱼网站输入了银行卡和验证码,卡内资金被划走,本文讲述追讨的全过程。令人感叹的是,他找了许多单位,最后只有 Apple Pay 一家同意退回一部分资金。

3、俄军的对讲机(中文)

俄军的一些正规部队没有使用数字通信,而是使用淘宝上出售的模拟对讲机,在民用频率里面对话,导致其他地区的无线电爱好者都能听到。

4、四种需要避免的 TypeScript 功能(英文)

本文提出四种 TypeScript 的语法不应该使用,并给出了详细的解释。

5、我打算重写 TypeScript 编译器(英文)

TypeScript 编译器 tsc 是用 JavaScript 写的,非常慢。作者打算用 Rust 写一个非官方的编译器。

6、iPhone 的背景音(中文)

iOS 15 原生支持背景音,有海洋、雨声、溪流等几种,这个功能挺有趣。播放媒体时,背景音会自动插入。

7、iOS 15 如何设置中间人拦截(英文)

mitmproxy 是一个中间人拦截的工具,通常用来监控网络通信。本文是一个简短的教程,在 iOS 15 设置 mitmproxy,此外还有安卓的教程

8、Wordle 的正则表达式解法(英文)

Wordle 是一个猜词游戏,玩家需要猜中一个五字母的单词。本文别出心裁,使用正则表达式来解,思路很奇特,但是解法特别简单。

9、Hello World 程序有一个错误(英文)

计算机语言都使用 Hello World 作为入门实例,但是作者认为很多语言的实现是不对的,语言底层对 Linux 系统的输出处理是错误的,包括经典的 C 语言。此文有中译。(@jwenjian 投稿)

198科技爱好者周刊(第 198 期):美国制造是否可能

1、印度成为世界人口第一大国(中文)

2022年3月4日,印度政府公布了2021年人口统计结果,印度人口达到14.1565亿人,正式超过中国政府2021年底公布的人口14.126亿人。印度领先中国约300万人左右,成为世界第一大人口大国,

2、家用 3D 打印不完全入坑指南(中文)

作者介绍新手入门 3D 打印需要知道的一些事情。

3、奇特的厨房发明(中文)

一位日本收藏家专门收集奇特的厨房发明,其中很多非常巧妙,令人耳目一新,同时也很实用。比如,上图是手持电动洗碗机,既可以洗碗,也可以洗杯子。

4、Node.js 逐行读取文件的四种方法(英文)

本文介绍了四种方法,使用 Node.js 逐行读取文本文件。

5、如何在 GitHub 上托管 PWA 页面(英文)

PWA 指的是离线也能使用的网页应用。本文给出简单的设置步骤,让托管在 GitHub 上面的页面变成 PWA,离线也能使用。

6、npm audit 命令的作用和缺点(英文)

Redux 作者 Dan Abramov 的文章,通俗地解释了 npm audit 命令的作用,就是检查每个包的安全漏洞,这部分写得很好。但是他认为该命令作用有限,反而有时像一种骚扰。

7、我们为什么不选择 Slack 和 Telegram(英文)

作者公司的产品要加入团队通信的功能,开始考虑的是集成 Slack 或 Telegram。但是最后都放弃了,改用开源软件 mesibo。本文解释为什么这是更好的选择。

8、Linux 进程的生与死(英文)

本文是一篇科普文章,介绍 Linux 进程是怎么诞生(新建进程)的,又是怎么死亡(进程退出)的。

9、iPhone 的隐藏触摸板(英文)

很多人或许还不知道,只要在 iPhone 的输入法里面,长按空格键,输入法区域就会变成一个触摸板。

197科技爱好者周刊(第 197 期):如果这个世界有快乐机

1、走进迪拜未来博物馆(中文)

刚刚开幕的迪拜未来博物馆,是一家未来色彩浓厚的博物馆,本文进行介绍。此外,这里也有一些照片。

2、Grid 用于布局,Flexbox 用于组件(英文)

CSS 的 Grid 布局和 Flexbox 布局,作用相似,经常有人讨论,两者的适用场合是什么。作者提出,Grid 布局应该用于页面,Flexbox 布局应该用于组件。

3、TypeScript 和 Python 类型系统的不同(英文)

作者是一个 Python 程序员,最近转向 TypeScript,他发现这两种语言的类型系统有两个重大差异。

4、从 Node.js 到 Rails(英文)

作者从 Node.js 转到了 Rails,谈谈自己的感想。

Node.js 几乎每件事,都需要自己来技术选型或者重新发明轮子,Rails 正好相反,框架帮你决定了每件事,程序员需要理解这两种不同的开发哲学。

5、DNS 的查询过程(英文)

作者使用 dig 命令,一步步演示 DNS 查询背后是怎么进行的。

6、Python 数值的三个知识点(英文)

一篇初学者教程,介绍 Python 的数值类型(number)。

7、使用简单 Python 解决 Wordle 游戏(英语)

Wordle 是一个近期流行的猜单词游戏,每次它会告诉你猜中几个字母,让你接着往下猜。作者详细讲解如何使用简单的 Python 程序,来解这个游戏。

8、如何指定 Git 提交说明的模板(英文)

Git 提交代码的时候,必须给出一段文字说明。有时候,会想要一个模板,提交时自动跳出来,只要填写一下就可以了。本文给出实现方法。

196科技爱好者周刊(第 196 期):掌机的未来

1、可以爬山的机器狗(中文)

苏黎世联邦理工学院研发了可以爬山的机器狗 ANYmal,它毫不费力地攻克了120米的垂直高度,没有出现任何跌倒或失误。本文展示了它爬山的各种视频。

2、伪装成移动电源的追踪器(中文)

网上很多店家出售改装的移动电源,里面装了追踪器。如果拿到来路不明的移动电源,务必小心。

3、在微软工作是怎样一种体验(中文)

作者最近从国内某大厂跳槽到了微软中国,聊聊在微软工作这段时间的体验。(@chinazhangchao 投稿)

4、如何家庭自制草酸铁钾晶体(英文)

以前的周刊有食盐晶体的制作教程,这篇是草酸铁钾晶体的制作教程。家庭自制比较容易,只需要铁锈、草酸和碳酸钾。而且它是绿色的,做出来比较漂亮。另外,还有明矾晶体的制作教程。

5、Web Components 的可访问性(英文)

本文是 Web Components 组件技术的一篇入门介绍,写得简单易懂。

6、Oculus Quest 2 的浏览器(英文)

Oculus Quest 2 是目前最畅销的 VR 头盔,自带一个浏览器可以浏览网页。本文介绍这个浏览器的一些开发体验,以后前端又多了一个需要适配的终端。

7、Dropbox 的糟糕体验(英文)

作者使用大量图片,比较 Dropbox 与开源的同步软件 Syncthing 的使用体验,前者完败。

8、webhook 不如 API(英文)

很多网络应用提供 webhook 作为消息通知机制,作者认为这种机制不如 API 轮询去获取消息。

195科技爱好者周刊(第 195 期):你做过不在乎结果的项目吗?

1、嫦娥五号确认月球有水(中文)

嫦娥五号探测器发现月壤和月岩存在微量水,但不是液态水,而是水分子,并且是微量的。

另外,遥感还发现,月球两极的永久阴影区可能存在水冰或富含挥发水的矿物。

2、北京冬奥会专用字体是如何诞生的(中文)

2019年8月中央美术学院与北京大学中国文字字体设计与研究中心,联合致函北京冬奥组委会,志愿为北京冬奥会和冬残奥会设计一套专用字体。

3、Product Hunt 2021 金猫奖(中文)

Product Hunt 每年会评选当年的最佳新产品,颁发金猫奖。本文作者体验了获奖产品,介绍每一项的获奖者。(@Mayandev 投稿)

4、arXiv 论文突破200万篇(中文)

arXiv 是一个免费的科学论文预印本平台,2022年伊始,它收入的论文突破了200万篇。本文是对这个平台的介绍。

5、花10年写一本编程语言实现的书(中文)

Robert Nystrom 是一位拥有20年工作经验的谷歌软件工程师。他花了近10年时间,写了一本关于编程语言实现的书,2020年终于写完了。本文介绍这本书。(@chenyukang 投稿)

6、聊聊微软面试(中文)

作者最近入职微软,根据自己的面试经验写了这篇文章,作为微软面试准备的指导。(@chinazhangchao 投稿)

7、我用字符画个冰墩墩(中文)

作者使用 Java 语言,把冰墩墩作为例子,解释如何将图片转变为字符画。(@niumoo 投稿)

8、树莓派安装 Android 12(英文)

一个外国开发者提供镜像文件,让树莓派运行 Android 12。

我的试用体会是,硬件支持度很高,声音、摄像头、蓝牙、网卡都正常,有 3D 加速,适合安装手柄玩游戏,其他用途不适合:① Wifi 需要连得上谷歌;② 剥离了谷歌服务,需要另行安装,且有被谷歌封账号的危险;③ 用户可用空间不足4G,需要扩容。

194科技爱好者周刊(第 194 期):悲观者正确,乐观者成功

1、硅谷传奇人物布莱特·泰勒(中文)

本文介绍硅谷创业者布莱特·泰勒(Bret Taylor)的传奇人生,他是谷歌地图、FriendFeed、Quip 的创始人,然后担任 Salesforce 的总裁兼首席运营官,现在是推特的董事长。

2、中国新建筑地图 2021(中文)

本文汇总了公号“有方空间”2021年重点介绍过的64个中国优秀新建筑,上图是浙江德清的山村旅社“田畈里”

3、Backblaze 2021年硬盘故障报告(中文)

Backblaze 是一家网络存储公司,使用了20多万个硬盘。它每年发布一次硬盘故障报告,分析各种品牌型号的硬盘的可靠程度。根据它的历年统计,Seagate 硬盘的故障率(上图的绿线)明显高于另外三家(东芝、HGST、西数)。

4、程序员如何通过在 Medium.com 上写技术博客赚钱?(中文)

作者说,他把一篇中文的技术文章翻译成英文,发到 Medium.com 上面,为他带来几百美元的收益。(@bitfishxyz 投稿)

5、双层茶壶的原理(英文)

中国古代有一种双层茶壶,给敌人倒茶时,倒出的是毒液;给自己倒茶时,倒出的是正常的茶水。本文用插图解释原理。

6、GitHub 的赞助者专享仓库(英文)

GitHub 推出只允许赞助者访问的仓库。我第一个想到的,就是可以做收费的邮件列表,付费者才能收到邮件,还能参加讨论。由于有仓库,还可以提供会员下载。

7、史上最大 DDOS 攻击(英文)

微软表示,它的一个 Azure 云客户去年11月遭遇了史上最大的 DDOS 攻击,吞吐量为 3.47 Tbps。本文是这件事的详细报道。

8、esbuild 的一个使用注意点(英文)

esbuild 是新一代的 JavaScript 打包工具,作者初次使用,发现它对 import Vue from 'vue'; 这一行语句报错了。

193科技爱好者周刊(第 193 期):前端与后端,谁更难?

1、中国最大的核桃树(中文)

一个研究生在云南省发现中国野外最大核桃树的故事。该树高达40余米,胸径约2米,树龄超过300年。

2、我如何走上字库设计这条路(中文)

作者讲述自己怎么开始设计字库,最终开了一家创业公司,以销售原创字库为生。

3、2020 年全球森林资源报告(中文)

这是联合国粮农组织的官方报告,展示了全世界目前的森林资源状况,有中文版。这个网页的可视化做得很好,值得借鉴。

4、什么是重构?(英文)

本文是马丁·福勒的名著《重构》的读后感,讨论到底什么是软件重构,特别提出重构不应该改变软件行为。

5、JavaScript Temporal API 简介(英文)

Temporal API 是 JavaScript 下一代日期和时间的标准库,目前是第三阶段提案。本文对这个 API 做一个简单介绍。

6、使用 Python 从头实现 RSA 算法(英文)

本文用 Python 代码讲解了 RSA 算法(公钥加密)是怎么回事,文章不长。

7、Chrome 开发者工具的录制功能(英文)

Chrome 浏览器的开发者工具可以录制用户操作了,并且可以导出脚本供无头浏览器 Puppeteer 使用。

8、队列理论简介(英文)

软件开发的很多问题,其实都是队列问题,比如缓存、并行操作、延迟等等。本文介绍队列理论的一些基本知识,主要是如何防止队列堵塞。

192科技爱好者周刊(第 192 期):最大的机会来自新技术

1、马斯克最新访谈实录(中文)

去年12月,马斯克接受 Youtube 知名科技主播的网络访谈,长达两个半小时,内容涉及 SpaceX 的载人飞船、猛禽火箭、殖民火星,特斯拉自动驾驶、机器人等众多热门话题,一共78个问题。

这是访谈的全文中文翻译,长达1.6万字,推荐阅读。

2、如果作者自己删库(中文)

本周,两个广泛使用的 JS 库 faker.js 和 colors.js 出现了乱码问题。这竟然是作者本人提交的,他随后把代码库删了,原因是抗议大公司使用他的代码,却不付钱支持。本文详细介绍这件事。

3、如何在盐碱地种大豆(中文)

大豆是中国最依赖进口的主要农作物,对外依存度高达85%。为了增加国内的大豆种植,中科院的团队正在尝试盐碱地种大豆。

4、我的 CSS 重置代码(英文)

CSS 重置(reset)指的是重置浏览器的默认样式,完成 CSS 初始化。作者给出了自己的重置代码,并详细解释每一行的作用。

5、Coinbase 如何看待元宇宙(英文)

这篇文章的作者是 Coinbase 的 CEO,谈了他们如何理解元宇宙。他给元宇宙下了一个定义,我觉得还不错。

“元宇宙是一个大规模的、持久的、交互式的实时平台,由互相连接的虚拟世界组成,人们可以在其中进行社交、工作、交易、娱乐和创造。”

6、如何排除 .DS_Store 文件(英文)

Mac 电脑的文件系统都包含一个隐藏文件 .DS_Store。提交到 Git 时,它会一起提交,非常讨厌。本文教你一种方法,在 Git 的全局设置里面排除它,不必每个库都设置一次。

7、Ubuntu Web 介绍(英文)

Ubuntu Web 是一个基于浏览器的操作系统,类似于 ChromeOS,但底层不是 Chrome,而是 Firefox,去除了所有谷歌服务。它的一大特点是可以运行 Android 应用。本文是它的简单介绍。

8、五分钟理解软件架构模式(英文)

作者使用简单的语言,解释了软件架构的五种常见模式,比如上图就是事件驱动架构。

191科技爱好者周刊(第 191 期):一个程序员的财务独立之路

1、令人困惑的 HDMI 2.1(中文)

本文介绍了高清视频 HDMI 2.1 标准,并且讨论了一个外行人容易误解的细节:由于标准化组织的奇怪规定,HDMI 2.0 设备都可以自称符合 HDMI 2.1 标准。

这里是中文译文,另有英文原文

2、德国最受欢迎的程序员技能排行(英文)

有人统计了德国程序员招聘广告里面,出现频率最高的技能,跟中国的情况基本一致。大家可以看看,什么技能容易在德国就业。

3、自制 NFC 唱片卡(英文)

作者将 NFC 标签,贴在纸卡片的背后,然后将唱片的数据写入 NFC 标签。手机只要靠近这些纸卡片,就可以读取数据,自动播放这张唱片。

这篇文章值得借鉴,学习怎么使用 NFC 标签。

4、node_modules 目录放入代码仓库(英文)

本文提出 Node.js 项目的 node_modules 目录可以放入代码仓库,尤其是在公司内网,有很多好处。

5、where 与 having 子句的区别(英文)

SQL 查询有 where 子句和 having 子句,它们的区别是什么?

6、如何在 Mac 安装 Rails(英文)

这个网页很别致,以可视化的形式,给出命令行怎么安装 Rails。

7、为什么 ISO 格式应该被淘汰(英文)

磁盘的镜像文件有两种格式:ISO 和 IMG。作者认为 ISO 文件格式应该被淘汰,只使用 IMG 格式。

8、显示服务器是什么?(英文)

本文是一篇长文里面的一节,解释 Linux 系统里面显示服务器的作用(X11 协议和 Wayland 协议),写得很通俗。

190科技爱好者周刊(第 190 期):产品化思维

1、苹果的中国供应商(中文)

2020年,苹果公司的前200大全球供应商里面,有48家中国大陆和香港企业,本文逐一盘点这些企业。另外还有一篇200大供应商的地域分布分析

2、拆解五菱宏光 MINI EV(中文)

五菱宏光 Mini EV 是中国销售最好的电动车,因为它的售价可以低到2.88万元人民币。一个日本教授想知道为什么这个车售价这么低,就把车拆开看了。

3、我做系统架构的一些原则(中文)

架构师左耳朵耗子(陈皓)的文章。“工作 20 多年了,看到了很多公司系统架构,也看到了很多问题,今天把我的这些个人的经验和想法总结下来,希望能够让更多的人可以参考和借鉴,并能够做出更好的架构来。”(@lyf2nb 投稿)

4、防御性 CSS(英文)

CSS 有时会出现很多奇怪的行为,本文介绍一些常见的技巧,保证 CSS 能够按照预想的方式工作,减少怪异行为。

5、IndexedDB 为什么很慢?(英文)

IndexedDB 是浏览器内置的数据库接口,但是运行速度很慢,本文分析了原因,提出正确的使用方法。

6、设置 Linux 服务器的前5分钟(英文)

当你开通一台 Linux 服务器时,如何设置才能保证安全,本文介绍了应该最先做的几件事。

7、如何使用 Docker 取代本机应用(英文)

作者提出 Docker 可以取代本机应用,举例来说,不必本机安装 Node.js,只要运行 Node.js 的 Docker 容器就可以了。为了运行方便,还可以为 Dokcer 命令指定别名。(@AlexChingEraser 投稿)

8、苹果还没有兑现的软件功能(英文)

苹果公司曾经宣布了很多将在2021年实现的软件功能,比如使用同一套键盘和鼠标,同时控制笔记本和 iPad 组合,可以无缝地来回跳跃。本文盘点了有多少许诺的功能落空了。

189科技爱好者周刊(第 189 期):下一个内卷的行业

1、便利蜂超市的选址方法(中文)

《南方周末》报道,连锁超市“便利蜂”为了找到最佳的店址,招募大量信息采集员,将摄像头悄悄地放在了多个城市的居民楼、写字楼,甚至国家机关的门口,测算每个地点的人流。

2、韩国为什么这么卷?(中文)

韩国人均 GDP 超过3万美元,是一个中等富裕的国家。但是,人口出生率超低,年轻人的教育和就业竞争激烈、老年人贫穷现象严重,为什么会变成这样?

上图是韩国的人口分布图,全国一半人口聚集在首尔都市圈,韩国的许多问题都与此有关。

3、我被载入校史,因为差点炸了课堂(中文)

作者大学时进行化学实验,不小心出了一次爆炸事故,幸好危险物的量比较少,没有造成严重后果,此后就成了实验室的反面教材。

4、2021年中国十大丑陋建筑评选结果(中文)

建筑畅言网每年评选当年的中国十大丑陋建筑,这是今年的结果。上图是广州的阿里巴巴华南运营中心。

5、大开眼界的 Pegasus 间谍软件(英文)

一家以色列公司开发的间谍软件 Pegasus,实现细节令人大开眼界。

只要你打开 iPhone 的通信软件 iMessage,查看包含病毒的消息,不用点击任何链接,就会中招。它是怎么做到的?

6、2021年全球域名排行(英文)

CDN 服务提供商 Cloudflare 统计了今年访问量最大的前10个域名,Tiktok.com 登上首位,成了全世界访问量最大的网站,Google.com 首次被挤到了第二位。

7、我写了一个 VR 游戏(英文)

作者一个人写了一个 VR 游戏,放到 Steam 商店去卖。大家可以看看文章里面的游戏视频,还是很酷的。虽然没有大卖,他还是觉得很有收获。本文是他的感受。

8、我的 Linux 开发环境(英文)

这是一组六篇的系列文章,作者详细介绍了他如何在自己的桌面电脑搭建 Linux 开发环境。各篇内容依次是硬件介绍、Gnome 配置、Zsh 配置、VS Code 配置、桌面环境、开发环境配置。

188科技爱好者周刊(第 188 期):音乐是反社交

1、一家中国内陆电池工厂的薪资(中文)

国内动力电池龙头大厂在四川宜宾市招聘蓝领工人,结果竟然来了超过3000名求职者,而且还有从云南,甘肃等地专程来应聘的。它的薪资是多少?对当地就业市场有什么影响?

2、理解 Log4Shell 漏洞(中文)

Log4Shell 是近期爆出的一个非常严重的安全漏洞,影响使用极广的 Java 模块 Log4j。本文通俗地解释这个漏洞到底是怎么回事,它是怎么攻击的。

3、Meta 开放虚拟世界 Horizon Worlds(中文)

脸书公司改名 Meta 以后,发布了第一个元宇宙产品,叫做 Horizon Worlds,很像一个虚拟社区。本文是对 Horizon Worlds 的初步介绍。

4、如何创建你的第一个 NFT(英文)

NFT 到底是什么?本文是从技术上做了一个比较通俗的解释,而且给出了创建 NFT 的方法。

5、世界第一部 RISC-V 手机可能即将问世(英文)

RISC-V 是一种没有版权的 CPU 指令集,很多公司正在基于它设计新的 CPU 架构,摆脱专有的 x86 和 ARM 架构。RISC-V CPU 过去几年取得了重大进展,第一部基于它的手机可能即将问世,操作系统采用了安卓的移植。

6、我的猫是否图灵完备?(英文)

作者用自己的猫作为例子,解释什么是图灵完备性。

7、malloc() 是否分配成功?(英文)

C 语言里面,malloc() 用于分配一段内存。这篇短文解释为什么 malloc() 分配过大的内存(比如 1TB),会显示分配成功。

8、我的日志最佳实践(英文)

作者谈了自己生成应用程序日志的一些做法。

187科技爱好者周刊(第 187 期):元宇宙会成功吗

1、中国未来最大的挑战(中文)

饶毅的署名文章,认为中国科学的根基还是很薄弱。

他说,中国真正开展科学研究的历史只有一百多年,很多人搞科学不是因为感兴趣,或者有好奇心,而是出于实用主义动机。

2、比尔·盖茨的2021年总结(中文)

比尔·盖茨每年都会写一篇文章,回顾这一整年人类面对的挑战,以及他的基金会所做的工作。

这是今年的文章,开头是这样写的:

“我和保罗创办微软时,有一个共同的愿景:个人电脑有一天会在人们的生活中扮演重要角色。但我们当年都没有预料到,未来某一天电脑会成为你与世界唯一的联系。像很多人一样,今年我时常一整天下来都只能通过屏幕与人交流。”

3、AnimeGANv2 动漫头像生成器效果(中文)

AnimeGANv2 是一款基于机器学习的动漫头像生成器,只要在网页提交头像照片,它就会将照片转为动漫形象。本文展示了这个工具的效果。

4、如何制作氯化钠晶体(英文)

氯化钠(食盐)具有立方体的晶体结构。本文介绍如何在家中自己制作漂亮的食盐晶体,其实很容易,不需要特别的设备。

5、印度加密货币之王(英文)

今年3月,有人出了6900万美元购买了一个 NFT,媒体后来发现,买家是1988年出生于贫民窟的印度人 MetaKovan,从加密货币中累积了巨额财富,外界对他知之甚少。本文就是一篇关于他的长篇报道。

6、苹果 Monterey 系统占用的本机端口(英文)

很多网友升级到苹果 Mac 电脑的 Monterey 系统以后,发现本机端口5000和7000被占用了,只有关掉 AirPlay Receiver 以后才能释放。

大家都不理解,为什么苹果要占用这两个常用的本地端口。

7、Intl.Segmenter API 可以分词(英文)

浏览器原生的 Intl.Segmenter API 可以文本分词,支持汉语

8、我给 Vue.js 生态贡献代码的这一年(中文)

作者记录了自己向 Vue.js 提交 PR 的经历和感受。(@webfansplz 投稿)

186科技爱好者周刊(第 186 期):低纬度,高海拔,气候优势

1、阿斯麦光刻机(英文)

光刻机是生产芯片的核心设备,最先进的芯片需要用到极紫外光刻机(EUV),世界上只有荷兰阿斯麦公司(ASML)能够生产。本文是一篇图片报道,介绍 ASML 公司的这台号称世界最复杂的机器。

2、图说如何制造 CPU(英文)

本文使用一系列图片,解释沙子是如何转变成计算机芯片的。

3、钉钉考勤作弊 APP 的法律争议(中文)

钉钉考勤作弊 APP 的作者,因为破坏计算机信息系统罪,一审判处有期徒刑五年六个月,二审改判四年。

但是,律师坚持认为其无罪,因为他的软件不触及钉钉程序本身,只是伪造了用户的地理位置,不属于“破坏”钉钉。用户使用该程序去打卡,该行为由用户负责,不是程序员的责任,但是法院不认同这种看法。本文是对律师的访问。

4、中国 Flash 游戏的兴衰(英文)

一个英文播客的逐字稿,来宾讨论中国 Flash 游戏业是怎么兴起的,回忆了当年的盛况。

5、如何设计网页的焦点样式(英文)

网页元素可以获得焦点,浏览器会显示以一个焦点样式(通常是一个框,参考上图),用户可以覆盖这个样式。本文讨论焦点样式应该怎么设计。

6、浏览器的 structuredClone() 方法(英文)

Firefox 浏览器开始原生提供 structuredClone() 方法,用于对象的深拷贝(deep clone)。

7、如何用 ssh-keygen 命令加密文件?(英文)

很少有人知道,ssh-keygen 命令除了生成密钥,还可以基于 SSH 密钥进行文件的加密/解密。

8、我如何配置 VS Code 开发环境(英文)

一篇长文,作者详细介绍自己怎么配置 VS Code 编辑器。

185科技爱好者周刊(第 185 期):美国宪法拍卖,一个区块链案例

1、5G 基站有多耗电?(中文)

一个 5G 室外基站平均功耗 3.8KW 左右,是 4G 基站的3倍以上,电费约2.3-3万元/年。估计到2026年,5G 基站耗电量将上升至全社会用电量的2.1%,略高于数据中心(约2%)的耗电量水平。

2、GTA 重制三部曲有多烂(中文)

R 星公司最近发布了老游戏《GTA 三部曲》(侠盗猎车手)的重制版,售价60美元,结果重制版居然比近20年前的原版还要差。本文让大家看看,一个重制的游戏软件可以差到什么地步。

3、如何用 esbuild 打包 express 应用(英文)

本文是一篇教程,演示如何用 esbuild 打包 Node.js 应用。

4、如何在 Windows 11 安装谷歌 Play 商店(英文)

Windows 11 可以运行安卓应用,但是不支持谷歌服务框架,也不能安装 Play 商店。本文介绍一种方法,可以安装 Play 商店(上图),从而让 Windows 11 可以运行几乎所有安卓应用。

5、如何改善函数的可读性(英文)

只需要稍微改变参数的定义方式,就能极大提高 JavaScript 函数代码的可读性。

6、用 curl 计时(英文)

本文介绍了一种技巧,使用 curl 在命令行获取网站的响应时间。

7、Tmux 入门指南(英文)

本文讲解窗口管理器 Tmux 的简单用法,并配有动画。

8、少了一个数据库索引,让我们多花了5000美元(英文)

作者讲了一个亲身经历的案例,SQL 语句少建了一个索引,而数据库服务商按照读取的行数收费,导致费用暴增。

184科技爱好者周刊(第 184 期):政府的存储需求有多大?

1、将你的 PWA 发布到 iOS 应用商店(英文)

本文介绍了一种方法,将 PWA 网页应用发布在 iOS 应用商店。

但是,苹果公司明文反对,网页应用重新包装后发到应用商店,所以能不能通过审核顺利上架,就很难说了。

2、MySQL 数据库索引概览(中文)

本文详细介绍了数据库索引的概念和种类,并讨论使用索引时应该考虑的因素。(@wallace1995 投稿)

3、printf() 的返回值(英文)

本文介绍 C 语言的一个很奇怪的语法点:printf() 为什么会有两种返回值。

4、如何侦测开发者工具(英文)

本文介绍了几个技巧,可以侦测用户是否打开了浏览器的开发者工具。

5、如何使用 Calibre 将本地网页转成电子书(中文)

本文介绍如何将本地目录里面保存的网页,通过 Calibre 脚本转成一本电子书。(@evmn 投稿)

6、React Native 开发一个新闻应用(英文)

本文一步步演示,如何使用 React Native 开发一个新闻 App。

7、为什么网站应该使用抖动图像(英文)

作者主张,大多数情况下,网站应该使用抖动图像(dithering image),减少图片体积。他介绍了图像抖动的概念,以及为什么抖动图像需要保存成 png 或 webp 格式。

8、彩色括号功能的实现(英文)

VS Code 编译器有一个插件,可以让不同的括号对显示不同的颜色。但是,这个功能需要解析代码,很吃性能,大型文件会产生卡顿。VS Code 官方团队就写了这篇文章,记录了他们为了改进括号配对的性能,所做出的努力。

9、基于 Cloudflare Pages 的全栈开发(英文)

Cloudflare 公司本周宣布,他们的静态网页寄存服务 Cloudflare Pages 已经跟其他服务打通了,可以用来全栈开发,包括云函数、图片存储和 KV 键值对存储。

183科技爱好者周刊(第 183 期):腾讯的员工退休福利

1、8座最有创新的中国当代建筑(中文)

纽约当代艺术博物馆最近从160多个候选作品中,选出了外国专家眼中8个最有创新的中国当代建筑。上图是浙江松阳县的竹林剧场,下图是上海的池社画廊,墙面用砖块模拟起伏的曲面。

2、雷蛇的 RGB 面罩(中文)

雷蛇公司新发布的空气过滤面罩,两侧装了小风扇,风扇一转动就会亮起 RGB 灯光。

3、iPhone 的微距镜头(英文)

iPhone 13 新增了微距镜头,本文用大量照片讲解这个镜头为 iPhone 带来的变化。

4、声明式与命令式 UI(英文)

本文介绍 React 框架里面命令式(imperative)UI 与声明式(declarative) UI 的含义与差异。

5、Cloudflare 的 DNS API(英文)

Cloudflare 提供一个 DNS API,可以通过 HTTP 请求获取任意域名的 DNS 信息,而且没有使用限制,不必注册,完全免费。本文是官方的一个使用示例。

6、如何提高二维码的可用性(英文)

本文介绍二维码的原理,并举了一个例子,如何将一个高密集的二维码(上图左)重新编码成低密集的二维码(上图右),提高了可用性。

7、财富创造机制的清单(英文)

本文提出,所有的财富创造活动,都可以归类为九种模式。不管是什么新技术,都是使用这九种模式来创造财富。很有启发意义的一篇文章。

8、使用 Telegram API 创建免费的个人通知系统(英文)

Telegram 提供一个 API,只需要发送一个 GET 请求,就能向指定账户推送通知。

9、如何添加缩略图到静态网站(英文)

作者希望从 markdown 仓库生成静态网站,但是又不愿把图片存放在仓库里面。那么有没有办法,在生成静态网站的时候,实时生成外部图片的缩略图,放入页面?

182科技爱好者周刊(第 182 期):新人优惠的风险

1、张忠谋演讲:经营人的学习与成长(中文)

台积电创始人张忠谋的最新演讲,介绍他怎么创立和经营管理台积电。

2、解读国家科学技术大奖(中文)

通过国家科学技术大奖,可以知道我国的重大科技突破点在哪里,看出政府的导向。

3、ADS-B 信号不能对境外提供(中文)

ADS-B 是飞机发出的广播信号,明码对外发送自己的位置、高度、速度、航向等信息。连续接收信号,就可以描绘出飞机的航行轨迹,并实时获取其飞行状态。

4、如何找到数组里面的唯一数字(英文)

本文介绍一道简单的算法题:数组的所有成员都成对出现,只有一个成员除外(比如[1,3,17,3,1]),如何快速找到这个成员。

5、CSS 属性 accent-color(英文)

本文介绍一个新的 CSS 属性accent-color,可以设置表单的选择框控件(checkbox 或 radio)选中时的颜色。

6、NGINX 如何将环境变量注入网页(英文)

NGINX 可以向网页写入内容,本文演示应该怎么做。

7、为什么数字藏品在技术上不可靠(英文)

数字藏品(NFT)是一种基于区块链的数字资产证明机制,目前非常热门。本文讨论了一些技术细节,认为它在技术上有缺陷,作为资产可能并不合适。

8、如何从谷歌搜索结果删除你的网页(英文)

本文介绍一个简单的方法,只要加入一行 HTML 代码,就可以从谷歌搜索结果里面,删除你的网页。

9、Google、Twitter 和 Spotify 如何处理内部文档(英文)

软件公司的内部文档,往往是一个痛点,要么根本没有文档,要么就是杂乱不堪,分散在代码、Word 文件、Confluence 等各处。软件公司越大,这个问题越严重,本文介绍三家大型互联网公司如何处理内部文档。

181科技爱好者周刊(第 181 期):移动支付应该怎么设计?

1、Windows 11 运行安卓应用是什么体验?(中文)

Windows 11 可以运行安卓应用,本文给出了详细的操作步骤,作者也总结了自己的使用体验。

2、杭州西站的设计(中文)

杭州西站是为2022年亚运会新建的高铁站,包含了很多创新。建筑师把高铁站台放到了楼上,楼下是正常的城市交通,避免了火车站和铁轨将城市一分为二的囧境。

3、中芯国际的超级芯片工厂(GigaFab)(英文)

中芯国际最近宣布,计划在上海临港建造中国第一家超级芯片工厂(GigaFab,月产超过10万片晶圆的工厂)。本文是对这件事的分析。

4、vscode.dev 发布(英文)

VS Code 正式发布官方的浏览器版,从此可以在浏览器里面使用这个编辑器。它跟另一个网站github.dev很接近,唯一的区别是还支持其他的代码托管服务。(@StevenNin 投稿)

5、怎么为网站申请 ISSN 号码?(英文)

作者介绍怎么为自己的个人网站,申请了一个 ISSN(国际标准期刊号),便于被学术期刊引用。

6、你的网站是否有 Security.txt 文件?(英文)

越来越多的大公司开始在服务器放置“Security.txt”文件,这是一项新提议的标准,该文件用来描述网站的安全政策和漏洞联系方式。

7、不要只构建一套通用 API(英文)

作者提出,后端应该提供两套 API,一套是外部使用的通用 API,服务特定的数据,另一套是自家使用的应用 API,服务特定的页面。

8、我如何组装 Linux 游戏电脑(英文)

作者介绍自己如何选择各种组件,组装了一台专用于游戏的 Linux 桌面电脑。

9、网页的发呆检测 API(英文)

Chrome 浏览器现在原生提供IdleDetector对象,在它上面部署了发呆检测 API,可以用脚本获知用户是否正在发呆(即没有任何操作)。

180科技爱好者周刊(第 180 期):你想住在中国哪里?

1、地铁地图电路板(英文)

一个新加坡网友讲述,自己怎么把新加坡地铁线路图做成一块电路板,还设法让每个节点发光亮起来。

2、我如何使用 NFT 在三天内赚了5万美元(英文)

作者谈了自己对 NFT 的理解,以及怎么入门,然后他用软件生成了一组数字画(上图),以 NFT 的形式卖了5万美元。对这个主题感兴趣的同学,推荐阅读。

3、勒索软件是什么样子(英文)

这篇文章提供了勒索软件 REvil 中毒的样子,以及拿到解密器以后,解开中毒文件的演示,可以用来了解这种软件如何勒索钱财。

4、GitHub Star 不会支付你的账单(英文)

作者是开源项目 Sizzy 的创始人,讲述了如何将一个开源项目,变成商业软件,用来支持软件开发的故事。

5、通过水流理解电的基本知识(英文)

课本经常把电流比喻成水流,来讲解电的基本知识。这篇文章也是采用这种方法解释电,写得很有新意。

6、被谷歌解雇是一种怎样的体验(英文)

作者讲述了自己五年前被谷歌解雇的往事,解雇理由是无法承担开发工作,整个过程有详细描述,可以一窥大厂怎么解雇人。作者说,他很庆幸自己被解雇,因为他后来去了医院,被诊断为忧郁症,幸亏得到了及时治疗,现在状况不错,也找到了新工作。

7、如何压缩设计素材(英文)

作者从 Figma 导出设计素材,试了不同的格式,从最初的 10MB 变成了最后的 78KB。

8、Objective-C 简史(英文)

本文介绍 Objective-C 怎么从一种科学家的语言,变成了苹果公司的官方开发语言。

179科技爱好者周刊(第 179 期):AR 技术的打开方式

1、两个电动车主的长假出游遭遇(中文)

十一假期,很多人开电动车出游,都遭遇到了充电困境。本文讲述了两位车主的亲身经历。

2、钍燃料反应堆试验(中文)

核反应堆目前都使用铀燃料,《自然》杂志报道中国正在甘肃省试验钍燃料反应堆。钍比铀有一些显著的优点,比如核废料更少、不需要大量的水,但是成本比较高,技术还不成熟。本文介绍了钍反应堆的背景知识。

3、NASA 的交互式图像小说(中文)

美国宇航局 NASA 在官网发布了一部交互式小说,用户可以下载 PDF 文件阅读。它的最大特点就是里面有很多二维码,手机扫描后可以看到背景材料、插图和视频。但是与其这样做,为什么不直接做成网页发布呢?

4、我在通用电气工作的一件往事(中文)

作者2018年底加入了美国通用电气在英国剑桥的软件部门,发现公司内部使用的是一种自己发明的语言,但是这种语言没有 while 语句。(@DoctorLai 投稿)

5、如何用复选框实现图片、动画和游戏(英文)

在视觉上,复选框的选中状态不同于未选中状态。作者突发奇想,利用这一点将图片、动画、游戏转成复选框。(@abel533 投稿)

6、中位数为什么比平均值有用(英文)

这篇文章的前半部分使用图形,通俗地解释了为什么中位数(medium)比平均值(average)更好地反映了总体状况。

文章后半部分讲解了数据库如何查询中位数,不感兴趣的同学可以只看前半部分。

7、Envoy 开源五年的回顾(英文)

这是一篇长文,作者是开源项目 Envoy 的创始人,讲述了这个项目是如何诞生和发展的,抒发了很多个人感想,值得一读。网上有中文翻译

8、JavaScript 如何遍历树结构(英文)

本文介绍了树结构在 JavaScript 语言里面如何遍历,写得浅显易懂,解释了广度优先、深度优先等多种方法的实现。

9、GitHub Markdown 现在支持脚注(英文)

这篇是 GitHub 的官方博客,宣布该网站的 Markdown 语法现在支持脚注了,可以看看脚注怎么写。(@jwenjian 投稿)

178科技爱好者周刊(第 178 期):家庭太阳能发电的春天

1、鸟类撞上玻璃幕墙怎么办?(中文)

玻璃幕墙建筑越来越多,撞上玻璃的鸟类也越来越多,导致大量鸟类死亡。本文是这个问题的调查报告。

2、Facebook 下线的原因(英文)

本周,Facebook 下线了七个小时,原因是它的 BGP 路由被撤销了,可能是内部人员更新 BGP 时出错了。本文是一篇简单的解释,什么是 BGP,为什么它会导致 Facebook 下线。

3、Service Worker 简介(中文)

谷歌官方的 Service Worker 教程,介绍什么是 PWA 应用,以及怎么开发,写得非常好,很容易懂。官方提供中文版翻译。

4、一个人能领导多少人?(英文)

人的精力是有限的,如果想做到有效领导,那么直线下属最好不超过5-7人。

5、异步函数如何使用缓存?(英文)

需要密集计算的函数,可以部署缓存(memoizing),用来提高性能。本文介绍了函数缓存的概念和实现。

6、Chrome 背景窗口的大小(英文)

Chrome 浏览器有一个 Bug,如果一个窗口在后台打开,这个窗口的大小(window.outerHeight)会是 0,但是内部视口(window.innerHeight)的大小却不是 0,这会导致一些奇怪的问题。

7、C23 的进展(英文)

C 语言的最新版本是 C17,这是2017年通过的标准。下一版本将在2023年发布,称为 C23。本文介绍 C23 会引入的一些新语法,关心 C 语言的朋友可以看看。

8、SourceMappingURL 的恶意使用(英文)

浏览器加载网页时,如果指定了 Sourece Map 文件网址,就会加载这个文件。但是,这个网址居然可以用脚本动态修改,因此恶意脚本可以用它发送用户信息。不过,这个技巧的生效条件,是用户必须打开开发者工具。

177科技爱好者周刊(第 177 期):iPad 的真正用途

1、杨振宁百岁生日讲话(中文)

9月22日,清华大学为杨振宁先生百岁诞辰举办座谈会。会上,杨先生发表了一个讲话。百岁老人回顾人生,思路依然如此清晰。

2、前端资源的完整性校验(中文)

网页的<link><script>标签有一个 integrity 属性,指定所加载内容的哈希值,防止被篡改。本文介绍这个属性的用法。(@dreamapplehappy 投稿)

3、最好的顶级域名(英文)

世界主要的顶级域名都被美国控制(比如 .com 和 .net),国别顶级域名则被各个主权国家控制(比如 .cn)。本文讨论有没有一个相对自由、可靠的顶级域名。

4、使用 C 语言编写 Shell(英文)

这篇教程讲解如何使用 C 语言,自己实现一个简单的 Shell。其实很容易,只要几十行代码就够了。

5、如何定制 nano 编辑器(英文)

nano 是 Linux 系统自带的文本编辑器,功能简单,用起来比 vim 和 emacs 都容易。虽然它的界面很简陋,但是只要稍加配置,就能看上去像 vim 一样。

6、如何使用 GitHub Actions 自动化开发流程(英文)

作者介绍他们公司如何使用 GitHub Actions,将各种开发步骤自动化,举了很多例子,演示了测试、代码格式化、构建、部署的配置文件应该怎么写。

7、Cloudflare Images 发布(英文)

CDN 服务商 Cloudflare 发布了 Cloudflare Images 服务,这是官方的介绍文章。该服务可以托管图片的存储,提供优化、剪切和 CDN,价格相当优惠。

8、CSS 的绝对长度单位都不准确(英文)

CSS 有几个长度单位属于绝对长度,比如像素px、厘米cm、英寸in、点pt。但是,这些单位都不是准确长度,比如1cm在屏幕上并不等于1厘米(上图)。

9、Steam 平台游戏引擎调查(英文)

本文调查了 Steam 平台上面的游戏使用什么游戏引擎,可以了解目前游戏开发工具的状况。

176科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?

1、WebOS 死亡十周年纪念(中文)

多年前,Palm 公司曾经发布过一个手机系统 WebOS,有很多令人难忘的特性,非常易用。2011年8月11日,该系统被宣布放弃。本文回顾了这个系统。

2、消灭后视镜(中文)

越来越多的小汽车使用摄像头取代后视镜,有的甚至连突出的门把手都隐藏了,本文讨论这样做的原因。

3、如何免费搭建一个 VS Code 网页版(中文)

VS Code 编辑器有网页版,本文教你怎么把它部署在免费服务器上,可以用来写笔记,或者偶尔远程编辑代码。(@DoctorLai 投稿)

4、你所不知道的 ASML(英文)

全世界最先进的芯片工厂,都依赖一家公司生产的 EUV(极紫外光刻)芯片制造机,这家公司就是荷兰的 ASML(阿斯麦)公司。它一年生产50台 EUV,每台售价1.5亿美元起。

5、12 张视觉错觉图片(英文)

本文收集了 12 张著名的视觉错误图片。比如,上面这两张图片,看上去是不同角度拍摄的同一条街道,但是实际上,它们是同一张图片并排放在一起。

6、绝对值的计算并不简单(英文)

绝对值的算法似乎是一个微不足道的问题:判断一个数是否为负数,如果是的,就去掉它的负号。如果你采用这样的算法,那你就错了。

7、React usePrevious 钩子(英文)

本文介绍如何使用 useEffect 和 useRef 的官方钩子,写一个自己的 usePrevious 钩子,返回组件上一次渲染时的 props 参数。

8、浏览器的“包导入地图”(英文)

Chrome 89 开始支持 ES 模块的“包导入地图”功能(package import maps),可以为导入模块指定别名。

175科技爱好者周刊(第 175 期):知识广度 vs 知识深度

1、青海冷湖:东半球唯一一个世界级天文台址诞生记(中文)

中国国家天文台经过3年连续监测认定,青海冷湖的光学观测条件比肩国际一流大型天文台。

这一发现为中国光学天文发展创造了重大机遇,也为国际光学天文发展提供了宝贵的战略资源。8月18日的《自然》杂志公布了这项重大科学进展。

2、中国的实验室猴子短缺(中文)

生物医药研究,都需要用到实验室猴子(主要是猕猴)。猕猴是国家保护动物,不能去野外抓,只能从养殖场购买。由于疫情,猴子供应紧缺,价格飞涨。本文介绍了国内实验室猴子的状况。

3、使用 React.memo() 提高组件性能(英文)

默认情况下,如果 React 父组件重新渲染,它包含的所有子组件都会重新渲染,即使子组件没有任何变化。

React.memo() 方法可以防止子组件不必要的渲染,从而提高组件性能。

4、CSS 盒状模型的 block 和 inline 之分(英文)

CSS 盒状模型的bordermarginpadding属性,有 block 和 line 之分,比如paddingpadding-inlinepadding-block两个子属性。本文介绍这种区别。

5、elm 语言的使用心得(英文)

作者在生产环境使用 Elm 将近两年了,写了10万行代码。这篇文章详细评价了 elm 语言,给予很高的评价。本文写得很好,推荐阅读。

6、NetBSD 解释(英文)

一篇科普文章,介绍什么是 NetBSD 操作系统,它的由来和特点。

7、Let's Encrypt 的免费替代品(英文)

现在大家都用 Let's Encrypt 生成免费的 HTTPS 证书,本文介绍其它三个类似的免费证书服务。

8、JavaScript 涟漪动画(英文)

一篇简单的 JavaScript 教程,介绍如何在 Canvas 上面,使用正弦函数画出涟漪动画。

174科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员

1、500米饱和潜水背后的故事(中文)

我国最近成功完成500米饱和潜水的陆基实验,9名潜水员进入加压舱,在51个大气压的环境下,停留了176个小时(相当于7天多),为下一步潜水员正式出舱,进入500米的深海做准备。

2、我怎么加入微软剑桥研究院(中文)

作者详细记录从亚马逊跳槽到微软剑桥研究院的过程。(@DoctorLai 投稿)

3、如何在 Linux 中实时监控日志文件(中文)

Linux 系统的日志文件一般位于 /var/log,以 .log 扩展名结尾。本文教你如何在一个窗口里面,同时监控所有日志文件。(@jerrylususu 投稿)

4、使用 React Hooks 分离组件逻辑(英文)

本文介绍 React Hooks 的正确用法,写得非常好,推荐阅读。它回答了一个基本的问题:Hooks 到底应该用来干什么?

简单说,Hooks 应该用来将组件的 UI 和逻辑分开。

5、iOS 的四种设计模式(英文)

本文分析了 iOS 引入的四种新的手机 UI 设计模式,比如将表单的确认按钮,放置在页面顶部的右上角(上图)。

6、CSS 中 content 属性的妙用(中文)

CSS 的 content 属性可以向网页添加文本内容,本文总结了这个属性的用途,并逐一给出示例。

7、操作系统是什么?(中文)

本文是《操作系统开发入门基础》系列译文的第一篇,讨论了操作系统的概念,哪些工作属于操作系统的范畴。(@StrokMitream 投稿)

8、Firefox 浏览器引入强化版 Cookie 删除(英文)

浏览器提供的 Cookie 删除功能,只能删除页面本身的 Cookie,不能删除由该页面引入的其它网站 Cookie。

Firefox 91 提供了强化版 Cookie 删除,可以将某个网站引入的所有 Cookie 删除。

9、掌握 Python 网页抓取(英文)

本文详细介绍如何使用 Python 开发一个爬虫,抓取网页,并且考虑到了很多细节问题,比如多线程并行抓取、防止被屏蔽等等。

173科技爱好者周刊(第 173 期):网络收音机的设计

1、电源管理芯片为什么难造?(中文)

随着充电协议越来越复杂,只要是电子产品,都需要电源管理芯片。本文介绍电源管理芯片市场目前的状况,以及为什么大部分市场份额都被国外几家大公司掌握。

2、如何评价中国自主知识产权的“.chn”域名?(中文)

这是知乎的一个讨论帖,2019年一家中国公司宣布,推出自主知识产权的“.chn”顶级域名,根域名服务器不再受制于人,并开放购买注册。

但是,该域名没有得到 ICANN、CNNIC 的承认,浏览器无法访问,必须修改 hosts 文件才可以。

3、man 命令的奇怪输出(英文)

有人发现,如果在半夜 00:30 分执行man命令,会得到一条奇怪的报错信息“gimme gimme gimme”。

他在网上提问:有人知道这是怎么回事吗?

4、CSS 检测支持悬停的设备(英文)

鼠标有悬停(hover)事件,移动设备由于不使用鼠标,自然就没有这个动作。因此就可以通过它判断,用户是否正在使用移动设备。

本文介绍如何使用 CSS 来侦测支持悬停事件的设备,并可以设置特殊的样式。

5、SameSite cookie 的现状(英文)

目前,所有主流浏览器都支持 cookie 的 SameSite 属性,用来限制第三方 Cookie。但是,不同的浏览器对这个属性的实现不一样,导致这个属性的行为有非常大的差异。

6、HTML 元素的 download 属性(英文)

网页的链接标签(a 元素),有一个 download 属性。只要设了这个属性,点击后就会跳出下载对话框。本文演示了使用这个属性,下载当前网页。

7、如何在 Jest 中使用 test.todo()(英文)

本文介绍 JavaScript 测试框架 Jest 的 test.todo() 方法的用法。

8、CSS transform 属性详解(英文)

一篇写得很好的 CSS 入门教程,介绍如何使用 transform 属性,实现网页元素的变形。文中有大量互动式示例。

172科技爱好者周刊(第 172 期):我们会死于气候灾难吗?

1、碳排放交易是怎么回事(中文)

作者10年前从西安交通大学热能工程系毕业,选择从事碳排放管理员职业。本文用通俗的语言,解释碳排放交易到底是怎么回事,为什么对火力电厂的利润有很大影响。

2、微软入职大礼包(中文)

作者入职微软英国,上班第一天拿到入职大礼包,看看里面有什么。(@DoctorLai 投稿)

3、空气湿度知识(中文)

空气湿度对人体的影响非常大,比如气温为31度时,如果湿度达到78%,人体实际感受到的温度相当于40度。本文介绍什么是湿度,以及如何除湿或加湿。

4、内燃机原理(英文)

一篇令人叹为观止的文章,使用大量互动式的动画,讲解内燃机(也就是汽车发动机)是运作过程。

5、MDN 如何实现自动补全搜索?(英文)

本文介绍 Mozilla 的文档网站如何实现搜索框的自动补全功能。

6、如何提高 Docker 容器的安全性(英文)

本文逐点列出提高 Docker 容器安全性的一些措施。

7、C 语言 Union 结构的妙用(英文)

作者介绍了 Union 结构的一个小技巧,用来隐藏 Struct 结构,实现内部属性的直接访问。

8、我如何住在海滩上建立自己的软件生意(英文)

作者是一个国外程序员,一直住在海滩边冲浪,他利用业余时间开发 SaaS 服务,远程赚钱支持自己的冲浪生活。

9、Git 的两个新命令(英文)

新版本的 Git 加了两个命令:git switch 和 git restore,本文介绍它们的用法。

git switch 用来切换分支,git restore 用来恢复原样,可以取代 git checkout。

171科技爱好者周刊(第 171 期):云服务流量有多贵?

1、USB-C 接口为什么这么混乱(中文)

除了 iPhone,各种电子设备现在基本都使用 USB-C 接口,但是这种接口其实非常混乱,有着众多令人迷惑的版本号,并且集成了大量协议,甚至还可以加入私有协议。

2、音频可视化入门(中文)

作者介绍了音频处理的基本知识,如何进行采样,并通过傅立叶变换分离频率,最后实现音乐播放器的可视化音柱跳跃效果。(@cj1128 投稿)

3、SQL 表格连接的可视化连接(英文)

老生常谈的内容,使用图形介绍 SQL join 的类型,简明易懂,值得经常看看。

4、使用 React Hooks 构建音乐播放器(英文)

一篇详细的教程,一步步教你怎么用 React Hooks 写出上图的音乐播放器。

5、船只的原理(英文)

本文从浮力的物理学原理开始讲起,介绍船只为什么会浮在水面上,以及螺旋桨为什么会产生推力。它的最大特色就是制作精美,网页上有大量互动式的小动画。

6、Postgres 全文搜索简介(英文)

Postgres 数据库自带全文搜索,本文简单介绍英语的全文搜索怎么实现。

7、Safari 是开发者最讨厌的浏览器(英文)

作者谈了他的观点,为什么 Safari 浏览器严重过时,成为开发者的麻烦。

8、JavaScript 的浮点数格式(英文)

本文介绍了 JavaScript 的浮点数格式,JS 引擎底层到底是怎么存储一个数字的,图文并茂。

9、我为什么放弃一个25000星的开源项目(英文)

作者是一个热门开源项目的维护者,项目已经有10年历史,25000多颗星,但是作者决定不再维护,放弃该项目。

10、Pixar 公司是如何成立的?(英文)

Pixar 公司创始人的回忆文章。该公司最早的业务是开发图形硬件,结果走投无路,面临破产。最后时刻苦苦央求,乔布斯才同意当风险投资人。

为了展示自家硬件的图形能力,Pixar 制作了一些动画短片,不料一炮走红,最后索性变成了动画公司。文章披露了很多内幕,喜欢电脑发展史的朋友可以看看。

170科技爱好者周刊(第 170 期):软件订阅制的胜利

1、农村的厕所应该长什么样?(中文)

本文介绍中国的一些年轻建筑师,正在尝试重新设计农村的厕所。

农村没有给排水管网,厕所的水从哪里来?污水往哪里排放?而且,乡村厕所往往是在建筑外部的一个单独空间,尤其是北方,冬天如何保温?难道单独为厕所供暖?

2、苏炳添的论文(中文)

苏炳添是第一个100米跑进10秒的亚洲人。除了短跑运动员之外,他还有另外两个身份:暨南大学体育学院副教授以及北京体育大学2019级博士研究生。他曾经发表论文,以自己为例,研究怎样才能跑得更快。

3、如何生成一个数独游戏(中文)

作者介绍了自动生成数独游戏的编程思路。(@guanghechen 投稿)

4、如何优化 node 项目的 docker 镜像(中文)

作者介绍如何一步步将一个 Node.js 应用的 Docker 镜像文件,从 1.06G 压缩到 73.4M,构建速度从 29.6 秒提高到 1.3 秒。(@iamobj 投稿)

5、好友关系的数据库设计(英文)

用户互相加为好友,数据库应该怎么设计,才能方便以后查询和删改?

6、网页暗模式只要一行代码(英文)

本文介绍如何使用一个 CSS 命令,反转网页颜色。

7、谷歌是否索引 CSS 文本内容(英文)

CSS 可以通过伪元素向网页添加文本内容,作者做了一个实验,看看谷歌会不会索引 CSS 引入的文本。

8、为什么人眼对蓝色不易聚焦(英文)

一篇有点奇怪的文章,解释人眼为什么对蓝色不易聚焦,更容易对红色和绿色物体聚焦。

文章的例子很生动,上图的蓝色通道全部都进行了模糊,几乎不影响清晰度。如果对红色和绿色通道进行模糊,马上就会影响清晰度。但是这个例子说服力不强,因为上图中,蓝色主要是海洋,本来也没有多少细节。

169科技爱好者周刊(第 169 期):五菱汽车的产品设计

1、JavaScript 新增的运算符(中文)

本文介绍 ES6 的后续标准为 JavaScript 新增的七个运算符,其中包括最新的 ES2021 标准增加的三个运算符。

2、软件未来的10个预测(英文)

一个云计算专家预测软件未来的10个变化,可以当作一家之言看看。

3、如何向美国政府索取入境照片(英文)

外国人每次进入美国时,需要拍照并扫描指纹。根据美国法律,可以向美国政府索取这些信息的副本。本文记录作者是怎么做的。

4、Haskell 语言入门第一步(英文)

这篇文章介绍怎样动手尝试 Haskell 语言,并写一个简单函数,内容清晰易懂 。

5、关于微控制器的知识(英文)

当代计算机越做越小,符合冯诺依曼架构的全套计算装置,已经可以做进一块芯片了,这种芯片式的计算机称为“微控制器”。本文介绍微控制器的基本知识。

6、最糟糕的音量控制界面(英文)

本文收集各种极其难用的音量控制界面设计,有点恶作剧性质,比如上图。

7、JS 脚本如何正确检测用户的设备(英文)

用户经常使用伪装的 User-Agent 标头,隐藏自身的信息。本文给出了各种思路,如何用 JS 脚本,正确检测用户的上网设备。

8、Suspense 和 React.lazy() 用法示例(英文)

React 16.6 版本引入了 Suspense 组件,用于生成动态加载元素的过渡效果。本文给出了一个完整的示例,介绍它配合 React.lazy() 的用法。

168科技爱好者周刊(第 168 期):游戏《底特律:变人》

1、砂纸的砂粒是怎么做上去的?(中文)

砂纸是木工的必备工具,它是怎么生产出来的?上面的砂粒怎么会均匀吸附到砂纸上呢?

2、中国西北地区的干旱原因(中文)

一个科普演讲,主讲人是中国科学院大气物理研究所的副研究员,分析中国西北地区为什么这么干旱,如果把喜马拉雅山脉炸开一个口子,会不会改变这种状况。

其中提到一点,大家觉得延安很干旱,其实那里跟北京的降雨量差不多。

3、一行 CSS 代码实现全站中文简繁转换(中文)

CSS 命令 font-variant-east-asian: traditional;,可以让网站字体从简体变成繁体。

4、PostgreSQL 数据库的变化捕获和实时通知(中文)

数据库发生变化时,如何通知前端网页?本文以 PostgreSQL 数据库为例,介绍了作者的解决方案,使用了服务器端事件。(@kaifeiji 投稿)

5、页脚的变化(英文)

网页的页脚往往可以反映网站的成长。这篇文章总结了几个案例,看看它们的页脚怎么变化,上图是一个网站刚成立时的页脚,下图是该站五年后月收入达到17万美元时的页脚。

6、避免使用可变长数组(英文)

C 语言有一种语法,叫做可变长数组(VLA),数组的长度不在编译时确定,而在运行时确定。本文解释它有什么问题,为什么应该避免使用。

7、Netflix Prize 挑战赛十五周年回顾(英文)

2006年,Netflix 为了改进推荐算法,发起了一项算法比赛,任何人只要能够击败基准算法,就能获得 100 万美元奖金。

这是世界第一场大数据的算法比赛,世界各地的许多研究人员、学生、业余数学家和计算机科学家都参与了。本文在多年后,评论这个比赛的意义。

8、自己实现 nodemon(英文)

nodemon 是一个 Node.js 工具,只要发现源码文件有变动,就会自动重新启动服务。本文教你怎么自己写一个 nodemon。

167科技爱好者周刊(第 167 期):广告拦截器太过分了

1、公鼠怀孕实验(中文)

中国科学家通过给公鼠移植子宫,让公鼠生下了10只小老鼠。这个实验引起了争议,本文介绍相关情况。

2、为什么 AI 模型里面的狼选择自杀?(中文)

有一个同学做了“狼抓羊”的 AI 游戏,规则是狼抓到羊,奖励10分;狼撞到障碍物,扣1分;为了鼓励狼尽快抓羊,每秒钟狼都会扣去0.1分。

但是,游戏启动后,狼却不去抓羊,而是选择在石头上一头撞死。

3、详解像素和像素密度(中文)

一篇长篇文章,详细解释像素、像素密度、DPI、PPI、DPR 等概念。(@Leon0824 投稿)

4、BitTorrent 20周年回顾(英文)

BitTorrent 下载是2001年7月2日诞生的,距今正好20年了。本文简单回顾了这20年来的发展。

5、我是怎样找出攻击者的?(英文)

作者发现,自己的网站一直受到攻击,但是对方躲在 Tor 网络后面,看不到真实 IP 地址。

作者就想了一个办法,做了一个假的管理后台,然后在报错信息里面,故意泄露这个后台的网址,看看对方会不会上钩。

6、为什么特斯拉不需要激光雷达?(英文)

特斯拉的人工智能负责人,在一次学术会议上解释,为什么特斯拉汽车的自动驾驶不使用激光雷达,而是完全依靠计算机视觉的深度学习。

7、如何正确设计登录表单(英文)

登录表单是各种应用的标配,本文给出11条设计建议,帮助大家做出易用的登录表单。

8、如何测量程序执行时间(英文)

本文使用通俗的语言,介绍如何测量程序执行时间,举了简单的 C 语言例子,一种方法是测量 CPU 执行周期,另一种方法是测量毫秒数。

166科技爱好者周刊(第 166 期):视频学习胜过读书吗?

1、北京航空航天大学的月宫一号(中文)

2018年时,北京航空航天大学建了一个全封闭的“月宫一号”实验舱,探索人类在外空环境中,如何自给自足地生存一年。四名志愿者在舱内依赖内部循环的空气和水生存,并种植各种植物。

现在,中国的空间站上天了,宇航员将在太空逗留3个月到半年,以后还会前往火星,我们终于知道了这个实验的目的是什么。

2、一场欧洲杯转播总共有多少个机位?(中文)

一场顶级的足球比赛,电视转播需要多少台摄像机?答案是至少36台。

3、Tensorflow 开发者认证记录(中文)

作者作为一名大四学生在暑假学习并通过 Tensorflow 开发者认证的经历。(@jerrylususu 投稿)

4、Oxygen OS 的兴衰(英文)

Oxygen OS 是一加手机定制的 Android 系统,初期得到广泛好评。但是,随着一加改变产品定位,Oxygen OS 似乎失去了特色,前景变得很不明朗,可能会与 Oppo 的 ColorOS 合并。

5、ES2021 新语法点(英文)

ES2021 标准已经正式通过了,本文简要介绍了 JavaScript 今年新加了哪些语法,还好不是很多。

6、z-index 和堆栈上下文(英文)

本文详细介绍 CSS 里面的 z-index 属性,以及它生效所必需的堆栈上下文(stacking context)是怎么形成的。

7、SQL 查询顺序(英文)

SQL 的 select 查询语句有很多组成部分,本文介绍内部执行时数据库引擎的处理顺序(上图)。

8、如何使用 systemd 架设一个开机启动的网站(英文)

本文讲解怎么设置 Systemd,将网站做成一个服务,开机启动。

9、安卓应用的 .aab 格式(英文)

谷歌最近宣布,从8月开始,提交到 Play 商店的安卓应用,一律必须是 .aab 的打包格式,而不是传统的 .apk 格式。

以后,谷歌会根据用户的机型,生成专用的 apk 下载包。这样的话,很可能造成 apk 安装包不再通用。

165科技爱好者周刊(第 165 期):全端 App 的时代

1、QQ 宠物的诞生与没落(中文)

QQ 宠物最早出现在2005年初的 QQ 贺岁版,同年6月正式上线。一年后同时在线用户数就突破了100万,成为了世界上最大的虚拟宠物品牌。

2、韩国的真人约会游戏(中文)

本文介绍韩国公司新推出一款相亲 RPG 游戏,完全是真人实景拍摄,更像是一部可以玩的电视剧。比如,下图让玩家选择谁是约会对象。据玩过的人说,体验还不错,剧情有意思。

3、静态网站如何启用数据库查询(英文)

作者演示静态网站(比如 GitHub Pages)如何通过 SQLite 数据库,实现查询功能,完全不需要后台脚本。

这种操作的实现原理有两个:一是 SQLite 数据库以页为单位存储数据,每页默认是 4KB,可以按页读取数据;二是前端可以用 sql.js 模拟一个内存文件系统,从而实现按页读取文件。(@joyc 投稿)

4、Telegram 创始人和他的黑暗帝国(英文)

德国《明镜》杂志的长篇英语报道,介绍聊天软件 Telegram 现年36岁的创始人帕维尔·杜罗夫 (Pavel Durov) (上图),以及 Telegram 的故事。

5、老电脑如何安装 Windows 11(英文)

Windows 11 发布测试版本后,很多人发现老电脑安装不了,因为有主板 BIOS 限制。本文介绍一种规避的方法。

6、复制次数最多的 StackOverflow 代码片段(英文)

有一项研究称,程序员问答网站 StackOverflow 上面,有史以来复制次数最多的是一段 Java 代码片段,用来以人类可读的格式打印字节数,比如将 123,456,789 字节转为 123.5 MB。

这段代码的作者多年后写了这篇文章,分析自己原始代码里面的漏洞。

7、浏览器的原生代理功能示例(英文)

本文教你如何使用浏览器原生提供的代理功能,绕过 sci-hub 域名的访问限制。

8、Docker Compose 快速使用指南(英文)

一篇简短的 Docker Compose 入门教程,让你通过动手实践,理解 Docker Compose 怎么搭建多容器的应用程序。

9、新的 HTTP 规范可以消除“Cookie 横幅”(英文)

由于欧洲议会的规定,国外的网站都有一个讨厌的“Cookie 横幅”,询问用户是否接受 Cookie。

现在有一个新的 HTTP 提案(还未通过),用户只需设置一次,浏览器就可以用一个 HTTP 标头通知网站,不必放置 Cookie 横幅。

164科技爱好者周刊(第 164 期):培训班 vs 大学,求职成功率比较

1、世界最深的地下实验室(中文)

四川省凉山地区有一个清华大学的”中国锦屏地下实验室“,位于2400多米的地下,是世界最深的实验室。该实验室主要用来研究暗物质,因为只有在这么深的地下,才能屏蔽掉宇宙射线和地面环境的影响。

2、三种前端实现 VR 全景看房方案(中文)

某品牌要搭建一个在线 VR 展厅,用户可以在手机上通过陀螺仪或者拖动来360度全景参观展厅,前端有三个方案可以实现。

3、CSS 与 CSS-in-JS 的性能比较(英文)

单独加载的 CSS 文件与写在 JS 脚本里面的 CSS,性能相差多少?作者实验证明,差距很大。

4、跨太平洋海底电缆 PLCN 的影响(英文)

2017年,跨太平洋海底电缆(PLCN)开始建设,原计划连接洛杉矶和香港(下图一)。但是,2020年由于美国政府的反对,香港节点被取消(下图二)。本文讨论这个事件的影响。

5、使用 Skynet 和 Filebase 实现分布式文件储存(英文)

Skynet 是一个开源的分布式内容托管系统,只要把内容接入这个系统,就可以从全世界无数入口,获取这些内容。本文就介绍一种非常方便的方法,通过 Filebase 这个服务,将图片快速接入 Skynet。

6、我们如何使用 MagSafe 找回 iPhone 12 Pro(英文)

作者的 iPhone 12 手机不慎掉入河中,他想到可以用 MagSafe 功能的磁性吸附特点,用磁铁将 iPhone 从水里吸上来。

7、最简单的 EPUB 电子书(英文)

作者演示如何制作一本最简单的 EPUB 电子书,一共需要4个文件。

8、苹果手机的照片语音描述功能(英文)

苹果手机有一个 VoiceOver 功能,让人工智能生成照片的描述,然后使用机器语音读出来。这样的话,不用看照片,就能知道照片的主要内容。本文用一段简单的视频,教你怎么打开这个功能。

163科技爱好者周刊(第 163 期):你的城市有多少张病床?

1、亚洲象的十三个分布国(中文)

亚洲象一共分布在亚洲13个国家,本文依次介绍每个国家的亚洲象生存现状,内容很有意思。

中国其实是人象冲突最少的国家之一,跟印度相比,后者由于人口稠密,而且拥有全世界约60%的亚洲象,人象冲突要严重得多(上图)。

2、南疆暴雨,传递出什么气候信号?(中文)

6月15日,向来少雨干旱的南疆盆地,出现一场强降水,和田地区3小时雨量达52.9毫米,超过了平时一年的降水量。这场暴雨,很可能是有正式气象记载以来,南疆最大的一场雨。

3、软件生成的论文也能发表(中文)

2005年,麻省理工学院3位计算机博士生搞了一个恶作剧,写了一款叫作 SCIgen 的软件,能够生成学术论文,然后向杂志投稿,居然发表了。他们将这款软件开源,放在网上。

最近,一个法国科学家很好奇,会不会有人真的用这款软件写“论文”,然后去投稿。他检测了数百万篇已经发表的论文,发现了243篇是 SCIgen 生成的。

4、Linus 谈 mRNA 疫苗(英文)

有人在 Linux 内核开发的邮件列表上,造谣说 mRNA 疫苗会改变人类遗传物质。Linus 忍不住写了一个很长的回信,解释 mRNA 疫苗是怎么回事。

他最后写道:“如果你坚持相信这些疯狂的阴谋论,那么至少在这里,你给我闭嘴。”

5、AI 识别字体(英文)

Facebook 公开了最新的研究成果,自动识别文字字体,然后替换成同字体的其它文字。上图左侧是原始图片,右侧是 AI 替换文字后的图片。这个软件最大的应用是,可以仿造他人的字迹。

6、热重载 C (中文)

热重载指的是,在不重启的情况下更新应用。脚本语言都能支持这个功能,本文通俗地讲解,如何让 C 语言这样的编译语言,也支持热重载。(@cj1128 投稿)

7、HTML 技巧(英文)

本文总结了一些不为人熟知的 HTML 特性。

8、列数据库的兴起(英文)

主流的关系型数据都以行为单位,储存数据。但是,对于大型数据集,以列为单位储存数据有巨大的优势。实际上,数据仓库基本都是列数据库。

本文解释为什么会这样,写得很通俗,但是读起来需要一点耐心。

9、如何将 SHA-256 哈希可视化?(英文)

作者一步步示范如何使用 JavaScript,将一个哈希值转成 SVG 图形(上图)。也就是说,可以为任意字符串生成一一对应的图案。

162科技爱好者周刊(第 162 期):生活就像《吃豆人》游戏

1、西双版纳大象专家谈北迁象群(中文)

西双版纳自然保护区的专家,谈怎么看待象群北迁事件。

亚洲象一般生活海拔1000米以下,但是目前已经到了海拔2000米,还没有回头,这是前所未有的。

2、我复原了长安城(中文)

作者介绍自己使用 VR 技术对唐朝长安城建模,做成建设虚拟城市的游戏,拿到 Steam 上去卖。

3、我如何抓到偷苹果笔记本的贼(中文)

作者讲述如何根据苹果笔记本的定位追踪系统,抓住小偷,写得很生动。

4、StarLink 卫星上网体验报告(英文)

这篇文章详细记录了 StarLink 的安装和使用过程,作者的结论是这个卫星上网服务可用,但是体验不好。

它要求天线与卫星之间不能有遮挡,这导致非常容易断线,甚至一片云、一阵风都会断线,这使得聊天、游戏、视频等实时通信要求很高的服务,都不可用。

5、信息论之父香农(英文)

这是一篇发表在1992年《IEEE 综览》杂志的香农专访,介绍了香农的很多轶事,对信息论也有解释,写得很生动。

文章披露,香农起初不知道应该用什么词称呼“信息熵”,后来选择了entropy,纯粹是因为这个词含义不明确,可以多种解释,但这导致了后来的许多争论。

6、UCWeb 的上传数据(英文)

一位国外网友发现,UCWeb 浏览器即使在隐身模式下,也会向自家服务器上传数据。他对这件事情进行了调查。

7、WebContainers 简介(英文)

WebContainers 是一项很特别的技术,可以在浏览器里面运行 Node.js 环境,从而不用任何的本地安装,就可以在浏览器里面调试 Node.js 项目。

8、程序员为什么喜欢咖啡?(英文)

这篇文章总结了程序员喜欢喝咖啡的几个理由,最后一个理由很搞笑。

161科技爱好者周刊(第 161 期):再见了,学术硕士

1、一场事先张扬的海滩聚会(中文)

本文记录了一桩很魔幻的事件,比小说还要精彩。有一个美国的抖音用户,发了一条短视频,“来庆祝我的生日,时间:下午7:30,亨廷顿海滩篝火处”。发完他就不见了,但是这条消息病毒式传播开来。

2、我的外包经历(英文)

作者讲述了自己的一段外包经历,自从把软件外包出去,就开始噩梦不断。

3、Shein,一家悄悄崛起的中国电商(英文)

美国的电商应用,排名第一位的是 Amazon,第二位是来自中国的 Shein,可是国内很少有人听说过这家公司。一个美国分析师利用收集到的各种材料,对这家公司进行了长篇分析。

4、提高 Bash 使用效率的一些小技巧(英文)

本文介绍几个非常有用、但鲜为人知的 Bash 命令用法。

5、HTTP 安全标头快速参考(英文)

HTTP 标头里面有一些跟安全相关,本文对它们一一介绍,比如Content-Security-PolicyX-Content-Type-Options等等。

6、CAP 定理解读(英文)

这篇文章从学术角度,详细解读分布式系统的 CAP 定理,写得很好。CAP 定理的核心含义就是,发生故障时,开发者必须选择,优先满足一致性还是可用性。

7、如何使用 Emoji 作为 Favicon(英文)

本文介绍如何将 svg 格式的 Emoji 图案,作为网页的 Favicon。

8、为什么 MySQL 数据库的字符串列宽是191?(英文)

MySQL 数据库的 varchar 格式的列,长度常常是191个字符,这是为什么?

160科技爱好者周刊(第 160 期):中年码农的困境

1、使用 Notion API 建立自己的账本(中文)

Notion 最近开放了 API,作者详细介绍如何写一个 Python 脚本,调用 Notion API,将支付宝和微信导出的交易记录,输入 Notion 形成一个账本。

2、如何画出螺旋曲线?(英文)

作者使用通俗语言,介绍螺旋曲线的数学含义,并给出多个 JavaScript 示例。

3、树莓派架设公网网站(英文)

作家介绍如何在家庭网络之中,使用树莓派架设一个网站,然后通过端口映射,供外网访问。

4、Linux 系统的磁盘分析工具 gdu 用法(英文)

gdu 是 du 命令的 Go 语言版,用来分析 Linux 和 macOS 系统的磁盘占用情况,提升了执行速度,并且有命令行图形界面。

5、为什么我们从 Webpack 切换到 Vite?(英文)

Replit 解释为什么将前端打包工具,从 Webpack 转为 Vite。

6、JavaScript Web Cryptography API 的用法(英文)

浏览器原生支持 Web Cryptography API,用于加密和解密,本文通过举例,介绍这个 API 的用法。

7、x86 计算机的栈顶位置(英文)

C 语言变量储存在内存的栈(stack)里面,从栈底开始存放,直到栈顶。这个概念很容易混淆,因为栈底是内存的高位地址,栈顶是内存的低位地址,本文就来分析这个概念。

8、山羊吃草问题(英文)

如果把山羊拴在谷仓大门上,山羊的活动面积就是上图粉色的部分,具体大小容易算出来。

数学家对这个问题进行了很多发挥,其中有一个版本就是,如果把山羊拴在一个圆形谷仓里面(下图),请问绳子的长度是多少,可以让山羊的活动面积达到谷仓的一半。

159科技爱好者周刊(第 159 期):游戏开发者的年薪

1、鸽子在我家窗口孵蛋(中文)

一对鸽子在阳台的空花盆筑了个简易巢,然后在里面下了两只蛋,并且孵了起来。作者观察了半个月,终于看到小鸟孵出来了。

2、如何生成不规则边框的背景图(英文)

本文介绍为一个网页元素添加不规则背景图(上图)的几种方法。

3、Git 的 squash 合并(英文)

Git 分支进行合并时,有多种合并方式:直进合并、非直进合并、递归合并和 squash 合并。最后一种 squash 合并,指的是把待合并的节点汇总成为一个新的提交。本文介绍这种合并方式。

4、JavaScript 模块的代码重复性(英文)

作者做了一个实验,他新建了一个 Angular 的标准项目,分析 node_modules 目录里面安装的所有模块,对脚本文件的每一个函数计算哈希值,结果发现61%的函数是重复的,莫非大家都是从 StackOverflow 拷贝代码。

5、Rust 的不知名贡献者(英文)

我们都知道,很多语言的创始人、主要贡献者是谁。但是,Rust 语言的主要贡献者是谁,大家却说不出来。本文介绍 Rust 语言背后的贡献者。

6、微小变化带来的大收益(英文)

作者讲了几个案例,都是网站细节的微小改进,带来用户体验的巨大改进,比如 GitHub 的 favicon 显示构建结果(上图)。

7、使用 Go 语言学习蒙特卡洛模拟(英文)

本文采用 Go 语言,使用各种小例子,讲解什么是蒙特卡洛模拟。

8、走进半导体巨头(英文)

美国 CBS 电视网的著名新闻节目《60分钟》,最近播出了一期半导体特辑,访问英特尔和台积电的 CEO,报道芯片为什么会出现短缺。这是节目的文字稿。

9、JavaScript 的延迟加载属性模式(英文)

如果一个对象的属性值需要非常昂贵的计算,我们可能希望,只有用到这个属性时,才对它求值。本文讨论这在 JavaScript 里面应该怎么实现,作者是著名的尼古拉斯·扎卡斯(Nicholas C.Zakas)。

158科技爱好者周刊(第 158 期):内容渠道的贬值

1、从长征 5B 再入的新闻谈起(中文)

最近,长征 5B 火箭的残骸落入印度洋。它是目前中国最大的火箭,残骸无法在大气层里燃烧干净,加之落点无法控制,所以可能会对地面构成威胁。本文是一篇很好的评论。

2、如何写打印样式表(英文)

只要是放置内容的网页,除了正常的样式表以外,还应该设置打印样式表(print.css)。本文介绍打印样式表的基本写法。

3、我如何用机器学习代替绿幕(英文)

作者喜欢拍摄视频,会使用绿幕替换背景,但是家庭使用绿幕很不方便。有一天,他看到一篇论文,使用机器学习替换正常视频的背景,他就开始学着做。

4、我邮寄了一个 AirTag(英文)

苹果公司新发布的 AirTag,具有追踪功能。作者就放了一个 AirTag 在邮包里面,发出去以后一路追踪,看看效果如何。

5、Python request 库的用法介绍(英文)

Python 语言的 request 库用来发出 HTTP 请求,作者非常喜欢这个库,认为它简单、直观、容易使用。本文介绍怎么使用它在 Python 脚本里面发出 Web 请求。

6、我的 HTML 页面模板(英文)

作者介绍了自己目前使用的 HTML 页面模板,解释了每一行的用途。

7、Prisma ORM 库介绍(英文)

Prisma 是 Node.js 和 TypeScript 项目新一代的 ORM 库,用来操作数据库。看上去功能非常强大,还带有配套的图形界面管理工具,下一个项目可以用它试试看。

8、最小的 Docker 镜像文件(英文)

作者介绍如何做出一个最小的 Docker 镜像文件,包含一个简单的 HTTP 服务器,大小只有 6KB。

9、Bash 如何更快地浏览目录(英文)

本文介绍一些高级的 Bash 技巧,让你更快地在目录之间切换。

157科技爱好者周刊(第 157 期):KK 给年轻人的建议

1、你家的智能电视可能正在监视你(中文)

网友在 V2ex 论坛上发帖说,自家的电视机正在监视所有联网设备。他发现一个叫做“勾正数据服务”的应用,每隔 10 分钟会扫一遍所有联网设备,然后打包将你的内网信息上传。

2、切尔诺贝利核电站的内部现状(英文)

切尔诺贝利核电站由于核泄漏而被废弃,但是它里面其实现在有工作人员,监控整个遗址的安全指标。一个波兰摄影师获得同意,进入核电站大楼,拍摄内部状况。本文就是他的记录,以及大量的照片。

上图背后的圆形建筑是一个保护壳,里面就是著名的石棺,封存了发生核事故的反应堆。

3、台积电南京厂扩产28纳米生产线的影响(中文)

台积电宣布,扩大南京厂28纳米生产线。本文分析这对国内芯片业的影响。

4、TypeScript 项目的基本操作(英文)

本文面向初学者,介绍了 TypeScript 项目会用到的各种基本操作,帮助你启动一个 TypeScript 项目。

5、CSS 技巧(英文)

本文介绍一些较新的 CSS 技巧,可以不使用 JavaScript,就达到复杂的交互效果。

6、Tailwind CSS 使用入门(英文)

Tailwind CSS 是一个很有特点的 CSS 框架,本文介绍它的基本用法。

7、如何用自然语言处理(NLP)推送广告?(英文)

本文演示了将网页文章的内容,推送给 NLP 的云服务,自动进行自然语言分析,返回文章主题。然后,页面脚本根据网页的不同主题,在网页上加载最相关的广告。

8、AVIF 图像格式指南(英文)

AVIF 是一种新的图像格式,跟 JPG 和 PNG 类似,但可以压缩得更小。现在浏览器的支持已经比较好了,本文介绍这种格式的用法。

9、软件测试的虚荣性指标(英文)

作者提出,开发者要避免追求那些虚荣性的指标,比如测试覆盖率越高越好、测试案例越多越好。

156科技爱好者周刊(第 156 期):显卡缺货与异业竞争

1、为什么游戏里做一扇门这么难?(中文)

很多游戏开发者认为,实现一扇门是最让人痛恨的事情,各种各样的 bug 因此产生。“门不仅要能打开,还要能关上,有时还需要开锁或者被撞开,打开之后还得能来回摇摆。”

2、Z 字形斑马线(中文)

国内多地启用 Z 字形斑马线,让行人过马路的路线从直线变为“Z”字型,目的是减缓行人速度,拉长过马路的时间,让他更注意两边的车况,防止交通事故。这种设计到底有没有用,是有争论的。

3、云巴会在国内流行吗?(中文)

4月16日,国内首条“云巴”在重庆璧山正式通车,这是比亚迪公司主导的一个“小运量的高架有轨电车系统”。本文介绍这种交通系统的背景和前景。

4、视频分辨率与码率的关系(中文)

视频文件的清晰度主要由码率、分辨率、帧数等指标决定。本文介绍这几个指标的概念,以及它们之间的关系。

5、消失的除法指令(中文)

学习汇编的时候,观察到一个现象,C 语言的除法操作,编译得到的汇编代码是一条乘法指令。这是为什么?(@cj1128 投稿)

6、Serverless 数据库比较(英文)

这篇文章比较了三个 Serverless 云服务商的数据库服务(DynamoDB、 FaunaDB 和 Upstash),看看它们的性能如何。

7、如何在命令行操作 GitHub Actions?(英文)

GitHub 的命令行工具现在支持 GitHub Actions 了,用起来非常方便,这篇是官方的介绍文章。

8、我的复古网站(英文)

作者将他的个人网站,做成 WIndows 95 的样子,把个人博客放在上面,很有意思。本文介绍他是怎么做的。

9、从头开始编写 RPC(英文)

RPC 指的是远程函数调用,是服务器通信的常见方法。本文介绍 RPC 的概念,然后用 C 语言演示一个简单的例子。

155科技爱好者周刊(第 155 期):数字货币是打破美元霸权的武器吗?

1、国产的短视频编辑软件们(中文)

国内短视频大厂纷纷推出配套的视频剪辑软件,相比国外的老牌工具,并不落下风,本文介绍国产视频编辑软件的现状和策略。

2、如何饲养一头衰老的马来熊(中文)

南京市红山动物园有一头32岁的马来熊。野生马来熊的寿命在20-30岁之间,32岁就相当于人的90岁。饲养员彭培拉说:“经过了评估,我们认为这个动物已经没有任何攻击性,那我们应当有自由度去给动物幸福。”从此,人们每天都能看到这一人一熊缓缓走在通道上。

3、火星放飞无人机(中文)

美国宇航局成功在火星表面,放飞一架名为“机智”号(Ingenuity)的小型无人直升机。本文介绍这个项目的细节。

4、Chrome 90 的 4 大新功能(中文)

本文介绍 Chrome 90 的四个新功能,对于普通用户还是挺有感的。

5、如何制作一个纯 CSS 的密码生成器(英文)

写法很简单,但是做出来的效果真不错。

6、深入了解 CORS(英文)

本文详细介绍浏览器跨域请求的概念、原理和最佳实践。

7、浏览器 Fullscreen API 使用指南(英文)

FullScreen API 可以让你完全控制,将整个页面或某个页面元素全屏显示,并且提供 CSS 伪类:fullscreen控制样式。

8、Web MiniDisc 应用程序(英文)

上个世纪90年代,索尼公司发布过 MiniDisc 播放器(上图一),有些型号带有 USB 接口。作者尝试写一个 Web 应用(上图二),使用 WebUSB 从浏览器连接播放器,然后使用 ffmepg.js 解码音频,从而将电脑上的音乐发送到它上 MiniDisc 播放器。

9、如何创建一个 Node.js 的命令行应用(英文)

作者一步步详细讲解,如何使用 Node.js 写一个命令行窗口应用,播放 MP3 歌曲。

154科技爱好者周刊(第 154 期):1982年的信息社会预言

1、我如何走上研究恐龙的道路(中文)

中国科学院古脊椎动物研究所汪筱林老师的演讲,他是怎么会研究恐龙的,以及如何在哈密地区发现了世界分布面积最大的翼龙化石群,足足有几千万条恐龙的化石。

2、GitHub Actions 被滥用挖矿(中文)

最近,有人向各种 GitHub 仓库疯狂提交 Pull Request,只为了触发 GitHub Actions 跑他的挖矿脚本。本文详细介绍这个事件。

3、我如何做出一个病毒式传播的网站(英文)

苏伊士运河的堵塞事件,启发作者做了一个 istheshipstillstuck.com 网站,可以查看事件的最新进展。该网站变得极其流行,5天内有5000万的访问量。作者介绍了背后一些有趣的事情。

4、什么是字符串哈希?(英文)

本文通过一个简单的例子,讲解字符串的哈希值的原理,它是怎么算出来的。

5、SQLite 命令行数据处理示例(英文)

SQLite 是一个很强大的工具,很多人只把它当作数据库使用,却不知道它可以用在命令行,处理各种数据文件。

6、为什么面向对象编程很糟糕?(英文)

一篇很老的经典文章,作者是 Erlang 语言的创始人乔·阿姆斯特朗(Joe Armstrong),他总结了面向对象编程的四个重大缺点。

7、如何不使用 Rails 开发一个 Ruby 的 Web 应用(英文)

Rails 是 Ruby 语言的标准 Web 框架,但是不用它也能开发 Web 应用。本文是一篇长篇教程,详细讲解不使用框架时,Ruby 语言如何开发 Web 应用。

8、如何清理 Docker?(英文)

如果你大量使用 Docker,它会占用很多硬盘空间。本文教你如何彻底清理 Docker,包括清理容器文件、镜像文件、网络数据、虚拟磁盘等等。

153科技爱好者周刊(第 153 期):机器翻译是对译者的侮辱吗?

1、加油站扫码支付的风险(中文)

政府提示,在加油机旁边扫码付款有重大风险,手机发射的功率可能引发射频火花。这样说的话,那里也不应该手机上网。

2、如何救助一只雪豹(中文)

青海野生动物救护中心的副主任讲述,救助一只迷路雪豹的全过程。

3、大数据可视化工具(英文)

现在前端的图表库很多,作者推荐了几个他觉得最好的库,逐一进行了介绍。

4、Git 邮件工作流(英文)

多人项目现在一般使用 Pull Request 进行合作,但是 Linux 内核项目使用的是电子邮件工作流,本文介绍具体怎么做。电子邮件发送 Patch 其实也很方便。

5、React + D3.js 如何开发 SVG 图形(英文)

本文是一篇详细教程,讲解如何在 React 里面引入 D3,开发 SVG 动画。

6、八进制数字造成的安全漏洞(英文)

本文分析 node.js 库 netmask 的一个安全漏洞的由来。如果黑客输入0177.0.0.1,netmask 会认为这是一个公网地址,但实际上是内网地址。

7、什么是二分法搜索?(英文)

通过示例,详细讲解二分法搜索的入门教程。

8、如何创建 SVG 网格布局和动画(英文)

本文是一篇详细教程,一步步教大家怎么在 SVG 图形里面,创建网格布局,并且添加图像的动画效果。

152科技爱好者周刊(第 152 期):从北大到技校

1、2020年竣工的中国十大摩天楼(中文)

2020年全球有106座高度200米以上的建筑竣工,中国有56座,本文介绍其中最高的10座。上图是去年国内竣工的最高建筑,403米的广西南宁华润大厦。

2、OKR 考核替代 KPI 考核的问题(中文)

很多互联网公司开始采用 OKR 考核替代 KPI 考核。前者是注重目标和阶段性结果,后者是单纯的结果考核。这篇新闻分析讨论了这种替代产生的一些问题。

3、暗网取证研究(中文)

暗网(Dark Web)具有匿名性及不可追溯性,只能通过特定软件才能登录访问。本文讨论执法部门如何对暗网的取证。

4、Adobe 公司的 Super Resolution 功能(英文)

Adobe 公司新发布了一项革命性的图像功能:Super Resolution。它可以将图像的解析度放大4倍,同时不丢失细节。这篇文章是软件作者介绍该功能。

5、ts 命令的用法(英文)

Linux 命令行有一个 ts 命令,可以为输出加上时间戳。本文介绍它的各种用法。

6、浏览器的 HTTP Referrer 标头政策变化(英文)

Firefox 浏览器宣布跟随 Chrome 的做法,修改 HTTP Referrer 标头政策。修改后的做法是,从 HTTPS 跳转到 HTTP,不发送referer标头;从 HTTPS 跳到 HTTPS,只要有跨域,referer标头就只包含域名,不包含路径。

7、Makefile 可以取代 package.json 脚本(英文)

package.json 文件可以自定义 npm 脚本命令,比如npm test。这篇文章提出 Makefile 可以替代这些脚本命令,具有更好的可维护性和更强大的功能。

8、SSH 如何搭建简易 VPN?(英文)

本文介绍 SSH 如何搭建一个简单的 VPN 网络。

151科技爱好者周刊(第 151 期):NFT 是什么,听说能赚钱

1、为什么印度发展制造业这么难?(中文)

自从莫迪上台之后,印度一直想要发展制造业,以工业强国。本文详细分析,为什么印度的制造业发展不起来,无法复制中国的模式。

上图据说是,印度老师远程上课,但找不到手机架的解决方案。

2、百度如何错过深度学习之父(中文)

美国最近出版了一本新书《天才制造者》,透露了各大 IT 巨头开发人工智能的许多秘辛。

2012年,李彦宏曾经拍板出资1200万美元,聘请当时还没有出名的“深度学习之父”多伦多大学的辛顿教授担任首席科学家,辛顿教授也动心了,但是最后还是被谷歌挖走了。

3、谁看了日本人的 LINE 聊天记录(中文)

LINE 将一部分开发外包给中国软件公司,中国开发者得到授权后,可以访问日本 LINE 公司的服务器,查阅了一些日本用户的个人资料和留言等信息。这件事披露后,尽管是完全合法的访问数据,还是轰动了日本列岛,直接惊动了日本首相菅义伟。

4、我如何收购一家 SaaS 公司(英文)

作者是一个风险投资家,本文介绍他如何收购一个网络软件,可以从中了解风险投资的一些操作方法。

5、我如何用表情域名赚钱(英文)

作者偶然发现,某些国别域名允许注册表情符号 Emoji 的顶级域名,比如上图的笑脸域名。他就一口气注册了300个,开始利用它们赚钱。

6、关于线程的简要介绍(英文)

线程(thread)是编程的重要概念,本文用简单的语言介绍了什么是线程、它与进程的区别、线程的优缺点等等,写得很好。

7、一道有趣的物理题(英文)

这是美国一个大学的物理学考试题目:有没有可能在高压输电线路的下方,放置一大圈电线,利用线圈感应进行偷电?

8、放弃悬停菜单(英文)

悬停菜单是一种常见做法,鼠标悬停时显示子菜单。作者认为,如果有些菜单项没有子菜单,悬停会造成行为不统一,建议统一改为单击菜单。

150科技爱好者周刊(第 150 期):当音乐还是稀缺的时候

1、城市路线牌的设计(中文)

本文讨论了路线牌的设计问题。

2、沙发过弯问题(英文)

1966年,一个数学家提出一个问题,在一个直角走廊里面,能够通过的沙发最大可以有多大?

3、我是如何感染寄生虫的(中文)

作者详细记录了因为使用生鱼肉而感染寄生虫的过程,以及随后的检测和治疗,有大量照片。

4、浏览器是如何校验证书的?(中文)

本文介绍了浏览器怎么处理 HTTPS 的证书,它的校验机制是什么,内容较为通俗全面。(@cj1128 投稿)

5、使用 FFmpeg 将短视频转为 GIF 和 WebP 动画图片(英文)

在某些场合,动画图片的兼容性要好于视频。本文是一个教程,介绍如何使用 FFmpeg 将视频转成动画图片。

6、为什么 Java 后端程序员不愿意改用 Kotlin?(英文)

作者所在的团队从 Java 跳船到了 Kotlin。但是,大部分 Java 后端团队不愿意这样做,作者讨论了原因。

7、ECMAScript 2021 的新语法(英文)

今年6月份即将发布的 ECMAScript 2021 标准,本文介绍里面新增的语法点。

8、为什么应该使用 ISO 8601 日期格式(英文)

世界上有各种各样的日期格式,作者认为大家应该统一使用 ISO 8601 格式,即yyyy-mm-dd hh:mm:ss

149科技爱好者周刊(第 149 期):新能源汽车,谁会是赢家?

1、联发科如何超车高通?(中文)

2020年,联发科 5G 芯片的发货量世界第一,超过了高通。本文介绍这是怎么回事,以及两大巨头的 5G 布局。

2、中国的 RISC-V 计划和夜莺(中文)

一篇评论文章,介绍中国国产芯片的动态,同时有英文版和中文版。

3、无线充电为什么会限制功率?(中文)

工信部公开了《无线充电管理暂行规定(征求意见稿)》,里面提到手机的无线充电不能超过50w。本文讨论了无线充电的功率问题。

4、Len Sassaman 的故事(英文)

伦纳德·萨萨曼(Leonard Sassaman)是一个传奇程序员,在区块链的发明过程中发挥了重大作用,但是由于忧郁症在2011年自杀身亡。本文介绍了伦纳德的一生,以及他的贡献。

比特币发明人中本聪的最后一次留言,就发生在伦纳德自杀前的两个月,“我已经转移到其他事情上,将来可能不会出现。” 伦纳德是否有可能就是中本聪?

5、免费增值是产品启动的有效方式(英文)

本文以设计工具市场为例,研究了免费增值策略如何帮助小公司击败大公司,占领市场。早期,设计师都用付费的 Adobe 工具,后来免费软件 Canva、Sketch、Figma 相继出现,迅速成为市场的主流。

6、/dev/null介绍(英文)

/dev/null在 Linux 系统代表了一个空设备,它会丢弃写入的任何内容,返回一个 EOF 字符。本文介绍它的一些重要应用。

7、CSS Transition 详解(英文)

transition是 CSS 动画的重要组成,本文详细解释了这个属性的详细用法,并给出大量的演示实例。

8、如何使用 Nginx 改写图片请求(英文)

本文介绍一个小技巧,通过 Nginx 改写网页代码,将图片请求导向 CDN。

148科技爱好者周刊(第 148 期):微增长时代

1、在北极挖比特币(中文)

一家名为 BitCluster 的俄国公司,建立了世界上第一个位于北极圈内的比特币矿场。那里电费便宜,而且气温有助于散热。本文使用大量图片,介绍这个矿场的情况。

2、实体的元素周期表(中文)

淘宝有出售高纯度的金属元素立方体,一个台湾网友就买来做了实体的元素周期表。

3、esbuild 为什么这么快?(英文)

esbuild 是新一代的 JavaScript 打包工具,以速度快著称,耗时只有 Webpack 的2%~3%。本文是该软件的作者谈它为什么这么快。

4、常见的 Nginx 不安全配置(英文)

Nginx 是最常见的 Web 服务器,本文介绍四个常见的配置错误,会降低网站的安全性。

5、我作为独立开发者的第三年(英文)

作者辞职作为独立开发者,头两年的总收入不到1万美元,第三年的目标是2万美元。但是一天他偶然在网上发了一个帖子,讲述自己用树莓派做了一个服务器管理设备(上图),居然为他带来了6.3万美元的收入,而且还可以成立公司。

6、OpenJDK 是如何移植到64位 ARM 架构的?(英文)

这篇是回忆文章。2011年,ARM 公司准备推出64位的 CPU,用于服务器,应用软件需要跟上,但是当时 OpenJDK 只能在 x86 架构运行。作者在 RedHat 和 Oracle 公司的支持下,开始从事将 OpenJDK 移植到 AArch64 架构的工作,一开始非常困难,因为硬件还没生产出来,只能在虚拟机上模拟开发。

7、origin 与 site 的区别(英文)

浏览器有一个“同源政策”(same origin policy),Cookie 设置有一个“同站属性”(SameSite)。这篇文章介绍了 origin 和 site 的区别是什么。

8、使用服务器事件向前端发送日志(英文)

服务器事件(SSE)是服务器向前端发送消息的一种方法,本文介绍了它的概念,然后给出了一个实例,通过服务器事件向浏览器发送服务器日志。

9、什么是霍夫曼编码?(英文)

霍夫曼编码是经典的压缩算法,GZIP 就使用它。本文是我见过最简单的解释,可以在五分钟内理解这个算法的实现原理。

147科技爱好者周刊(第 147 期):寻找你愿意忍受的痛苦

1、人工心脏的由来和现状(中文)

很多严重的心脏病患者需要换心,但是心脏移植的来源非常稀少,人工心脏正是在这种背景下发展起来的。本文介绍了人工心脏的发展状况,有大量插图。

2、比汽车还小的飞机(中文)

Honda Jet 是日本本田公司生产的小飞机,也是二战后日本唯一的国产飞机,客舱长度5.43米,只能搭载四位乘客,比某些七座的公务车还要小巧。本文介绍这架飞机的历史。

3、华为的 ExaGear 与俄罗斯同名软件是什么关系?(中文)

华为的 ExaGear 是一个 ARM 计算机的应用程序,可以运行 x86 程序。俄罗斯有一个同名软件,华为从未说明两者有何关系。

4、npm 的设计缺陷(英文)

一个程序员利用 npm 的设计缺陷,成功进入了35个主要公司的内网系统,包括Microsoft、Apple、PayPal、Tesla、Uber 等。

5、反对 ORM 仇恨(英文)

ORM 的作用是将数据库关系(relation)映射成面向对象模型(object),很多人反对增加这种用法,认为不如直接使用 SQL 语句。作者提出,很多情况下使用 SQL 查询库,生成复杂的 SQL 语句,是有必要的。

6、我不想再做前端了(英文)

作者讲述了为什么对前端开发感到厌倦。

7、MacBook Pro M1X 基准测试泄漏(英文)

苹果第二款桌面 ARM 芯片 M1X 的信息,泄漏出来了。它会用于今年发布的16英寸 MacBook Pro。

8、为什么不应该使用 Cloudflare 的免费层?(英文)

Cloudflare 是一个 CDN 服务提供商,很多人使用它的免费层。作者发现,免费层有时会限制访问,而且不向站长提供任何反馈,让你在不知不觉之间就丢失了很多用户。

9、调查来自印度的9000万个请求(英文)

维基百科发现,每天有来自印度不同 ISP 的9000万个请求,都在读取一张花朵的照片,占到网站总流量的20%。这些请求都是真实的,不像是 DDoS 攻击,但是 HTTP 请求的头信息没有提供任何线索。

这是官方的调查过程,讲述如何从有限的信息里面,推测出到底这是怎么一回事。

146科技爱好者周刊(第 146 期):网课应该怎么上?

1、五大车载软件系统横评(中文)

本文评比了五款目前主要的车载软件系统的功能和体验,包括特斯拉、CarPlay、Android Auto 等。

2、《国家重点保护野生动物名录》调整(中文)

今年初,国家重点保护野生动物名单发布了新版,一共有988种动物,新增了517种,比原来的数量翻了一倍还多,野生的狼现在也是国家保护动物了。

3、影响因子最大的中国本土期刊(中文)

2020年6月,《细胞研究》(Cell Research)的影响因子达到了20.507,成为国内史上首本影响因子破20的原创学术期刊。本文介绍这本期刊。

4、数字时代的中国支付体系现代化(中文)

中国人民银行的原行长周小川的公开演讲,谈中国数字支付的发展方向,里面有相当多的技术内容。

5、华为的 HarmonyOS 是什么?(英文)

一个老外安装了 HarmonyOS 进行体验,为了得到源码,华为甚至要他提供护照照片。他研究以后,认为 HarmonyOS (上图)其实只是 Android 10 的一个分支。

6、Chrome 浏览器的二维码生成功能(英文)

新版本的 Chrome 88 浏览器,原生支持生成页面的二维码。桌面版是在右键菜单里面,手机版在分享菜单项里面。

7、为什么 Haskell 是我们的首选(英文)

作者使用 Haskell 作为主要的开发语言,本文解释了原因,读了才知道 Haskell 原来这么强。文章里面有一些代码的小例子,但是总体上以文字说明为主。

8、如何成为数据工程师(英文)

这篇文章总结了数据工程师的需要掌握的技能和工具。

9、关闭旧 API 的正确方法(英文)

如果 API 需要变更或关闭,并不是给用户发一个通知那么简单,本文教你应该怎么做。

10、如何制作一个简单的文字 Logo?(英文)

本文教你如何在没有设计师的情况下,利用网上的免费资源,自己动手花15分钟,制作一个简单的文字 Logo,比如上图。

145科技爱好者周刊(第 145 期):大家不出门,经济怎么办?

1、16点阵字体研究(中文)

很多电子显示牌使用 16 x 16 的点阵显示文字,本文以公交车辆的显示牌为例,研究不同中文字体的显示效果。

2、迅雷客户端的代码结构(中文)

迅雷客户端是一个 Electron 应用,前端文件都没有加密,作者研究了一下它的代码结构。

3、iOS 证书幕后原理(中文)

Apple 为了严格管理 App 的发布,制定了一套复杂的基于证书的校验机制,这对于开发者非常不友好。本文从技术面,图文并茂地介绍了 iOS 开发各种证书之间的关系及其背后的原理。(@baochuquan 投稿)

4、20年前参加高中信息学奥赛(NOIP)的经历(中文)

“高中生活已经过去20年了,对于我来说,其中最为宝贵的一段经历就是在高三的时候参加了信息学奥林匹克(也就是计算机算法编程)竞赛,并拿到了NOIP (National Olympiad Informatics in Province) 全国三等奖。”(@DoctorLai 投稿)

5、揭秘隔空充电技术(中文)

小米 11 支持隔空充电,本文介绍背后的技术原理。

6、新的 CSS 长宽比属性aspect-ratio(英文)

Chrome 88 浏览器支持新的 CSS 属性aspect-ratio,可以设置容器的长宽比。

7、我对软件开发的一些看法(英文)

作者总结在软件行业工作多年以后,哪些看法改变了,哪些看法没有改变。一共罗列出近30条观点,值得一看。

8、如何将树莓派 4 代当作台式机?(英文)

树莓派 4 代的配置相当强,已经可以当作台式机。作者介绍了他的安装步骤,以及 Raspbian 和 Ubuntu 两个操作系统的比较。

9、10个需要改掉的 Typescript 编码习惯(英文)

作者分享了10个编写Typescript的坏习惯,并简述了原因,以及改正的建议。(@naruco 投稿)

10、为什么 Go 是我最喜欢的编程语言?(英文)

一个程序员总结的 Go 语言的优点,文章没有展开,只是罗列了优点。

144科技爱好者周刊(第 144 期):提高收入的根本途径

1、中国的大坝(中文)

中国有10万座水坝,是世界水坝最多的国家。本文以大量的图片,介绍不同类型水坝的知识。

2、我开发付费 Chrome 插件的经历(中文)

作者介绍了在 Chrome 商店发布付费插件的过程,总收入有几百美元。(@timqian 投稿)

3、如何用 GitHub Actions 更新 WordPress 网站(中文)

本文介绍使用 GitHub Actions 将仓库里面的 Markdown 文章,远程发布到 WordPress 网站。(@zhaoolee 投稿)

4、二因素登陆 2FA 不能防止网络钓鱼(英文)

很多人有一种误解,只要开启了二因素登陆 2FA,就可以保证个人账户的安全。作者指出,2FA 只是保证其他人不能登录你的账户,但是防止不了网络钓鱼。

5、Tab 还是空格?(英文)

本文讨论了代码缩进使用 Tab 或空格的利弊,说得很有道理,并提供了推荐的缩进方式。

6、使用 GNU Stow 管理配置文件(英文)

Linux 系统有很多配置文件,比如.bashrc.vimrc等等,一个很方便的管理方法,就是把它们放到一个 Git 仓库,然后使用 Stow 这个工具产生软链接。

7、2021年 favicon 的设置(英文)

网站的 favicon 应该怎么设置?这篇文章给出了最新的建议。

8、Gmail 搜索语法(英文)

本文通过一个例子,讲解 Gmail 的搜索语法。

9、我怎样建立没有一家全职员工的公司(英文)

作者讲述自己创立 Gumroad 这家公司,年收入达到1100万美元,但是没有一个全职员工,连作者自己都不是全职投入。这可以算是创业的理想境界。

10、视频编码器的专利费(英文)

H.264 视频编码器需要交纳专利费,这篇文章介绍了这方面的情况。为了保证可以自由地对视频进行编码,Mozilla 一直在推动 AV1 这样的开源编码器。

143科技爱好者周刊(第 143 期):世界尽头与冷酷仙境

1、快递包装垃圾怎么办?(中文)

2020年,中国的快递达到830亿件,相当于14亿中国人每人每个月收5件快递。海量的快递包装垃圾如何处理?目前主要靠填埋,但是越来越难以为继了。

2、大连车务段的 Flash 危机(中文)

2021年1月,Adobe 不再支持 Flash,Windows 系统在指定时间禁止了 它的运行。沈阳铁路局大连车务段的某个系统依赖 Flash,当天突然就无法使用了。IT 人员只好连夜向各个车站,送去安装了降级 Flash 版本的新 Windows 主机,暂时解决问题。从这篇文章可以了解基层单位的 IT 现状。

3、如何看待 QQ 扫描读取所有浏览器的历史记录?(中文)

一个知乎的讨论帖。网友发现,桌面版的 QQ 会在启动10分钟后,读取本机所有浏览器的浏览记录,进行 URL 分析。一个聊天软件为什么要知道浏览记录呢?

4、消失的夏威夷海滩(英文)

本文根据实地调查提出,夏威夷由于修建海堤,导致海滩消失。制作非常精美生动,值得借鉴,堪称多媒体内容的范本。

5、2020年排名前10 的 Python库(英文)

本文介绍目前最流行的10个 Python 库。

6、如何释放 MacBook 的磁盘空间(英文)

MacBook 用作开发笔记本时,长期下来,大量空间会被占用。本文介绍几个清理空间的方法。

7、AMD Ryzen 9 5950X CPU 测评(英文)

国外媒体评测了 AMD 公司最新的 Zen 3 架构的高端 CPU,结论就是英特尔公司有大麻烦了,现在不仅性价比不如 AMD,连高端 CPU 的性能都输了。

8、浏览器插件推荐(英文)

本文推荐了21个浏览器插件,可以提高使用效率,而且同时支持 Chrome 和 Firefox。

142科技爱好者周刊(第 142 期):2020年才是21世纪元年

1、300名科学家为什么要在北极待上一年?(中文)

2019年9月,德国的科考破冰船“极星号”深入到北纬85°的海冰深处,然后关机抛锚,在北冰洋随着浮冰漂流一年,了解冬季的北极中心地带的状态。总共有17个不同国家的600名专家参与了这个项目,其中常驻人员有300人,其中也包括中国科学家。

2、一个老程序员的自述(中文)

作者1977年生于湖南,作为软件系统工程师,赶上了中国互联网崛起的浪潮。本文是他回顾自己程序员生涯的自述。

“在上海工作十八年,我每天拼命学技术、开研讨会、最多一年出差飞行近百次。这些努力让我收获了世界五百强公司技术专家的名头、上海内环的房子、几十万的年薪,但也累出了一身病,长期日夜颠倒,神经紧绷。”

3、Starlink 卫星上网开箱实测(中文)

一个国外用户的 Starlink 卫星宽带上网开箱实测。

4、Excalidraw 的一年(英文)

Excalidraw 是手绘风格的一个在线作图工具,2020年1月发布。本文讲述这个项目一年来的惊人发展。

5、如何不使用插件在网页嵌入 Flash SWF 文件(英文)

Adobe 和 Windows 都已经正式停止支持 Flash。本文介绍在没有插件支持的情况下,如何在网页运行 Flash 的三种方法。

6、兆芯开先 x86 CPU 测试(英文)

上海兆芯集成电路有限公司购买了台湾威盛电子(VIA)的 x86 指令集的授权,可以生产 x86 芯片。国外媒体测试了他们生产的 KX-6000 芯片,结论是总体上落后于英特尔的第七代 i5 芯片,但是如果价格比较便宜,依然可以在中国国内占据一定的市场。

7、一年活动的数据可视化(英文)

作者以15分钟为单位,记录了过去一年中每一天的时间安排。年底的时候,汇总统计了这一年的时间都用在哪里了。上图中,深灰色方块表示睡眠,深蓝色表示工作,粉红色表示浏览社交媒体。

8、URL 短链接服务设置 Cookie(英文)

作者发现很多流行的 URL 短链接服务,比如 TinyURL、t.co、bit.ly 都在用户的计算机上设置 Cookie,用来广告追踪。

9、使用 Cloudflare Worker 提供短链接服务(英文)

Cloudflare Worker 是一个 Serverless 服务,可以使用很简单的代码,通过它自制一个简单的短链接服务。

10、简陋的广告,不一定效果不好(英文)

广告不一定要设计得非常精美,简单粗糙的广告也可能有不错的效果。作者同时在 LinkedIn 投放了上面两个广告,结果发现右边广告的转化率更高。

141科技爱好者周刊(第 141 期):封闭系统的胜利

1、珠峰新高度测量回顾(中文)

2020年5月27日,中国登山队成功登顶珠穆朗玛峰,完成测量任务。本文用多图回顾了登顶测量过程。

2、根据阳光和阴影推测拍摄信息(中文)

作者介绍 SunCalc 这个软件,可以根据某个地点的阴影,推测拍摄时间,或者在已知拍摄时间的情况下,推测阳光在拍摄者的哪一个方向,进而缩小地点范围。

3、中国 5G 网络的频率分配(中文)

这篇文章介绍国内无线电频谱调整的现状,一部分 4G 频率重新分配给5G,同时腾退了一些 2G 和 3G 的频率。

4、流浪动物的生态威胁(中文)

每年都有很多宠物变成流浪动物,其中一部分进入野外,对其他野生动物形成威胁。作者进行了调查,发现一只城市的流浪猫大概每年杀死5只小型兽类(比如老鼠)、1.33只鸟类、1.67只爬行动物(比如蜥蜴)、1.48只两栖动物、1.38条鱼、还有2.16只无脊椎动物。

5、有限状态机与正则表达式(英文)

有限状态机和正则表达式是等效的,作者举了一个两者转换的形象的例子。

6、谷歌表格制作数字时钟(英文)

作者介绍如何使用函数,在谷歌表格里面制作一个自动计时的数字时钟。

7、编程需要多少数学?(英文)

这是一个程序员学习数学的体会。结论很简单:你不需要懂数学就可以成为一流的程序员,但是通过学习数学,可以了解更多解决问题的方法。

8、移动优先为什么是一个坏主意?(英文)

很多人提倡,网站的样式应该“移动优先”(mobile first)。作者认为,这种想法不正确,应该优先设计桌面端的样式,然后再考虑移动端。

9、三个编程部落(英文)

一篇探讨编程哲学的文章。作者认为,有三种不同的对待编程的观点,一种认为代码是艺术,一种认为代码是为硬件服务的,一种认为代码是为了创造新东西。

10、如何通过 CloudFlare Worker 搭建负载均衡服务器(中文)

Cloudflare Worker 是一种 Serverless 服务,本文给出示例,用它实现负载均衡器,每月可以免费10万次请求。(@DoctorLai 投稿)

140科技爱好者周刊(第 140 期):印度人的工资是多少?

1、9天搭建一座云冈石窟(中文)

山西云冈石窟研究院用9天时间,在上海宝龙美术馆搭建了一个 3D 打印的云岗石窟。

2、高铁货运能成功吗?(中文)

迄今为止,中国的高铁只用于客运。最近,中车公司隆重发布了世界首列时速350公里高速货运动车组,专门用于货运,“相当于30架737全货机的运载能力,1500公里优势距离5小时内即可到达”。

3、中国巨型摩天高楼时代似乎已经过去了(英文)

世界最高的100座建筑物,44座在中国。但是,国外媒体报道,中国住房和城乡建设部最近禁止建造超过500米的高层建筑,同时要求严控建造250米以上的建筑物。大家终于意识到了,摩天大楼并不宜居,不仅成本高,而且带来很大的环境压力。

4、浏览器的虚拟机检测(英文)

这篇文章介绍了四个方法,可以使用网页脚本判断,当前浏览器是否运行在虚拟机里面。

5、如何只使用 EMCAScript 模块开发(英文)

本文演示如何在 Node.js 环境里面,写 EMCAScript 模块代码,并运行单元测试,然后不用构建,直接在浏览器运行代码。

6、5G 无线电波会损害健康吗?(英文)

5G 引入了毫米波,比 4G 频率高10倍多,理论上会携带更多的能量。本文讨论它对人体会不会有影响。

7、ARM 芯片是如何诞生的(英文)

本文介绍了英国 ARM 公司的由来,以及他们设计的芯片。对于了解 x86 和 ARM 两种 CPU 架构的早期历史和区别,很有帮助。

8、我的软件工程公理(英文)

作者总结了他心目中软件工程的25条公理。我觉得总结得挺好,比如“产品是资产,代码是负债”、“好的代码是易于删除的代码”、“坚持小团队,小心地对待团队成长”等等。

9、JavaScript 的 toJSON() 函数是什么?(英文)

JavaScript 语言中,一个对象只要部署了toJSON()方法,就可以被转成 JSON 字符串。很多库都使用了这个方法,比如 Express 框架的res.json()就是这样实现的。

10、浏览器的异步 Cookie Store API(英文)

以前,我们只能用document.cookie来操作 Cookie,Chrome 87 引入了一个新的 Cookie Store API。

139科技爱好者周刊(第 139 期):生物学的可怕进展

1、颗粒积木的妙用(中文)

作者介绍自己使用颗粒积木搭出了手机支架、笔筒等等。

2、《自然》评选 2020 年度十大科学发现(中文)

Nature 杂志评出的2020年度10大科学发现,包括压力使得头发变白的机制、首次观察到宇宙中的快速无线电爆发、大气层的臭氧空洞有修复迹象等等。

3、2020年设计师工具调查报告(英文)

UXtools 对设计师的年度调查,各种工具的使用情况,上图是使用最多的 UI 设计软件,前五名依次是 Figma、Sketch、Adobe XD、Illustrator、Photoshop。

4、如何找出 CDN 背后的主机真实 IP 地址(英文)

网站启用了 CDN 以后,外部用户就看不到源站的真实 IP 地址了。本文介绍了一个小技巧,某些情况下可能有用。

5、链接的 noopener,noreferrer 和 nofollow 设置(英文)

为了安全性,网页链接最好设置rel="noopener noreferrer nofollow",本文介绍这三个值的作用。

6、开源软件商业模式的死亡(英文)

开源软件常见的商业模式是“软件开源 + 服务收费”,但是云服务商正在杀死这种模式。

如果你免费提供软件,并且这种软件足够受欢迎,云服务商将不可避免地使用你的代码提供竞争性服务。他们会毫不留情地用自己的方法痛击你,在你的前院倾倒垃圾。而你的律师则站在你耳边低语,“什么也做不了。”

7、<details>标签的一个作用(英文)

作者提出,可以使用<details>标签在网页里面添加脚注(上图)。

8、完善的 Bash 脚本的最简单形式(英文)

本文通过一个模板,介绍 Bash 脚本的基本知识,如何写出安全的、基本功能完善的脚本。

9、如何使用 GitHub Actions 发布到 GitHub Pages(英文)

一个简单的教程,教你通过 GitHub Actions 构建一个静态博客,自动发布到 GitHub Pages。

10、Navigator 对象的实验性属性(英文)

本文介绍浏览器的 Navigator 对象的几个实验性属性,比如获取本机的内存、CPU 核心和网络连接类型。

138科技爱好者周刊(第 138 期):失业难以避免,重构人生规划

1、我造了一个海上居住平台(中文)

屋主在福建东山岛的海面上建造一栋海上房屋,今年作为酒店开放了。它距离海岸直线距离400米,水电都是通过管道从岸上供应的,总造价400万人民币。

2、25号宇宙试验(中文)

1968年,一位美国教授做了一个实验。他让8只老鼠生活在一个没有天敌、有足够粮食和空间,可以自由繁殖的环境,看看会发生什么。

根据计算,只有当老鼠数量超过3840只时,生活空间才会出现短缺;6144只老鼠时,水源会不足;9500只老鼠时,粮食会不足。但是实际上,老鼠达到2200只以后,数量就开始下降,最终在1780天后灭亡了。

3、《自然》杂志:2020年十佳科学照片(英文)

《自然》杂志评选出的2020年十佳科学照片。上图是沙特阿拉伯的科学家发明的太阳能电池,又轻又薄,可以放在肥皂泡上。

4、2020美国程序员薪资报告(英文)

levels.fyi 又公布了一年一度的美国程序员薪资报告,有很多数据,感兴趣的朋友可以看看。上图是初级工程师/程序员薪资最高的公司,真是很高的报酬。

5、剖析最简单的 C 语言 Hello World(中文)

作者讲解一个最简单 C 语言 Hello World 程序,底层到底发生了什么。这个程序 gcc 编译后是 16KB,作者设法把它简化到170字节。(@cj1128 投稿)

6、保护你的 .env 文件(英文)

互联网黑客行为非常猖獗。作者上线了一个小网站,10个小时内就收到了许多可疑请求,其中就有人在尝试读取环境变量 .env 文件。

7、如何优雅地从总统竞选中套利?(中文)

周刊136期英语文章《赔率是怎么回事? 》的中文解读,利用两个不同网站对美国总统大选的赔率差异,进行套利。(@morefreeze 投稿)

8、使用 GitHub Issues 的数据生成静态网站(英文)

作者介绍如何将 GitHub Issues 用做编辑器和数据储存,通过 GitHub Actions 和 Netlify 生成一个静态网站。

9、如何自动生成社交媒体的网页题图(英文)

很多社交媒体会对网址生成预览卡,作者讲述如何定制这种预览效果,并且为每个网址自动生成一张题图。

10、我与 Python(英文)

这是 Python 语言创始人 Guido van Rossum 2016年的一次演讲,讲述自己的经历,以及如何创造出 Python 这种语言。

“我是一个书呆子,一个怪人,很可能患有自闭症。我成熟得很晚,26岁大学毕业,45岁结婚,60岁时有一个14岁的儿子。35岁时,我创建了一种程序设计语言,因此受到了一些关注。”

137科技爱好者周刊(第 137 期):Slack 被收购,以及企业的技术选型

1、中国机床业路在何方?(中文)

2012年,沈阳机床的销售量世界第一,但是如今已经破产。18家中国大型机床国企几乎全军覆没,中国高档数控机床90%以上靠进口。作为全球机床第一大生产国、第一大消费国,中国机床业,怎么落到这般田地?

2、云游戏的现状(英文)

云游戏指的是游戏安装和运行都在云端,用户通过网络在本地玩。本文测评了美国目前的各种云游戏服务,包括 Google Stadia、Amazon Luna、Geforce Now、PlayStation Now 等。

3、2020年中国的获奖建筑(中文)

本文介绍上海当代艺术博物馆最近颁发的“中国建筑奖”的获奖建筑,上图是山西省晋城市浙水村的自然书屋。

4、神经网络的6种基本结构(英文)

本文介绍学习神经网络必须要了解的6种基本结构,上图就是最简单的感知器(Perceptron)。

5、Dweb 协议栈(英文)

Dweb 指的是分布式互联网,不再存在中央服务器,本文介绍它涉及的各种协议。

6、React 防止 XSS 攻击的注意点(英文)

XSS 指的是代码注入,这是一种常见的攻击。React 框架本身带有防 XSS 的机制,但是开发时还是有一些地方需要注意。

7、我面试谷歌伦敦 SRE 的经验和教训(中文)

作者5年前接到过谷歌的面试邀请,当时问了一道队列+哈希表的题,可惜当时水平太差连第一面45分钟的 coding 都没过。再后来这几年一直投, 甚至去年找朋友内推都没法过简历关。(@DoctorLai 投稿)

8、CSS 的竖行横书组合(中文)

CSS 可以做到中文竖排,并且内部数字是横排的效果(上图)。(@232650413 投稿)

9、如何没有 Cookie 使用 Google Analytics?(英文)

Google Analytics 是世界最大的网站访问统计服务,它最近允许不使用 Cookie,但是这样就无法区分用户了,只能单纯统计浏览量。本文介绍如何在没有 Cookie 的情况下,依然能够区分用户,也就是生成一个简单的用户指纹。

10、20个有争议的编程观点(英文)

本文总结了 StackOverflow 上面20个最有争议的编程观点,比如“对于优秀的软件设计,使用设计模式弊大于利”。

136科技爱好者周刊(第 136 期):利特伍德奇迹定律

1、民航客机为什么很少飞越喜马拉雅山?(中文)

喜马拉雅山脉上方,基本没有航线经过,飞机为什么不打那儿飞,节约飞行时间呢?虽然山脉较高,但民航飞机不是可以在10000米左右的高空巡航么?

2、宝特瓶如何被回收利用(中文)

饮料的宝特瓶(PET)可以回收利用,这已经成为一个3000亿元的产业。本文介绍国内宝特瓶回收行业的流程。

3、赔率是怎么回事?(英文)

新闻媒体经常报道各种赔率,这到底有什么含义?本文用美国这次总统选举来解释赔率,并用例子讲解如何在不同网站之间套利。

4、Windows Linux 子系统 1 和 2 的区别(英文)

Windows Linux 子系统(简称 WSL)使得 Windows 可以运行 Linux 程序,但是它有两个版本,并且同时都在开发,它们有什么区别?

简单说,WSL 1 是内核子系统,WSL 2 是 Linux 虚拟机。

5、Let's Encrypt 的免费替代品(英文)

Let's Encrypt 是主流的免费 SSL 证书生成工具,市场上还有一些其他工具也能生成免费证书,本文介绍 ZeroSSL。

6、Ansible 入门(英文)

Ansible 是自动化配置管理工具,本文介绍它的用法。

7、Chrome 浏览器的 CSS 概览面板(英文)

Chrome 浏览器引入了一项试验性功能,在开发者工具里面提供 CSS 样式表的概况统计。

8、我放弃 Serverless,改用 Ruby on Rails(英文)

作者原先使用 Serverless,感到有许多不满意的地方,就写了这篇文章解释为什么他要转到传统的 Ruby on Rails。

9、Git 的空树(英文)

任何一个 Git 仓库,都包含一个相同的对象(哈希为4b82...4904),指向一个空树(empty tree),这是为什么?

10、如何构造一个引用自己的推文(英文)

作者介绍如何猜中推文的 ID,从而通过推特 API,构造出一条引用自己的推文。

135科技爱好者周刊(第 135 期):什么行业适合创业?

1、我开发 SaaS 的工具和服务(英文)

作者列出了自己开发 SaaS 服务用到的各种工具和服务,包括前端工具和后端工具。

2、开源项目维护者的九个阶段(英文)

一个成功的开源项目,它的维护者可能需要经历九个阶段,第一个阶段是发明家,最后一个阶段是光荣退休。

3、学校芯片工艺实验室参观记(中文)

一个大一新生参观学院芯片工艺实验室的记录。

4、北京四合院改造成幼儿园(中文)

北京 MAD 建筑事务所将一个四合院,改建成了可容纳390位儿童的幼儿园。

5、如何写出容易维护的 Makefile(英文)

本文通过一个简单的例子,介绍 Makefile 的基本知识和最佳实践。

6、Java 8 之后的语法增强(英文)

本文介绍了从 Java 9 到 Java 15 的主要新增语法。

7、如何在安卓手机检查屏幕截图?(英文)

有些安卓 App 不允许用户截图,实现方法很简单,就是检查 Screenshots 文件夹是否添加了新图像。

8、如何用 Podman 替代 Docker(英文)

Podman 是 RedHat 公司开发的容器引擎,用来替代 Docker。本文是一篇简单的上手指南。

9、用 JS 写一个 JS 解释器(中文)

本文解释了 JS 解释器如何将源代码转换成 AST(抽象语法树),并给出了一个简单的、便于理解的解释器实现。(@webfansplz 投稿)

134科技爱好者周刊(第 134 期):未来的游戏业比现在大100倍

1、C 语言的字符串连接解释(英文)

这篇文章解释了 C 语言的一个基础知识:两个字符串连接在一起,背后是怎么实现的?

2、为什么手机热点的范围比路由器短?(英文)

StackOverflow 的问答,算是一个小知识吧。手机热点的范围(10米)要比路由器(30米以上)小得多。这主要因为 Wifi 是双向通信,而手机天线太小,能收到的信号范围有限。

3、Rust 与 Go 的比较(英文)

一篇比较 Rust 和 Go 各自特点的长文,站在学习者的角度,介绍它们如何用不同的方式处理计算机问题,不涉及具体的语法。(@douchuan 投稿)

4、傅立叶变换的交互式介绍(英文)

通过一系列动画,解释什么是傅立叶变换。

5、如何使用工具写出可维护的 Node.js 代码?(英文)

本文介绍使用各种工具(TypeScript、Prettier、Sentry、Prometheus等),提高 Node.js 代码的可维护性。

6、华为、5G 和征服噪音的科学家(英文)

华为 5G 的核心技术来自土耳其科学家 Erdal Arikan 的发现,本文是美国《连线》杂志对 Erdal Arikan 的访问记,介绍了背后的情况。文章比较长,但值得一读。

7、广电砸下百亿的CMMB手持电视(中文)

2006年10月,广电总局决定推广移动多媒体广播格式 CMMB,可以在手机上看电视。这是一个中国独有的标准,词首的 C 代表 China。前后一共投入超过100多亿,现在已经被淘汰了。作者在十多年后重新体验了一下 CMMB 设备看电视的感受。

133科技爱好者周刊(第 133 期):贵州变瑞士,有没有可能?

1、国产运动鞋的鞋底暗战(中文)

一双运动鞋外在看不到的部分——中底,往往决定了这双鞋的品质。所谓中底,通俗讲是鞋垫和大底中间的部分,其作用是吸收运动中产生的冲击力,提供稳定性,好的中底往往会提供出色的回弹和减震效果。

2、Photoshop 的 AI 滤镜(中文)

Photoshop 22.0 版推出了一个新的滤镜包——Neural Filters,实现了很多 AI 论文的研究成果,包括老照片上色、换表情、修改年龄、提升画质、普通图像一键变梵高风格等。

3、100美元的 iPhone X(英文)

2018年的文章。一个美国记者在深圳买到100美元的 iPhone X,实际是一台装了 iPhone 皮肤的低端安卓机,但真的很像苹果手机,尤其是有 Lightning 充电口。经过拆解,除了一些可以想到的问题(比如预装了恶意软件),作者对它的评价不完全是负面,而是 interesting(有趣)。

4、北上广深无人出租车体验报告(中文)

作者在今年8月到10月份分别体验了北上广深四个一线城市的无人出租车服务,总计乘坐超过11次,并与背后运营公司文远知行、小马智行、AutoX等玩家的高管进行了深入交流。

5、苹果公司的 M1 芯片(英文)

本周,苹果公司首次发布搭载 ARM 架构 CPU 的 Mac 电脑。本文是著名评论家 John Gruber 对这块 M1 芯片的评论,写得很不错,可以了解苹果公司对桌面电脑向 ARM 架构转移的安排。

6、浏览器的人脸检测能力(英文)

Chrome 浏览器已经支持 Shape Detection API,直接调用这个 API,不用加载任何外部库,就可以通过浏览器识别人脸和二维码。

7、从头写一个 Deno 的 BitTorrent 下载器(中文)

介绍 BT 下载的实现细节,有 JavaScript 代码的下载客户端示例。(@ cj1128 投稿)

8、对象的方法可以理解为发消息(英文)

StackOverflow 的问答。面向对象编程(OOP)的一种理解,将对象的方法视为向对象发消息,我觉得很有启发。比如,car1.stop()可以理解成向对象car1发送消息stop

9、Pandoc 电子书生成教程(英文)

Pandoc 是一个文档格式转换工具,本文介绍如何使用它将 Markdown 文档转成 Epub 和 PDF 电子书。

10、Git 的作者(Auhtor)与提交者(Commmitter)的差异(中文)

一个 Git 的小细节。Git 提交的元信息里面,有“作者”(author)字段和“提交者”(committer)两个字段,它们有什么区别?

132科技爱好者周刊(第 132 期):快能力和慢能力

1、使用 Scriptable App 开发 iPhone 小组件(中文)

iOS 14 升级了小组件功能,有一个 Scriptable App 可以使用 JavaScript语言为 iPhone 创建各种小组件。(@dreamapplehappy 投稿)

2、公司用 Java 重写 Ruby on Rails 应用的感想(中文)

原代码库目测大约 5-6 个 Ruby 程序员的 code base,打算使用 Java 改写。阿里的“大中台,小前台”概念火了以后,于是分成前台团队做业务,中台团队提供 crud,再来个前端团队,约 80 人。

3、我怎么做鸡排外卖(中文)

知乎的一个长帖,作者讲述自己怎么将鸡排外卖做成全国连锁,可以了解外卖商家是怎么运作的。

4、蚂蚁上市的游戏规则变了(中文)

这篇不是科技类文章,但是我觉得,它说出了蚂蚁暂缓上市的根本原因:网络小额贷款的监管规则突然变了。

5、gRPC API 是什么?(英文)

gRPC 是远程调用计算机服务的一种方式,所有数据以二进制传送,所以效率极高。

6、奇妙的 1/89 (英文)

这篇文章介绍 1/89 这个分数(.01123595505...)与斐波那契数列的奇妙关系。

7、如何在 Markdown 文档显示 diff 效果(英文)

很多人不知道的一个小技巧,Markdown 表示 diff 效果的语法(上图)。

8、C 代码里面的网址(英文)

C 代码里面加一行,直接写一个网址,并不会报错,代码还是能够运行。这篇文章解释了为什么。

9、三个可以替代 npm 的软件(英文)

npm 是 Node.js 的包管理工具,存在一些令人诟病的地方,主要是 node_modules 目录太庞大。本文介绍三个可以替代 npm 的工具软件。

131科技爱好者周刊(第 131 期):你的头脑是二值逻辑,还是三值逻辑?

1、为什么高铁手机上网速度很快?(中文)

现在高铁列车越来越快,途经的隧道越来越多,手机的 4G、5G 信号却还是满格。那么这是怎么做到的呢?

2、Python 的 eval() 函数很危险(英文)

本文解释为什么 Python 语言的 eval()函数是一个危险的操作,不能用于不信任的数据。

3、React Ref 详解(英文)

一篇写得很好的 React 教程,解释了useRef()钩子和ref属性的用法。

4、向上捅破天,向下扎到根(中文)

任正非9月14-18日访问北京大学、清华大学、中国科学院的最新讲话,讲得很好,有战略高度。

4、图片加载失败后CSS样式处理最佳实践(中文)

网页图片如果没有下载成功,怎样将错误信息显示在网页效果最好?

5、为什么 Lisp 语法非常合理?(英文)

作者为了解释 Lisp 语法的有效性,举了一个例子,使用 JavaScript 语言进行远程函数调用,结果最合理高效的方式就是让数据采用 Lisp 的语法。这篇文章有点深度,但是值得一读。

6、生产环境使用 ES 模块的感受(英文)

作者在网页上直接使用 ES 模块,不经过任何打包工具,谈了自己的使用感受。最大的好处就是,用户运行的代码跟原始代码是一致的,省去了编译步骤,使得调试非常容易。

7、如何用 JavaScript 抓取并解析网页(英文)

本文演示了使用 JavaScript 抓取网页、并提取数据的整个过程。

8、信息安全职业生涯规划(中文)

作者从事信息安全将近 20 年,经常被问到“我要怎么做才能入门信息安全领域?”。这篇万字长文就是他对这个问题的回答,涉及方方面面。(@StrokMitream 投稿)

130科技爱好者周刊(第 130 期):低龄化的互联网

1、Service Worker 模拟单页应用 SPA(英文)

单页应用(SPA)现在很流行,好处是可以快速响应用户操作,节省流量,坏处是大大提高了页面的复杂性。本文介绍一种思路,使用 Service Worker 拦截用户请求,通过fetch()请求后端网页,再更新前端应用,从而使用户有 SPA 的体验,同时又降低了复杂性。

2、去抖和节流的示例解释(英文)

去抖(debounce)和节流(throttle)是网页脚本经常用到的方法,本文通过示例解释它们的差异,不涉及实现。举例来说,用户下拉到网页底部,触发无限加载,就不应该使用debounce(),而要使用throttle()

3、Dockerfile 安全最佳实践(英文)

本文介绍编写 Dockerfile 文件时,有哪些安全注意点。

4、TiDB 的架构演进哲学(中文)

PingCAP CEO 的分享,介绍他们怎么设计 TiDB 这个数据库产品。(@yanqi321 投稿)

5、分屏器能用于线上考试作弊吗?(中文)

线上考试时,学校使用摄像头进行云监考,有人就想到使用分屏器作弊。(@Gorvey 投稿)

6、人类探索金星的历史(中文)

《纽约时报中文版》的文章,回顾了人类飞行器探索金星的历史。金星表面的大气压是地球的96倍,因此很难登陆,飞船可能会被瞬间压扁。上图是1982年苏联金星14号着陆器拍摄的金星表面照片。

7、我们不小心删除了生产数据库(英文)

作者一不小心将开发环境的 SQL 语句用于生产环境,导致自己公司的生产数据库被删除。

8、哪些编程语言最省电?(英文)

一个葡萄牙团队比较了27种编程语言的耗电情况。

9、Svelte 和 React 的比较(英文)

作者对 Svelte 和 React 这两个前端框架都非常喜欢,谈了它们不同的特点和适用场景。

10、熔岩灯如何帮助加密?(中文)

Cloudflare 介绍如何通过公司墙上 100 盏熔岩灯的形状,创建随机密钥。(@hite 投稿)

129科技爱好者周刊(第 129 期):创业的凸函数和凹函数

1、如何使用 CSS Grid 设置文章排版(英文)

本文介绍如何使用几行简单的 CSS 代码,就能实现文章的排版布局(上图)。另外,传统的 CSS 写法可以参考这篇文章

2、Vimium 插件的使用方法(英文)

Vimium 是 Chrome 浏览器的一个插件,可以只用键盘来操作网页,本文是它的教程。

3、Unity 游戏开发的基本概念(英文)

Unity 是世界最流行的游戏开发软件之一,本文是它的初学者教程,介绍一些游戏开发的最基本概念,不涉及代码。

4、使用 CSS :: marker 自定义列表符号(英文)

Chrome 86 开始支持使用:marker伪类自定义<ol><ul>的列表符号。

5、忘记业余项目,专注于工作(英文)

很多年轻程序员喜欢在工作之余,做一些自己的业余项目。作者建议,不要漫无目的做业余项目,尤其不要喜欢什么就做什么,而要做那些跟你的工作有直接关系的业余项目。

6、Chrome 浏览器改变缓存机制(英文)

用户访问网页以后,浏览器会缓存静态资源。用户再次访问时,就会加快显示速度。但是,这种机制可以用来追踪用户,脚本通过识别缓存,了解用户访问过哪个网站。

Chrome 86 启用了新的缓存防追踪机制,具体来说,就是为缓存加上数字密钥,使得第三方脚本无法加载缓存,也就是说,禁止使用其他网站留下的缓存。

7、JavaScript 代码库的共享 CDN 不是一个好主意(英文)

有一些 CDN 专供 JS 脚本使用,本文认为脚本共享类的 CDN 并不可取。最有说服力的一条理由大概是,由于 Chrome 86 开始禁止使用其他网站留下的缓存,这类 CDN 的最大好处就消失了:不同网站的脚本使用同一个 CDN,并不会令加载变快。

8、如何实现最简单的 Office 套件(英文)

作者利用 Web 技术,在浏览器实现最简单的富文本编辑器、电子表格和幻灯片演示。

9、如何写一个最简单的 React 实现(英文)

作者讲解如何自己实现一个最简单的 React,支持 JSX 语法和一些基本 API,压缩后代码不超过 1KB。本文可以用来了解 React 原理。

10、GitHub 的中国乱象(中文)

很多中国程序员正在滥用 GitHub,比如有人买 Star 登上 GitHub Trends 排行榜。

128科技爱好者周刊(第 128 期):这个社会是否正在变成“赛博朋克”?

1、印度如何审查互联网(英文)

一篇英语论文,研究印度政府如何对互联网进行审查。根据该文,一共有4379个网站在印度被限制访问。

2、美国从来没有放弃制造业(中文)

国家发改委前司长的演讲,谈怎么看待制造业。

“去年美国服务业的比重是81%,但是美国经济全部总量里有一半是为制造业服务的。加上制造业本身,就超过了60%。所以说,美国其实是一个制造业大国。美国从来也没有放弃制造业,直到今天。”

3、如何只对某些提交执行 GitHub Actions(英文)

一个 GitHub Actions 的小技巧,根据 commit message,自动过滤某些提交,跳过持续构建。

4、Next.js 初学者路由指南(英文)

Next.js 是一个基于 React 的框架,将 React 全家桶封装在一起,并加上了服务端。本文介绍它的路由系统的用法,还是相当简单的。

5、改变世界的一次代码提交(中文)

Linus 在假期十天时间完成了 Git 的首个版本,第一次提交仅有 848 行代码实现了 Git 的核心功能,本文通过分析这第一个 Git 提交来分析 Git 的设计及产品实现。(@hutusi 投稿)

6、大 O 和小 n(英文)

作者讨论了表示算法效率的大 O 表示法的含义,提出对于一般的应用,提高算法效率并不太重要,因为你的 n 根本不够大。

7、班公湖科考(中文)

近期,在中印实际控制线附近-班公湖地区的中印两军对峙,引起了全球关注。而就在这一对峙区附近,第二次青藏科考队的队员们正有条不紊地进行班公湖科学考察研究。

8、只用 CSS 的 clamp() 函数的响应式布局(英文)

CSS 的 clamp() 函数已经可以用了,最新浏览器都支持了,只用这个函数就能实现响应式布局。如果元素的属性值有上限和下限,它比 min() 和 max() 都方便,语法是 clamp(最小值, 属性值, 最大值)

127科技爱好者周刊(第 127 期):未来人人开发软件,几乎没人编码

1、如何提高 Node.js 的 libuv 性能(英文)

Node.js 的底层 JS 引擎是 v8,异步库 是 libuv。本文介绍一个小技巧,通过设置UV_THREADPOOL_SIZE参数,提高 libuv 性能。

2、俄罗斯的图-160用25小时飞了2万公里,这是不是一项假纪录?(中文)

2020年9月19日,俄罗斯的两架Tu-160战略轰炸机进行了一次携弹训练飞行:历时25小时,飞行超过2万公里。俄罗斯航空航天部队远程航空兵指挥官谢尔盖·科比拉什中将说:这次飞行打破了此类飞机“最远航程”和“不间断飞行”的世界纪录。果真如此吗?

3、前端开发的 VS Code 插件推荐(英文)

作者推荐他每天使用的 VS Code 插件,专门用于前端开发。

4、别在网页上显示“注册”(英文)

很多网站在页面上有注册按钮或注册链接(上图),作者认为,“注册”这个词大大降低了用户进一步使用的欲望,因为这要求用户付出操作成本,但没有给出足够的诱因。

经过他的实验,只要将“注册”改成“开始使用”或“免费试用”,就能将转化率提高三倍。

5、11 种 Node.js ORM 库的简介(英文)

作者介绍了11种常用的用于连接数据库的 Node.js ORM 库。

6、如何通过new Function创建 async 函数(英文)

JavaScript 语言允许通过Function()生成函数,async 函数能通过这种方式生成吗?

7、Intl.RelativeTimeFormat():相对时间格式化(中文)

有时需要显示相对时间,比如“5分钟前”、“2天前”等等。一般使用外部库来实现,其实浏览器原生的 Intl.RelativeTimeFormat API 就可以做到。(@232650413 投稿)

8、如何写一个 Node.js 命令行程序,获取 Slack 的 OAuth 授权?(英文)

本文是一个 OAuth 授权示例,演示如何用 Node.js 在命令行获得 Slack 的授权,从而可以操作 Slack 的 API。

9、交互式《蒙娜丽莎》画像(英文)

传说中,不管你从哪个角度看《蒙娜丽莎》画像,都会感到画像中的女子在看着你。TensorFlow 的官方博客,演示怎么用 TensorFlow.js,制作一个交互式的《蒙娜丽莎》画像,摄像头捕捉观看者的角度,然后自动改变画像的眼神。

126科技爱好者周刊(第 126 期):内卷化是什么?

1、VSCode 如何调试可视化数据结构(英文)

VSCode 有一个插件,可以用可视化的方式调试代码。本文介绍这个插件的用法。

2、CS107e: 树莓派,ARM 和操作系统(中文)

CS107e 是斯坦福大学的一门计算机课程,内容关于硬件、底层和 C 语言 。这篇文章是作者的学习感受。(@cj1128 投稿)

3、我如何使用 Netlify 的 Serverless 功能(英文)

作者介绍他如何开发一个没有后端服务器、只有前端静态网页的 Web 数据库应用。

4、谷歌搜索的10个小技巧(英文)

谷歌搜索有很多小功能,比如搜索stopwatch会出现一个倒计时器(上图)。

5、中国大周期(中文)

桥水基金创始人瑞·达利欧(Ray Dalio)的长文,以一个美国人的角度,谈了他对中国历史和经济政策的理解。这里是中文摘译版,也有英文原版

6、GitHub 仓库的默认分支不叫“master”了(中文)

从 2020 年 10 月 1 日开始,GitHub 所有新库的默认分支都将用中性词“main”命名,取代原来的“master”。

7、JavaScript 原生的日期和时间格式化(英文)

通常使用外部库处理 JavaScript 的时间格式,但是原生的Date.prototype.toLocale*方法其实也能满足需求。

8、如何使用 Canvas 模拟对象碰撞(英文)

本文从头教你在网页上,用 Canvas 做出对象不断碰撞的动画效果。

125科技爱好者周刊(第 125 期):数字人民币要取代谁

1、核电池可以用于太空旅行(英文)

本文介绍了核电池的原理(利用放射性元素衰变产生的能量),以及用于太空旅行的可能性。

2、使用蒙特卡洛算法玩2048(英文)

2048 是一个4x4的方块游戏,只要两个相同数字相邻,就可以合并为一个数字。本文讲解了如何用蒙特卡洛算法进行简单模拟,让计算机自己解决2048游戏。

3、微前端“容器”—— microcosmos 实现(中文)

本文讨论了微前端的概念和实现,可以用来了解“微前端”这种新的做法。(@chuifengji 投稿)

4、如何将 Android 平板电脑用作第二台显示器(英文)

作者介绍如何将一块旧的安卓平板,当作电脑的副屏,使用 VNC 协议显示远程桌面。

5、for await ... of 语句解释(英文)

ES6 引入了 for await ... of 新语法,用来遍历异步迭代器,很多人还不熟悉。本文是对它的简单解释。

6、使用 React 钩子而不是类的6个理由(英文)

本文总结 React 钩子比类更有优势的6个方面,比如不再有 this 问题,也不用再绑定方法了。

7、AVIF 格式初探(英文)

AVIF 是一种开源图片格式,源自 AV1 视频格式。各个平台基本上都会支持,这篇文章对比了它与 JPEG 和 WebP 格式,结果很不错。

8、Node.js 如何下载流传输文件(英文)

本文介绍如何使用 Got 这个库,以流传输的形式(stream)下载文件。

9、从 Apple Photos 找出(机器认定的)最美照片(英文)

苹果的 Apple Photos 会对用户拍摄的每一张照片,运行机器学习模型来识别照片的内容,然后得出一个叫做“ZBEHAVIORALSCORE”的“总体美学评分”,保存在本地的 SQLite 数据库里面。

作者对这个数据库使用 SQL 查询,找出计算机认为的某个主题(比如“鸟类”)的最佳照片。

124科技爱好者周刊(第 124 期):华为如何考核员工

1、我的业余作品如何以3万美元出售(英文)

作者最初写了一篇文章,介绍如何将 Instagram 图片同步到推特,结果发现浏览量很高。有人还写信,愿意付费使用该功能。作者就把它做成一个小服务,结果被3万美元收购。

2、如何使用 GitHub 管理个人笔记(英文)

作者介绍他如何将 GitHub 仓库当作 Wiki 使用,管理个人笔记。

3、10个你可能不知道的 Web API(英文)

Chrome 浏览器提供的 Web API 非常多,本文介绍其中10个。

4、如何在浏览器里制作一个互动地球仪(英文)

作者介绍如何使用 WebGL(通过 three.js)在浏览器里面做出一个可以互动的地球仪。

5、浮点数原理(英文)

本文较为通俗地解释,什么是浮点数,为什么这么设计。

6、如何在亚马逊网络服务上部署一个 React App(英文)

官方文档,介绍如何用 AWS Amplify 自动构建和部署一个 React 应用。跟亚马逊的其他文档相比,写得非常好懂。

7、MongoDB 的历史(英文)

MongoDB 是现在最流行的 NoSQL 数据库,本文详尽介绍了它的历史,以及早期的设计决定。

8、55K 月用户的 Web 应用成本(英文)

作者维护着一个 Python flask 应用,每月有5.5万访问者。本文总结了他每月花在这个网站上的账单。

9、Leetcode 刷题的一些技巧的经验之谈(中文)

作者介绍 LeetCode 刷题体会:“坚持在 leetcode 刷题已经有近两年了,刷着刷着就成习惯了,就像每天刷牙吃饭一样,不刷会很不自然。”(@DoctorLai 投稿)

123科技爱好者周刊(第 123 期):互联网公司与湘军的军制

1、如何用简单英语写作(英文)

本文介绍几个很实用的英语写作规则,帮助你写出简单易懂的英语。

2、如何使用 SQL 查询 Git 日志(英文)

本文介绍如何将 Git 日志导出到 SQLite 数据库,从而可以用 SQL 语句进行查询。

3、GPS 定位原理(英文)

本文介绍 GPS 卫星系统如何能够定位,写得比较容易懂。定位的关键是卫星上的原子钟必须准确报时。

4、芯片国产化的三大障碍(中文)

中国想要摆脱芯片对外国技术的依赖,必须克服三大障碍:光刻机、芯片设计软件、高纯度硅材料。每一项的难度都极高。

5、异步操作需要设置超时(英文)

本文是一个提醒,进行异步操作的时候(比如 AJAX 请求),要设置超时。因为 AJAX 默认没有超时限制,浏览器会一直等下去,极端情况下,可能会耗尽套接字的资源池。

6、任正非:为什么华为现在要搞基础研究?(中文)

2020年7月29-31日,任正非访问上海交通大学、复旦大学、东南大学、南京大学的讲话摘要。

7、如何让 Linux 不区分文件名大小写(英文)

Linux 5.2 开始,支持不区分文件名大小写,本文教你怎么打开这个功能。

8、短消息发送一次性验证码的标准(英文)

很多网站采用短消息发送一次性验证码,作为用户认证的手段。苹果和谷歌已经商定了短消息格式标准,GitHub 开始采用这个标准。

9、React 列表 key 属性的三个常见错误(英文)

React 框架要求列表的每一项都带有key属性,本文介绍这个属性的三个需要注意的地方。

122科技爱好者周刊(第 122 期):谈谈互联网公司的高估值

1、网络安全工程师的修炼途径(英文)

作者在网络安全方面有20年的从业经验。他在本文中介绍网络安全工程所需的技能和培养途径。他提出,学习者一定要有自己的实验室,熟练使用虚拟机测试各种系统。

2、如何用神经网络玩超级马里奥兄弟(英文)

作者展示了如何用 Python 写一个神经网络模型,自动玩超级马里奥兄弟,可以很清晰地看懂他的算法,就是将游戏画面转化成一帧帧的像素网格(注意下图两侧画面的对比),根据网格的变化,程序自动做出反应。

3、深入了解 Python的官方 Docker 映像(英文)

本文是一篇 Docker 教程,一步步介绍 Python 官方的 Docker 镜像是怎么制作的,详细解读 Dockefile 文件。

4、理解 Python 哈希表(英文)

本文详细讲解 Python 哈希函数的用法,然后用它实现一个简单的哈希表。

5、如何在谷歌云安装 Pi-Hole(英文)

一篇非常详细的教程,一步步教你在谷歌云上安装 Pi-Hole,自己搭建一个 DNS 服务器,能够屏蔽广告。

6、凭借中国一国之力能搞出光刻机吗?(中文)

芯片生产的核心设备是光刻机,目前只有荷兰 ASML 能生产,中国自己能搞出来吗?

7、如何使用 Firebase 开发一个自己的评论系统(英文)

Firebase 是谷歌的实时数据库服务,本文是一个详细教程,通过网页截图,教你一步步使用它来储存前端数据。

8、使用 Safari Web Share API 窃取本地文件(英文)

本文介绍如何在苹果设备上,利用 Safari 浏览器的 Web Share API 在用户不知情的情况下,将本地文件分享出去。

121科技爱好者周刊(第 121 期):为什么人类没有越来越闲?

1、CSS 生成艺术(英文)

作者介绍如何用 CSS 生成各种形状的图形。

2、如何使用 Rust 开发单页应用 SPA(英文)

单页应用(SPA)都是使用 JavaScript 开发,但是有了 WebAssembly 以后,其他语言也可以编译成 JavaScript。本文就完全使用 Rust 语言开发上图的 SPA,后端开发者现在也可以写前端了。

3、Manjaro 与 Arch Linux 的区别(英文)

Manjaro 与 Arch 都是流行的 Linux 发行版,Manjaro 基于 Arch,但是有自己显著的特点。

4、单个创始人的表现更好(英文)

常规的建议是,你必须先组建团队,然后才能创业。但是,统计显示,单个创始人的公司更可能盈利,本文分析原因。

5、熵的羊群解释(英文)

本文用羊群作为例子,通过图片较为通俗地解释了,物理学的熵(entropy)是概率导致的。

6、CRDT 算法是否适合多人实时编辑?(英文)

CRDT 算法用于分布式服务实现数据同步,比如同一篇文档的多人实时编辑。Yjs 是 CRDT 的一个实现,本文是它的作者对这个算法的解释,内容有一定深度。

7、TypeScript 简明介绍(英文)

一篇针对初学者的 TypeScript 介绍,写得相当简洁。

8、HTML smuggling 解释(英文)

很多人不知道,JavaScript 可以脚本生成 exe 文件,让用户下载。本文介绍如何在网页里面嵌入一个恶意的可执行文件。

9、广告短信的退订内幕(中文)

很多促销广告短信都说回复 T 退订,但是回复了 T 之后会发生什么?(@9527q 投稿)

10、微信小商店初体验(中文)

7 月 14 日,微信开放了微信小商店的内测,这是官方的开店功能,跟微店等第三方平台是不一样的。这篇文章介绍了申请流程以及使用体验。目前,微信小商店已经允许个人申请了,可用于个人开店。(@juemuren4449 投稿)

120科技爱好者周刊(第 120 期):只有开放才能打败封锁

1、我参加 Pixar 2020 渲染大赛的作品(英文)

Pixar 动画公司每年举办一个比赛,提供一些数字模型,邀请全世界爱好者对它们进行渲染着色,评选出优胜者。作者介绍了他如何创作第一名作品(上图)。

2、如何自己实现一个全文搜索引擎(英文)

作者通过一个简单的例子,讲解全文搜索引擎的原理,自己如何实现倒排索引。举例用的是 Go 语言,代码很简单,接近伪代码。

3、如何发布 Deno 模块(英文)

Deno 是一个 TypeScript 运行时,可以替代 Node.js。它有一个模块托管服务,本文介绍如果将 GitHub 上面的模块源码,通过 Webhook 发布到官方的托管服务。

4、财政部为什么使用 arctan 函数调节工资总额(中文)

财政部最近下发了一个文件,使用 arctan 函数调节国有金融企业的工资总额。这个函数到底有什么特别之处?

5、2020年值得推荐的13本 Java 书籍(英文)

作者列了一个书单,推荐了13本 Java 学习书籍。

6、如何在谷歌查找到任何信息(英文)

本文通过一些小例子,介绍谷歌的搜索语法。这里还有完整的搜索命令列表

7、张汝京谈中国半导体产业的发展(中文)

张汝京是中芯国际创始人,他在最近一次演讲中,回顾了第一到第三代半导体的发展,以及谈了中国半导体产业如何实现“超车”、第三代半导体未来的发展模式是什么等问题。

8、停电时,冰箱会保持低温多长时间?(英文)

作者做了一个有趣的实验,在冰箱里面放入传感器和树莓派,看看停电后,冷冻室能保持低温多长时间。结果发现,室温19°C的房间中,冷冻室每小时损失的冷度为2.6%,大约26小时后温度将达到0°。

119科技爱好者周刊(第 119 期):降雨量和保险博弈

1、JavaScript 语言的多态(英文)

多态(Polymorph)是面向对象编程的一个术语,有多种含义。本文讨论 JavaScript 语言如何实现多态。

2、GitHub Actions 的 Go 语言示例(英文)

本文介绍如何在 GitHub 仓库里面定时跑 Go 语言脚本,再将代码推送回仓库。

3、JavaScript 测试框架比较(英文)

Mocha、Ava、Jest 是目前非常流行的三大 JavaScript 测试框架,本文对它们进行了比较,每个框架最合适的运行场景。

4、Git 工作流程的图示(英文)

本文用清晰的图形解释了五种 Git 工作流程,比如上图是 master - develop - feature 的工作流程。

5、Tailwind CSS:从业余项目到数百万美元的业务(英文)

Tailwind CSS 的作者介绍这个框架的诞生过程,以及他们如何通过它赚到几百万美元。

6、苹果更换 ARM 芯片的解读(英文)

一篇很好的英文分析,苹果公司为 Mac 电脑更换 ARM 芯片,对整个行业会带来哪些变化。

7、Firefox 对 SameSite Cookie行为的更改(英文)

Firefox 浏览器官方宣布,将跟随 Chrome 浏览器,限制第三方 Cookie,将 Cookie 的 SameSite 属性默认值设为 lax。

8、Windows 10 阻止修改 HOSTS 文件(英文)

HOSTS 文件用于修改网站域名对应的 IP 地址,WIndows 10 内置的 Windows Defender 软件最近开始警告和阻止修改这个文件。

9、我用 GPT-3 写了一篇博客文章(英文)

GPT-3 是目前最先进的人工智能模型,可以根据输入,返回一篇人类可读的文章。

作者输入文章的标题和简介,GPT-3 就自动返回了一篇博客文章,这篇文章还登上了 Hacker News 的第一名,许多人都没有发现这是计算机写的。

118科技爱好者周刊(第 118 期):高考志愿怎么填

1、JavaScript 的第三纪元(英文)

作者认为,JavaScript 的发展可以分成三个阶段:原始阶段、Node.js 阶段和目前的超越阶段。

当前阶段的主要特征是,JavaScript 开始作为底层技术,ES6 模块、TypeScript、WebAssembly 逐渐普及。

2、NAND Flash 基础知识简介(中文)

NAND Flash 是一种存储介质(掉电后数据不会丢失),常见的 U 盘、TF 卡/SD 卡,以及大部分 SSD(固态硬盘)都是由它组成的。 本文主要介绍它的种类及工作原理。(@sigusr1 投稿)

3、2020年你应该尝试的10个 JavaScript 库(英文)

文章介绍10个很有用的 JavaScript 工具库,偏重于网页的 UI 操作方面。

4、 如何构建优秀的 API(英文)

本文介绍设计一个优秀的 RESTful API 的注意事项,以及 REST 和 GraphQL 两种 API 的差异。

5、Python 的 SQLite 数据库教程(英文)

本文是入门教程,介绍如何在 Python 语言使用内置的 SQLite 数据库,不需要任何安装步骤。

6、10个有用的 git log 技巧(英文)

本文介绍git log命令的10个参数用法。

7、英特尔到底怎么了?(中文)

英特尔最近公告,7纳米制程延误,可能会外包给台积电生产。本文是一个前英特尔华人工程师的分析。

8、async 函数的一个注意点(英文)

本文提醒大家注意,使用 JavaScript 的 async/await 函数时,要区分并发操作和继发操作。

117科技爱好者周刊(第 117 期):我不想让你记住我的脸

1、Web 开发者需要的10个 Chrome 浏览器插件(英文)

本文推荐了10个对 Web 开发很有用的 Chrome 浏览器插件。

2、SHA-256 的原理(英文)

本文通过一个简单的例子,一步步演示 SHA-256 算法,如何将字符串变成一个256位的哈希值。

3、JavaScript 函数作用域解释(英文)

本文是 JavaScript 初学者教程,通过一个简单的例子,解释 JavaScript 的函数作用域规则。这是一个很重要的语法点。

4、我忽视的几个 CSS 基本知识(英文)

作者谈了几个他初学 CSS 时忽视的几个知识点,可以借此复习一下 CSS 基础知识。

5、GPT-3 模型的图灵测试(英文)

GPT-3 是 OpenAI 公司开发的一个 AI 模型,能够自动生成文本。作者对它进行了图灵测试,跟它对话,看能不能分辨出对方是一个软件。

6、印度高铁为什么造不起来?(中文)

2015年,印度政府把1700公里高铁合同给了日本。日本政府承诺提供低息贷款,还同意转让技术。5年过去了,印度高铁依然没有开工,一公里也没有造出来,这是为什么?

7、立讯代工 iPhone 背后的故事(中文)

台湾《商业周刊》的长篇报道。王来春曾是富士康(鸿海子公司)的第一批打工妹,打工10年后创立了立讯精密,现在的市值已经超过了鸿海。Airpods 和 Apple Watch 都是立讯代工,并即将成为第一家代工 iPhone 的内地企业。

8、最长的单字母域名(英文)

作者写了一个脚本,寻找最长的单字母域名是什么。所谓“单字母域名”就是域名都由单字母构成,比如aaa.com

116科技爱好者周刊(第 116 期):世界的未来是一个火药桶

1、6个最常见的网页可访问性问题(英文)

可访问性(accessibility)指的是,网页对生理缺陷的用户是否友好。本文总结了6个最常见的可访问性问题及其解决方法,比如上图是文字对比度不够,导致弱视用户阅读困难。

2、Shell 脚本如何输出帮助信息?(英文)

作者展示了一个技巧,将帮助信息写在 Bash 脚本脚本的头部,然后只要执行“脚本名 + help”,就能输出这段帮助信息。

3、GitHub 的个人描述页怎么实现?(英文)

GitHub 最近改版以后,允许个人页面使用 Git 代码库定制,而且还允许插入外部图片,这意味着会出现很多有趣的玩法。这篇文章就教你怎么用外部图片,反映个人动态。

还有人用 GitHub Actions 每天自动跑代码,生成个人描述文件,让主页自动更新。这个更酷,也很实用。

4、如何使用 S3 + CloudFront 托管静态资源(英文)

网页加载时,只要不是服务器动态生成的内容,都属于静态资源。由于静态资源不用动态生成,所以可以发到 CDN 加快网页加载。本文介绍如何通过亚马逊网络服务的 S3 + CloudFront 实现一个自己的 CDN,分发静态资源。

5、伪随机数生成器(英文)

伪随机数指的是通过一种算法,由种子值得到的随机数。本文介绍了几种简单的伪随机数算法。

6、自动生成 JSX 代码的 AI 模型(英文)

有人在推特演示了一个不可思议的 AI 模型,你只要用文字描述页面布局,模型就会自动生成 React 的 JSX 代码。

7、75行代码入门 WebGL(英文)

WebGL 是浏览器对 OpenGL API 的调用接口,可以在浏览器里面实现 3D 动画。本文用一个简短的例子,介绍了这个 API。这只是一篇简介,另有完整的 WebGL 教程

8、为什么我停止使用 Redux(英文)

作者认为,Redux 被赋予了太多的使命,变成了一个全面的解决方案,导致越来越复杂和难用。他介绍了两个简单的替代库。

115科技爱好者周刊(第 115 期):保护你的 DNA,不要泄漏

1、Vim 的由来(英文)

Vim 有30多年历史,目前依然是最流行的编辑器之一。本文简要地回顾了历史,它的一些主要的设计决定,到底是怎么来的。

2、史上最难的定位挑战(英文)

一个推特用户发了一张照片,空荡荡的蓝天上有一架飞机。他给出了三个已知条件,本文分析如何根据下面三个条件,定位他在哪里拍这张照片。

  • 天空中的飞机是从伦敦飞往香港的波音747。
  • 该照片拍摄于2019年10月30日。
  • 拍摄者在旅馆里。

3、Makefile 的静态网站实现(英文)

现在有各种各样的静态网站工具,比如 Jekyll 和 Hugo 等。作者提出,Makefile 也可以用来实现静态网站,这样就不需要任何外部工具了,只维护一个 Makefile 配置文件即可。

4、哈希算法的种类(英文)

这篇文章用相对通俗的语言,介绍了目前常用的几种哈希算法,以及它们各自适用的场景。

5、React Hooks 的常见的错误写法(英文)

Hooks 是前端框架 React 现在主推的写法,它很灵活,但也很容易误用。本文作者总结了四个错误写法,虽然能够运行,但是不应该这样写。

6、字体反爬的攻与防(中文)

作者因为业务原因需要爬取一批斗鱼主播的相关数据,结果发现斗鱼使用了一种很有意思的反爬技术:字体反爬。

7、分页查询不要使用 OFFSET 和 LIMIT 语法(英文)

数据查询时,如果数据多,就需要分页,一般使用 OFFSET 和 LIMIT 语法。这篇文章提出,这样做不好,耗费资源,有性能问题。

8、写给 JavaScript 程序员的 Rust 教程(英文)

一组系列文章,使用 JavaScript 作为例子,介绍 Rust 语言。

9、Git 多行提交信息的简单方法(英文)

git commit命令的-m参数用来指定提交信息,但是这样提交的信息只有一行。本文介绍实现多行信息的简单方法。

114科技爱好者周刊(第 114 期):U 盘化生存和 Uber-job

1、谷歌搜索的一个技巧(英文)

如果你想快速了解一个新事物是什么,一个简单的方法就是在这个词的后面加上“vs”,谷歌会自动提示跟它最接近的事物。

这个技巧对百度也有效。

利用这个 API,可以画出事物之间的关系图。

2、Web Extension API 介绍(英文)

6月22日的 WWDC 大会中,苹果宣布 Safari 浏览器会使用 Web Extensions API 支持浏览器插件。这意味着只要使用这个 API,你的插件就可以同时在 Firefox,Chrome,Opera 、Edge 和 Safari 中运行。这里还有 MDN 上面的 API 教程

3、Apple WWDC 2020 对 Web 开发者的意义(英文)

刚刚举行的苹果开发者大会,公布了几个对 Web 开发者会产生影响的决定,比如 Safari 开始支持插件,并且插件可以在苹果商店出售,以及允许网站使用 FaceID 和 TouchID 进行用户认证。

4、苹果拒绝实现的 Web API(英文)

苹果公司表示,Safari 不会支持16个 Web API,同时还会缩减一部分已实现的 API 的功能,理由是它们可以用来生成用户指纹,威胁用户隐私。

5、异步剪贴板 API 介绍(英文)

Safari 13.1添加了对 Async Clipboard API 的支持,使得网页可以通过这个 API 读写系统的剪贴板。这比当前通过 ClipboardEvent 的 DataTransfer 对象读写剪贴板,有很多优势。

6、WebP 图像真的优于 JPEG 吗?(英文)

谷歌声称,在同等质量的情况下,WebP 格式比 JPEG 体积小25 – 34%。作者对这个宣传有怀疑,实际测试发现,如果使用 MozJPEG 编码器,WebP 格式几乎没有优势。

7、我如何从 GitHub 赞助年收入10万美元(英文)

我一直很想知道, GitHub 的“赞助”功能是否真能拿到钱。这篇文章告诉我们,真的是可以的,作者介绍了一些技巧,使得他的一个开源项目,年赞助达到了11万美元。

8、如何不靠运气变得富有(中文)

Naval 是美国风险投资家,这是他的3小时长播客《如何不靠运气变得富有》的中文翻译,介绍了他的财富观,非常值得一读。(@taosue 投稿)

9、10个日常使用的 Linux 应用程序(英文)

本文推荐10个常用的 Linux 应用程序,比如 BT 下载客户端 Fragments、虚拟机解决方案 GNOME Boxes、绘图程序 Krita。

10、Rust 学习路线图(中文)

近几个月,作者开始学习 Rust,并用 Rust 开始写一些代码,根据自己的学习经验,制作了这一份 Rust 的学习路径。(@leoython 投稿)

113科技爱好者周刊(第 113 期):暴力犯罪为什么越来越少?

1、关于 Java 的25件事(英文)

今年5月是 Java 语言诞生25周年,JetBrains 公司在官方博客里面,总结了 Java 语言的25个优点。

2、scp 命令的原理和特点(英文)

scp命令用于向远程主机复制文件,本文解释它的原理,以及优点和缺点。

3、程序员简历的常见错误(英文)

这篇文章总结了程序员写简历时的几个注意点,下面是其中几个。

  • 不要试图提及你掌握的所有技能,这会给人一种“万事通”的感觉。
  • 将你的技能分成三个等级:“精通”(proficient in)、“有实战经验”(experienced with)、“熟悉”(familiar with)。
  • “精通”和“有实战经验”的技能,必须提供细节,要给出项目内容和你的个人成果。

4、如何分析照片的地理信息(英文)

作者讲述自己如何只根据下面两张照片,就分析出拍照人所在的具体位置。所以,张贴到社交媒体的照片,一定要小心。

5、为什么 Figma 赢得市场(英文)

Figma 是一个新兴的设计师工具,正在快速流行起来。本文分析它到底有何功能和特点,能够战胜 Sketch 和 Adobe 这样的强劲对手。

6、如何用链判断运算符?.重构代码(英文)

链判断运算符?.是 ES2020 引入 JavaScript 的一个重大语法,本文总结了作者使用它重构老代码的一些经验。

7、KeePass:最安全的密码管理器(中文)

KeePass 是一个轻量级、易用且安全性极高的密码管理器,其源码完全开源。与其他密码管理器不同,KeePass 可以让你完全掌握你的密码数据库。本文教你如何使用KeePass,并包含一整套最佳实践方案。(@rmnof 投稿)

8、DNS 查询的原理(英文)

本文用通俗的语言和例子,解释了 DNS 的原理,权威服务器和递归服务器的区别,以及更新 DNS 记录是怎么回事。

112科技爱好者周刊(第 112 期):如何培养领导力

1、何时写注释?(英文)

谷歌的厕所里面贴的是各种编程知识,这篇就是谷歌的“厕所文”之一,谈什么时候应该写注释,并提供海报下载。

2、恐龙灭绝的那一天(英文)

BBC 的英语长文,根据小行星撞击地球假说,详细猜测那一天的情景。图文并茂,写得很生动。

3、我从旧金山搬到纽约的感受(英文)

作者是推特公司的设计师,从旧金山搬到纽约住,谈了自己的所见所闻。本文有大量图片,可以了解纽约的生活。

4、git tag 命令简单教程(英文)

git tag命令用来给仓库打标签,本文简单介绍这个命令的用法。

5、Node.js 内存泄漏指南(英文)

本文通俗地讲解什么是内存泄漏,然后通过一个例子分析 Node.js 的内存泄漏是怎么形成的,以及如何使用分析工具找出泄漏的代码。

6、为什么 Facebook 不做公有云?(中文)

几乎每一家大型互联网公司,都在做公有云:谷歌、亚马逊、微软、阿里巴巴…… Facebook 却始终没有做公有云,这是为什么?

111科技爱好者周刊(第 111 期):智能电视的误区

1、如何备份 IMAP 电子邮件到本地(英文)

有些电子邮件服务使用 IMAP 协议(比如 GMail),本文介绍如何使用一个 Python 脚本,将邮件从服务器备份到本地。

2、Node.js 缓冲区介绍(英文)

本文介绍 Buffer(缓冲区)在 Node.js 里面是什么东西,以及这个内置类的简单用法。

3、如何简单实现 CSS 主题的切换(英文)

本文介绍一个简单的方法,为网页指定多个 CSS 主题,允许用户手动切换主题。

4、Bookmarklets 简介(英文)

本文介绍 JavaScript 的书签工具 Bookmarklets 是什么,以及作者常用的一些 Bookmarklets。

5、根证书到期引发的问题(英文)

HTTPS 协议加密的基础是证书,但是证书都有时间期限。根证书是其他所有证书可信性的保证,如果它过期了怎么办?

6、使用 Cloudflare worker 实现 Todo 清单(英文)

Cloudflare worker 是一种 Serverless 服务,使用 JavaScript 语言,相对比较简单。本文教大家怎么用它实现一个 Todo 清单,自己不需要架设服务器,还能在后端储存数据。

7、使用 Graphviz 生成示意图(英文)

本文介绍命令行下如何使用 Graphviz,编写脚本生成示意图。

8、Linux 系统云备份解决方案:Borg + Vorta(英文)

家庭电脑的数据,如何定时备份到云端?本文介绍使用开源工具 Borg,快速将增量数据上传云端,可以自己架设储存服务器,也可以使用现成的云服务。

9、如何架设 VS Code 服务器(英文)

VS Code 是流行的代码编辑器,它不仅是一个本地软件,也是一个云端服务,可以自己在服务器上架设,然后就能在任何地方通过浏览器使用了。

10、如何用 C 语言写一个简单的 CHIP-8 模拟器(中文)

CHIP-8 是一个很简单的虚拟机,有16个8位寄存器和35个指令,可以使用 4K 内存。作者在它上面实现俄罗斯方块,为将来写 GBA 模拟器做准备。(@cj1128 投稿)

110科技爱好者周刊(第 110 期):如果不能去美国上市

1、Web Animations API 简介(英文)

Chrome 84 增强了对 Web Animations API 的支持。这个 API 的主要作用是使用 JavaScript 控制 CSS 动画。

2、游戏摄影师,这种靠“截图”赚钱的新职业(中文)

随着游戏画质和细节的不断进步,里面史诗级的风景已经足以让玩家流连忘返。

在游戏圈里,还真有一个叫做游戏摄影师的职业,他们更像是游戏中的旅客,重点是拍摄游戏中的有趣画面而非玩游戏,而这种「拍摄」更准确来说是在游戏中截图。

3、如何看待 Deno 的模块加载方案?(英文)

Deno 通过 URL 加载 JS 模块,然后在本地缓存,并没有中央的模块仓库,很多人不习惯这个模型。Deno 团队的 Kitson Kelly 谈了自己的看法,以及推荐的 Deno 模块管理的最佳实践。

4、Gmail 的退订按钮如何工作?(英文)

Gmail 对于营销邮件和新闻列表,提供一个“退订”按钮(unsubscribe)。本文分析这个按钮是怎么实现的。

5、字节跳动的三道算法面试题目(中文)

作者去面试 AI lab 视觉岗的暑期实习,第一面就是三道算法题。其中第一题是这样的:“10个小球随机分到12个盒子里,求恰好10个盒子都为空的概率,要求用 Python 程序模拟十万次,暴力求出该概率。” 详细解法可以参考这篇英语文章

6、如何构建二进制 Deb 软件包(英文)

Deb 格式是 Debian 和 Ubuntu 系统的软件包格式,本文是一篇非常简单易懂的教程,教你如何将二进制可执行文件,打包成一个 deb 软件包。

7、如何使用 JavaScript 访问摄像头(英文)

本文介绍使用 MediaStream API,在网页上捕获相机的视频流,或者捕获麦克风的音频流。

8、Bash 脚本测试框架 Bats(英文)

本文介绍怎么为 Bash 脚本写单元测试。

109科技爱好者周刊(第 109 期):播客的价值

1、为什么你要扫描我的端口?(英文)

作者用浏览器访问 eBay,结果吃惊地发现,网页脚本居然使用 WebSocket,扫描 localhost 有哪些本机端口是打开的。eBay 称这样做的目的是找出可疑的进行欺诈交易的用户。

2、网址的 utm 参数是什么意思?(英文)

很多网址包含 utm 参数,比如utm_sourceutm_campaign,这主要是为了让统计引擎确定访问的来源。本文解释这些参数的含义。

3、JavaScript 的迷宫生成算法(英文)

本文介绍如何用 JavaScript 生成一个迷宫,写得很容易懂,每一步都有示例。

4、如何使用 Netlify lambda 发送推特摘要(英文)

Netlify lambda 是一个 Severless 服务,本文通过一个简单的例子,介绍怎么使用它给自己定时发送邮件。

5、SQL 的数据分组和聚合(英文)

一篇 SQL 初学者教程,通过实例,介绍如何使用 MIN、MAX、COUNT、AVG、SUM 等基本函数,进行数据处理。

6、Microsoft Playwright 使用入门(英文)

Playwright 跟 Puppeeter 很像,也是一个浏览器自动化引擎,两者的 API 基本一样。区别是 Playwright 可以跨浏览器,能在 Chromium、Firefox、WebKit 上运行。

7、虚拟内存简介(英语)

应用程序无法直接使用物理内存,都是使用操作系统提供的虚拟内存。本文介绍虚拟内存的基本知识。

8、如何使用 df 和 du 命令查看硬盘占用(英文)

如果想查看硬盘用去了多少空间,每个目录或文件的空间占用情况,df 和 du 命令是最方便的工具。本文展示它们的基本用法。

108科技爱好者周刊:第 108 期

1、Cloudflare 的客户端信息 API(英文)

CDN 提供商 Cloudflare 有一个免费的 API,以 JSON 格式返回请求者的客户端信息,本文介绍如何利用这个 API,识别访问者的国别。

2、HTTP 头信息的招聘广告(英文)

互联网公司有时会在浏览器的控制台,展示招聘信息。最新的做法是,把招聘信息放在x-recruiting这个 HTTP 头信息里面了。

3、如何在微信建立一个定时提醒机器人?(中文)

作者解释了如何通过一个公众号,定时在微信里面向自己发提醒,代码开源。(@polyrabbit 投稿)

4、Gzip 格式和 DEFLATE 压缩算法(中文)

gz 压缩文件指的就是 gzip 压缩格式,背后的算法是 DEFLATE。它的压缩原理是什么?这篇文章就来讨论这个问题。(@luyuhuang 投稿)

5、定价的42种技巧(英文)

本文介绍如何更有效地向消费者展示价格,一共42种技巧。其中一种是,低价商品的标价要写在标签左侧,高价商品要写在标签右侧。

6、比特币挖矿简史(英文)

上周,比特币的矿工奖励减半,从12.5个下降到6.25个比特币。这是比特币协议规定的,每四年发生一次。这篇短文简单回顾了挖矿的历史,最初是业务爱好者在笔记本电脑上挖矿,现在则是成千上万矿机组成的矿池挖矿。

7、Deno 简明入门教程(英文)

上周,Deno 发布了1.0版。这篇文章介绍了 Deno 的基本情况和用法。简单说,它现在还不能用于生产,也不能替代 Node.js,但是它的未来想象空间很大。

8、武汉病毒研究所,疫情之下的是与非(中文)

曾在武汉病毒研究所读书、工作多年之后于2018年底离职的科研人员赵非,就其所了解的情况并结合公开报道和相关信息,针对公众关注的与武汉病毒所相关热点问题,发表了他的看法。

107科技爱好者周刊:第 107 期

1、如何在 Node.js 环境安装 Selenium(英文)

Selenium 是通用的浏览器测试框架,本文介绍如何在 Node.js 里面使用它。

2、如何在浏览器使用 OpenCV?(英文)

OpenCV 是最流行的计算机视觉库,使用 C 和 C++ 编写。本文介绍如何使用 WebAssembly 在浏览器加载 OpenCV,并用 WebWorker 处理摄像头拍摄的影像。

3、如何自动加载网站的暗模式?(英文)

Safari 12.1 浏览器支持检测颜色主题,如果系统使用暗模式,那么浏览器就自动加载 网站的深色 UI。本文教你如何让网站支持这个功能,非常简单。

4、每个开发人员应了解的 TCP 知识(英文)

一篇短文章,使用相对简单的语言,解释了 TCP 协议的设计思想。

5、如何实现单文件 Web 组件?(英文)

单文件组件指的是,将 HTML 、JS、CSS 三种代码封装在一个文件,然后在网页上加载这个组件。本文探讨如何不使用任何框架,实现网页加载单文件组件。

6、如何使用 GitHub Actions 自动构建和发布电子书(英文)

本文介绍通过 GitHub Actions 自动将 Gitbook 仓库的每一次提交,发布上网,并且构建 PDF / Epub / Mobi 文件供下载。

7、考察溪洛渡水电站(中文)

溪洛渡水电站位于云南省永善县溪洛渡镇,装机容量1386万千瓦,仅次于三峡电站和巴西伊泰普电站。走在县城的大街上,只有一个感觉:亮堂。这里的路灯把整个县城照得明如白昼。永善在电价上享有比较优惠的条件,所以才舍得这样用电。

8、PKI 简介(英文)

PKI 指的是公钥基础设施,即公钥证书的整个处理流程。本文是一个简要的相关概念梳理,列出它的知识框架。

106科技爱好者周刊:第 106 期

1、我如何建立自己的 Kubernetes 集群(英文)

作者先介绍了 Kubernetes 的概念(分布式基础设施之上的虚拟系统层),然后介绍如何家用老电脑(上图)组建一个集群。

2、如何用 SQLite 建立全文搜索?(英文)

对于中小型网站,使用 SQLite 搭建全文搜索,完全可以满足需求。虽然功能不如 Elasticsearch,但是成本和复杂度要低好多。

3、为什么 Serverless 很重要?(英文)

一篇 Serverless 概念解释,非常简单明了,适合初学者了解它是什么。

4、我如何缩小 Docker 镜像文件的体积(英文)

作者介绍自己如何修改 Dockerfile 文件,使得一个 Node.js 项目的镜像文件体积,从 419MB 变成 39MB。他的方法很有通用价值,简单实用。

5、欧美主要城市的软件工程师薪水比较(英文)

作者将薪水、税收、生活成本都考虑在内,比较哪个城市软件工程师的净收入最大。

6、改装一辆1953年老卡车(中文)

一篇图片报道,介绍一个美国工程师如何将一辆1953年卡车(上图),改造成油电混合动力。

7、EOF 不是字符(英文)

C 语言通过判断 EOF 标志,找到文件的串结尾。但是,EOF 标志本身不是字符,文件的最后一个字符也不是它。

8、测试一块中国产的 x86 CPU(英文)

2016年,AMD 公司将第一代 Zen x86 CPU 的设计许可销售给中国,并成立了合资公司。本文是国外机构对这块国产 x86 CPU 的测试。

105科技爱好者周刊:第 105 期

1、2020年最佳 Linux 桌面发行版(英文)

本文介绍目前最适合桌面使用的 Linux 发行版。每个发行版都有简介,Linux 新手可以用来了解现在最流行的几个发行版。上图是 Fedora。

2、如何改进 NGINX 配置文件节省带宽?(英文)

NGINX 官方的博客文章,教大家五个小技巧,通过改进配置来节省带宽、提高性能。

3、定制游戏引擎统计(英文)

作者最近打完了游戏《瘟疫的故事》,被深深迷住了。他惊讶地发现,它是由一个相对较小的工作室使用定制引擎开发的。

现在,许多公司使用 Unreal 或 Unity 之类的引擎,因为自己开发引擎需要大量资源。因此,他决定调查一下现有的独立开发的游戏引擎。

4、AMD 与 Intel 哪个 CPU 更好?(2020版)(英文)

一个长篇比较,今年应该怎么购买 CPU,分了几个方面进行对比:性价比,游戏性能,生产性能,超频,规格,功耗……。

5、如何使用 Pi-Hole 架设 DNS 服务器(英文)

一篇详细的操作指导,一步步教你在树莓派上面安装 Pi-Hole,架设一个可以屏蔽广告的 DNS 服务器。

6、Git Worktree:你从未听说过的最好的 Git 功能(英文)

这篇文章简单介绍了 git worktree 功能,也就是让一个代码库的两个分支同时都可以访问的功能。

7、使用 React 开发 SVG 图形(英文)

一篇入门文章,介绍如何使用 React 写一个 SVG 图形。

8、两人创业公司使用的28种工具(英文)

作者介绍他们创业使用的28种在线工具,有的免费,有的收费,可以用来了解主流的 SAAS 服务。

104科技爱好者周刊:第 104 期

1、约翰·康威的一些数学宝石(英文)

最近,著名数学家约翰·康威(John Conway)由于新冠病毒去世了,网上有很多纪念文章。这篇文章总结了他一些不为人所知的小发现。

比如,任意三角形的边延伸到每个顶点之外,并且其距离等于对边的长度,所得的六个点将在一个圆上,这个圆就称为”康威圆“。

2、不聘请数据科学家的七个理由(英文)

这篇文章提出大多数公司根本不需要雇佣数据科学家,前四点理由很好玩。

  • 你没有任何数据
  • 你没有正确的数据
  • 你没有明确的问题要解决
  • 你实际需要的是分析师

3、长征三号乙火箭发射失败(中文)

4月9日,中国的长征三号乙火箭发射失败。第三级火箭的一个发动机没有启动,导致星箭俱毁,坠落在关岛附近的大海中。由于长征三号乙已经很成熟,发生事故很不正常,对日后的商业发射影响很大。这里是知乎的一个帖子,讨论这个事件反映了中国航天什么问题,又有什么深层的影响。

4、浏览器禁用三方 Cookie 的分析(中文)

Safari 浏览器开始完全禁用第三方 Cookie,本文分析了有何影响,以及如何在没有 Cookie 的情况下,获取浏览器的指纹。

5、硅谷竞相构建下一代互联网:Metaverse(元宇宙)(英文)

互联网的下一个版本被称为 Metaverse(元宇宙),它来自科幻小说,指的是即使没有人登录也能持续在线发展且活跃的共享虚拟空间。目前,最接近元宇宙的系统是在线游戏 Fortnite。上图为玩家在 Fortnite 内部观看电影《星球大战》预告片。

6、我如何选配 PC(英文)

著名程序员 Jeff Atwood 最近“攒”了一台 PC,距离上次已经过去了5年。5年里,他都不必升级 PC。他感叹这也是一个标志,PC 时代将要结束。

这次,他选用了 DA2 的小机箱,里面塞进了 CPU i9-9900KS、GPU RTX 2080 和三块硬盘。这不用担心散热吗?

7、Node.js 的 WebSocket 服务器演示(英文)

本文介绍如何自己写一个简单的 WebSocket 服务器。

8、Python 学习资源(英文)

这篇文章总结初学者开始看的 Python 的10本英文教材。

103科技爱好者周刊:第 103 期

1、了解 JavaScript 依赖地狱(英文)

安装 Gatsby.js 时,会下载19000个依赖模块。本文讲解如何分析 Node.js 的依赖关系。

2、GitHub 的10个使用小技巧

官方介绍10个 GitHub 使用小技巧,很实用,推荐阅读。

3、我家如何安装太阳能发电(中文)

台湾网友的一个论坛帖子,有大量图片,介绍他在自家屋顶安装太阳能板,很简单就达到了1000瓦的功率。

4、停止用 Eclipse 教 Java(英文)

本文提出初学者的 Java 教学,不应该通过 IDE (比如 Eclipse)进行教学。应该这样一来,教学的重点就会变成 IDE 的用法,而不是语言本身。

6、mv 命令无需两次键入文件名(英文)

mv命令用于为文件改名,需要输入两次文件名(旧名字和新名字)。要是你只改动一个字母,而文件名又特别长,这就很烦人。这里有一个 Bash 技巧,可以让你输入最小化。

7、我选择 NextDNS(英文)

DNS 是上网必需的一个协议。现在很多服务商提供 DNS 级别的防广告和防追踪功能,本文作者介绍为什么选择 NextDNS。

8、分布式哈希表 (DHT) 和 P2P 技术(中文)

分布式的 P2P 网络通常使用分布式哈希表(DHT)进行路由,查找周围的节点。本文介绍 DHT 的基本知识,以及算法的实现原理。(@luyuhuang 投稿)

9、Docker 镜像构建教程:减小镜像体积(中文)

自己制作的 Docker 镜像文件,往往体积很大。本文介绍如何一步步压缩镜像文件的体积,将 C 语言的 hello world 从最初的 1 GB 压缩到 94 KB。(@lupus721 投稿)

10、CTO 干什么?(英文)

作者原本是一个6人小公司的工程师,后来因为公司业务快速扩张,他被提拔成工程总监(CTO)。他花了三年时间,才搞明白什么是 CTO 的职责,分成产品、流程、人员三部分。

102科技爱好者周刊:第 102 期

1、我如何破解比特币钱包的密码?(英文)

有人多年前购买了比特币,但是忘记了钱包的密码。理论上,这些比特币无法找回。他不甘心,找到了一个密码学家,愿意支付10万美元,破解钱包的密码。文章有一点难度,但是值得一读。

2、以逗号开头的自定义命令(英文)

作者提出,Linux 系统的自定义命令都以逗号开头。这样查询会非常方便,先输入逗号,然后按下 Tab 键,所有自定义命令就会显示。

3、Netflix 如何变成一家流媒体公司(英文)

Netflix 原来是一家 DVD 碟片的租借公司,用户在网站下单后,就把 DVD 寄到用户家里(上图)。本文介绍他们是怎么变成一家视频点播的流媒体公司,非常精彩的故事。

4、如何使用 Wireguard?(英文)

Wireguard 最近进入了 Linux 内核,本文详细介绍它的安装使用步骤。

5、CLUI:命令行 UI

命令行界面CLI对新手不友好,必须看手册才会用。图形界面GUI不适合功能多的软件,而且效率低。

有人就提出了一种将两者优点结合的界面 CLUI(命令行 UI):命令行下显示图形提示框。

6、AWS 如何添加用户(英文)

这篇文章教你入门亚马逊网络服务 AWS,最基本的一步,新增一个管理员用户。这里还有一篇类似的文章,介绍如何使用 IAM 服务新增 AWS 用户。

7、如何对 Array.forEach 使用 async 函数(英文)

JavaScript 语言中,如果要通过 Array.forEach() 方法,对数组的每个成员进行异步操作,使用 async 函数可能不会达到你的目的。本文介绍了如何使用 Array.reduce() 方法保证对每个成员进行继发操作。

8、Rome,一个新的 JavaScript 工具库(英文)

Babel 创始人的新作品,把 JS 的主要工具都包括在一个库里。不需要 webpack、eslint、prettier、babel ,它都提供了。

它的核心思想是,把基于AST(抽象语法树)的所有功能都统一起来,不要每个工具自己做一次AST解析。

101科技爱好者周刊:第 101 期

1、杨广中教授谈医疗机器人(英文)

杨广中是上海交通大学医疗机器人研究院的院长。他从国外回国,现在隔离在上海的一家旅馆里。过去的一周中,他一直没离开房间,每天唯一的访客是一名酒店员工来测量体温,还有一个小型机器人,可以自动送饭。

IEEE Spectrum 杂志对他进行了远程采访,访问他对医疗机器人行业发展的想法。下图是已经在武汉得到采用的紫外线消毒机器人,自动对病房进行紫外线照射消毒。

2、远程会议的设备建议(英文)

家中举行远程会议或者直播,需要做哪些准备工作?作者提供了一些建议,比如可以坐在衣橱中,让周围的衣服吸收回音。同时,他还可以给出了音频和视频设备的推荐,比如为了照亮脸部,可以购置一个 LED 面板灯,下图为效果对比。

3、RSA 的原理与实现(中文)

本文用简单的语言和数学推导,介绍了公钥加密 RSA 的原理。(@cj1128 投稿)

4、我在硅谷的9年(英文)

2010年,作者从巴西来到美国,为硅谷一家创业公司工作。这家公司最终变成了 Trip.com,并被收购,他就套现离开了。这篇文章回顾了他九年来在美国的工作历程。

5、写给新软件工程师的一封信(英文)

作者给进入这个行业的新人,提供了几点建议(上图),我觉得说得相当好。新人对这些建议肯定没有很深的体会,但是工作几年以后,再回头看,你会觉得这才是正确的路。

6、User-Agent 新方案

浏览器向服务器发请求的时候,都会带有一个User-Agent字段,表明客户端的一些软件信息。Chrome 浏览器打算冻结这个字段,本文介绍新方案的细节。

7、GitHub 的官方 RSS Feed

GitHub 官方有提供 RSS Feed,但没写在文档里面,这篇文章给出了地址。

8、WordPress 团队的 PHP 编码标准(英文)

WordPress 团队最近更新了他们的编码标准,为全面升级到 PHP 7.x 版本做准备。

9、如何检测用户是否使用了 adblocker?(英文)

相当一部分用户安装了浏览器的广告拦截器 adblocker,这篇文章介绍如何检测出这些用户。

10、如何使用线性代数进行几何变形(英文)

作者在网页上给出直观的、可以互动的演示,展示几何变形与线性代数之间的关系。

100科技爱好者周刊:第 100 期

1、PlayStation 5 vs Xbox Series X 硬件比较(中文)

今年就要发布的两大游戏机 PlayStation 5 和 Xbox Series X,硬件基本相同。如果你想同时玩这两个平台的独占游戏,就不得不同样的硬件买两套。索尼和微软真的可以考虑走 Steam 的模式,只出售主机操作系统,把硬件改成开放平台,让第三方厂商去做,反正现在硬件都是亏的。

2、《人类简史》作者赫拉利谈流行病(中文)

面对2月以来新冠肺炎疫情在全球范围内的快速蔓延,赫拉利撰写了这篇文章,在《三联生活周刊》独家中文刊发。

他的核心观点是,关闭国界不是阻止病毒传播的好办法,人类应该加强合作,而不是互相指责。对病毒的最佳防御不是隔离,而是信息。另外,他在《金融时报》发表的长文《冠状病毒之后的世界》也可以参考。

3、日历版本的实施方案(英文)

图数据库软件 Dgraph 决定从语义版本切换到日历版本YY.0M.PatchNumber,本文介绍 Dgraph 的实施方案。

4、我如何使用 Speech Synthesis API 自动生成语音(英文)

作者给出了一段简短的代码,使用 Speech Synthesis API 进行语音生成,让浏览器自己读出博客内容。

5、过去66年的66项最佳年度发明

这篇文章展示了从1954年开始,每一年的年度最佳发明,比如1954年是微波炉,1955年是脊髓灰质炎疫苗,1956年是计算机硬盘,2019年是世界最大的电动车 eDumper(上图)。

6、使用树莓派自制热像仪(英文)

作者介绍自己如何使用树莓派,制造了一个便宜的热像仪,可以感知人群中体温偏高的人。

7、使用 Jekyll 和 GitHub Pages 创建个人网站(英文)

一篇非常详细的操作指南,如何使用 Jekyll 建立一个静态网站,并发布到 GitHub Pages。

8、击败垃圾留言机器人(英文)

作者介绍一个小技巧,防止机器人通过网页表单,提交垃圾留言。方法是为表单元素<form>加上一个data-action属性,真正的提交地址放在这个属性里面。

9、化石燃料的未来(英文)

这是一篇投资咨询公司写的能源价格分析,文章比较长,但是值得一读。作者认为,随着绿色能源价格不断降低,化石燃料(石油、煤、天然气)将进入“永久的熊市”。

下图是过去三年,能源股票的价格变化。蓝线是 SP500 指数,上涨了40%;绿色是太阳能股,上涨了80%;橙线是石油天然气,红色是煤炭,都是下跌的。也就是说,化石能源的股票走势都很糟糕。

10、三种数据类型(英文)

作者认为,软件的数据分为三种:常量(不可变,也不可替换)、状态(可变可替换)和缓存(不可变,但可替换)。

99科技爱好者周刊:第 99 期

1、SQL 中的 NULL 你真的懂了吗?(中文)

SQL 中的 NULL 到底是怎样一个概念呢?有什么要注意的吗?这篇文章就是要把它讲清楚。第 98 期英文版的中译。(@9527q 投稿)

2、戴森印象记(中文)

2020 年 2 月 28 日, 著名物理学家弗里曼·戴森 (Freeman Dyson) 在美国去世, 享年 96 岁。戴森去世的次日早晨, 我收到《上海书评》编辑的微信, 约写一篇关于戴森的文章。 我说我只能写一篇不全面, 且并非一味 “点赞” 的文章。

3、AWS 精萃介绍(英文)

AWS 是世界排名第一的云服务,本文以简单易懂的语言和图片,解释它的几个主要服务:DynamoDB、S3、EC2、ELB 等等。

4、适合自己架设的开源远程办公软件(英文)

很多企业进行远程办公时,使用自己架设的开源软件会更方便,本文就介绍一些主要的选择。

  • 聊天:Mattermost 和 Matrix
  • 云存储:Nextcloud
  • 项目管理:Redmine
  • 代码托管:Gitlab

5、创业公司的23条规则(英文)

作者以自己创业的亲身体会,总结了23条经验,我觉得有几条写得非常好,比如一定要有经常性收入;不要提供免费版,宁愿提供试用版;尽量选择有多个厂商支持的平台或技术。

6、中国地图坐标简介(英文)

中国的地图坐标不同于国际通用坐标,在标准地图会产生几百米的偏移,必须采用算法换算。

7、SQLite vs MySQL vs PostgreSQL:关系数据库管理系统的比较(英文)

本文对标题里面三种关系型数据库进行了简要介绍,提出各自的优缺点和适用场景。

8、齿轮原理(英文)

一篇很好的科普文章,通过可视化图形,通俗介绍齿轮传动的原理。

9、高性能前端架构(英文)

本文总结了提高前端网页性能的各种措施。

10、一次浏览器前端加密的逆向工程(英文)

作者浏览一个网站时,发现该网站的加密通信是在前端完成的,即用公钥在前端进行加密和解密,于是进行了逆向工程,还原出明文信息。

98科技爱好者周刊:第 98 期

1、如何从日志中提取信息?(英文)

作者介绍如何使用 Bash 脚本,从服务器日志中提取攻击者的信息,并且进行统计。

2、YAML 表示多行字符串的9种方法(英文)

YAML 格式虽然简洁,但是语法规则有很多复杂的地方。这个 StackOverflow 答案总结了表示多行字符串的9种方法。

3、Wacom 绘图板如何追踪我的行为(英文)

作者发现 Wacom 绘图板这样的鼠标类工具,居然在追踪用户行为,把用户的每一次点击发回服务器。本文介绍他如何破解 Wacom 发送的 HTTPS 请求。

4、ECMAScript 2020(ES2020)的新增语法(英文)

本文介绍 ES2020 标准6个新增的语法。

5、.NET 的可悲状态(英文)

作者认为,微软 .NET 技术远不如 Java 成功,主要有两个原因。一是 C# 设计师转向设计 TypeScript,导致 C# 语言创新停滞;二是 .NET 跟 Linux 系统脱节,没法参与云开发。相比之下,Java 却越发繁荣,语法快速进步,并且有重要的云软件:大数据(Hadoop)、搜索(Elasticsearch)和消息处理(Kafka)。

6、SQL 的 NULL 值(英文)

本文通过各种 SQL 小例子,解释 NULL 值的用途和带来的问题。

7、我如何配置一台 Linux 桌面电脑(英文)

作者详细记录了架设自己的 Linux 桌面电脑的过程,包括如何选购硬件和安装软件。

8、如何为网站添加 CSS 暗模式?(英文)

本文使用一个简单的技巧,为网页部署暗模式(dark mode)。由于使用浏览器内置的prefers-color-scheme设置,所以代码量很小。

9、TypeScript 的怪异之处(英文)

本文记录了几个 TypeScript 使用过程中不符合直觉的地方。

10、家用太阳能可以维持一个网站吗?(英文)

作者把网站架设在一个树莓派上,电力完全来自太阳能。他在自家阳台铺设太阳能板,并使用一个168瓦的电池,网站在线率可以达到98.2%。他由此得到结论,如果提高电池容量,纯太阳能完全可以支持一个个人网站。

97科技爱好者周刊:第 97 期

1、Shopify 采用 React Native(英文)

Shopify 决定放弃原生应用,改用 React Native 开发他们的手机 App,这篇文章详细解释了为什么。

主要原因有三个,一是节省开发成本、缩短开发周期;二是他们在 Web 上已经采用 React,对这项技术比较熟悉; 三是他们的 App 不是那么复杂。

2、Internet Explorer 曾有过的创新(英文)

微软已经放弃了自己的 Trident 浏览器引擎,改用谷歌的 Blink 引擎。本文回顾了历史上 Internet Explorer 浏览器的众多创新,数量非常多。

3、静态网站为什么需要 HTTPS(英文)

本文总结了对 HTTP 网页进行攻击的方法。

4、我编程20年的指导原则(英文)

一个编程20年的资深程序员,总结自己编写软件的原则,其中一条是:安全性 > 可用性 > 可维护性 > 代码简洁 > 性能 。另一条是,除非已经完全理解了所要解决的问题,否则不要动手写代码。

5、41种 SaaS 产品营销策略(英文)

提供 SaaS 服务的公司越来越多,如何才能有效地推广自己的服务?这篇长文总结了41种 SaaS 营销方法。

6、松本行弘谈 Ruby 语言的设计(英文)

Ruby 语言创始人松本行弘的访谈,介绍他对设计 Ruby 语言的想法,内容包括静态类型和动态类型的处理、未来 Ruby 的发展方向。

7、软件认证浪费时间和金钱(英文)

作者提出一系列理由,认为各种软件资格证书并无意义,不值得为了它们花费时间和金钱。

8、TypeScript 的问题(英文)

作者记录了他使用 TypeScript 过程中,觉得不够满意的地方。有些是可以解决的,有些属于语言的核心设计,很难解决。

9、我使用 Google Cloud Run 的经历(英文)

谷歌云的 Cloud Run 服务可以“按需启动”的方式运行 Docker 容器,作者使用这个服务部署自己的 Serverless 应用,每月的费用不足一美元。

10、OT 还是 CRDT?(英文)

网页编辑器 TinyMCE 项目打算增加多人实时协作功能。目前,编辑器同步有两种主要算法:OT 和 CRDT。本文比较这两种算法各自的特点,并附有参考链接。

96科技爱好者周刊:第 96 期

1、如何成功(英文)

这是 YC 总裁 Sam Altman 的推特长发言,摘录几条。

  • 一份无关紧要的工作是一个危险的陷阱,很多人都会掉进去。
  • 想让别人帮你,最好的办法就是你先帮他们,或者去做一些有趣的事。
  • 致富靠的是权益,而不是工资。

2、如何关闭一个 Node.js Web 应用(英文)

按下 Ctrl + C,退出一个 Node.js 服务进程时,怎样才能保证处理完所有清理工作,然后进程才会退出?

3、我如何管理知识?(英文)

一个程序员介绍他管理网址、笔记、代码的方法,以及所使用的工具。这里还有一篇其他人写的类似文章

4、如何打造一个 serverless 的微信小程序(中文)

作者使用 AWS Lambda 作为后端,开发了一个背单词的微信小程序《世凝听记》。(@smilingleo 投稿)

5、HTTP 接口设计方案(中文)

作者作为架构师参与多个移动应用的前后端开发,经过多年积累,渐渐稳定下一套后端 HTTP 接口设计方案。随方案提供了一个基于 Spring Boot 的简单实现。(@flmn 投稿)

6、如何阅读科研论文(中文)

有效地阅读论文,是每个研究生都必须掌握的技能。本文作者介绍一个简单的“三步法”,快速阅读科研论文。(@E-Tsai 投稿)

7、GOTO 语句被认为有害(中文)

Dijkstra 的《GOTO 有害论》在网上只有两个不太好的翻译版本。于是我花了15天翻译了此文。希望能对想用中文了解原文,历史,评价的人能有所帮助吧。(@emon100 投稿)

8、Mac 笔记本的低功耗模式(英文)

作者发现关闭 Mac 笔记本的 Turbo Boost 功能,可以有效降低功耗,大大延长电池的使用时间,而且性能没有明显下降。

9、lit-html 模板库用法(英文)

lit-html 是谷歌推出的一个网页模板库,使用了 ES6 的模板字符串语法。我认为这是目前最好的 JavaScript 网页模板方案。

10、我如何在 Udemy 卖课程?(英文)

作者介绍自己如何在 Udemy 出售和推销自制的 Flutter 视频课程,2019年销售金额为1.5万美元。

95科技爱好者周刊:第 95 期

1、C 语言主函数 main() 怎么写?(英文)

一篇 C 语言基础教程,讲解main()函数的语法知识。

2、如何使用 CSS 网格 Grid 制作简历?(英文)

本文通过一个制作简历的例子,展示 CSS 网格语法的灵活和方便。

3、过去十年最佳的15张太空照片(英文)

Vox 评选的15张照片,可以了解太空探索的最新进展。上图是冥王星表面的照片。

4、日期版本的方案

有人正式提出了“日期版本”(ChronVer)的方案,软件版本按照年月日编排。理由是用户更在乎最新版本的发布时间,而不是版本号。这里还有一篇文章,介绍日期版本的一些现有实例

5、我如何用机器学习生成甲虫图片(英文)

作者介绍自己如何用数据训练,生成不存在的甲虫图片,甚至可以生成跟某张人像最接近的甲虫(下图)。

6、从头构建一个 BitTorrent 客户端(英文)

本文介绍 BitTorrent 点对点下载的原理,并给出 Go 语言的实现。

7、区块链的共识机制(英文)

本文使用图片和例子解释,区块链作为一个分布式数据库,如何取得写入数据的共识,以及51%攻击是什么。

8、GitHub Actions v2 的新语法(英文)

本文介绍 GitHub Actions 新引入的一些语法,主要介绍的是如何提供命令的输入(input)、如何使用命令的输出(output)。这里还有一篇 JavaScript 项目的实例,可以作为参考。

9、如何在主机和 Docker 容器之间复制文件(英文)

软件以 Docker 容器发布的情况越来越多,docker cp命令可以在容器内外复制文件。

10、JavaScript 新的管道运算符(英文)

本文介绍目前处在阶段一的 JavaScript 管道运算符(|>)语法提案。

94科技爱好者周刊:第 94 期

1、过去十年的十大科学发现(英文)

《新科学家》杂志评选的2010年到2019年的科学发现,排在第一位的是,欧洲核子研究中心(上图)发现希格斯玻色子。

2、提早退休(英文)

这是维基百科的条目,介绍正在兴起的一种社会运动,能否通过高度储蓄,实现提前退休?具体做法是,年收入的50%以上都储蓄,目标是把每年的消费压低到你个人财富总额的4%。

3、程序员工资高的原因(英文)

律师和医生需要多年训练,才能拿到高薪,相比之下,程序员年纪轻轻就能拿到高薪,原因是什么?他分析了几个原因,并提出程序员应该做好低收入的准备,不会一直拿这种薪水。

我觉得,他忽略了一个事实,律师和医生可以做到退休,而且越到后面,薪水越高。程序员很难做到退休。如果计算整个职业生涯的收入,程序员可能一点都不高。

4、如何扫描二维码连入 WiFi(英文)

安卓和 iOS 现在都允许扫描二维码,然后连入 Wifi。因此,可以将 WiFi 密码设得非常长,提高安全性。本文介绍如何通过 qrencode 这个工具,生成二维码。这里还有一个 Web 工具,可以在线生成 WiFi 的登录二维码。

5、如何生成非矩形的视频画面(英文)

本文是一篇简单的教程,讲解使用 ffmpeg 命令行工具,利用遮罩生成上图那样的非矩形的视频画面。

6、我亲身经历的东莞 3D 打印(中文)

一篇知乎的帖子。公司自己采购一台工业级光固化 3D 打印机,综合成本为1元/克,比深圳/东莞的外包采购价格还要贵50%,难道珠三角都在做亏本买卖吗?可怕的是,这样计算出的成本,还没考虑固定资产折旧。更可怕的是:他们不仅成本低,而且质量高、服务好。这到底是为什么?(@Ouroboros725 投稿)

7、GitHub 用户 Dash O'Pepper

作者使用 GitHub API 时,意外发现有一个用户 Dash O'Pepper 的用户名是连词线(-),这个用户名无法在 Web 界面显示,但是他居然有13个 followers。

8、11款开源数据库简介(英文)

这篇文章介绍11种主要的开源数据库,每一种的特点和适用场景。但是不包括 MySQL,因为作者假设你在寻找 MySQL 的替代品。

9、我的十年回顾(英文)

著名 JavaScript 程序员、Redux 作者 Dan Abramov 回顾自己的过去十年,从一个没有上大学的俄罗斯高中毕业生,到 Facebook 公司 React 团队的重要成员。

10、令人困惑的时间和时区(英文)

这个网页收集了许多关于时间和时区的有趣事实,比如尼泊尔时间是国际标准时加上5小时45分,再比如日本在海参崴东面,但是日本的时间晚于海参崴。

93科技爱好者周刊:第 93 期

1、React 的开发团队个人简介(英文)

这是 React 官网的团队介绍页面,10个成员每人一张照片和一段自述,写得很有意思。

2、我们为什么选择 Go 语言?(英文)

可汗学院的后端是用 Python 2 写的,本文介绍为什么他们不升级到 Python 3,而是选择用 Go 重写。

3、Instagram 的第一张照片(英文)

Instagram 的照片 URL 是按顺序编号的,所以可以找到第一张上传的照片。那是创始人凯文·西斯特罗姆(Kevin Systrom)在2010年7月16日下午2点24分上传的,内容是拖鞋和一条狗,描述中写着“测试”。

4、Epic Games CEO 的故事(英文)

Epic 游戏公司是热门游戏 Fortnight 的开发商,本文介绍了它的49岁 CEO 蒂姆·斯威尼(Tim Sweeney)。他的个人财富价值达到了72亿美元,排名世界第244位。他是程序员出身,没有结婚也没有子女,使用个人财产购买了美国数万英亩的林地,加以保护。

5、我的 SaaS 产品失败分析(英文)

作者启动了一个自己的 SaaS 产品,失败以后进行了分析,主要是对技术栈的选择和任务的优先级进行了检讨。

6、服务器的定义(英文)

我们经常提到服务器,但是到底什么是服务器?这篇文章讨论了服务器的含义,它既可能是硬件,也可能是软件,取决于上下文。

7、为什么 npm 锁文件是一个安全隐患?(英文)

Node.js 的模块管理系统 npm,会自动生成锁文件package-lock.json。作者提出,下毒者可以偷偷修改这个锁文件,加入恶意模块,而很难被发现。

8、2019年十大产品创新(英文)

国外网站评选的年度最佳产品创新,我最喜欢其中两个产品。

  • 罗技的残疾人游戏手柄,各个按钮可以分离,用脚或肘来按。
  • 阿迪达斯的可循环运动鞋,穿旧了就直接送去粉碎,当作原料接着制造新鞋。

9、Mac Pro 使用体验(英文)

Lunar 是一家电影动画工作室,本文是他们使用最新的 Mac Pro 的总结。

10、互联网用户追踪技术(英文)

本篇长文对各种互联网用户追踪技术进行总结。

92科技爱好者周刊:第 92 期

1、void 运算符在 ES6 的运用(英文)

JavaScript 语言的 void 运算符,不是一个很有用的运算符。但是作者提出,它在 ES6 中可以用来提示某个操作具有副作用。

2、使用 pyhttptest 轻松测试 RESTful API(英文)

本文介绍了一个 Python 工具 pyhttptest,可以很方便地对 REST API 进行测试。

3、CSS 圆形的写法(英文)

本文总结了使用 CSS 在网页上生成一个圆形的四种方法,然后讨论了这些方法的应用。

4、北极何时出现第一个无冰的夏天(英文)

北极没有陆地,就是一块巨大的海冰大陆。本文是长篇科学报道,介绍气温上升对北极的影响,科学家分析合适北极的海冰最快会在什么时候完全融化。

5、我制作了室外电脑椅(英文)

本文作者介绍他如何制作一把室外的电脑椅。

6、海耶达尔的 Kon-Tiki 航行(英文)

一般认为,南太平洋岛屿的原住民来自东南亚,但是挪威航海家海耶达尔认为,南美洲印第安人也有可能乘坐木筏到达那里。为了证明这是可能的,他于1947年进行了一次实验,亲身乘坐一艘名为 Kon-Tiki 的木筏,在没有任何现代动力的情况下,从秘鲁漂流到复活节岛,历时97天。

本文介绍了他的这次壮举。海耶达尔后来写过一本书《Kon-Tiki Voyage》,记录这次航行,中译本为《孤筏重洋》,推荐阅读。

7、Git 的提交信息怎么写?(英文)

提交代码的时候,需要写提交信息。本文介绍如何规范地写提交信息。

8、JavaScript 设计模式(英文)

一组系列文章,通过 JavaScript 语言的例子介绍各种设计模式,同时也给出 TypeScript 语言的示例。

9、ES6 模块字符串打造 HTML 模板库(英文)

本文提出,由于 ES6 引入了模板字符串功能,专门的网页模板库已经没必要了。

10、我为什么从谷歌离职?(英文)

作者在谷歌工作了四年,由于晋升失败,开始认识到只有那些看得见的工作成绩,才会对晋升有帮助,最终对这个工作产生了厌倦。所有想了解工程师如何在大型互联网公司生存下来的人,都应该读读这篇文章。

91科技爱好者周刊:第 91 期

1、我的创业产品如何被2.2万美元收购?(英文)

一个印度大学毕业生自述,他如何找到创业的点子,做了一个小产品,然后把它卖掉。

2、神曲背后的创业公司(英文)

本文介绍一家北京创业公司,专门为社交媒体制作病毒式传播的音乐作品,比如抖音的《学猫叫》。

3、Intel 与 AMD 的比较(英文)

2019年10月,微软发布 Surface Laptop 3 笔记本电脑。这台电脑非常罕见地有两种配置,一种是 Intel 的 CPU + GPU,另一种是 AMD 的 CPU + GPU。本文就对这两种配置进行了比较,结果是 CPU 方面 Intel 略占上风,GPU 方面 AMD 较好。

4、实用的 RESTful API 最佳实践(英文)

本文介绍了20多个 RESTful API 的最佳实践。

5、过去10年的20大科学发现(英文)

《国家地理》杂志的长文,回顾21世纪10年代人类取到的20大科学发现。

6、如何使用 Docker Compose 安装 PostgreSQL(英文)

一篇简短扼要的教程,如何使用 Docker Compose 很方便地安装 PostgreSQL。

7、CSS Class 的顺序不重要(英文)

本文解释为什么 HTML 元素的 class 属性值的顺序不重要。

8、网页游戏的 JavaScript 脚本剖析(英文)

网页游戏的 JavaScript 主循环应该怎么写,这篇文章一步步进行了讲解。

9、Unity 与 Unreal 引擎的比较(英文)

Unity 与 Unreal 是两种 3D 游戏、VR、AR 的常用开发工具,本文对它们进行全面的比较,看看哪一个更好。

10、网页第三方追踪原理(英文)

很多网站通过第三方 Cookie 追踪用户,本文以 Facebook 为例,介绍它如何通过一张1像素的图片,追踪用户访问过哪些网站。

90科技爱好者周刊:第 90 期

1、我如何找回失去的域名?(英文)

作者拥有的域名,被域名管理当局错误地回收。本文记录了他如何维权,不断投诉,最终要回域名的故事。如果你也失去对域名的控制,可以参考他的做法。

2、飞机上网的原理与现状(英文)

本文介绍民用航班上网的解决方案,以及存在的问题。

3、日本旅行指南(英文)

一个美国程序员在日本住了一年以后,写的一份日本旅游的简单指南。

4、Mithril 框架入门(英文)

Mithril 是一个前端 JS 框架,只有 9.5KB,如果你感到 React 或 Vue 太重,应该看看这个框架。

5、一元二次方程的新解法(英文)

古代巴比伦人在4000年前,就发现了一元二次方程的求解公式(上图)。本文提出了一种新解法,可以简化这个公式的推导过程。

5、Cloud Run 托管网站(英文)

Cloud Run 是谷歌云的一个 Serverless 服务,特点是直接抓取 Docker 镜像文件运行,不用自己部署文件。

本文介绍作者如何使用这个服务,部署自己的静态博客网站。此外,网上还有一份 Cloud Run 介绍,也可以参考。

6、大炮 DDOS 攻击分析(英文)

大炮 DDOS 攻击指的是,将恶意脚本通过大型网站分发。只要有人访问被感染的大型网站,就会加载恶意脚本,然后他的浏览器就会向目标网站快速发出大量请求。这样的用户一多,就形成了 DDOS 攻击,导致目标网站下线。

7、手机如何提高数码照片的质量?(英文)

这篇文章很长,详细介绍了旗舰手机采用的各种措施,让用户拍出更高质量的照片。

8、为什么他能成为谷歌新当家?皮查伊的登顶之路(中文)

随着两位创始人的隐退,印度人皮查伊成为谷歌的最高管理者。皮查伊1972年出生在印度,但家境并不算富裕,小时候家里都没有冰箱,他父亲是个电气工程师,母亲是名速记员。印度理工学院毕业后,来到斯坦福大学就读数学和半导体物理。

9、Git 原理解释(英文)

本文用通俗的示例和图片,解释 Git 进行版本管理的原理。

10、瑞典视频制作女孩 Simone Giertz 的故事(英文)

《连线》杂志的长篇文章,介绍29岁的瑞典女孩 Simone Giertz,她在 Youtube 发布视频,拍摄自己如何制造各种机械装置。她的最新作品是把一辆特斯拉汽车,改装成小卡车。去年,她得了良性脑瘤,目前还在接受化疗。从她身上,可以看到国外年轻人在干什么。

89科技爱好者周刊:第 89 期

1、苹果和 Nvidia 分手了(英文)

Nvidia 公司的并行计算平台 CUDA 将不再支持 Mac 电脑,而 Mac 电脑一贯是使用 AMD 公司的 GPU,这到底是怎么回事。

2、如何使用 Bash 命令进行数据处理?(英文)

处理数据文件,现在主要使用 Python 语言。但是,命令行的 Bash 命令也可以用于数据处理,简便又快速,本文讲解几个主要的命令。

3、我在南极科考的三个月(中文)

谷帅目前在杜克大学环境学院念博士,主攻海洋生物地球化学循环,因为科研项目,他第一次前往南极,在美国的南极科学考察站——帕尔默科考站,度过三个月的科考时光。

4、氢燃料的优点、缺点和可行性(英文)

本文较系统地讨论了,氢气作为清洁能源的前景。

5、文本注释工具评论(英文)

作者网络阅读的时候(包括网页、PDF 和 Kindle),需要做笔记。他点评了市场上目前的各种笔记工具,介绍了自己的选择。

6、我在5天内重拍 Mac 系统默认壁纸(中文)

从 OSX 10.9 版本开始,macOS 每个版本的命名都是美国加州的一个地名,同时会发布一张或者一套该地拍摄的系统壁纸。我想尝试重新拍摄 Mac 每个版本的默认壁纸。(@baochuquan 投稿)

7、谷歌的 AGPL 许可证政策(英文)

威力最大的开源许可证是 AGPL,它规定只要网络服务含有 AGPL 代码,整个服务的代码都必须以 AGPL 许可证开源。谷歌和苹果都明确规定,自家产品不得包含任何 AGPL 代码。

8、如何制作一个 NFC 纽扣(英文)

本文介绍作者如何把 NFC 芯片用树脂封装成一颗纽扣,然后手机就能从这颗纽扣读取数据。

9、使用 GitHub Actions 创建 Docker 镜像(英文)

本文通过详细的解释,介绍如何实现 GitHub 仓库发布新版本时,自动生成 Docker 镜像并提交到 DockerHub。

10、脸书的防广告拦截器措施(英文)

脸书页面上有很多广告帖。

为了防止广告拦截器,实际的 HTML 代码是下图那样,并且还插入了动态生成的随机字符,使得你不可能写出 CSS 选择器,将广告帖屏蔽。

88科技爱好者周刊:第 88 期

1、如何写出可复用的 CSS 样式表?(英文)

Tailwind CSS 框架的作者谈自己如何一步步探索,写出与 HTML 代码彻底分离的、可以复用的 CSS 样式表。

2、如何自己实现一个 React 框架(英文)

本文一步步用简单的代码讲解,如何自己从头实现 React 框架。

3、我如何创建一个每月获利6万美元的手机 App(英文)

作者介绍如何一个人开发一个手机 App,让用户使用银行卡通过 Stripe 的 API 进行付款。目前,每月处理的资金量为600万美元,利润为6万美元。

4、新能源汽车的未来在哪?(中文)

中科院院士、新能源汽车专家欧阳明高的演讲,分析电动车技术与电动车行业目前的形势与展望。

5、亲手触摸月球,会是什么感觉?(中文)

月球尘埃是很好的隔热材料,所以徒手压在最热的月球土壤上,可能不会感到太烫,但是岩石就不一样,会非常烫。

6、隧道掘进机示意图(英文)

本文收集了大量动画图片,展示各种隧道掘进机的工作原理。

7、我如何制作 3D 网页?(英文)

作者的主页是一个 3D 网页,他介绍了这是怎么制作的。

8、最佳旅行电子设备2019版(英文)

本文列出作者选择的2019最佳旅行时携带的电子产品。

9、我们制作 HTML5 游戏的所有工具(英文)

作者是专业的 HTML5 游戏开发商,介绍了他们团队使用的工具。

10、Makefile 教程(英文)

本文教你学会编写 Makefile 文件。

87科技爱好者周刊:第 87 期

1、如何绕过 GitHub 的 OAuth 认证(英文)

作者介绍他如何通过发出一个HEAD请求,来绕过 GitHub 的 OAuth 认证,获取没有授权的数据。GitHub 为这个漏洞支付给他25000美元的奖金。

2、Pixar 的技术(英文)

本文通过图片,介绍 Pixar 公司如何制作动画电影。

3、CSS 打印样式10分钟教程(英文)

一篇简短的教程,讲解如何使用 CSS 设置网页打印时的样式。

4、JSON 解析器的最大嵌套层数(英文)

JSON 数据结构可以嵌套多少层,标准没有提及。作者就写了一个脚本,去测试每种语言的 JSON 解析器最多可以解析多少层嵌套的 JSON,然后将结果列成表格,比如 Node.js 可以解析5712层。

5、20行 Shell 脚本的马尔可夫链(英文)

马尔可夫链的含义是根据概率推测下一项最可能的结果。本文使用20行 Shell 脚本实现一个简单的马尔可夫链。

6、Linux 软件包的打包方式(中文)

本文以一个最简单的 Hello World 程序为例,解释如何打包成一个 RPM 软件包。

7、实时协同编辑的实现(中文)

本文以作者自己开发的 ShowMeBug 应用为例,介绍如何实现多人同时编辑一篇文档。(@windy 投稿)

8、我对 Rust 语言的第一印象(英文)

本文是一篇 Rust 语言的入门教程,作者整理了自己的学习笔记,讲解了基本语法。

9、什么是瀑布式开发?(英文)

瀑布式开发是敏捷开发之前的传统方式,将整个过程分成几个大步骤,每个步骤完成以后才能推进下一步。本文是马丁·福勒大师解释,瀑布式开发的含义,以及为什么敏捷开发优于它。

10、为什么 Python 3 升级需要这么长时间?(英文)

这篇文章探讨了,为什么 Python 2 升级到 Python 3 花了这么长时间(超过10年)?主要原因有两个,一是企业升级的成本很高,且有很大风险,二是 Python 3 一开始的时候优点并不多, 没有足够的升级诱因。

11、海盗湾正在尝试高质量的视频流播放(英文)

海盗湾是世界最大的 BitTorrent 文件下载分享网站,现在添加了一个视频播放功能,可以跳到一个叫做 BayStream 的新平台上,播放热门的视频文件。

86科技爱好者周刊:第 86 期

1、QR 码在中国到处可见(英文)

一个老外来到中国,感叹 QR 码在国内的广泛使用。他在这篇文章里面,列出了他见到的 QR 码的16个使用场景。

2、Karatsuba 算法(英文)

Karatsuba 是1960年发现的一种快速相乘算法,可以大大减少大整数相乘的计算步骤。

3、日落的几何学(英文)

如果地球是平的,日落在水中的倒影照片应该像下面这样。

但是实际上,由于地球是圆的,照片是下面这样。

本文根据几何学,推导一个公式,可以根据日落的半径,算出地球的半径。

4、WebAuthn 密钥入门(英文)

WebAuthn 是互联网密钥登陆的国际标准,属于一种双因素认证的方法。本文对用户的密钥硬件和使用方法,进行长篇介绍。

5、git rebase 是有害的(英文)

本文详细解释理由,建议不要使用 git rebase 命令,至少不要在多人开发的分支上使用。

6、不要把 DNS 的 TTL 设得过低(英文)

购买域名的时候,都要设置 TTL 参数。它表示 DNS 记录的缓存时间,如果设得过低,浏览器就会不停发出 DNS 请求,这完全没有必要。本文作者建议,TTL 可以设成40分钟到1小时。

7、使用浏览器的 AudioContext API 生成用户指纹(英文)

很多网站想追踪用户,但是浏览器对 Cookie 的限制越来越严,于是有人想出使用音频 API,为每个用户生成一个音频指纹,通过这个指纹追踪用户。本文给出代码实例。

8、Firefox 和 Chrome 为何要革 EV 证书的命(中文)

最贵的域名加密证书是 EV 证书,即企业认证证书。但是,新的 Firefox 浏览器不再显示 EV 证书标志,使得有没有这个证书在页面视觉上没有差异。本文讨论背后的原因,认为 EV 证书有可能死掉。这里还有另一篇文章也可以参考。(@dallaslu 投稿)

9、表格的体验优化

本文采用大量示意图,展示了表格应该怎么设计,才能让用户获得最佳的使用体验。

10、如何编写一个编程语言的垃圾收集器?(英文)

垃圾收集机制是编程语言的重要特性,有助于程序保持性能,减少内存消耗。本文使用简单的代码,介绍如何自己写一个垃圾收集器。

85科技爱好者周刊:第 85 期

1、HTTP 协议基础(英文)

HTTP 是一个比较简单的协议,本文在不长的篇幅中,对它的基本内容做了一个完整介绍。(@weinberggithub 投稿)

2、铁的历史(英文)

长篇科普文章,有大量插图,介绍人类使用铁的历史。最早,人类从陨石中发现了铁,用它制造工具,从而进入铁器时代,然后逐步发现了铸铁和锻铁,直至近代的钢铁。

3、为什么会有非绿色植物?(英文)

植物依靠光合作用,将二氧化碳转变为糖,从而获取能量。完成光合作用的叶绿素是绿色的,所以大部分植物都是绿色。但是,有些植物完全不绿,它们怎么获取能量?

4、谁杀了滚动条?(英文)

现在有些桌面网页也学习手机,隐藏滚动条,这篇文章认为这种做法不好。

滚动条可以提示页面的长度,还提供了一个快速移动到页首或页尾的方法。你把它都隐藏掉,确实更整洁了,但对使用者(尤其是深入阅读的人)就很不方便。

5、我制作了一把智能椅子(英文)

本文使用大量照片,记录了一个美国少年如何在自己家里,制作一把智能椅子。他先从网上,用25美元淘了一个破沙发(上图),最终改装成下图的样子,可以接受指令进行远程操作。

6、macOS、Windows、Ubuntu 性能比较(英文)

作者在同一台 MacBook Pro 上面安装 macOS、Windows、Ubuntu 的最新版本,比较它们的性能。

7、代码移入数据库(英文)

作者说,这些年他一直在改变工作语言,1997年是 Perl,1998年是 PHP,2004年是 Rails,2007年又是 PHP,2012年是 JavaScript。每改一次,有些代码就要重写一次。但是,后台的数据库从来没有变过,那么为什么不把逻辑写进数据库呢?

8、手机网页避免使用 100vh(英文)

手机浏览器由于会自动显示/隐藏地址栏,所以网页如果设成高度为 100vh,会有一部分看不见,可以参考 CSS TricksStack Overflow 的解决方法。

9、CSS 伪元素的罕见用例(英文)

本文介绍一些通过 CSS 伪元素实现的奇妙的网页效果。

10、备份软件比较(英文)

这是一个 Hacker News 的帖子,讨论数据备份软件的优缺点,主要是 Restic 和 Borg 的比较。

84科技爱好者周刊:第 84 期

1、 DNS 基础知识与 dig 命令(英文)

本文讲解 DNS 的基本知识,然后用 dig 命令演示如何获取 DNS 信息。

2、C++ 创始人 Bjarne Stroustrup 访谈(英文)

编辑访问 Bjarne Stroustrup,请他谈谈怎么发明 C++,并且回答 StackOverflow 上面得票最高的5个 C++ 问题。

3、恶意的 SSH 访问分析(英文)

暴露在互联网上的服务器,每天都会收到大量的恶意 SSH 登录请求。作者分析了自己服务器的98万次 SSH 日志记录,看看能发现什么。

4、Elm 开发教程(英文)

本文很长,介绍 Elm 语言的语法知识,如何用它写一个网页应用。

5、AWS 的数据迁移费(英文)

亚马逊云服务 AWS 的费用包含一项“数据迁移费”(data transfer)。本文分析 AWS 头部客户的这项费用,可以借此了解云服务的付费情况。

6、贫铀对伊拉克儿童的影响(英文)

贫铀是铀浓缩过程的副产品,带有放射性,用于炸弹可以刺穿装甲。美军在伊拉克战争中大量使用贫铀弹,造成了无法清除的严重污染,使得许多新生儿有先天畸形。

提醒,谨慎打开上面链接,本文带有畸形新生儿的照片,会让人不适。

7、钴元素在电池的应用现状(英文)

本文是一篇新闻报道,详细介绍钴元素的应用和开发现状。锂电池的阴极目前采用钴元素的效果最好,这导致钴价飞涨,很可能会影响电动汽车的普及速度。世界三分之二的钴产量来自刚果民主共和国。

8、Web 图标指南(英文)

本文介绍四种常用的图标解决方案:CSS Sprite、图标字体、内嵌的 SVG 图像、SVG 文件。

9、Swift 学习数据科学指南(英文)

数据科学通常使用 Python 语言,但是其他语言也可以。本文从零开始教你使用 Swift 语言来做数据科学项目。

10、Web 缓存投毒攻击(英文)

访问网页,大多数时候都要通过缓存服务器,CDN 就是一种缓存。有可能做到缓存服务器投毒,从而使得网站无法访问,本文介绍它的原理。

11、我用AI机器人留住去世的父亲(中文)

上周,我推荐《连线》杂志的这篇长文。儿子得知父亲晚期肺癌以后,进行谈话录音,把内容做成一个对话机器人,父亲去世后还能跟他对话。当时我说,希望文章能有中文版。真有网友翻译了,而且译得很好,我再次读依然感动。我们太强调技术胜过人,但技术也可以有人性。

83科技爱好者周刊:第 83 期

1、我比较了麦当劳最便宜和最贵的汉堡(英文)

一个美国记者详细比较了,当地麦当劳最便宜的汉堡(1.69美元)和最贵的汉堡(8美元),发现它们差异巨大。

2、如何将任意命令装为图形界面?(英文)

本文介绍使用 Gooey 这个工具为任何命令行的命令,生成一个图形界面,用户只需写一个配置文件即可。上图是一个 MP3 转换命令的图形界面。

3、我如何建造一个父亲对话机器人(英文)

这是一篇长篇散文。作者的父亲是癌症末期,作者录下了自己与父亲的对话,利用这些对话资料,建造一个人工智能的对话机器人。父亲去世以后,跟机器人对话,机器人说出父亲会说的话。我很喜欢这篇文章,希望有人会把它译成中文。

4、PHP 的这25年(英文)

PHP 创建者 Rasmus Lerdorf 的一次讲演,回顾自己创造 PHP 语言的这25年。

5、Unix 先驱的密码(英文)

几十年前,Unix 源码公开的时候,/etc/passwd 文件也一起公开了。里面包含了早期使用者的密码哈希,因此可以从哈希破解出他们的密码,其中有5个人的密码一直没有破解。

最近有人使用最新的硬件,终于找出了这五个人的原始密码。其中最难的是 Unix 发明者 Ken Thompson 的密码p/q2-q4!,上个世纪80年代的密码,现在的硬件仍然需要计算4天才能破解。

6、Python 爬虫保存美国农业部网站的水果数据库(中文)

美国农业部为全世界已知水果制作了 7500 幅水彩“证件照”,并提供高清下载。作者讲述自己如何编写 Python 爬虫,抓取这些图片。(@jwenjian 投稿)

7、Costco 如何改变零售规则并成功?(英文)

Costco 是一家美国的连锁超市,采取了与其他超市不一样的模式,为实体店如何在网络时代活下去,提供了一些经验。

8、React Hooks 的原理(英文)

本文通过简单的代码,自己做了一个 Hooks 的简单实现,讲解 React Hooks 的原理。(@hacker0limbo 投稿)

9、谢耳朵猜想被证明(中文)

美剧《大爆炸理论》的主角谢尔登说,他最喜欢的数字是73。因为73是第21个质数,7 乘以 3 正好等于21,而且翻转过来也成立,37是第12个质数,宇宙中不会再有第二个这样的数字。电视剧播出后,这被称为“谢尔登猜想”,还真有数学教授写论文证明,这个猜想是正确的。

10、GraphQL 相对 REST 的优势(英文)

GraphQL 是客户端与服务器之间的一种数据请求方式,本文解释了它比 REST 好在哪里。

82科技爱好者周刊:第 82 期

1、软件工程师如何才能晋升?(英文)

本文总结了软件工程师如何才能在大公司里面获得职级晋升。

2、椭圆曲线加密介绍(英文)

本文抽离了数学细节,尽量用简单的图形解释椭圆曲线加密算法。

3、TypeScript 的由来(英文)

本文由当事人讲述 TypeScript 早期的故事,从中可以看到这门语言的设计过程。

4、数据库类型的历史回顾(英文)

本文按照历史发展,介绍了数据库的四种类型以及子类:传统数据库、关系型数据库、NoSQL 数据库、NewSQL 数据库。

5、两行 Nginx 配置返回客户端的 IP 地址(英文)

Nginx 的一个小技巧,在不使用编程语言的情况下,在 JSON 对象里返回客户端的 IP 地址。

6、AMD 与 英特尔的财务数据比较(英文)

本文比较这两家主要 CPU 公司的财务数据指标,可以了解 CPU 市场的格局。我印象比较深的是,这两家公司的员工平均收入都可以达到60万美元。

7、CSS 如何自动切换明暗模式(英文)

本文介绍如何让 CSS 根据不同设备,自动选择暗模式(dark mode)或明模式(light mode)。

8、Timsort 介绍(英文)

Timsort 是 Python、Java 等的默认排序算法,本文简要介绍这种算法。

9、C++ 生态环境介绍(英文)

本文介绍 C++ 的各种配套工具:编译器,IDE,调试器等。

10、如何估算银河系中的外星文明的数目?(英文)

1961年,美国天文学家弗兰克·德雷克(Frank Drake)提出一个方程,用于计算银河系中可能与地球发生无线电通信的外星文明数量,当时估计20个~5000万个之间。本文根据现在的数据计算,得出结果是46个。

81科技爱好者周刊:第 81 期

1、为什么秋天叶子会变黄?(英文)

一篇图文并茂的科普文章,制作精良。

2、华为 HR 五千字实名控诉(中文)

胡玲是一位从研发转岗到 HR 的华为员工,她的这篇5000字长帖讲述了她在 HR 岗位上几个月的感受。当研发员工月加班160多个小时的时候,HR 团队领导只关心160个小时中有多长时间是怠工;这位领导吃着公司200块一对的大闸蟹,却认为给食堂提意见的研发应该清退;当32岁的研发绩效B+被劝退的时候,40岁的 HR 同事上班摸鱼绩效三连B却还随心所欲。

3、JSON.stringify 如何影响 Node.js 的性能(英文)

JSON.stringify() 方法用于 JSON 对象的串行化,该方法对 CPU 的消耗很大,会影响 Node.js 的性能。本文是深入分析。

4、影响世界未来最重要的三件事(英文)

一篇非常好的英语长文,指出有三种大趋势将完全改变世界和每个人的未来。

5、六个画板程序的 Linux 替代品(英文)

本文介绍6个可以用来作画的 Linux 开源程序。

6、华为 MateBook X Pro 笔记本体验(英文)

一个澳大利亚开发者购买了一台华为 MateBook X Pro 笔记本,在上面安装 Linux,本文是他的总结。

7、网站发布到 IPFS 指南(英文)

一个简单的教程,教你如何把网站发布到 IPFS,并设置域名解析。

8、Bash 自动补全的工作原理(英文)

本文教你如何为自己的命令行工具,加上 Bash 补全功能。

9、学术论文的变化(英文)

本文是一个以色列研究团队分析了200年来5.28亿篇学术参考文献,所得到的一些发现。这些年来,随着论文数量激增,论文变得越来越短,而标题、摘要、作者列表和参考文献却越来越长,大量的自我引用。研究者认为,论文的发表数量和引用数量,已经成为学者主要追求的目标。

10、如何把回调函数转为 Promise?(英文)

JavaScript 的异步操作,传统上采用回调函数写法,本文介绍如何把基于回调函数的代码改为 Promise。

80科技爱好者周刊:第 80 期

1、如何实现网站的暗模式(英文)

本文介绍如何为网站添加暗模式(dark mode)。白天显示为亮模式,晚上使用脚本,自动切换成暗模式。

2、如何设置粘性页尾(英文)

一个 CSS 技巧,如何使用 Flexbox 布局将网页的页尾始终放置在窗口最底部。

3、S 表达式是更好的数据格式(英文)

如果不使用 XML 作为数据传递的格式,应该使用什么格式?答案是 S 表达式。

4、提交信息的规范(中文)

代码仓库的提交信息应该怎么写,这份规范标准可以参考。

5、隐藏字符加密(中文)

解释使用零宽度字符加密文本的原理。(@rover95 投稿)

6、JavaScript 编程技巧(英文)

本文总结了六种很有用的编程技巧,帮助你成为更好的 JavaScript 程序员。

7、如何确定电子邮件地址是否存在(英文)

本文使用 nslookup 命令确定一个电子邮箱是否存在。

8、如何写 Linux 的监控脚本(英文)

本文演示一个简单脚本,监控某个服务是否正常,如果启动失败就会发邮件通知管理员。

9、我为什么北大计算机图形学直博第五年退学(中文)

作者刚刚博士肄业,计算机图形学直博第五年退学,没有硕士学位。读博读到怀疑人生,所以就退了。退学之前作者问了自己五个问题,在全部想清楚回答之后,就毅然选择退学。

10、树莓派的局限(英文)

作者从硬件角度谈了树莓派三代的一些问题,以及由此导致的不合适使用的场景。

79科技爱好者周刊:第 79 期

1、Chrome 扩展的数量分析(英文)

本文分析 Chrome 商店的十多万个浏览器扩展,它们的类别和下载次数,以及哪些扩展最受欢迎。

2、Strml.net

一个很有意思的网站,会一行行显示自己的源码,页面跟着代码实时变化。实现方法可以参考这里

3、OLPC 项目的历史(英语)

2005年,麻省理工学院媒体实验室推出了100美元的 OLPC 笔记本电脑,目标是“每个孩子一个笔记本电脑”。2013年,该项目解散,公告写着“让我们对自己诚实。团结在一起的那种激动,活力和热情已经荡然无存。”本文回顾了这个项目的历史。

4、休假十周的感受(英文)

作者是一个程序员,离开工作岗位,进行了一次为期十周的长途旅行。本文是他的一些感受,如何从繁忙的工作中脱身,以及从旅行中得到了什么。

5、看清机器学习的炒作(英文)

作者认为,机器学习这个词是一种炒作,已经被神化了。实际上,机器学习就是要解决四类问题,每一类问题都有对应的算法,并没有神奇之处。

6、警惕多个同类型参数的函数(英文)

一个函数如果有多个同类型的参数,比如两个参数都是字符串f(string A, string B),作者认为必须警惕,因为容易误用,必须查文档才能分辨每个参数的含义。所以,函数定义时最好避免同类型的参数。

7、Chrome 浏览器的一键暂停播放功能(英文)

你在 Chrome 浏览器打开了20个标签,其中一个正在播放音乐或视频,你单击一个个标签找出到底是哪个标签在播放,这样很麻烦。Chrome 现在提供了一键暂停/播放功能,一个按钮让所有标签停止播放。

8、计算机科学经典书籍的书单(英文)

作者列出心目中最佳 CS 书籍,分成编程、算法、语言、系统和网络五个部分。(@nickmose8 投稿)

9、浏览器 user-agent 字符串的混乱历史(英文)

浏览器发出 HTTP 请求时,会带有一个 user-agent 字段,表明自己的身份。但是,这个字符串相当混淆,许多浏览器都在故意冒充别人。本文介绍这个字段的历史

10、怎么看待微软亚洲研究院?(英文)

过去5年中,人工智能领域引用最多的论文出自北京的微软亚洲研究院 MSRA,作者是四个中国人。事实上,MSRA 培养了大量的人才。本文站在美国的立场,分析美国应该怎么看待这件事情。

78科技爱好者周刊:第 78 期

1、山里拍到了23条蛇(中文)

9月7号、8号两天去山里玩。两个白天加晚上一共走了30多公里,拍到了23条蛇(虽然一小半都是虎斑颈槽蛇幼蛇,见上图),还有几条逃跑太快,没拍到。

2、谷歌为什么选择 Kotlin 作为安卓开发语言?(英文)

谷歌一直在为安卓应用开发寻找 Java 的替代品,这是为什么?Kotlin 哪里超过了 Java?

3、我的一人互联网公司(英文)

一个开发者介绍,他如何一个人开发和管理20台服务器,运营一个商业网站。

4、短网址(short URL)系统的原理及其实现(中文)

本文介绍短网址服务的原理,以及如何写一个实现。(@Youthink 投稿)

5、JavaScript 的新语法(英文)

本文介绍一些即将进入 JavaScript 标准的新语法。

6、我如何创建一个盈利的副业项目?(英文)

作者在面试 Facebook 被拒以后,决定做一个项目证明自己。本文记录他构思、开发、推广的过程,发布后4个月产生了1000美元的收入。

7、全文搜索系统入门(英文)

本文用通俗语言介绍全文搜索的原理。

8、async 函数的使用模式(英文)

async 函数是 JavaScript 语言新增的异步解决方案,本文通过许多例子,介绍它比 Promise 好在哪里。

9、苹果的 A13 芯片介绍(英文)

iPhone11 发布会上,A13 芯片的介绍只占四分钟,但它可能是 iPhone 11 最重要的更新和迄今最好的手机 CPU:“包含85亿个晶体管,六个内核,一个四核图形处理器,一个LTE调制解调器,一个用于机器智能功能的八核神经引擎,每秒可运行超过五万亿次运算。”

10、为什么 Jira 难用透了(英文)

Jira 是常用的项目管理工具,本文使用大量图片解释这个工具是多么难用。

77科技爱好者周刊:第 77 期

1、谷歌新增链接的说明符(英文)

谷歌宣布,除了nofollow以外,新增两个 HTML 语言中的链接说明,帮助搜索引擎更好地判断链接的性质。

2、Netlify 的 FaunaDB 集成(英文)

Netlify 是一个静态网站服务提供商,它现在接入了云数据库 FaunaDB,为静态网站提供了后端数据库功能。

3、使用 Socket.io 开发一个最简单聊天应用(英文)

本文介绍如何通过 Socket.io 这个库,开发一个前后端通过 WebSocket 协议互动的最简单聊天应用。

4、为什么 Firefox 的 DNS over HTTPS 是危险的?(英文)

传统的 DNS 查询不加密,所以不安全。新的 DNS over HTTPS(简写 DoH)是加密查询,Firefox 打算默认开启,本文认为,这样会让所有 DNS 查询都导向一个实体,是危险的。

5、5G:炒作与现实(英文)

5G 通信是现在的热点,但是很大一部分是炒作。本文分析 5G 的应用场景,以及它的代价和局限。

6、Excel 的19个替代品(英文)

本文介绍可以替代 Excel 的19个在线电子表格。

7、我最喜欢的 Chrome 插件(英文)

作者是一个前端程序员,介绍自己使用的专用于 Web 开发的 Chrome 浏览器插件。

8、雇佣 Java 程序员的完整指南(英文)

Java 程序员招聘非常常见,本文总结了企业对于初级、中级、高级、架构师各个级别的 Java 程序员应该考察哪些方面。

9、长途货车司机是中国经济的无名英雄(英文)

《经济学人》杂志的报道,中国的制造业和网购都依赖卡车司机,但是没有人知道他们。

10、未来的游戏物理学(英文)

本文是一个瑞典游戏开发者的专访,介绍他对游戏中的物理学应用的看法。

11、追寻核聚变(英文)

核电站都是核裂变反应堆,但是更有前景的是核聚变反应堆。这篇长篇的新闻报道,介绍核聚变的研究历史,以及目前的进展。

76科技爱好者周刊:第 76 期

1、<portal>元素的安全性分析(英文)

Chrome 浏览器最近开始支持<portal>元素。它基本上是一个更安全的<iframe>,建立一个彻底的沙箱,用于在一张网页里面插入另一张网页。

2、可以用正则表达式检测正则表达式吗?(英文)

这是一个 StackOverflow 的问答,能不能写出一个正则表达式,去检测另一个正则表达式是否形式正确。这里还有一篇文章是针对这个问题的解释,关键在于正则表达式是否支持递归检测。

3、如何用 AWS Amplify 托管网站(英文)

AWS Amplify 是亚马逊的持续集成服务,作为一个简单的网站托管方案,可以直接从源码构建网站,然后自动部署。

4、傅里叶变换交互式入门(中文)

通过一系列互动图形,直观介绍傅里叶变换的含义,基本没用数学公式。

5、如何使用 CSS 变量写一个样式切换器?(英文)

本文介绍 CSS 变量的概念和一些技巧,然后演示用它写一个暗模式/亮模式的切换器。

6、我对编程语言的评价(英文)

一个程序员对十几种编程语言的简短评价,列出每种语言各自的优缺点。

7、如何使用 IPFS 集群架设静态网站?(英文)

IPFS 是一种新的 Web 架构,本文作者尝试让自己的静态网站可以通过 IPFS 访问。本文还有续集,介绍如何持续集成,只要推送源码,就自动构建,然后推送到 IPFS。

8、JavaScript 的函数、对象、原型、原型链的关系(中文)

一篇对于 JavaScript 原型链相关知识的总结。(@scottcgi 投稿)

9、日本企业的产业升级之路(中文)

跟大家的印象不一样,日本企业这几年不是走下坡路,而是在走上坡路。东京股市从安倍上台的2012年的8000点,已经上升到2万2000点。本文介绍一些日本企业的最新发展。(@Hiufan 投稿)

10、我如何一个人实现亚马逊上的100万美元销售额?(英文)

一个美国大学生讲述,他如何通过代理中国产品,没有雇佣任何人,一个人在亚马逊上年销售额达到100万美元。

11、中国国庆阅兵展示的新武器(英文)

CNN 分析国庆阅兵里面值得注意的新武器。

75科技爱好者周刊:第 75 期

1、如何使用 cluster 模块扩展 Node.js 应用(英文)

Node.js 应用都是单进程的,可以使用 cluster 模块将其变成一个多进程应用。本文通过一个简单的例子,介绍具体方法。

2、35岁以后油腻中年人该去哪?(中文)

这些年有一个非常不太好的感触,一般来说,企业对员工好,这企业往往走不远,走得远的,往往是那种往死里压榨员工的企业。

3、处理长文本行的方法(英文)

有的文本,每一行特别长,很难阅读。这时可以使用cut命令,将其转为多行,比如head data.csv | cut -c -30

4、理解 Y Combinator(英语)

Y Combinator 是函数式编程的重要概念。本文较为通俗地一步步推导它,对函数式编程有兴趣朋友可以看看,文章很长。

5、10种最佳的 Python IDE(英文)

本文介绍了10种 Python 编程 IDE(集成编程环境),每一种的简介和特点。

6、ReasonML 与 TypeScript 的对比(英文)

ReasonML 是 Facebook 推出的一种脚本语言,作为网页编程的静态类型解决方案。本文比较了它与 TypeScript,提出 ReasonML 有一些 TypeScript 不具备的优点。

7、Linux 桌面环境的发展历史回顾(英文)

Linux 是作为命令行下的服务器系统开发的,桌面环境一直不如商业的操作系统。本文回顾了 Linux 桌面环境的发展历史,带有多张图片。(@M1seRy 投稿)

8、浏览器指纹识别介绍(英文)

追踪用户的常用手段,是使用 Cookie 保存用户 ID。但是,随着浏览器开始限制第三方 Cookie,新的追踪手段是使用浏览器指纹。本文介绍一些这方面的基本知识。

9、BitTorrent如何运作?(英文)

本文通俗地介绍 BT 下载的原理和算法,包括磁性链接如何运作。

10、我如何在40天里面写一个 C 语言编译器(英文)

作者的编译器开发日记,第一天写了20行代码,发展到后来的4000行,记录了每一天所解决的问题。

74科技爱好者周刊:第 74 期

1、安卓的三层结构和鸿蒙 OS(英文)

安卓实际是一个三层结构:Linux 内核、安卓中间层和谷歌服务框架。华为的鸿蒙 OS 比较可行的选择是,依然使用底下两层,只取代谷歌服务框架的部分。

2、生物识别安全平台的数据泄露(英文)

一个安全团队披露,他们破解了一个广泛使用的用户数据库,获得了100多万条指纹和面部识别信息。他们认为,生物特征作为密码是不安全的,一旦数据泄露,用户不可能更改指纹和面部特征。

3、使用 Backblaze B2 和 Cloudflare Workers 搭建免费图床(英文)

开发者通常都有图片托管的需求,本文介绍一个免费的搭建个人图床的方案。

4、motd 功能解释(英文)

类 Unix 系统的/etc/motd服务,可以对所有用户显示登陆时的通知信息。本文介绍怎么使用这个服务。

5、抗癌史上的华人传奇(中文)

世界上第一个使用化疗治疗癌症的医生,是中国人李敏求。

6、静态博客的技术方案(英文)

这是 Hacker News 的讨论帖,讨论当前自己搭建博客的最佳技术方案。

7、ncdu 命令的用法(英文)

du命令是类 Unix 系统查看文件和目录大小的命令,ncdudu的替代品

8、Cherry MX 机械键盘的类型(英文)

本文给出机械键盘几种类型的参数和内部构造动画。

9、如何使用图像预览加速图像加载(英文)

网页图像可以先加载预览图像,然后再自动加载完整图像,这样有助于提高网页性能。本文总结了图像预览的几种方案。

10、我的周末项目(英文)

本文记述作者一个周末写的项目,结果意外变成了苹果应用商店的最佳新应用,赚到了4000美元。作者谈了他的一些感想。

73科技爱好者周刊:第 73 期

1、中国贫穷地区的发展(中文)

Quora 上有人再次针对中国提出尖锐问题:如果中国有那么多钱投资其他国家,为什么不用这些钱发展本国的贫困地区呢?有一个答案内容详实,获赞最高,让围观小伙伴们赞不绝口。

2、历史上哪两件事听起来不在同一个年代,实际上却同时发生的?(中文)

知乎的一个帖子。按赞最多的回答是:“爱因斯坦发表相对论的那一年,中国废除科举。”

3、如何开始机器学习?(英文)

初学者应该怎么学习机器学习?这篇短文概述了需要掌握的几个方面,以及可用的学习资料。

4、TypeScript 与 React 一起使用(英文)

本文是写给初学者的 TypeScript 介绍,以及它如何与 React 一起使用。

5、如何使用 Firefox 的免费代理?(中文)

Firefox 推出了浏览器全局的默认代理,本文介绍如何安装试用。(@erossszh 投稿)

6、如何安全运行他人的 JavaScript 代码?(英文)

Figma 是一个网页应用程序,有很多第三方开发者写的插件。如何才能在网页安全运行第三方代码,这是 Figma 团队面临的重大问题。本文记录了他们的探索过程,最后使用的是新提出的 Realm API。

8、黄金分割的数据可视化(中文)

本文通过可视化图形解释,为什么植物花盘都符合黄金分割。黄金分割这个无理数的比率,在图形上到底是什么含义。(@jwenjian 投稿)

9、各种编程语言的 0.3

我们知道,浮点数计算是不精确的,0.1 + 0.2 不精确等于 0.3。这个网站列出了各种编程语言的 0.1 + 0.2 的结果。(@NeoTse 投稿)

10、Chrome 浏览器的工作原理(英文)

谷歌官方的系列文章,一共有四篇。采用多幅图片,一层层从计算机底层一直到浏览器渲染引擎,介绍 Chrome 浏览器渲染网页的工作原理。(@NeoTse 投稿)

72科技爱好者周刊:第 72 期

1、如何缩小 SVG 文件的大小(英文)

SVG 是文本文件,有很多冗余的标签。本文介绍怎么压缩它的体积。

2、钍发电(中文)

传统的核电站都使用铀和钚作为燃料,但是科学家提出可以改用钍。钍的蕴藏量较多、产生较少核废料、不易制成武器,而且钍裂变发电较有效率。

3、生产1千克材料需要多少能量(英文)

生产一公斤木材需要1度电左右,一公斤生铁6度电,一公斤电解铝70度电,一公斤芯片硅2000度电。

4、apt 与 apt-get 的区别(英文)

基于 Debian 的 Linux 发行版,一般都有aptapt-get两个命令行的包管理工具,本文介绍它们的差异。另外,这里还有一篇《apt-get 命令详解》也可以参考。

5、图片 CDN 简介(英文)

图片 CDN 是专用于图片文件的内容分布网络,有很多针对图片的优化。本文介绍它的基本知识,以及可用的方案。

6、计算机语言的保留字数量(英文)

一门语言的保留字数量,反映了语法的复杂度。有人统计了流行的计算机语言,发现保留字最少的是Elixir(15个),最多的是C#(77个)。出乎意料的是,Go的保留字少于C,JS少于Python,Python又少于 Ruby。

7、函数式编程的术语解释(英文)

函数式编程有许多独有的术语,本文给出简单的解释,以及 Rust 语言的示例。

8、Switch 游戏机安装安卓系统(英文)

任天堂公司的 Switch 游戏机,本质上是一个手机零件组成的游戏机,而且配置很低。CPU 是四核 Nvidia Tegra X1 ARM,4GB 内存,720p 触摸屏和 4310mAh 电池。本文介绍如何在它上面安装安卓系统。

9、如何自己写一个静态站点生成器(中文)

一直很想自己写一个静态博客,但总是觉得比较麻烦。直到看到 Writing a small static site generator ,才发现原来写一个静态博客竟如此简单。(@muxueqz 投稿)

10、美国数据科学家挣多少钱(英文)

薪资中位数为120,000美元。这个中位数只是基本工资,不包括现金奖励,股权和福利。(@nosarthur 投稿)

71科技爱好者周刊(第 71 期)

1、即将到来的宣传自动化(英文)

作者认为,由于自动生成文本、图片、视频的技术都已经逐渐成熟,将来脸部识别认出你是谁以后,就可以针对你推送内容。软件不断生成新内容,从而实现宣传自动化。

2、如何查询 StackOverflow 和 GitHub 的最新趋势(英文)

StackOverflow 和 GitHub 每天都有大量动态,只要加以统计,就能看出最新的技术趋势。这两家公司的数据查询都是公开的,本文展示如何自己写查询,得到趋势统计。

3、我的日本码农就职总结(中文)

本文较为详尽的记录了计算机专业应届生在日本校招求职整个过程,包括抉择、事前准备、面试经历及感想。如果你想去日本工作,可以参考。(@vinci7 投稿)

4、FACEBOOK 伦敦终面经历(中文)

五月份的时候,在 LINKEDIN 上看到 FACEBOOK 伦敦的招聘广告,于是就投了,当时不抱希望的。投了简历很快就接到 FB 猎头的联系。(@DoctorLai 投稿)

5、随机数函数的图像(英文)

作者写了一个工具,可以生成随机数函数的图像,从而判断随机数生成是否有规律。上图中,明显randomC函数比较理想。

6、风险是可控的,只是需要高度自律(中文)

纪录片《徒手攀岩》中,Alex 徒手没有任何保护,爬上了酋长岩。即使是在专业的攀岩运动员看来,这也是一个不可能完成的任务。说白了,就等于送死。

他说了一句话,非常地奇怪,他说:“风险和后果是两回事。徒手攀岩的风险很低,只是后果很严重。”

7、文本压缩算法比赛(英文)

一个澳大利亚计算机教授,在2000年发起一个比赛。谁将100MB 的维基百科文本文件,压缩得最小,可以得到5万欧元奖金。

经过20年,领先者的记录从18MB 降低到16MB 以下。目前还在等待,谁第一个压缩到 15MB 以下,就是冠军,拿到5万欧元。

8、DevOps 干什么?(英文)

DevOps 作为一个新近诞生的职位,它的职责范围是什么?作者以一个 DevOps 工程师的身份,谈了自己的主要工作职责。

9、机器学习算法的最低数学要求(英文)

机器学习对数学要求比较高。本文总结了需要掌握的最低限度的数学模型。

10、Chrome 隐身模式依然可以检测(英文)

Chrome 76 堵上了隐身模式的漏洞,使用内存模拟 FileSystem API,导致隐身模式的检测脚本失效。本文提出,隐身模式依然有办法检测到。一种令人惊艳的思路是,内存比文件系统快得多,因此可以从访问速度判断是否为隐身模式。

70科技爱好者周刊:第 70 期

1、为什么一天有两次潮汐(中文)

潮汐是月球引力引起的,这样的话,应该最靠近月球的时候,才会发生涨潮。但是事实上,地球上大多数地方,一天有两次涨潮,某个地点最远离月球的时候也会涨潮,这是为什么?

2、我用 50MB 度过一天(英文)

以前,有人尝试100元钱生活一周,现在的挑战是 50MB 流量过一天。这实在是很艰巨的任务,因为即使是谷歌那样简洁的首页也有 402KB。这篇文章介绍作者采取的各种节省带宽的方法,以及网站应该如何减少网页的体积。

3、如何杀死一个进程和所有子进程

各种类 Unix 系统里面杀死进程,要比想象的难。一个主要的问题是,杀死父进程,子进程并没有一起杀死,会变成孤儿进程。如何才能做到这一点?

4、海盗党的版权改革主张(英文)

这篇文章是瑞典盗版党的版权改革主张:非商业用途应该免费,商业用途只能保护作品发布后的五年,允许衍生作品不支付版权费,废除数字版权机制 DRM。

5、Flutter 带给我的挫败感(英文)

一个安卓开发者谈他对 Flutter 初次尝试的印象。

6、Syslog 日志指南(英文)

Syslog 是一种日志协议,Linux 系统普遍使用这种日志,其他系统也可以使用。本文介绍这种日志的基本知识。

7、为什么你应该使用 pathlib(英文)

本文介绍 Python 新的路径库pathlib比原来的os.path好在哪里。(@nosarthur 投稿)

8、22岁奥地利 PHP 程序员专访(英文)

22岁的皮特完全通过自学,掌握 PHP 编程。他介绍自己如何通过互联网接项目,找到远程工作,目前的收入每月税前可以达到15K欧元。

9、狗狗克劳斯的历史(英文)

狗狗克劳斯(Clarus the dogcow)曾经是苹果公司技术的吉祥物,现在已经不用了。本文回顾它的历史。

10、产品经理与项目经理的区别(英文)

简单说,产品经理负责向客户提交的最终结果,项目经理负责一项涉及后续活动的计划。

69科技爱好者周刊:第 69 期

1、面向对象编程:一万亿美元的错误(英文)

这篇长文详细解释了,面向对象编程的一些缺点。比如,OOP 引入了太多的层,大项目很快就会变得非常复杂,而且由于对象内部有状态,不能保证同样的输入得到同样的输出,因此很难测试。

2、我盖了一栋自己的房子(中文)

台湾网友的长篇帖子,海量图片,记录他在老家的土地上,请建筑师设计了一栋三层钢结构的民宅,然后再请施工队盖出来,完成各种内外装修,直到入住。

3、如何在 Bash 提示符显示动态信息(英文)

Zsh 的命令行提示符会显示当前目录的 Git 分支名(上图),这在 Bash 中如何做到?

4、如何使用 AWS S3 和 Cloudflare 托管免费网站(英文)

本文一步步介绍如何将静态网站托管在 AWS S3 上面,然后用 Cloudflare 建立 CDN,这都是免费的。

5、CSS 的 background-image 属性是反模式

作者提出,如果图像是内容一部分,就不应该设置成 CSS 的背景图像,而应该使用<picture>标签加上 CSS 的object-fit属性。

6、如何用 Puppeteer 破解滑块验证(英文)

很多网站现在都有滑块验证,识别用户是否为真人。但是,其实它们都可以用 Puppeteer 的自动化脚本破解,本文展示怎么做到这一点。

7、ping 的故事(英文)

ping是最常用的网络命令之一。这篇文章是ping的作者介绍他怎么写出这个工具。他以前的工作是研究声纳和雷达,声纳发出的声音脉冲就叫做ping

8、从图片优化说起(中文)

谈谈如何使用 Node.js 进行各种图片操作,优化 Web 图片体验。(@cj1128 投稿)

9、lerna 入门教程(英文)

对于大型项目,多个模块放在一个代码仓库里面会比较方便。lerna 是管理这种多模块复合仓库的流行工具,本文介绍 lerna 的最简单用法。

10、iOS 和 Android 共享代码的隐藏成本(英文)

Dropbox 一直使用C++编写手机代码,同时支持iOS和安卓,这样只写一次代码就够了。

现在它也放弃了,不得不改用Swift和Kotlin各写一次。主要原因之一是,招不到同时懂前端和C++的程序员。

68科技爱好者周刊:第 68 期

1、如何识别无头浏览器(英文)

命令行抓取网页,往往使用无头浏览器,比如 Puppeteer 这样的工具。怎样才能区分正常的访问与无头浏览器呢?本文提供了一个方法。

2、太空中如何大小便? (中文)

太空没有重力,所有东西都是漂浮的,大小便成了棘手的问题。本文介绍美国宇航局如何在零重力的太空环境,解决宇航员的大小便问题。

上图是国际空间站的马桶,这里的关键是屁股与马桶之间不能有空气泄漏,这样就可以用气压吸走排泄物。

3、如何识别 Chrome 浏览器的隐身模式(英文)

隐身模式用来防止网站追踪用户。有时,开发者可能希望识别,哪些用户正在使用隐身模式。本文介绍可用的方法。

4、华为基本法(中文)

华为公司1998年通过的一份公司纲领性文件,详细阐述了公司的原则和管理方法,长达1.7万字。第一条就明确写明,华为是一家信息设备供应商,永远不进入信息服务业。

5、什么是 CGI 脚本?(英文)

CGI 是“通用网关接口”的缩写,用来将任意脚本接入 Web 服务器,处理 HTTP 请求。它属于诞生于互联网早期的一种技术,如果网站访问量不大,现在依然可以使用。学习它有助于深入理解后端的 Web 实现。

6、什么是 CVE 漏洞?(英文)

软件漏洞经常有一个 CVE 编号,比如 CVE-2018-8589,这个编号是什么意思?它是怎么来的?请看这篇英语的简单介绍。

7、谷歌表格的27个诀窍(英文)

谷歌表格(Google Sheet)的功能非常强大,本文介绍27个很有用、但是你可能不知道的使用诀窍。

8、制造美少女卡通头像自动售货机(英文)

一个旧金山的动漫团队,在动漫展览会上搭建了一个美少女卡通头像的“自动售货机”(上图)。

用户付款后,可以选择一个头像,然后对头像进行发型和颜色的调整,最后打印出来,拿到头像证书。

9、运动平滑正在破坏电影(英文)

电影每秒是24帧,电视机的刷新率是 60Hz ~ 240Hz,这导致电视机播放电影时,有时会产生不连贯的现象。为了减轻这个问题,现在的电视机都默认开启了“运功平滑”功能,会在电影的每帧之间自动插入新的帧。很多电影工作者认为,这种功能对电影艺术的破坏,大于它带来的好处。

10、如何使用 JavaScript 写一个扫雷游戏(英文)

作者讲解如何用 JavaScript 写一个网页的扫雷游戏。

11、JetBrains IDE 基本快捷键(中文)

IntelliJ 的快捷键绝大部分同样适用于其他 JetBrains IDE,包括前端开发常用的 WebStorm 和 Android 开发常用的 Android Studio。掌握这些快捷键能使你成为一个更娴熟的软件开发者。(@Alice-sos 投稿)

67科技爱好者周刊:第 67 期

1、计算机专业的学生应该知道什么?(英文)

一个美国大学教授谈,计算机专业的学生应该具备哪些方面的知识。

2、indieAuth 协议介绍(英文)

OAuth 协议已经成为授权协议的标准,但是获取用户身份的时候,必须明确列出各种平台(上图),看上去非常繁琐。indieAuth 协议是针对这一点改进,让任何网站都具备 OAuth 认证功能,甚至个人的 WordPress 网站也可以用来认证身份,用户只要提交一个 URL 即可。

3、GitHub 是最大的字体盗版网站(英文)

作者发现可以在 GitHub 轻松找到并下载各种商业字体。

4、使用 Datasette 探索 SQLite 数据库(英文)

Datasette 是一个探索和管理数据集的工具,它可以把各种各样的数据都转成 SQLite 数据库,然后在浏览器里面展示数据,并进行各种操作。本文是 Datasette 作者的一个演讲,解释他为什么要做这样一个工具,图文并茂,值得一读。

5、著名程序员的工作时间(英文)

Git 提交代码的时候,都会记录提交时间。作者统计了多个一流程序员的提交时间,比如 Linus (上图)基本上是工作时间提交代码,晚上10点以后不工作。

6、Raw 文件是什么样子?(英文)

数码相机拍摄的原始文件就是 Raw 文件,作者尝试直接读取 Raw 文件。

7、安全相关的 HTTP 头信息介绍(英文)

HTTP 头信息有许多字段跟安全相关,本文介绍所有这些字段,并给出设置方法。

8、利用谷歌爬虫的 XSS 攻击(英文)

有的网站安全性差,可以注入外部脚本,即 XSS 攻击。作者发现,注入脚本的网页可以提交给谷歌爬虫,被谷歌收录,用来提高第三方网站的排名。这个漏洞已经被谷歌修复了,但是攻击思路值得学习。

9、我的创业体会(英文)

一个印度创业者讲述自己的创业经历,最后总结三条体会。有一条说,不要想着做独角兽,要想着做蟑螂,那些大公司和风投看不上的角落,有更大的机会活下去。

10、冰川下的飞机(英文)

1942年,美军的一个飞行中队,包括6架战斗机和2架轰炸机,在飞越大西洋的过程中,由于天气恶劣而迷航,不得不在格陵兰冰川上迫降。1988年,这些飞机在冰下80多米的深处被发现,探险队抢救出了一架战斗机。经过修复,这架飞机于2002年10月重新飞上了天空。本文讲述飞机的发现和挖掘过程。

66科技爱好者周刊:第 66 期

1、如何编写幂等的 Bash 脚本?(英文)

幂等指的是不管运行多少次,都会得到同样的结果。幂等的 Bash 脚本的最大好处是,如果前一次执行中断,那么完全可以从头运行。本文讲解如何运用各种命令的参数,做到脚本的幂等性。

2、不使用 Cookie 如何追踪用户?

追踪用户的常见做法是,把用户 ID 保存在 Cookie。如果不用 Cookie,可以追踪吗?答案是可以的,一种思路是浏览器会缓存静态资源,那么用户 ID 保存在静态资源里面就可以,比如使用 etag 保存用户 ID。

3、中国互联网报告2019(英文)

《南华早报》出品的中国互联网行业的现状和预测报告,主要是大量的数据可视化图表。

4、耗尽 CPU 的正则表达式(英文)

七月初,cloudflare 曾经全球中断服务,原因是一个正则表达式耗尽了 CPU 资源。现在,他们公布了这个正则表达式(上图),看着很复杂,简化以后,出问题是这个模式 .*.*=.* 。七个字符里面包含三个贪婪匹配,从而导致急剧放大的计算量。上面链接详细解释,为什么这个模式有问题。

5、脊髓的带宽(英文)

脊髓是人体的中枢神经传递信号的通路,它的带宽有多大?一个神经科人士估算,可以达到每秒16.625 GB的数据,比 5G 通信的最快速度,还要快几十倍。

6、如何使用 Python 和 Tor 改变 IP 地址(英文)

有的网站对爬虫有 IP 限制,该文作者将爬虫放在 Tor 网络后面,使得每次请求都有不一样的 IP 地址,从而避开限制。

7、我如何发现 Instagram 的漏洞(英文)

作者讲述他如何发现 Instagram 的一个漏洞,可以改掉任何用户的密码,最后得到 Facebook 公司三万美元奖金的故事。

8、一场将 Safa 和 Marwa 分开的战斗(英文)

BBC 的长篇图片报道。Safa 和 Marwa 是一对头部连在一起的连体姐妹,一个英国的医疗团队试图将她们分开。希望有人把这篇报道译成中文。

8、阿波罗登月计划如何促进计算机的进步(英文)

今年7月20日是阿波罗登月计划50周年的纪念日,本文回顾了登月对计算机的推动作用。上图就是导航系统的主机壳,右边是它的输入模块。(@starshipsea 投稿)

9、视频弹幕标准的建议稿

本文总结了视频弹幕的特点,建议引入新的 HTML 标签<bulletchatlist><bulletchat>。(@Mrlilili 投稿)

10、原创与前沿的区别(中文)

自然科学基金要求注明,所申请的项目属于原创性研究,还是聚焦前沿。相当多的人分不清这两者,我所在的学科组讨论的大约300个项目,大约有20%标注为“原创性研究”,其实全部属于“聚焦前沿”。

65科技爱好者周刊(第 65 期):周刊开设"谁在招人"的招聘服务

1、SwiftUI 开发 Web 网页(英文)

苹果最新推出的 SwiftUI 可以为 macOS、watchOS、iOS 开发应用程序,现在有人用它开发网页。

2、数字独立宣言

维基百科联合创始人之一撰写的互联网领域的权利宣言,摘录两段。

“人类被巨大的数字帝国轻蔑地对待。因此,现在有必要用独立个体的分散网络取代这些帝国,就像互联网的早期一样。”

“我们声明,我们拥有不可剥夺的数字权利。由于目前互联网的专有集中式架构已经促使大多数人放弃这些权利,我们应该要求一个能够尊重它们的新系统。”

3、如何使用 jk 生成配置文件(英文)

jk 是 JavaScript 写的工具,可以将 JS 的数据结构转为 JSON、YAML 等格式的配置文件。

4、中国稀土开采的环境代价(英文)

稀土开采需要向土壤注入化学品,会造成大量的水和土壤污染。中国作为世界最大稀土生产国,面临严峻的环境问题。

5、Dockerfile 最佳实践(英文)

本文介绍如何写出良好的 Dockerfiles 文件,可以节省构建时间、image 文件大小,增加可维护性、安全性和可重复性。

6、如何使用 Web Share API?(英文)

Web Share API 可以让网页调用系统的分享按钮,不用自己实现网站分享,既节省开发时间,又能提高网页性能。目前,安卓和苹果手机都已经可用。

7、如何写网页的社交媒体分享功能(英文)

网页的分享按钮,可以分享到 Facebook、推特等社交媒体,这是怎么实现的?

8、fzf 和 ripgrep(英文)

本文介绍 find 和 grep 命令的替代品 fzf 和 ripgrep。

9、CPU 基本知识(英文)

CPU 的入门介绍文章,讲解 CPU 相关的基本概念。

10、Go 语言入门(英文)

一篇 Go 语言初学者入门教程,文章较长。

64科技爱好者周刊:第 64 期

1、iframe 点击劫持的介绍(英文)

点击劫持指的是,恶意网站通过将一个透明的 iframe 层覆盖在某个链接上面,引诱用户点击。本文介绍这种攻击的实现方法,以及如何防止。

2、被 YC 拒绝之后(英文)

YC 是美国最大和最著名的创业孵化器,每年有很多创业者申请。本文详细描述作者申请 YC 的过程,被拒之后,如何在一个周末做出调整,企图挽回的经过。

3、我为什么不使用 Web Components?(英文)

Svelte 框架的作者谈 Web Components 方案的一些问题。

4、对抗性神经网络的发展历史(英文)

上面这些照片都是对抗性神经网络生成的假照片,根本无法分辨。对抗性神经网络的原理很简单,就是两个神经网络互相对抗,一个生成照片,另一个负责识别。本文介绍它的发展历史。

5、Salesforce 介绍(英文)

Salesforce 是世界最大的商业软件公司之一,本文详细介绍这家公司的历史和它的产品。

5、NumPy 的可视化介绍(英文)

NumPy 是 Python 的数学分析库,本文以大量图片介绍如何使用这个库。

6、使用 Google Mobilizer 书签工具(英文)

Google Mobilizer 是谷歌的一个服务,可以将任意网页转为纯文本的手机网页。该文介绍如何将这个服务做成书签工具,在浏览器中一键调用。

7、awk 简明介绍(英文)

awk 是处理格式化文本文件的命令行工具,非常强大。本文是一篇简明易学的入门教程。

8、五个 JavaScript 小技巧(英文)

作者总结了五个 JavaScript 代码写法的技巧。

9、容器知识 101(英文)

一个美国本科生写的容器基本知识的介绍,写得还不错。

10、消息代理软件介绍:以 ActiveMQ 为例(英文)

消息代理是异步架构软件的常用工具,本文是 ActiveMQ 的入门文章,介绍基本概念和简单用法。

11、史上最大规模的北极考察(英文)

《华盛顿邮报》的长篇报道,介绍一个多国科学家组成的大型北极科考项目,多图。他们将一艘破冰船开到北极的偏远地带以后,关掉动力,听任船只冻在海冰之中,然后以该船为基地,进行科考活动。等到天气回暖以后,船只随着浮冰漂流,因此可以知道洋流路线。

63科技爱好者周刊:第 63 期

1、为什么创业?(英文)

作者是 Facebook 员工,谈了创业的10个原因,以及 Facebook 如何在内部模拟这些条件,吸引员工留下。

2、概率论的基础概念(英文)

这是一组系列文章,面向新人的概率论入门,并且有 Python 语言的示例。

3、稀土元素对高科技行业的影响(英文)

本文介绍了稀土在高科技行业的应用。据称,一部 iPhone 包含元素周期表的118种元素中的75种。

4、微软的安卓开发状况(英文)

微软官方介绍微软内部的安卓开发状况,比如目前还在开发的有70多个应用,主要使用的语言是 Java 、Kotlin 和 React Native。

5、84个认知偏见(英文)

如何利用心理学上人类的84个认知偏见改进产品,提高转化率。比如,人们会对稀缺的东西有更高的评价,因此要突出产品的稀缺性(上图)。(@developerchengang 投稿)

6、搬到切尔诺贝利的人们(英文)

BBC 的长篇图片报道。切尔诺贝利核电站发生事故以后,由于放射物质泄漏,周围半径30公里的地区是无人区。最近这些年,乌克兰国内发生军事冲突,有些人为了逃难,开始搬进了无人区居住。

7、你可能不需要 ReCAPTCHA(英文)

ReCAPTCHA 是谷歌防止爬虫的工具,用来确定访问者是真人。它有很多弊端,体验也不好,本文提供了一些替代方案。

8、停止使用密码遮挡(英文)

浏览器输入密码时,不会显示实际密码,而会显示星号或小圆点。本文认为这种密码遮挡是不合适的,应该停止使用。

9、类型与测试(英文)

一篇通俗易懂的好文章,介绍类型系统给代码安全带来的好处。一个良好的类型系统,可以大大减少测试的工作量。

10、单体架构与微服务架构(英文)

单体架构(Monoliths)与微服务架构的一个简单的比较,各自的优缺点和适用场合,写得简明易懂。

62科技爱好者周刊:第 62 期

1、切尔诺贝利地区的现场报道(英文)

切尔诺贝利核电站遗址,距离乌克兰首都基辅有两小时车程(120公里),外围有半径60公里的封闭区。本文是作者进入这个区域的访问记,由于那里的水还有辐射,所以全程必须自己带水。

2、谷歌允许帐号在用户死后自行删除(英文)

谷歌有一个帐号自动处理功能,可以使用这个功能,设置自己死后如何处理帐号,以及帐号里面的数据。

3、使用 Hugo,GitLab Pages和Cloudflare 开发静态网站(英文)

本文介绍如何使用标题里的三种免费工具,制作一个灵活方便的静态网站。

4、密码过期政策是无用的(英文)

很多大企业强制要求,员工每过一段时间就更换密码。本文认为这种政策是多余的,有了多因素认证和异常登录检测,就足够了。经常更换密码,反而引入风险。

5、巴厘岛适合远程办公(英文)

印尼的巴厘岛很适合远程办公,在 Nomad List 网站上排名全世界第一位,本文介绍该岛的大致情况。

6、2009年最热门的 iPhone 应用程序(英文)

苹果公司的应用商店即将满十周年,本文回顾了2009年最热门的付费应用和免费应用。出乎意料,相当一部分应用活到了今天,这说明如果你一开始领先,很可能会长期领先。

7、如何写一个 JSONWebToken 认证网站(英文)

本文使用 Node.js 作为代码示例,演示如何颁发和使用 JSONWebToken,完成用户认证。

8、高质量软件是否能弥补成本?(英文)

马丁·福勒的新文章。高质量软件必然有较高的成本,而用户对软件的内部质量不一定会有感知,未必愿意买单。为了降低软件的成本,有时不得不牺牲一点质量,马丁·福勒谈了对这个问题的看法。(@developerchengang 投稿)

9、Linus Torvalds 的20个事实(英文)

Linus Torvalds 是 Linux 操作系统的创造者,至今还在维护内核。本文是他的自传《Just for fun》的简短摘录,关于他个人的20个事实,比如他的老婆是他的学生。

10、如何自动将 VPS 备份到云存储(英文)

很多人的网站放在 VPS (虚拟服务器),很有必要将关键数据备份到其他服务器。本文介绍如何使用免费工具 Restic,备份 VPS 数据到云存储。

61科技爱好者周刊:第61期

1、Python 清理过时的标准库(英文)

Python 的设计哲学是“自带电池”(battery-included),就是把需要的功能都包括在标准库里面。但是,随着 PyPI 越来越方便,Python 社区正在检讨这种哲学是否正确。缩减标准库可能是必要的,能让 Python 发行版更精简和灵活,第一步就是把过时的功能移出标准库。

2、十五年了,海盗湾依然存在(英文)

海盗湾成立至今,已经十五年了。无数次被告,服务器被抄家,域名被封锁,甚至四个创始人都关进监狱一年,但是直到今天,它依然在正常运作。

3、SpaceX 星链计划的分析(中文)

SpaceX 公司打算以11943颗低轨道卫星,组建一个卫星通信网,提供宽带上网服务。本文介绍这个计划的详情,以及怎么做到。

4、LaTex 的历史(英文)

Tex 是全世界科学家撰写论文的标准工具,本文介绍这个项目的历史由来和发展。

5、使用 Visual Studio 2019 构建 Windows Terminal(英文)

Windows Terminal 是微软最好的终端应用程序,但是现在只公开了源码,还没发布正式产品。不过你可以自己从源码构建它。

6、如何使用 GitHub issue 作为博客后端?(中文)

你可以使用 GitHub issue 写博客,然后依靠 API 通过 Circle-CI 构建出网站。

7、ssh-agent 转发详解(英文)

ssh 登录的时候,比较安全的做法是使用公钥认证。但是,这要求本机必须有私钥。如果你需要在多台机器上使用 ssh 登录,一台台拷贝私钥很麻烦,也不安全,幸好 ssh 提供了 agent 转发功能,允许在一台机器上 ssh 登录的时候,可以使用另一台机器的私钥。

8、gRPC 与 RESTful API 的比较(英文)

使用微服务式架构时,服务的通信方式可以是 RESTful API,也可以用 gRPC,作者分析了两者的差异。

9、超越 A/B 测试的算法(英文)

我们通常使用 A/B 测试,判断哪一种实现更有效。作者提出了一种新的算法,可以同时测试 n 个选项,还能随意添加和删减选项。

10、Async 函数不能用于数组的过滤器(英文)

作者发现,JavaScript 的 Async 函数无法用于数组的过滤器,即 array.filter(async f) 是无效的。这一点似乎以前没人提到。

60每周分享第 60 期

1、CSS 制作中国窗格(英文)

本文介绍如何使用 CSS 的 -webkit-box-reflect 属性,通过镜面反射制作中国窗格图案。

2、学习 Dart 语言的10个理由(英文)

Dart 语言本来已经死掉了,就是因为 Flutter 这个非常有前景的业务绑定了它,所以又活过来了。说到底,还是业务重要。好的技术不一定能活,坏的技术不一定会死,取决于有没有业务。

3、非设计师需要知道的设计原则(英文)

如果你的团队没有专业设计师,那么这篇文章教你四个基本的设计原则。只要你遵循这四个原则,就会取得不错的效果。

4、Python 3 好在哪里?(英文)

Python 3 是 Python 2 的全新升级版,有重大的改进。本文介绍 Python 3 到底增加了哪些功能。

5、2019 年的 PHP(英文)

PHP 语言发展到今天,已经有了巨大改进,各方面的状况逐步让人感到满意。本文介绍 PHP 语言在2019年的最新状况,包括语法改进、性能提升、框架和模块体系等等。

6、清洁能源的下一步发展(英文)

比尔·盖茨谈,他眼中的接下来能源革命的三大发展领域,也是他的基金会重点投资方向:能量储存技术、碳捕获和核能技术、长距离的高压输电线路。

7、React 应用的 Docker 化(英文)

这篇教程一步步详细教你,如何将 React 应用打包成生产环境可用的 Docker 容器。

8、SOLID 原则:以 TypeScript 为例(英文)

SOLID 原则是2004年 Robert C. Martin 提出的软件架构原则,创造更健壮、可维护的代码,包括5个小点。本文以 TypeScript 代码为例,介绍 SOLID 的含义。

9、我的透明创业实验(中文)

一个正在进行的创业实验,一年时间做10个小产品,看看能否达到每月被动收入1000美元的目标。(@timqian 投稿)

10、5G网速那么快,基站辐射会很大吗?(中文)

5G 通信使用比 4G 更高的频率,需要的能量更大,这对基站和手机的辐射有何影响。这篇文章给出了很好的分析。

59每周分享第 59 期

1、如何评价 Erlang 语言之父 Joe Armstrong(中文)

Joe Armstrong 是 Erlang 语言的发明人, 单单他的论文《面对软件错误构建可靠的分布式系统》就足以载入史册,他提出面向对象编程本质上不是并发的正确处理方法。 (@YongHaoWu 投稿)

2、SHA-256 哈希算法(英文)

一篇通俗教程,一步步解释了 SHA256 的计算方法,并有图例和 JavaScript 实现。(@xwu64 投稿)

3、你用不惯 RxJava,只因缺了这把钥匙(中文)

帮助读者理解 RxJava 操作符,并给出了一个示例项目。(@KunMinX 投稿)

4、前端框架的性能比较(中文)

本文将一个 App 用18个前端框架实现,然后比较它们的性能,翻译自英语原文。(@ahuigo 投稿)

5、如何将 gif 转成视频?(英文)

GIF 动画格式有很多缺点,最大问题就是体积过大。本文教你如何将 GIF 转成视频,嵌入网页,并且兼顾 浏览器兼容问题。

6、什么是暗网(英文)

针对新人的暗网基本知识,不涉及技术细节。

7、十四亿人的口腹之欲,是如何被满足的?(中文)

本文翻译自剑桥大学博士在 Quora 的回答,中国如何使用农业科技,生产出足够便宜的农产品,满足14亿人的消费。(@arezl 投稿)

8、树莓派 GPIO 介绍(英文)

树莓派的功能扩展,往往都要通过板载的通用输入/输出模块 GPIO。本文介绍 GPIO 的基本知识。

9、JavaScript 开发者的 Vim 配置指南(英文)

本文详细介绍几个对于 JavaScript 开发非常有用的 Vim 插件。

10、从虚拟主机到 Kubernetes(英文)

一位后端架构工程师以自己的亲身经历,详细介绍公司基础架构的变化。

11、Dependabot 服务介绍(英文)

最近,GitHub 收购了 Dependabot,并将它的服务完全免费了。本文介绍如何使用这个非常好的依赖管理工具。

58每周分享第 58 期

1、DOOM 动态火焰效果(英文)

本文介绍 DOOM 火焰效果怎么实现,并且给出了 JS 源码。

2、微软的复兴(英文)

微软的市值最近超过了1万亿美元,过去5年上涨了两倍多,达到历史的最高峰。本文是微软 CEO Satya Nadella 的长篇特写,介绍这个在印度出生并接受教育的工程师,如何带领微软实现了复兴。

3、JPEG 图像还原(英文)

详细介绍 JPEG 图像格式和压缩方法。

4、Unsplash 的运营成本是多少?(英文)

Unsplash 是最流行的高清图片分享网站,创始人披露,2019年2月该网站的运营成本:服务器 + 带宽大约7万多美元,数据处理 + 监控2万多美元,总费用10万美元。

5、使用 React Native 创建 Windows 桌面应用(英文)

微软的官方教程,解释如何用 React Native for Windows 写一个 Windows 桌面应用。

6、WordPress 的签名验证机制(英文)

WordPress 采用在线更新机制,从远程下载更新包,因此必须有一个签名验证机制,防止被插入恶意代码。本文介绍 WordPress 如何实现签名验证。

7、如何制作一个多人实时协作的编辑器(英文)

这是 Hacker News 的一个讨论帖,完整涉及了现有的多人实时协作的算法和软件实现。

8、如何编写深色主题的 CSS (英文)

越来越多的应用,提供浅色主题和深色主题两种模式。本文介绍如何在现有代码改动最小的情况下,添加深色主题的 CSS 代码。

9、Chrome 浏览器计划加强 cookie 限制(英文)

Chrome 浏览器宣布, Cookie 默认将不能跨站点发送,这实际上消灭了 CSRF 攻击。

10、只使用 CSS 的实时聊天(英文)

一个匪夷所思的实验,不使用 JS,只使用 CSS 实现实时聊天。

11、任正非5月21日专访全文(中文)

2019年5月21日,多家中文媒体联合采访任正非,长达150分钟,这里是全文记录稿,信息量很大,值得一读。

57每周分享第 57 期

1、电路图符号解释(英文)

本文介绍基本的电路图符号的含义。

2、一张纸对折12次(英文)

长久以来,人们一直认为,一张纸最多对折7次。2002年,加利福尼亚州的17岁中学生 Britney Crystal Gallivan(1985年出生)成功演示了,将一张1200米长的卫生纸对折12次。她还给出了一个计算公式(上图),根据纸张的厚度和想要对折的次数,算出所需的纸张的最小长度。

3、Caddy 服务器如何过滤网络请求(英文)

Caddy 是一种非常好用的 Web 服务器,作者演示如何根据 HTTP 请求携带的 Cookie 信息,返回不同的 CSS 样式表。

4、一种新的网络钓鱼方法(英文)

安卓系统的 Chrome 浏览器,用户向下滚动网页的时候,会自动隐藏地址栏。有人就利用这个特点,伪造了一个地址栏(上图的 hsbc 的地址栏就是伪造的),用来网络钓鱼。

5、虚拟内存探究(中文)

这组系列文章通过实验的方式,介绍虚拟内存的相关概念和实现,这里是中文翻译,还可以参考英语原版。(@NeoTse 投稿)

6、x86-64 汇编语言入门教程(英文)

本文通过运行一个最简单的 hello world 实例,介绍汇编语言的基本概念。

7、使用 Wasabi 和 restic 备份服务器(英文)

本文介绍如何写一个简单的脚本,将服务器数据备份到 Wasabi。

8、如何从零开始制作一块智能手表(英文)

本文含有大量图片,作者从零开始制作一块手表,表盘是3D打印的,电路是自己设计的,电池和充电器都是自己装配的。

9、二进制文件的编译过程(英文)

源码编译成为可运行的二进制文件,有好几个步骤,本文用一个最简单的例子,详细解释编译器的每一步都在干什么。

10、美国政府的高技术管制名单(英文)

2018年底,美国联邦政府发布了一份高技术出口管制名单,列出了14个大项、40多个小项的管制行业。凡是属于这些行业,原则上都不能出口,必须得到政府批准。这份名单可以当作参考,目前哪些行业属于真正的高科技行业。

56每周分享第 56 期

1、如何画一幅栩栩如生的画(英文)

作者讲了七个让作品变得更真实的绘画技巧/技术。它们与软件开发有相似之处,可以借鉴,比如顶层设计、一开始不要过分关注细节等。(@BIT-zhaoyang 投稿)

2、统计图表撒谎的5个方法(英文)

本文介绍五种统计图表技巧,用来隐藏或突出某些统计信息。比如,上面左右两个图的深色部分都是30%,但是右图比左图看上去大得多。

3、PaaS 和 Serverless 的差异(英文)

本文讨论 PaaS 和 Serverless 两种架构有何不同。

4、美国2020总统大选参选人的网站设计(英文)

本文介绍评论了美国2020年总统大选的参选人的网站设计,目前一共有几十个参选人。

5、为什么面向对象编程糟透了?(英文)

这是 Erlang 语言的发明人 Joe Armstrong 的一篇短文,解释他为什么不喜欢面向对象编程。不过他也承认,面向对象编程的流行是有道理的。

6、Rust 语言的编译时内存安全(英文)

Rust 语言不会发生内存错误,都能在编译时发现。本文通过几个简单的例子,解释为什么这项功能很有用。

7、软件开发趋势 2019 调查报告(英文)

这是一份对全世界软件开发者的调查报告,可以了解商业软件开发的趋势,比如软件公司的主要编程语言是什么,使用什么项目管理工具,是否使用外包等。

8、Go 语言为什么快的5个原因(英文)

本文从计算机底层分析 Go 语言运行速度快的五个原因。(@NeoTse 投稿)

9、AWS 上搭建免费的 Wireguard 服务(英文)

AWS 提供12个月的免费帐号,可以用来搭建 Wireguard 服务,每月 15GB 流量。

10、放弃 Sass(英文)

Sass 是最流行的 CSS 预处理器。作者提出,随着 Grid 布局和 CSS 变量的出现,Sass 已经不是那么有用了,可以考虑放弃了。

55每周分享第 55 期

1、为什么 SQL 如此成功?(英文)

SQL 语言诞生已经25年了,生命力只有增强,没有丝毫减弱。即使不是关系型数据库的产品,都在设法提供 SQL 类似的查询语言。本文分析 SQL 为什么如此成功的几个原因。

2、Node.js 的简单 JWT 实现(英文)

JSON Web Token 是一种令牌的生成机制,用于网站的授权和认证。本文介绍 Node.js 如何实现一个简单的 JWT。

3、50万行 Java 代码移植到 Go 语言的感想(英文)

本文作者将一个大型 Java 项目改为使用 Go 语言,详细比较了 Java 与 Go 的一些差异。

4、Nokia N9 的闹钟设计(英文)

Nokia N9 手机的闹钟 App 的设计非常出色,作者介绍这个设计的优秀之处。

5、何时使用 TypeScript?(英文)

TypeScript 正变得越来越流行,本文作者谈了自己的看法,何时应该使用 TypeScript,何时应该使用 Native JavaScript。

6、如何发现隐藏的摄像头?(英文)

现在隐藏的摄像头越来越难以发现,比如上图的“6”里面有一个摄像头。本文介绍如何发现这种摄像头,前提是摄像头必须跟你在同一个局域网里面,否则还是发现不了。

7、请不要用 JSON 作为配置文件(英文)

本文指出 JSON 的发明目的是“轻量级数据交换格式”,根本不适合作为配置文件。

8、数据储存设备的历史回顾(英文)

本文通过图片介绍历史上的数据储存设备,上图是世界第一个超过1 GB的硬盘1980年的 IBM 3380,可以存储2.52 GB,重 250公斤,售价8万美元~14万美元。

9、浅谈机器学习中的文本摘要(英文)

本文介绍如何使用 Python 自动生成一篇文章的摘要。

10、微信公众号文章链接 GitHub 文章的方法(中文)

微信公众号不允许外部链接,如果想在文中插入 GitHub 链接,可以考虑采用本文的方法。作者提供了一个小程序,可以抓取 GitHub 页面,只要跳转到这个小程序就可以了。

11、全平台框架 Flutter(英文)

谷歌发布 Flutter for web,正式宣布 Flutter 成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。现在学跨平台应用开发,第一个要看的可能不是 React Native,而是 Flutter。(@ifrontend-xyz 投稿)

54每周分享第 54 期

1、Arduino 入门(英文)

Arduino 可以看做是一块可以编程的电路板。本文介绍它的基本知识,以及如何用它来控制 LED 发光二极管。

2、Python 图形界面开发(英文)

Tkinter 是 Python 内置的 GUI 开发模块,本文一步步教你怎么使用。

3、为什么 request 项目进入维护状态?(英文)

request 是最流行的 Nodejs 模块之一,用于发出 HTTP 请求。该项目现在进入了维护状态,不再开发了。作者解释说,这个模块历史太久了,又太流行,导致无法做重大修改,跟上语言的发展,现在是时候放弃它,尝试新的 API。

4、置信区间还是 P 值?(英文)

本文探讨了置信区间和 P 值,这两个统计学概念的异同。它们都用来评估统计发现的可信性。

5、创业公司如何才能不失败?(英文)

孵化器 YC 的创始人之一杰西卡·利文斯顿的演讲,列出她眼中创业公司成功的条件。

6、Quip 的历史(英文)

Quip 是一个协同工作软件,2014年诞生,2016年被 Salesforce 以7.5亿美元收购。它的两个创始人,一个担任过 Facebook 的 CTO,另一个曾在Google领导工程和产品团队。

7、Evernote 为什么没能实现它的目标?(英文)

本文回顾了 Evernote 的历史,从诞生到快速发展,以及后来几个重大的决策失误,分析它的经验教训。

8、25年后重新采访 Linus Torvalds(中文)

Linux Journal 杂志1994年创刊号采访了 Linus Torvalds,为了庆祝杂志诞生25周年又重新采访了他(英语原文)。上一次采访时,他还没结婚,现在有三个小孩,老大马上就要大学毕业。上一次,杂志问他有何梦想,他说希望 Linux 统治世界。现在,他说早就不开这种玩笑了,因为这话已经不像玩笑了。(@Y024 投稿)

9、什么是幂等?(英文)

幂等这个概念,指重复操作不会产生任何影响。比如,电梯重复按两次,不会有差异。分布式系统特别强调幂等,因为通信可能丢失,就会需要重复发信号。

10、使用 systemd 创建 Linux 服务(英文)

创建 Linux 服务相当容易:使用你喜欢的编程语言编写一个长期运行的程序,并使用 systemd 将其转换为服务。

11、访问 Chrome Dino 游戏的创造者(英文)

Chrome 浏览器离线时,会出现一个恐龙跳跃的游戏。为了庆祝 Chrome 浏览器诞生10周年,谷歌官方博客采访了游戏的创造者,并且展示了恐龙头戴蛋糕的一个特别版。

53每周分享第 53 期

1、加强 Linux 服务器安全的七个步骤(英文)

自己架设 Linux 服务器的时候,按照本文的步骤,可以防止90%以上的攻击。

2、提高《星际迷航》的分辨率(英文)

机器学习已经可以将一幅低分辨率图像,提升为高分辨率图像。作者使用这项技术,尝试将早年一部 480p 的电视剧,提升为 1080p 高分辨率。

3、全文搜索的相关性评分(英文)

搜索结果一般按照相关性进行排序,某篇文章与你的搜索词相关性最高,就会排在第一位。相关性是怎么计算的,通常是使用 TD-IDF,但是更高级的算法使用 Okapi BM25。

4、Node.js 的多线程指南(英文)

JavaScript 是单线程语言,但是 Nodejs v10.5.0 版本增加了 worker_threads 模块,使得 Node 也支持多线程。

5、如何无限延长一首歌(英文)

作者使用马尔可夫链将一首5分钟的歌,延长到了一个小时。多出来的部分都由软件自动生成。

6、Fuchsia OS 简介(中文)

Fuchsia OS 是谷歌正在开发的下一代操作系统。本文是许中兴博士在开源开发工具大会 HelloGCC 2018上发表的一个关于 Fuchsia 的精彩演讲。

7、Nodejs 控制无人机(英文)

本文介绍如何编写 Nodejs 服务控制无人机,但是使用无人机品牌不是大疆。

8、日志记录的最佳实践(英文)

如果狗是男人最好的朋友,那么日志就是软件工程师最好的朋友。本文介绍日志的一些最佳实践,文后附有幻灯片,幻灯片比文章本身更有价值。

9、树莓派搭建空气质量监视器(英文)

本文是树莓派教程,附有示例代码,演示如何搭建一个空气质量监视器(需要自购传感器)。

10、芯片里面有什么?(英文)

芯片可以被认为是一个黑盒子,你通常不会看到它的内部。本文将展示如何打开芯片,看看里面是什么。

52每周分享第 52 期

1、魔兽世界的玩家去世以后(中文)

Robert Steen (上图)的儿子患有重病,无法行走,不幸在2014年去世,只有25岁。去世以后,父亲发现儿子的笔记本上有《魔兽世界》的密码,才发现儿子是一个资深玩家,他用这个密码登陆,把死讯告诉儿子在游戏里面的好友,结果,葬礼上,欧洲各国的魔兽玩家都来了。

2、为什么亚马逊河不能架桥?(英文)

亚马逊是世界最长的河流之一,但是整条河没有一座桥,这是为什么?

3、什么是 Wayback Machine?(英文)

Wayback Machine 是一个庞大的网页数字档案库,为全世界的网页存档。该项目于1996年启动,目前保存了100亿个快照,数据量达到 30PB,另外还有 30PB 备份。

4、类型正在向右移动(英文)

以前的编程语言,类型声明都是写在变量的左边,比如 int count 。但是,现在越来越多的编程语言,将类型声明写在变量的右边,比如 count:int ,这是为什么?

5、运动追踪的红外线加热器(英文)

作者自己动手,将一个普通的红外线加热器,接上了树莓派,加装了一个摄像头,实时捕捉和识别走动的人体。不管人走到哪里,加热器就会自动转到那个方向,对着人进行加热。

6、我作为工程师的报酬(英文)

一个美国工程师回顾自己的薪水增长,2007年他作为 IT 管理员,年薪是4.2万美元,2018年他变成了架构师,年薪是18.9万美元。许多网友看了他的文章,也纷纷留言,写下自己的年薪变化

7、10个 Homebrew 软件包(英文)

Homebrew 是 Mac 系统的软件包管理器,可用于安装 Unix 软件包。本文推荐10个值得安装的软件包。

8、Java 语言的 null 是一个设计错误(英文)

Java 语言的 null 值导致了很多问题,本文解释为什么 Java 的设计是错的,而 Kotlin 的设计是对的。

9、如何安装 Alpine Linux 的桌面(英文)

Alpine 是一个极度瘦身的 Linux 发行版,只有 5MB 左右,主要用于制作 Docker 镜像文件。本文介绍 Alpine 的基本知识,如何安装一个基于它的桌面开发环境。

10、未来没有 Webpack 的前端开发(英文)

现在的 Web 应用,一般都需要使用 Webpack 打包脚本。但是,浏览器已经支持 ES6 模块,能够自行处理模块的依赖,因此完全可以跳过打包这个步骤。

11、996.icu 事件的可视化(视频)

这段90秒的视频,帮你回顾 996.icu 事件的全过程。(@jdk137 投稿)

12、Edge 变成 Chromium 意味着什么?(英文)

微软的 Edge 浏览器内核从自研变成了 Chromium,现在 Windows 系统预览版已经发布了。与原来相比,到底新增了哪些功能?

51每周分享第 51 期

1、刘慈欣:释放想象力(中英对照)

2018年11月,刘慈欣在克拉克想象力服务社会奖颁奖仪式上的演说。

2、Java 开发者需要知道的20个库(英文)

本文介绍 Java 语言20个常用的库,比如 log4j、JUnit、JSoup 等。

3、与死亡一线之隔的完美(中文)

Free Solo 是一部《国家地理》杂志拍摄的纪录片,讲述了徒手独攀优胜美地國家公園內、全世界最難攀爬的酋长岩的故事。它得到了 2019奧斯卡最佳紀錄片獎。本文讲述了这部纪录片背后的故事,为什么有人愿意冒着生命危险去攀岩,他又是怎么爬上去的。

4、再见 Docker(英文)

作者认为,Docker 作为一家公司已经失败,作为一种技术,也即将被其他容器技术取代。

5、关于 EOF(英文)

EOF 是一个很容易混淆的概念。Windows 系统的文本文件,结尾可以有 EOF 终止符;C / C++ 语言有一个表示读取终止的特殊值 EOF,还有测试读取是否终止的 eof()feof() 函数。

6、使用 AV1 编解码器(英文)

AV1 是一个新的开源的视频编码和解码标准,本文介绍 AV1 的基本知识,以及如何把视频压缩成 av1 格式。

7、无 JavaScript 的前端(英文)

作者呼吁 HTML 语言内置更多的功能,从而使得只用 HTML 就可以写出可交互的页面,减少 JavaScript 的使用。

8、线程的基本知识(英文)

一篇写得非常好的科普文章,通俗地详尽解释了进程和线程的相关知识。

9、如何使用 React Hooks 获取数据?(英文)

本文由浅入深一步步介绍,如何使用 React Hooks 的 useEffect 从远程服务器获取数据。

10、浏览器内置的 KV Storage(英文)

浏览器提供的键值对存储 localStorage API 是同步操作,有时候很慢。为了解决这个问题,Chrome 浏览器开始提供异步键值对存储的 API。

11、浏览器原生的图片懒加载(英文)

Chrome 75 将原生支持图片的懒加载,写成 <img loading=lazy> ,就可以滚动到视口加载图片。

50每周分享第 50 期

1、我的 Linux 桌面配置(英文)

一个高级程序员介绍他的 Linux 桌面开发环境,以及他的各种软件选择。

2、我们不再需要 Chrome(英文)

Chrome 已经垄断了浏览器市场,作者论证为什么这种情况对互联网是不利的。

3、React Hooks 入门教程(英文)

一篇很好的 React Hooks 的入门介绍文章。

4、Kanban 与 Scrum 的比较(英文)

Kanban 和 Scrum 都是敏捷开发的具体实现方法,本文讨论它们的异同。

5、在特斯拉工作的感受(中文)

在马斯克的影响下,特斯拉公司上下极其激进、残酷冰冷、毫无感情,你的工作不仅压力超级大,而且很有可能因为表现不好被开除。但是为什么还有员工没辞职呢?

6、LFU 算法的一种实现(英文)

LFU 是常用的删除过期缓存的算法,本文介绍了它的一种代码实现。

7、重新设计 UI 基本上是浪费时间(英文)

作者认为,95%情况下,你不需要重新设计 UI。

8、中国超高压电网(英文)

中国已经建成了全国性的超高压电网,用来将西部的电力输送到东部。这是世界上前所未有的,IEEE 的这篇报道进行了长篇介绍。

9、State of CSS 2019(英文)

针对全世界开发者的 CSS 调查。(@lanlejiudunle 投稿)

10、业余无线电爱好者入门(中文)

如何在国内拥有一个个人的无线电台。

49每周分享第 49 期

1、JavaScript 模块简史(英文)

本文介绍历史上 JavaScript 各种模块方案的演变。

2、广告 ID 的现状(英文)

通常,网站用 Cookie 设置 ID,以便追踪用户。用户可以通过清除 Cookie,防止被追踪。但是手机上,App 可以通过无法重置的硬件 ID 追踪用户,比如 IMEI、网卡 MAC 地址,SIM 卡序列号等。为了解决这个问题,iPhone 和安卓都提供广告 ID 功能,既可以表示身份,又可以被用户重置。

3、SSD 硬盘是否可靠?(英文)

本文介绍了固态硬盘 SSD 的一些知识,以及与传统硬盘可靠性的对比。

4、磁力链接介绍(英文)

磁力链接是下载和共享 bittorrent 文件的一种方式,本文介绍了磁力链接的基本知识,以及与 Torrent 文件的关系。

5、单页应用的二进制打包(英文)

本文介绍了一种方法,将网站打包成一个 Go 语言的二进制程序。启动网站,就是运行这个程序。

6、抽象的成本(英文)

重复的代码通常会被抽象掉,本文讨论抽象带来的额外成本。

7、JSX 的替代方案(英文)

JSX 是前端框架中书写网页代码的一种形式,本文介绍了 JSX 的替代方案,如果不用它,你有什么选择,以加深理解。

8、创建你的第一个 npm 包(英文)

入门文章,针对新手介绍如何创建一个 npm 模块。

9、App 的实验数据(英文)

很多 App 会进行 A/B 测试和新功能实验,将数据传回服务器,本文分析了 Airbnb、Pinterest 等 App 传回服务器的数据。

10、每行80个字符是很好的标准(英文)

作者谈了为什么每行80个字符的长度非常合理有用。

11、独立运行的 WebAssembly(英文)

Mozilla 宣布发布独立的、跟 Web 无关的 WebAssembly 运行时,即 WASM 代码现在可以直接在各个操作系统运行。

48每周分享第 48 期

1、异步编程是什么?(英文)

一组系列文章,从操作系统的高度,较为通俗地介绍如何认识异步编程。

2、行内 JS 脚本的堵塞效应(英文)

网页加载 JS 脚本时,允许异步加载脚本(即加上 async 属性),但是行内脚本可以堵塞异步脚本,本文介绍解决方法。

3、Unix 文本操作命令介绍(英文)

Unix 命令行有许多操作文本的命令,本文逐一介绍。

4、Python 数据类型简介(英文)

初学者的基础知识文章,介绍和列举 Python 的数据类型。

5、正则表达式为什么不能解析 HTML 网页?(英文)

正则表达式最多只能解析网页的片段,而不可能写出一个基于它的 HTML 解析器。

6、Go 语言编程风格的最佳实践(英文)

作者谈了一些建议,如何编写可维护的 Go 语言代码。

7、橙色的历史(英文)

欧洲人直到16世纪才开始使用这种颜色。橙色象征着生育和富饶,上图是1895年的油画,反映了穿着橙色长袍的青年女性。

8、Beacon:暗网的搜索引擎(英文)

暗网必须在加密条件下才能访问。Beacon 是一个暗网的搜索引擎,允许在正常网络中搜索暗网的信息,该工具目前还没有正式推出,本文只是介绍。

9、网站扩展的图说教程(英文)

本片使用多张图片,通俗地解释如何拓展网站服务,承受更大的访问量。

10、Flexbox 详解(中文)

详细介绍 CSS 的 Flexbox 布局,配有大量图片说明。(@veedrin 投稿)

11、React Router 为什么发布5.0版?(英文)

如果你记不住脱字符( ^ )的作用,下面这起事故会让你记住。react-router 先发了4.4版,但是一个核心衍生库(react-router-dom)的4.3版,依赖错误地写成 "react-router": "^4.3.1" ,与4.4版不兼容导致报错。最后团队决定,撤销4.4版,改发5.0版。

47每周分享第 47 期

1、Amazon Lambda 的通俗解释(英文)

本文使用最简单的语言解释 Lambda 服务,如果你不知道它是什么,可以看看。当然不涉及细节。

2、Chrome 浏览器支持跳转到指定文字(英文)

Chrome 将支持跳转到指定文字,而不需要锚点。做法是 URL 里面设置 #targetText=hello%20world ,然后就会跳转到网页的第一个hello world的地方。

3、AltaVista 的历史(英文)

AltaVista 是谷歌之前最大的搜索引擎,本文回顾了它的兴起和没落。

4、Windows 10 新版本可以直接访问 Linux 文件(英文)

下一次2019年春季的 Windows 10 更新,将允许 Windows 的文件资源管理器,直接访问和编辑 Linux 文件,不过必须是 Windows Subsystem for Linux(WSL)里面的文件。

5、如何获取全球航班的实时位置?(英文)

很多应用可以显示全球航班的实时信息(上图),这是怎么做到的?原来每架民用客机都配备了一个特殊设备,发送自身的各种数据,使用 1090MHz 未加密的无线电频率,因此个人可以接收到这些数据。

6、你可能不需要单页应用(SPA)(英文)

作者认为,网站做成单页应用的这种趋势,有滥用的嫌疑。他提出,大多数情况应该使用传统网页,只有那些强调实时响应、富交互、状态分享的场景,才应该使用单页应用。

7、Python NumPy 实例教程(英文)

NumPy(Numerical Python 的缩写)是一个开源 Python 库,用于进行科学计算。这篇是详细教程,通过大量实例介绍这个库的用法。

8、自学计算机科学(英文)

本文给出自学计算机科学所需阅读的书单,有中译。(@baibm 投稿)

9、BeOS 如何输给 NeXT(英文)

1996年,陷入困境的苹果公司决定从外部购买一个操作系统,当时有两个候选者:BeOS 和 NeXT。最后,他们选择了 NeXT,让乔布斯重新回到苹果。本文作者是 BeOS 的开发者,谈了当时的情况。

10、成为亿万富翁的工程师(英文)

79岁的 Herbert Wertheim 拥有大约23亿美元的财富,是美国少数白手起家的亿万富翁。他没有创办过任何企业,纯粹靠投资股票致富。他以前是工程师,靠阅读专利选择投资目标。本文是他的故事。