0%

软件运行时需要依赖一系列环境(称为 runtime),而环境的配置是非常麻烦的一件事。所以一个直接的想法就是:软件能否带环境安装?虚拟机的快照就是带环境安装就是一种解决方案,但是虚拟机又有占用资源多,启动慢等缺点。因此 Linux 发展出了另一种虚拟化技术:容器。

阅读全文 »

最近要改一个之前同学遗留下来的问题,这个问题描述如下:我们的业务进程会定时去扫另一个业务的数据库,将得到的数据信息缓存在内存中,业务进程从缓存中读取数据信息并进行业务处理。由于对数据的实时性要求并不是很高,之前的同学为了实现简单,每 60s 全量扫描一次数据表,将缓存与数据库进行同步。问题是全量查询的 SQL 语句并没有 where 子句,DBA 同学认为这条语句是慢查询语句,需要我们业务方整改。

阅读全文 »

Pecan 是轻量级的 Python web 开发框架,它用于填补 Python web 框架世界中的一个空白:即提供对象分发(object-dispatch)风格的路由。Pecan 并不打算成为一个全栈框架,因此并不包含一些开箱即用的工具:例如对 sessions、databases 的支持,相反 Pecan 聚焦于 HTTP 本身。

阅读全文 »

今天将分析 Python 里的一个开源项目:Paste Deployment(后面简写为 PasteDeploy),它是一套框架,可以用于发现并配置 WSGI 应用程序和 WSGI Servers。对于 WSGI 应用程序的使用者而言,它可以提供单一的入口(loadpp)来从配置文件或者 Python Egg 中加载 WSGI 应用程序,而对于 WSGI 应用程序的开发者而言,只需要按照 PasteDeploy协议,为应用程序提供相应的 entry_points,PasteDeploy 即可发现这些 WSGI 应用程序,WSGI 应用程序的实现细节里也无需感知应用程序的用户。

阅读全文 »

当我们编写了一个 Python 模块后,可能希望别人也能复用这个 Python 模块,因此我们会对这个 Python 模块进行打包发布。而对于其他想要使用这个 Python 模块的开发者而言,则需要下载安装这个 Python 包。整个过程涉及到 Python 的包管理机制(python distribution)。这篇文章是对 Python 包管理的一个简单总结,目的是对 Python 的包管理机制有一个较为清晰的理解。

阅读全文 »

这篇文章将介绍如何将 vscode 打造为笔记软件,同时穿插一些关于 做笔记 的想法。

对于程序员而言,笔记软件必不可少,无论是日常学习中的读书笔记、还是工作中随手记录某个命令,都需要使用到笔记软件。关于笔记软件,市面上各种妖艳软件层出不穷,各种关于记笔记的理论也是百家争鸣,某些笔记软件自身的用法,就需要一篇长长的笔记来来记录。在尝试过有道云笔记、印象笔记、还有一些新潮软件(例如 obsidian)之后,最终还是下定决定使用 vscode 作为笔记软件,因为它能满足我对笔记软件的两个核心诉求:简单、高效。

阅读全文 »