BLOG
Enjoy when you can, and endure when you must.
APR 10, 2018/后端开发与架构
uwsgi 与 rabbitmq 的恩恩怨怨

记一次系统故障的至始至终

AUG 17, 2016/后端开发与架构
微信支付开发中几个值得注意的地方

如今,支付的引入是很多互联网产品都需要的。为了让用户用着更“舒心”,集成像支付宝、微信支付这样的第三方支付也就成了常有的事。今天就来看看微信支付,以微信公众号支付为例,关注几个实现中值得注意的地方。

AUG 05, 2016/后端开发与架构
微服务的原则

最近静下心来阅读了一下 Sam Newman 的《微服务设计》(Building Microservices)一书,受到很多启发,还是称得上收获颇多。这里算是做一个读书笔记,因此大部分的内容来自于原书,对一些重点关注的点进行记录。以下主要围绕书中的最后一章,即总结,然后回归到一些具体的点上。

JUL 26, 2016/后端开发与架构
协程在 I/O 密集型场景中的应用

在 I/O 密集型的应用中,CPU 可能总是苦苦等待着 I/O 操作的完成。如果是一个提供 Web 的服务的话,也就意味着一个线程会因为 I/O 阻塞而无法快速的对其他请求进行响应。势必也造成一种资源浪费和效率低下。在这种时候,协程的价值就体现了出来。这里,我延续之前的 APNs 话题,从应用的角度去实实在在的体验一下协程。

APR 21, 2016/后端开发与架构
移动应用的第三方平台登录在服务端的授权验证

如今,很多移动应用在做用户注册/登录的时候,为减少用户的交互成本,会考虑引入常用的第三方平台的开放登录授权来快速的将用户倒流到自己的平台中。在原来的第三方登录中,很多是采用基于 Web 的 Oauth 登录授权机制,在这种情况下,用户需要在 APP 弹出的网页中输入第三方平台的账号和密码进行登录,然后授权当前应用允许访问自己的账号。而现在更多的则采用的是所谓 SSO 授权机制,用户在点击第三方登录按钮后,应用会将用户引导至对应的第三方应用中,接下来只需点击授权按钮即可完成授权过程,大大增强了操作的便捷性和账号的安全性。但对于服务端开发者来说此时可能会发现,之前基于 Web 的 Oauth 登录授权会产生一个回调,服务器可以基于此来做授权验证。但在 SSO 这种机制下,回调会直接返回给应用本身而不经过服务器。这种时候应如何处理授权验证的问题呢?

NOV 19, 2015/后端开发与架构
别让数据库查询耽误了 Tornado

Tornado 是一个非常有意思的 Web 框架,其异步特性在某些使用场景中非常具有优势。在 Web 应用中,查询数据库以动态获取信息是非常常见的需求。而查询数据库本身又可能是非常耗时的事情。本文分享在 Tornado 中异步操作 MySQL 的方法,包括利用 Tornado-MySQL 以及 Celery 异步队列,来减少其间的阻塞,提高系统整体效率。

JUL 21, 2015/后端开发与架构
数据加解密之 AES 篇

对称加密是一种广泛使用的加密算法,具有算法公开、计算量小、加密速度快、加密效率高等众多特点。而其中的 AES 相较于其前辈 DES 更为的先进和安全,是对称加密算法中最流行的算法之一。本文对 AES 加密做一个简单的阐述,并结合微信公众平台开发中的实例关注其在 Python 中的应用。

JAN 09, 2015/后端开发与架构
DWeixin:微信公众平台开发
微信公众平台开发 2.0 版本,优化了原先的一些功能,新增“事件外部处理”支持等。 Github: https://github.com/manyunkai/DWeixin 包依赖 Pythhon == 2.7.3+,暂时不支持 3.x 版本; django == 1.6.x,该版本基于 1.6.5 开发; MySQL-python == 1.2.3; django-grappelli == 2.5.x,注意不能使用更高或更低版本; lxml == 3.3.6; beautifulsoup4 == 4.3....
DEC 22, 2014/编程相关
XMPP:Play with It
前面谈了最基本的理论,现在就从应用的角度入手来实际感受下 XMPP。 从服务器来看,开源的 XMPP 服务器软件有很多,这里以 Openfire 为例,具体的搭建过程就不细说了,其管理后台如下: 我们可以切换到“用户/组”标签下新建几个用户以方便之后的实验。如下图所示有两个测试账户 user1 和 user2: 现在让我们切换到用户角色。首先使用一个配套工具 Spark 来尝试一下。在登录界面解决输入之前的账户和服务器信息即可:    不过这里建议在设置中打开调试模式点击登录以后即可看到好友列表和调...
DEC 18, 2014/编程相关
XMPP:我们来聊天吧
说起 XMPP,那第一反应就是即时通信。它基于可扩展标记语言(XML)来进行数据交换。XMPP 中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过 TCP/IP 连接到单服务器,然后在之上传输 XML。<message from="admin@dannysite.com"       &n...
1 2 3 > >>