David's mock life

「一切因为努力犯的错,皆可被原谅」

非线性现象、蚊音探测及若干相关话题

线性或非线性通常是指在一个系统中,输出物理量随着输入物理量变化的函数关系。比如,对一个扬声器输入一个电信号,其输出声压与输入的电信号相关。在真实系统中,这种函数关系的复杂性有两个方面:首先,输出量不仅与输入量本身有关,还可能与输入量的变化速率有关;其次,输出量的增减与输入量的增减可能不一定成比例,也就是说,系统可能不一定是线性的。 一、大振幅与非线性效应 首先介绍一下系统的非线性是怎么回事...

正反馈与负反馈

前言  反馈现象存在于世界的各个角落,影响到我们生活的方方面面。不仅在物理学中,在其他自然科学领域甚至人文科学领域,都广泛存在着各 式各样的反馈现象。 我们日常生活中经常提到的恶性循环与良性循环,实质上就是不同的反馈现象。比如,有的同学出现了夜里睡眠不良的问题,就可能影响 学习效率。学习效率降低又会使同学延长夜里的学习时间,加重睡眠不良的问题。这实质上是一个正反馈,正是由于正反馈形成了这样一...

Cordova框架试用

认识Cordova 本章将介绍一款开发者使用HTML5,Javascript和CSS等Web技术,开发手机平板电脑等运行App框架:PhoneGap/ Cordova,及及创建运行App操作界面外观的JQuery Mobile框架。前者付费后者免费 手机网页与手机App的不同 其实Cordova1就是由一个Web浏览器核心,加上插件所组成的框架。这就是为什么...

Ruby爬虫初探

写作本文的目的借博主关注的作家岳南的新浪博客介绍Ruby爬虫的使用。 借助交互Ruby控制台改善 Mechanize为编写爬取工具提供了强大的基础,有两个原因:其一,便于发送HTTP请求;其二,为搜索远程文档提供了强大的句法。我们已经见识到如何使用Mechanize轻松发送GET请求,下面探索如何使用它过滤大量文档,获取重要文本内容。我们可以在Ruby IRB(交互式Ruby shell)...

《JavaScript 二十年》推荐语

雪碧(doodlewind)邀请我给《JavaScript 二十年》 写的推荐序。 JavaScript 常常被戏称为一门偶然成功的玩具语言。而实际上,它出身名门,更是成长在聚光灯之下。纵观历史,有资格被标准化的编程语言甚少,它因此成为多方角力的战场,却也有幸同时得到业界与学界先驱的亲传。时至今日,我们甚至难言是它背负了太多妥协,还是这些妥协才成就了它呢。以史为鉴,或许你会有自己的...

作为一个前端,看不懂@黄玄 的几乎每一个回答,只有我自己吗?

Taking this chance to reflect on myself

这篇文章转载自我在知乎上的回答 我也看不懂。 对于任何一个我有一定了解的领域,我都知道一大堆我看不懂的东西。反而是对于那些我一点都不了解的,我甚至都说不出来我不懂什么。 有的时候我会觉得,在我眼里还只有前端的时候,我还更自信更爱分享一点。可能因为那时候我能感知到的「边界」就只有 2^4 = 16 这么大,还觉得自己满打满算已经懂了 4 吧。打个比喻的话就是觉得自己已经能干活了,...

React Hooks 是否可以改为用类似 Vue 3 Composition API 的方式实现?

Thinking in React vs. Thinking in Vue

这篇文章转载自我在知乎上的回答 不能,因为是很不一样的心智模型(Mental Model)。我觉得很多同学只关注到了这两套 API 在功能上都能复用逻辑的相似点,而低估了两个框架体系「大背景」上的差异。 正文开始前我先声明一下, 一是本文观点不代表公司。我是觉得圈子里不认同 Hooks 的声音太多了(比如 @徐飞 叔叔、 @贺师俊 贺老、 @题叶 同学等老朋友 ...

2019 年 PWA(Progressive Web App) 凉了吗?

Is PWA effectively dead in 2019?

这篇文章转载自我在知乎上的回答 作为 PWA 在国内的早期布道者与实践者,我觉得挺凉的。 以下都是主观感受且 opinion is my own。 PWA(甚至整个 Web)似乎被 Google(Chrome)与「第三世界」绑到一起去了。「这世界还有多少人没上过网、没有 4G、没有 3G……印度、印度尼西亚、非洲、乌干达……」这便是这两年的 Chrome Dev Summit 的...

把「终端下的 Vim」作为 macOS Finder 的打开方式

Open file with terminal Vim from the macOS Finder

我的日常主力编辑器主要是: (Neo)Vim Spacemacs (via Emacs-plus) Visual Studio Code IntelliJ IDEA 这里面只有 (Neo)Vim 是存活在终端中的(我并不在终端内使用 Emacs),而由于我日常主要是从终端(via iTerm)来使用电脑,所以会把他们都加入到 $PATH 里以方便从终端中唤起,VSCo...

Vim 与中文输入法

Using Vim with non-english input method

Update: 我最后还是放弃把 Vim 作为主要编辑器来输入中文了,整体使用下来 mental model 的 cost 太重了。记笔记时用用中文呀或者改改博客时偶尔用一下还蛮去,这个时候这个功能至少能帮助你 Esc 之后不煞笔,所以也不算完全没有价值吧…… 我相信很多中文世界的 Vimer 都遇到过这个烦恼,在 vim 的 insert 模式时可能突然想输个中文,输完之后会本能的...