0%

Python 是一款优秀的编程语言,其语法优雅简单,但更重要的是各类第三方 Python 库丰富。甚至可以说,学 Python 主要不是学它的语法,而是学习各类第三方 Python 库的用法。安装第三方 Python 库也很简单:Python 拥有 pip 这个包管理器(Package Manager),执行 pip install <package_name> 即可安装所需。

然而,在实际使用中,可能经常会遇到以下一些情况,导致我们无法轻易用 pip 安装第三方库:

  • 系统 Python 安装在系统目录,需要 Root 权限才可写入,因此执行 pip 需要使用 sudo 命令。若当前用户不在 sudoer 组内,则无法使用 pip 安装第三方库。
  • 系统 Python 安装在系统目录,需要 Root 权限才可写入。若当前用户不在 sudoer 组内,且未安装 pip,则用户无法安装 pip,继而无法用 pip 安装第三方库。
  • 系统 Python 安装在用户 Home 目录,但因系统没有 libffi/zlib/openssl 或编译安装 Python 时没有正确配置好这些库的依赖,则也无法安装 Python 的 Setuptools 和 pip。

总而言之,pip 虽然方便,但是因为系统权限、依赖库等问题,有时难以使用。问系统管理员要权限,当然是一个解决方案,但是每次安装新的 Python 库都要麻烦别人,未免麻烦。

阅读全文 »

在实际工作中,我需要取得一个整数二进制表示的最后一个「1」在哪里。

最朴素的办法,是用短除法,逐次取余数。高明一点的办法,可以是将目标整数向右逐次右移 1 位,然后与常数 1 按位取与,结合计数器判断「1」的位置。

这里,我们介绍一个更加「聪明」的办法。

阅读全文 »

许多期刊在投稿的时候要求作者将图表等大块内容与正文分开、放在文章末尾。通常来说,我们只能将本来放在正文中的插图、插表代码挪到文章末尾;然后再用交叉引用,说明图表的作用。

这样固然可以实现需要的效果,但是改变了行文的习惯,也不符合 LaTeX「内容与格式分离」的哲学。

McCauley 等人的 endfloat 宏包改变了 LaTeX 处理浮动体的流程,能够比较简单地将图表这些浮动体延迟到文章末尾输出——只需要简单的配置,不需要改变行文习惯。

阅读全文 »

工作中需要用到 SecureCRT,但是 SecureCRT 默认的配色方案实在是丑得不能用,写代码看久了还伤眼。「刚需」驱动下,自己仿照 Solarized 方案做了一个配色,顺眼多了。

阅读全文 »