Posts by Category

2022-10

Lisp 表达式解析

October 31, 2022

Lisp 表达式也叫符号表达式(S-expression),是一种前缀表达式。在 Lisp 里,(quote) 函数或者'可以方便地把符号表达式解析成内部的列表数据结构,而在其他语言里,如果需要做类似的转换,则需要花一些功夫。 Read More

Lisp expression parsing

October 31, 2022

Lisp expressions, also known as symbolic expressions (S-expressions), are prefixed expressions. In Lisp, the (quote) function or ' can easily parse symbolic ... Read More

Eight queens puzzle

October 17, 2022

According to the wikipedia, the eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens threaten each oth... Read More

Back to Top ↑

2019-12

记一次 Kubernetes 服务解析问题排查

December 31, 2019

最近把项目部署从 docker-compose 迁移到 Kubernetes 集群后,遇到了域名解析失败的问题。这个问题不大常见,google 能找到的资料不多,所以在这里记录下排障的思路和方法,供他人参考。 Read More

Git 使用和工作流

December 19, 2019

这是前阵子在组里做的一次分享,主要关于 Git 的日常使用和工作流程,目的是希望提高大家对 Git 的了解程度,从而提高工作效率。 Read More

Helm command cheatsheet

December 03, 2019

This post is a cheatsheet of the helm commands. Helm is a package manager for Kubernetes, like apt/yum/homebrew for Kubernetes. Read More

Back to Top ↑

2019-01

Back to Top ↑

2019-11

RESTful API 分页问题

November 10, 2019

传统的 REST API 分页方式?page=1&size=10主要应用于静态的或者不经常改变的数据。但面对动态的或者实时数据,就会造成数据重复显示或丢失,尤其在移动端上表现更为明显。因为几乎每个移动应用都会有上拉加载更多数据的交互。 Read More

Back to Top ↑

2020-03

Ansible 笔记

March 25, 2020

Ansible 作为常见的配置管理(Configuration Management)工具,相比 chef/puppet 的优势: Read More

SICP 第一章读书笔记 - 递归与迭代

March 08, 2020

花了三周左右时间读完了 “Structure and Interpretation of Computer Programs” 第一章,完成了大部分的习题,在这里记录下书中的一些精华段落,供以后参考。 Read More

Back to Top ↑

2021-01

Django Migration 源码分析

January 27, 2021

Django Migration 主要用来自动化地变更数据库的 schema(新增表,新增字段等等),有点类似版本控制系统(git),只是控制的是数据库的 schema,而不是代码。 Read More

Back to Top ↑

2021-07

Back to Top ↑

2022-12

JavaSchools 的危害

December 30, 2022

这是软件行业“思想家” Joel 的另一篇文章,该文章写于2005年,关于 JavaSchool(所有课程使用 Java 来教授的学校)给整个行业带来的危害,内容有些争议,但不妨一读。 Read More

你永远不应该做的事,第一部分

December 29, 2022

Stackoverflow 的联合创始人 Joel 的这篇文章,虽然已经过去了20多年,读起来依旧能让人起共鸣。软件开发行业有别与其他行业,在这里每天都有新技术出现,旧技术被淘汰,但有些东西却会一直存在,有些错误20年前的人会犯,20年后的人也依旧会犯,因为人性亘古不变。 Read More

Back to Top ↑

2023-01

一个 Python 实现的 Lisp 解释器

January 13, 2023

SICP 第四章里详细讲解了自循环解释器(meta-circular evaluator),也就是使用 Lisp 语言实现一个解释器来运行 Lisp 程序。该解释器只有几百行 Scheme 代码,却展示了一些重要的概念,例如 eval-apply 循环,静态绑定(static binding),闭包函数(clos... Read More

C pointers notes

January 03, 2023

Pointer is one of two things that many people just never really fully comprehend, another is recursion. Read More

Back to Top ↑

2018-03

Back to Top ↑

2019-10

Back to Top ↑

2020-02

Back to Top ↑

2020-04

GitOps 实践

April 01, 2020

在看了 CERN 的 GitOps 视频介绍后,决定实践一下,使用 git 仓库作为 K8S 集群唯一事实来源(single source of truth), 集群的所有改动需要通过 git 来同步。工作流如下图: Read More

Back to Top ↑

2020-09

Back to Top ↑

2021-02

Kubernetes (K8S) 笔记

February 02, 2021

K8S 是分布式应用的编排器(orchestrator),无论是部署应用到云上还是内部(on-premise)机房,都需要打包应用,分发软件包,保证应用高可用,负载均衡流量等一系列复杂环节。K8S 提供了一层抽象,屏蔽了这些复杂且容易出错的环节,让开发者能专心开发功能,只需要改动几个参数,就能让应用运行在几万台机... Read More

Back to Top ↑

2021-04

Back to Top ↑

2021-05

Back to Top ↑