纯函数
如果说编程中函数这个术语借自数学,那么纯函数就是编程到数学的回归。本文将会介绍纯函数的相关概念,并且解释把一个函数写成纯函数的形式究竟有什么好处,以及编译器是怎么标记一个函数纯与不纯的性质。
如果说编程中函数这个术语借自数学,那么纯函数就是编程到数学的回归。本文将会介绍纯函数的相关概念,并且解释把一个函数写成纯函数的形式究竟有什么好处,以及编译器是怎么标记一个函数纯与不纯的性质。
我给新买的 OnePlus 8T 刷了一个先进的原味安卓系统。遇到的坑和新知识。
$$a_{17} \equiv 1-\sum_{i=0}^{16} {2^{17-i} a_i} \pmod {11}.$$
对于 deque 或者 list 之类的容器,不少算法会有需求在“迭代的过程中”对容器进行操作。直觉告诉我们,对一个正在被读取的对象做写操作是危险的。不巧今天也在 LRU 的实现上犯了这样的小错误,而且是以一种相对隐蔽的形式出现的。
这三者是多任务编程中最常见的基础设施,而它们背后隐藏着更深层的关系。例如,它们全都可以用信号量来实现;如果没有信号量,也可以用互斥量和条件变量组合实现一个信号量……
在 Rosetta Code 上看到的快速傅里叶变换算法,其中用到了标准库中的 complex 和 valarray。我第一次注意到有 valarray 这个库,代码看起来很有函数式处理数组的味道,刚好很适合用在蝶形结递归里。代码简洁,并且顺便代入一个正弦波采样试了试。
Port Forwarding, a kind of Tunnelling, is a common trick to work around certain undesirable network topology. A bunch of software can do the trick, but why not make use of your pre-installed ssh?
在单片机里写出计算小车的俯仰角的代码并不容易。——除非复制粘贴,那轻松多了。
某比赛中外置的计算机里,提供了示例代码。部分代码藏了起来。一些“重要的代码”被丢进了 .a 静态库里。今天的主角是里面的 PID 算法。
Norm Roger:……我发现了 NEC 生产的芯片能在崩溃前能一路超到 14MHz。我还发现一个日本的 DRAM 品牌足以支撑运行在 12MHz 的 Z80。于是,我把它们放一起,磨掉芯片上的字……然后我可以几乎三倍于 6MHz 版本的价格卖出 12MHz 的 Blue Thunder……