当你掏出手机打开高德地图,搜索从 “五角场” 到 “江浦公园” 的最短路线,单源最短路径就是高效解决这种问题的算法。当然,我其实瞬间就想到了很多其他的点子,比如直接在卫星地图上测量实际距离,又或者将一些路标(比如地铁口、学校、医院等)之间的最短路线(或者最优路线,虽然二者有时不相等,比如 “我喜欢绿化更高的出行线路,它让我心情好”)提前记录好,然后只需要测量起始点到最近路标的最近路线即可。
当你掏出手机打开高德地图,搜索从 “五角场” 到 “江浦公园” 的最短路线,单源最短路径就是高效解决这种问题的算法。当然,我其实瞬间就想到了很多其他的点子,比如直接在卫星地图上测量实际距离,又或者将一些路标(比如地铁口、学校、医院等)之间的最短路线(或者最优路线,虽然二者有时不相等,比如 “我喜欢绿化更高的出行线路,它让我心情好”)提前记录好,然后只需要测量起始点到最近路标的最近路线即可。
“The Free Lunch Is Over” – Herb Sutter
对于痛恨大厂 “挤牙膏” 的我而言,Intel 创始人提出的摩尔定律听起来再 “美味” 不过,一个延续数十年名副其实的 “神话”。但随着半导体工业发展到极致后,为了继续提高芯片性能,只能转向多核化发展。而多核化又进一步促生并发编程的需求。
我大学的时候有翻过几页这本书,但阅读体验不好没看多少。虽然很多人吹捧它,可是我并不想在这种书上浪费时间,因为读它跟读《Java 编程思想》一样让我感到吃力,而这本书并不会给我找工作提供任何帮助。后来,还有学长推荐《摩托车与禅》,我都将它们归类为一个靠创业挣了钱的美国人专门拍了部自己的阿甘正传,明显不适合我。但最近,因为编程随想的一篇文章 每周转载:IT 大牛谈编程语言(网文 3 篇),让我开始对书的作者产生了浓厚的兴趣。
本篇大杂烩包括键盘重映射、守护进程、FUSE、备份、APIs、命令行模板、窗口管理器、VPNs、Markdown 等。
标题很唬人,但实际上我们并不需要去学习如何设计安全系统或密码协议,而只需要理解和实际编程相关的东西,比如在 Git 中使用 Hash 函数或在 SSH 中使用 KDF 和对称非对称加密,密码学突然就接地气了。
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” — Brian Kernighan, Unix for Beginners.
编程有一条黄金法则,“代码并不会按你所想那样运行,而只会按你所述运行”。写完代码只是编程的第一步,我们更多时间其实花在了 Debugging(调试) 和 Profiling(性能分析) 上。