最近跟小牛队老板一样在看《Building Machine Learning Systems with Python, 2nd Edition》。
除却某些代码(特别是第 5 章的)有错,书写得很好。没怎么学过 Python ,数学也不太行的我,也能跟着一步步走进机器学习的大门。
继续阅读 »
之前在别的电脑上配置过scrapy,后来换了mac一直没有写过爬虫,今天跟着官方指南走的时候发现安装失败很久,代码里显示ImportError: No module named scrapy意识到安装可能出了一些问题。
Stackoverflow上面提到这个问题可能是由于文件命名导致的,但是我的文件命名并没有这个问题,于是就寻求别的解决办法,打算重新安装scrapy包。
继续阅读 »
游戏的场景服务和数据服务整合
一直以来都觉的现在运行的游戏后台服务, 实在太多了。
1,数据服务和场景服务之间的通信, 用的是消息队列zeroMQ来做的, 无形就多了一个消息队列服务, 然后还有一个处理队列任务的mq_worker, 然后数据服务到场景服务的通信.
2, 需要在每次需要的时候都建立一次本地的socket,就2个服务之间,产生了多余的好多事情。
继续阅读 »
这里的blocking signal里的blocking并不是传统意义上的针对IO的blocking, 尽管这可能是引起ioloop阻塞的一个原因之一。在这里,blocking指的是ioloop在epoll返回之后开始依次处理各监听文件句柄上的IO事件时,直到下一次进入epoll调用的这段时间的ioloop的状态。我们知道Tornado是单线程的,在处理完某次epoll调用返回的读写就绪事件之前,Tornado无法启动下次epoll监听,所以这段时间理论上是越短越好,这样,ioloop可以充分及时的获取就绪文件句柄,不会影响整体IO性能。然而在实际的使用过程中,难免会出现某次处理时间过长,从而导致ioloop的blocking时间过
继续阅读 »
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
文件与I/O
读写文本数据
使用带有rt模式的open()函数读取文本文件
```python
with open('test.csv', mode='rt', encoding='utf-8') as f:
data = f.read()
print(data)
with open('test.csv', mode='rt', encoding='utf-8') as f:
for line in
继续阅读 »
最近在写 airflow 的脚本时遇到一个问题,出于方便把 BaseSensorOperator 包了一层,
后来想改下超时时间和优先级等参数,发现改了没用,于是看了下源码,发现 Operator 都有个 apply_defaults
的装饰器,细看一看,实现挺巧妙,也解释了我遇到的问题。因为我的问题属于个人使用不当导致的,
所以就不放问题代码了,但我会在分析后给出一些使用方面要注意的地方和建议。
继续阅读 »
安装 pip
指定包文件路径进行离线安装
```bash
pip install --no-index /home/pypi/packages/simplejson-3.16.0.tar.gz
```
--no-index:取消索引
以本地文件为pip源进行离线安装
```bash
pip install package_name --no-index -f file:///home/pypi/packages/
pip install -r requirements.txt --no-index -f file:///home/pypi/packages/
```
--no-index:取消索引
继续阅读 »
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
函数
可接受任意数量参数的函数
为了能让一个函数接受任意数量的位置参数,可以使用一个*参数
```python
def avg(first, *rest):
return (first + sum(rest)) / (1 + len(rest))
Sample use
avg(1, 2) # 1.5
avg(1, 2, 3, 4) # 2.5
``
在这个例子中,rest`是由所有其他位置参数组成的元组。然后我们
继续阅读 »
Table of Contents
{:toc}
最近被线上任务折磨得不行了,总是隔三差五出各种问题,导致日志丢了或者脚本没跑成功,
出了问题就需要手动去修复,比如手动把少的日志补齐,重跑失败的脚本。有些脚本之间有依赖关系,
手动跑起来就比较复杂,需要隔一会看一眼脚本有没有跑完,再接着跑下一个,严重影响效率。
所以我想如果有个程序能帮我定义好我的任务依赖关系,由它来自动解决运行时的依赖,
如果能有可视化界面看到执行状态,管理任务就更好了。
最近找到一个满足现在这些需求的开源项目—— airflow。
继续阅读 »
更新日志
2016-08-05 添加node、Python等终端命令
2016-09-12 更新查找命令
2016-11-24 更新 ruby、node、python的工具集
工欲善其事,必先利其器。—— 工具篇
继续阅读 »