0%

缴费项目主体功能完成的差不多了,写前端JS写的都快吐了,把所有的通用的代码封装在一个文件里差不多有1500行。接下去应该主要是Bug修正和性能优化了。性能优化方面,数据库访问效率是重要的环节,使用ORM遇到的一个很常见的是 “N+1”问题,自然Django也不例外。

阅读全文 »

安装和配置是最令人费劲的:

  • 经常在解决一个问题过程又出现另外一个不得不先解决问题,有点像栈(stack),忘记了最先要解决的问题
  • 网上的解决方法只是一个参考,时间和环境不一定一样,需要自己去阐释
  • Google搜索/Bing搜索/stackoverflow是搜索的利器,错误信息一复制粘贴基本上可以找到一些结果,当然和搜索技巧也是有很大关系的

本文记录在树莓派安装lxml的过出现的一些问题和解决方案,本来lxml安装过程比较简单,安装依赖和pip安装两条命令即可。但是由于各种各样的状况和环境导致这过程花费的时间有点长。

1
2
$ sudo apt-get install libxml2-dev libxslt-dev python-dev
$ sudo pip3 install lxml

lxml的标准安装过程

阅读全文 »

A 热力图

热力图以高亮形式显示数据密集程度。根据密集程度的不同,图上会呈现不同的颜色,以直观的形式展现数据密度。

在设备检测领域,采用热力图可以直观地显示哪些区域的设备具有很高的报警率,为监控决策和提前介入提供了数据依据。

AMap.Heatmap 是高德地图热力图插件,基于heatmapjs。高德地图API引用了heatmap.js最新版本v2.0,v2.0基于新的渲染模型,具有更高的渲染效率和更强的性能。支持chrome、firefox、safari、ie9及以上浏览器。

阅读全文 »

本文依据《Python Packaging User Guide (Python打包用户手册)》,以 ConfStruct 为例子描述了Python项目的持续集成和包发布等开发流程,并了解 Travis CI、wheel和twine等工具的使用。

ConfStruct是一个使用类似ORM声明式描述特定场景下的协议数据结构,并提供Python对象和二进制数据之间的转化的Python库。该库解决了使用若干个“类型-长度-值”无序二进制片段传输字典的问题。

主要步骤

  • 准备项目代码
  • 运行本地单元测试
  • Travis持续集成
  • 编写setup.py文件
  • 生成wheel安装包
  • 发布到PyPI
  • 添加徽章
阅读全文 »

Construct是一个强大的二进制数据解析和构建Python库,适用于建立大型复杂应用程序的通信协议,类似于二进制数据的ORM库。

1 标准库struct

struct是用于二进制数据的解析和构建,处理Python对象和二进制数据之间的转化。它的API非常简单:

  • stricut.pack(fmt, v1, v2, *) 打包,Python对象到二进制数据
  • struct.unpack(fmt, buffer) 解包,二进制数据到Python对象
  • struct.calcsize(fmt) 计算格式字符串数据大小
阅读全文 »