のんびりと気ままに暮らすさま.

「人生苦短 全看面板」

长颈鹿是如何反刍的

How does a giraffe regurgitate

奇怪的知识又增加了。 本文来源于 知乎:长颈鹿反刍吗? 原文 长颈鹿是正经的反刍动物,能完全正常地反刍。 反刍不是“哇”地一下吐出来,而是食道肌肉一点一点蠕动,让食物一小团一小团地上去。虽然脖子很长,但长颈鹿的食道肌肉足够强壮,可以将食物从胃一点一点压回口腔;而且长颈鹿的行为方式早已协调:早晨日出后一小时内和傍晚日落后一小时内是长颈鹿进食的高峰期,其它时间进行反刍,白天大...

总结 UseEffect 使用指南

A Guide to useeffect

原文 useEffect 完整指南 摘要 如何用 useEffect 模拟 componentDidMount 生命周期? 虽然可以使用useEffect(fn, []),但它们并不完全相等。 和componentDidMount不一样,useEffect会捕获 props和state。 所以即便在回调函数里,你拿到的还是初始的props和state。 如何正确地在useEf...

Homebrew, brew 更换镜像, 升级 ruby

Package Manager for macOS

安装教程 Homebrew 官网 更换镜像 解决 mac brew update 卡着不动的问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 查看现在镜像源 brew config # 替换brew.git: cd "$(brew --repo)" git remote set-url or...

学习 Docker 笔记

Learn Docker

Docker 相关 Docker 官网 常用命令 使用docker ps命令列举出所有运行中的Docker容器,该命令参数比较多,-a列表所有的容器,-f过滤,-q只列表容器的id。 使用docker stop $CONTAINER_ID来终止一个运行中的容器。并且可以使用docker ps -a来看终止状态的容器。 docker restart 容器ID或容器名 :不管容器...

程序员中的梦想家

Dreamers among programmers

本文首发于我的知乎专栏 The Little Programmer,转载请保留链接 ;) 有一类程序员是 visionary 型的,为了实现一些超前的 idea,绕过某些技术的限制,他们写的 code 晦涩高深得只有他们自己能懂,做出来的 tool 看上去很美好结果处处是坑出了 bug 根本没法查,但正是这类人不断创造出新的东西,在洗礼之后成为一个个 big thing。 我每周...

「知乎」如何通俗地解释停机问题?

How to explain the Halting Problem?

这篇文章转载自我在知乎上的回答 我用 Python 伪代码来解释下,我觉得对这个问题有兴趣的应该都是有点编程基础的,所以直接上 code 应该是最容易的。 背景知识 「停机问题」研究的是:是否存在一个「程序」,能够判断另外一个「程序」在特定的「输入」下,是会给出结果(停机),还是会无限执行下去(不停机)。 在下文中,我们用「函数」来表示「程序」,「函数返回」即表示给出了结果。...

「知乎」为什么 CSS 这么难学?

Why I dislike CSS as a programming language

这篇文章转载自我在知乎上的回答 对我来说,CSS 难学以及烦人是因为它「出乎我意料之外的复杂」且让我觉得「定位矛盾」。 @方应杭 老师的答案我赞了:CSS 的属性互不正交,大量的依赖与耦合难以记忆。 @顾轶灵 @王成 说得也没错:CSS 的很多规则是贯彻整个体系的,而且都记在规范里了,是有规律的,你应该好好读文档而不是去瞎试。 「CSS是一门正儿八经的编程语言,请拿出你学C+...

Farewell, Flash. 感谢你,但这一次是真正的永别。

So long, and thanks for all the Flash

本文首发于我的知乎专栏 The Little Programmer,转载请保留链接 ;) 一年半前,我曾和 Flash 作过一次告别。那一次,Adobe Flash Professional CC 被重新命名为了 Adobe Animate CC,宣告着 Flash 作为一个创作工具走到了尽头。 而今天,通过 Chromium 博客 So long, and thanks f...

「知乎」如何理解 document 对象是 HTMLDocument 的实例?

Why is document an instance of HTMLDocument?

这篇文章转载自我在知乎上的回答 谢邀。 首先要理解的是 DOM 是 API,是一组无关编程语言的接口(Interfaces)而非实现(Implementation)。前端平时常说的 DOM 其实只是浏览器通过 ECMAScript(JavaScript)对 DOM 接口的一种实现。 其次要知道的是,DOM 既是为 HTML 制定的,也是为 XML 制定的。而两者各有一些特异的部...

下一代 Web 应用模型 —— Progressive Web App

The Next Generation Application Model For The Web - Progressive Web App

今年 9 月份的时候,《程序员》杂志社就邀请我写一篇关于 PWA 的文章。后来花式拖稿,拖过了 10 月的 QCon,11 月的 GDG DevFest,终于在 12 月把这篇长文熬了出来。几次分享的不成熟,这次的结构算是比较满意了。「 可能是目前中文世界里对 PWA 最全面详细的长文了」,希望你能喜欢。 本文首发于 CSDN 与《程序员》2017 年 2 月刊,同步发布于 Hux B...