我们生活在差异里
对不起余华老师,小小碰一下瓷 上周我去了上海,见了我研究生时代关系最好的同学,我们已经快九年没见了,他头发理得很短,略显发福,就称呼他为亮子吧。亮子还在一家芯片设计公司上班,从毕业后到现在一直没换过,已逾十年。这对于我来说有些不可思议,疫情以来,「降本增笑」对于我们来说已经是一个谈资,而他却一直在做着同样的事情,同样的…
对不起余华老师,小小碰一下瓷 上周我去了上海,见了我研究生时代关系最好的同学,我们已经快九年没见了,他头发理得很短,略显发福,就称呼他为亮子吧。亮子还在一家芯片设计公司上班,从毕业后到现在一直没换过,已逾十年。这对于我来说有些不可思议,疫情以来,「降本增笑」对于我们来说已经是一个谈资,而他却一直在做着同样的事情,同样的…
Lock 策略
Lock strategy
Lockfile
Lock file
辨析是一种学习技巧,我经常使用这种方式。找出一个概念中的两个类似的事物,然后比较它们的不同之处。人们设置类似事物并不是多余的,通过辨析可以找到它们背后的逻辑。 我上小学五年级的时候家里买了一本书,叫《汉语联想词典》, 这本书甚至连豆瓣词条都没有。它大概是一本通俗版的《说文解字》,里面按部首索引汉字,通过汉字的字源字形讲…
好几年没写年终总结,因为其实自己这一年,或者说每一年,达成的成就都不多,令人兴奋的更少,所以我可能没办法写出什么取得了长足的进步,憧憬来年更好的文字。 但另一方面,读我的这篇总结应该不会产生什么焦虑的情绪。 工作与技术 2023 年年初我也体验了一把「广进计划」^1,拿了补偿,也体会到了在一个和利益相关的团队中,各方如…
错误处理是编程语言中很重要的组成部分。一般来说,发生错误时,要立即中止程序正常逻辑的执行,转而执行错误处理逻辑,这个过程称为错误处理。 我用过的编程语言中,比较熟悉的两种错误处理方式,一种是异常抛出,一种是错误返回。它们各有优缺点,也有各自胜任的场景。 先来看看它们各自是怎么处理错误的。 以 Python 为例,抛出异…
一 最近《乐夏》开播,我没看,但我偶尔能刷到一些片段。不知有没别的人和我有同样的发现,大部分摇滚主唱和民谣歌手的咬字 都有一些共同的特点,就是以北京腔为底的夸张化的卷舌,特别是在 zhi,chi,shi 这三个音上有很特殊的听感,就像是在故意大舌头。 可以听彭磊、老狼甚至大张伟的演唱感受下我说的是什么。这种咬字方法和港…
确实有挺久没有更新这个网站了,而且今年到现在为止只写水了一篇博客。于是开始思考,是什么会趋使自己想要写一篇文章来分享呢?找到这个动机,或许能了解为啥自己不咋更新。 同时也更新一下以证明这网站没死。 考虑文章的内容和取材,其一是技术文。这需要良好的输入,通透的理解,以及对知识的整理归纳,才能形成一篇有头有尾深入浅出的文章…
今年以来,Python 打包社区依然很活跃,有对 PEP 582 的最新修改,也出现了一些新的提案, 本文将略作总结。 群众的呼声——统一的包管理器 在去年 9-10 月份的时候,PyPA 曾做了一次问卷调查,目的是了解用户对于 Python 打包现状的看法,以及对于未来的期望^1。在收集上来的问卷中,有以下用户的回复…
前言 很久没更新了,写这篇文章是因为受了高天直播 Code Review的启发,深刻感觉到 Python 的灵活和强大,导致了实现同样的功能不同的人会写出完全不一样的代码。Python 语法糖有很多,如何把握「甜度」?过犹不及,我就本人的口味来细说一下。 <!-- more --> 免责声明,本文有关代码好坏的论断纯属…
The English Version PDM 在最近发布了 2.0.0 版本,新特性已基本完成。本文将介绍这次更新的内容。详细改动日志在这里可以看到。 虚拟环境成为项目的默认配置 PDM 在建立之初,是标榜自己是一个支持 PEP 582 包结构的包管理器。但无奈,经过两年的观望,PEP 582 仍旧停留在 Draft…
中文版本 PDM has released 2.0.0 recently, it is mostly complete feature-wise. This post lists and illustrates the important new features, and more details can be se…
在上周的周记中我记了一句: pdm 提了几个 issue,都和 debian 系统的 python 有关,i hate it 本文是对这句话的一个扩展。作为一个 Python 打包工具的开发者,非常痛恨 Debian 系统,所以我在回复 laixintao 时说道: Python 打包系统的混乱,Debian 系统是要…
我是一个 Logseq 的新手玩家,在使用 Logseq 的时候,有一个最大的痛点, 就是 Logseq 不能随时随地记日记(Journal),本地化存储是 Logseq 的优点,但也造成一些不便。比如我躺上床上,在淋浴中,在运动中想到一个点子, 难道我要记到脑子里,等第二天再记到电脑上,还是我立刻打开电脑记下来呢,这…
本文介绍了在 Python 库中 vendor 第三方库的正确方法。我知道这篇文章的受众非常狭窄,大部分 Python 开发者都不会也不需要用到这个技术, 但是本着分享的精神还是把它总结一二,作为软件的作者更是应该尊重所有其他库的作者的劳动。 <!-- more --> WHAT - vendor 是什么? Vendo…
这是我在今年 11 月 PyCon China Shenzhen Meetup 上做的线下演讲。由于之前我在线上的会议上介绍了 Python 打包的历史进程,所以这次我打算 厚颜无耻地单纯给 PDM 打广告,原本就是打算现场 demo,没怎么准备。结果到了会场之后发现播放设备和讲者是分离的,我临时在会场录制了一个 de…
Python 里的 argparse 大家都不陌生,是用来解析命令行参数的标准库,它的用法大致是这样: import argparse parser = argparse.ArgumentParser(description='Greet to some body') parser.add_argument( '-n'…
我在今年的PyCon China 2021上在线做了一个演讲,题目是「Python 打包 101」。Python 打包是个每个 Python 开发都可能用到并且需要了解的知识。演讲试图从 Python 打包的历史进程开始,阐述 pip install 背后发生的过程,同时介绍当前 Python 打包的最佳实践。 同是我…