Borg's Blog

Live as if you were to die tomorrow. Learn as if you were to live forever.

python GIL 缺陷思考

python 开发者都知道 python 由于 GIL(Global Interpretor Lock) 的限制,开出的线程无法使用多核 cpu,只适合处理 IO 密集型任务而不适合计算密集型。当需要处理计算密集型任务时,只能通过多进程来利用多核cpu的运算能力。通过合理使用线程、进程可以弥补 GIL 的不足,但是我最近遇到个用 python 无法做到内存、性能兼顾的问题。 给定基于统计的...

python调用二进制程序-标准输入输出流重定向

背景介绍 fastalign 是自然语言处理领域的一个词对齐工具,需要对 fastalign 的训练、模型存储、文本/单句对齐(模型使用)等步骤封装成自动化的 web 平台。fastalign 算法本身没有 python 实现,尝试过将源代码用 python 重写,但发现与官方的二进制程序相比性能差别极大,特别是当需要对齐的数据达上千万句子时,这个性能差距会被放大地更加明显。 调研 仔细观...

nameko 的使用及注意事项

nameko 的使用及注意事项 nameko 是python语言的一个微服务框架,支持通过 rabbitmq 消息队列传递的 rpc 调用,也支持 http 调用。本文主要介绍 nameko 的 rpc 调用以及一些注意事项。 创建项目 本文采用项目结构如下: project services service1 ...

reload 实现热更新

什么是 reload 当我们在 python 的交互模式下测试某个类的时候,发现这个类的某个方法有错误进行了修改,而这个方法的输入又依赖于之前在交互模式下的好几个操作,这时要怎么办呢?如果重启交互模式,那么该方法依赖的操作就得重新再来一次,相当麻烦。这时 reload 就能派上用场了。 reload 内建方法用于重新导入一个模块,如果相应的python脚本代码被修改了,用 reload 重新...

robotparser 与 requests 结合使爬虫遵守 robots.txt 协议

什么是 robots.txt ? robots.txt 文件放置在网站根目录下,定义了什么样的客户端(web服务器以User-Agent识别客户端)可以访问的资源有哪些,不能访问的资源有哪些。以百度的 robots.txt 为例,如下: User-agent: Baiduspider Disallow: /baidu Disallow: /s? Disallow: /ulink? Disa...

Celery+Django: 异步邮箱验证

其实。。。这篇教程不包括邮箱验证的,不过我有实现个 celery + django 的邮箱验证博客,问末附 repo 。 Web 应用中的长时操作如果没有异步实现会阻塞代码运行,用户需要等待较长时间才能收到响应。而像 Celery 这样的异步工具就能很好解决这类问题。本文将带你了解 Django 框架下的 Celery 使用。 安装 Celery Celery 使用 pip 安装即可...

Django Channels 实时在线用户列表

本篇翻译自: Getting Started with Django Channels 译者: Borg 本篇教程中,我们将使用 Django Channels 来创建实时应用,当用户登录或登出时将实时更新已登录用户列表。 通过使用 WebSockets (Django Channels 实现) 来管理客户端与服务器的链接,当一个用户登录时,登录事件将被广播给所有已登录的用户。每个用户的界...

Django 博客系统

跟着 codingforentrepreneurs 网站上的三个系列教程从头到尾敲完了这个博客系统,并且对前端页面进行了些修改,还补了些Bug,总算是可以用了, github代码仓库在 BigBorg/Blog。已经部署到服务器,地址为 bigborg.top,可以点开查看效果。总算不用为了发篇博文或者只是修改个拼写错误之类就来个git commit了。。。 codingforentrep...

像素涂鸦1.2.1

像素涂鸦 像素风格涂鸦应用,全部一个人完成,累死了。。。 1.2.1升级主要添加了些提示信息,比如需要登录,下载中之类的,并且修复了点bug,比如取色器在不同页面多次调取出现的空白。 演示视频 v1.2.1: 您的浏览器不支持 video 标签。 搜狗应用市场链接: pixelDrawing 1.2.1应用市场可能需要审核一两天。。。 用到的工具主要有: Flask web框架,...

微博社交网络图:爬虫+可视化

微博爬虫 + 社交网络图可视化 项目地址:WeiboSocialNetwork 先展示下结果再来解释代码: 首先有个R语言生成的 html 里面可以看到爬取的数据大致信息,比如爬取的有5017个用户,而0到1,1到2级的关注关系一共有5784个。 男性用户5003,女性13,还有个应该是空白的字符串。天,基本全是男性啊。。。就算扩展到二级而全是男性啊。。。被这比例吓到了,不过后面...