分类存档: 代码卷轴

如何让程序自动绕过百度云加速的浏览器安全检查

最近写了一个Perl脚本自动调用迅雷远程下载电影,目标电影站是赫赫有名的 MP4BA。本来运行得挺好,每次有符合条件的好电影发布,脚本就会自动通过调用运行在Raspberry Pi上的迅雷远程将其下载到本地。但是今天程序一直报 503 错误,后来发现是百度云加速的浏览器安全检查在作祟,用户有时需要通过一次校检才能正常访问网站

扯淡:计算数组元素出现次数

给定长度为n(比如15)的整数数组,求出所有出现次数大于n/3的整数。比如[3, 7, 3, 6, 3, 6, 3, 6, 7, 3, 53, 6, 3, 6, 6]。

如何制作纯 ASCII 文本流程图

在 StackOverflow 上经常看到有人为了说明程序实现或者服务架构而插入一个纯 ASCII 文本的流程图。相比图片式的流程图,纯 ASCII 文本的流程图简洁明了,插入方便,节省空间,便于移植,用来说明技术问题的效果非常好。

通过银行卡号解析银行名称和卡别

前几天在支付宝添加银行卡的时候注意到输完卡号支付宝就自动识别了银行名称,所以用Firefox自带的工具看了一下实现方式,发现支付宝有一个 API 来做这个事情,只要依据固定的格式发送HTTP请求就可以获得JSON格式的结果,除了对应的银行名称代码之外,还有银行卡的类型(储蓄卡/信用卡)。

吐槽一下 Python 的urllib 和 urllib2

最近在用 Python 封装一个内部 RESTful API,所以用到 urllib 模块,结果发现连 Request 对象都不支持,那还玩个毛,于是我惊喜地发现还有一个 urllib2,嗯,居然自身就支持 Request,连 httplib 都可以不用了,真好哇,结果发现尼玛竟然只支持 GET/POST,想要发其他 HTTP Request 比如 DELETE/PUT 的话,要不就还是用回 httplib,要不得用一个一点都不符合直觉的 Hack 。

EPUB弹出窗口式脚注

网上搜到一些国学典籍的 EPUB 版,虽有古人的注解,但正文和注解混排在一起,影响正常阅读,于是研究了一下 EPUB3 中有关脚注(footnote)的规格定义,写了一个 Python 脚本把所有混在正文中的脚注全部改写成了弹出窗口样式,在 iBooks 里测试通过,略记一笔。

Python/Perl 如何在HTML邮件正文中嵌入本地图片

发送包含有图片内容的HTML邮件是一个很普遍的需求,无论是写运维脚本还是网站后台都有可能碰到。前些天写一个脚本的时候仔细研究了一下,问题的关键在于如何在HTML邮件正文插入本地图片,而不是以附件的方式。

Linux上使用MSSQL Server作为Django的Database Backend

Django只内置了几个 Database Backend,默认并不支持MSSQL。官方手册中提供的第三方 MSSQL Backend 因为依赖的问题只支持 Windows 平台,在 Linux Server 上不可用。庆幸的是微软“大发慈悲”在2012年给 Redhat 提供了官方ODBC驱动(以前得用第三方的FreeTDS),而 Django 的第三方库中有比较完善的 ODBC 支持,所以我们可以迂回实现。

Perl的多线程应用之二:Parallel::ForkManager

内置的 Thread 模块无法解决线程排队、变量共享的问题,但是在使用多线程的过程中,这两个又是比较常见的需求。线程数无法控制,处理速度和内存消耗两者无法平衡;变量无法共享,无法让线程向同一个数据结构传递返回值。但是CPAN 上有一个备受匿名和尚们推崇的模块能够很好地解决这些问题,这个模块就是传说中的 Parallel::ForkManager 。

Perl的多线程应用之一:内置Thread模块

前些日子在写一些 Perl 脚本的时候为了追求处理速度或者时间上的平行,频繁地使用到了 Perl 的多线程功能。Perl 内置有一个多线程模块 Thread ,提供了常规意义上的 multithreads 功能,可以满足我们的一般需求。