Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

ramsayleung.github.io

自由庄园

Get the latest updates from 自由庄园 directly as they happen.

Follow now 22 followers

Latest posts

Last updated 17 days ago

重新造轮子系列(六):构建工具

18 days ago

项目 GitHub 地址: Build Manager 1 前言 以 C 语言为例,一个程序通常由多个源文件 .c 组成...

重新造轮子系列(五):模板引擎

24 days ago

项目 GitHub 地址: Page Template 1 前言 在现代网站开发里,内容与表现的分离已经成为基本准则(Separation of content and presentation)...

《过河卒》: 比特币雏形之父之父的故事

29 days ago

1 缘起 在《软件那些事儿》播客采访听众故事的系列里面,有一期名为《No.502 跟35岁的程序员聊聊比特币》1 长达三个多小时的播客,主人公分享自己与比特币的故事,还谈到其在2020年卖房买比特币的故事。 既钦佩这位仁兄知行合一的投资理念,也羡慕他卖房买比特币的财力,胆识与机遇。 这位同行在节目结束前分享了一本名为《过河卒》2的书籍,其作者戴习为是文革前就读于中国科技大学电子系的高材生。 为什么他会在聊比特币故事的播客节目中提及这位书呢? 因为比特币的作者中本聪的第一封已知公开的邮件3,即讨论比特币白皮书草稿的邮件,就是发给戴习为之子,戴维 4的 戴维的项目 b-money...

重新造轮子系列(四):正则表达式引擎

about 2 months ago

项目 GitHub 地址: Regex 1 前言 所谓的正则表达式,指的是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本。 最开始是一位叫 Stephen Cole Kleene 的数学家用被他称为...

重新造轮子系列(三): HTML Selector

about 2 months ago

项目 GitHub 地址: Selector 1 1 前言 以前写爬虫的时候,必不可少的一个工具就是 HTML selector, 就是用于匹配指定的 HTML...

重新造轮子系列(二):文件备份

2 months ago

1 前言 既然我们已经有单元测试框架来测试软件了,我们肯定不想已经写好的代码丢失掉。 对于重要的文件,一个必不可少的功能肯定是备份, 这样在丢失文件之后可以重新恢复。 今天我们就来写个简单的文件备份软件,类似 Git 这样的版本系统可以当作是高级版本的文件系统,因为它还支持切换到不同版本,对比版本间的差异等等功能,而我们不打算实现一个版本管理系统,只实现基础的文件备份功能。 2 实现思路 2.1 校验文件是否变更...

软件工程师的软技能指北(六):谈薪篇

3 months ago

1 目录 软件工程师的软技能指北(一):总览篇 软件工程师的软技能指北(二):事业篇 软件工程师的软技能指北(三):高效交流篇 软件工程师的软技能指北(四):简历篇 软件工程师的软技能指北(五):面试篇(暂时跳过, 后面再填) 软件工程师的软技能指北(六):谈薪篇 2 前言 打了这么多年工,要说最后悔和最遗憾的是什么,「拿到...

重新造轮子系列(一):从0开发单元测试框架

3 months ago

1 前言 单元测试的重要性无须多言,它是保证项目质量的基石 如果没有单元测试,根本没有信心说自己开发的功能是符合要求的,更没法在没有测试的保证进行项目的重构。 既然单元测试如此重要,今天就用Typescript来写一个简单但五脏俱全的单元测试框架。 2 历史 Javascript 比较流行的测试框架是 Mocha 和 Jest...

ReInvent: 重新造轮子系列(序言)

3 months ago

1 起因与动机 最近在看 System Design By Example 这本书,主旨是通过设计和实现各种日常开发中常见的软件,以理解和提高系统设计(System Design)的能力。 每个章节都会实现一个软件,然后还会有大量的习题来完善这个软件,以练带学。 而我最推崇,并且认为最好的学习方法就是:费曼学习法(Feynman Technique)...

杂谈AI取代程序员

3 months ago

1 前言 最近国产的DeepSeek 模型的爆火,让「AI取代程序员」的说法又甚嚣尘上, 比如在国内著名的程序员社区 V2ex 搜索「AI取代程序员」1,可以搜索出 69627 条结果(截止2025-02-15) 以至于我的一位非程序员朋友都来关心我,问我是否有被取代的担忧。 在感谢朋友的关心之后,我也开始静下心来思考这个问题,以及形成这种想法背后可能的原因,然后就有了这篇文章。 2...

编程十年的感悟

5 months ago

1 前言 马尔科姆·格拉德威尔的“一万小时定律”指出,持续投入一万小时的努力,足以使人在某个领域达到专家水平。 按照每周20小时的练习量计算,每天大约需要投入3小时,十年左右才能达成这一目标。 从我写下第一行C代码算起,至今已超过十年。 期间,我编写了超过三十万行代码,其中一部分在微信编写的代码,曾服务过超过一亿的用户。 尽管写了这么多代码,我仍不敢自诩为专家。 但多年的“打工”生涯,日复一日地敲代码,也让我积累了不少感悟。 “工多艺熟”,这些感悟既是对编程技术的思考,更是对职场人生的体味。 毕竟,除了最初在学校学习的几年,我的编程生涯几乎都伴随着“打工”的酸甜苦辣(多是苦辣)。 2 持续学习...

编程十年的十条感悟

5 months ago

1 前言 美国作家马尔科姆(Malcolm Gladwell)提出了著名了「一万小时定律」,就是不管你做什么事情,只要坚持一万小时,基本上都可以成为该领域的专家。 如果你每周练习20小时,每天3小时,一万小时大概就是10年时间,从我写下第一行C代码开始算起,到现在也超过10年了 10年的时间, 我写了超过30万行代码了, 我曾经在微信写的代码,也服务过超过一亿的用户. 虽然写了那么久的代码,但我还很难自称为专家; 但工多艺熟,编程多年自然会有所感悟,除去开头在学校的那几年,后来的时间都是在工作中写代码,所以写的既是编程感悟, 又是「打工感悟」。 2...