摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/26206.html> ---- 为什么会有这种鸟事,为什么为什么。一度以为 Vim 已经很熟不需要再搞了,谁知道风平浪静的日子是没有的。快抓狂了。Vim 是这么成熟的编辑器,这种事难道该发生么。 ---- 原本以为是 Python 代码写的有问题,对 Python 不熟,内存泄漏什么的。逐渐排除了以后开始锁定到 Python 接口上面,具体讲就是 vim.buffer 这个东西。这个是测试代码: 1 lcd %:h 2 tabedit tmpbuffer 3 setloca 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/26169.html> ---- 原来贴在 vim-cn 群里的一个脚本,这里也贴一下。 ---- gvim 有好几百种预定义的颜色名称,比如 'DarkBlue', 'LightRed' 之类。这个脚本用来展示这些颜色在你的 gvim 里看起来如何。 ---- 纯 VimScript 写的。用 gvim 打开脚本,然后 :source % 就可以了。 ---- 会开启一个叫 'ShowVimColors.tmp' 的临时 bu 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/26168.html> ---- 续写 FileSystemExplorer 这个插件,现在写好的: 1. 能刷新 2. 能设置属性: a. 是否显示隐藏文件 b. 显示基本输出(只有名称)还是扩展输出(包括大小,修改时间与访问时间) c. 设置根据名称 / 大小 / 修改时间 / 访问时间排序,设置正序或逆序。 3. 能递归式打开节点(但是结果恐怖,后述。) ---- 几个要点记一下: 1. 数据结构内部不要形成引用回路(reference c... 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/26106.html>---- 外部的 Vim 插件我基本都是装上试试然后就卸掉,用到的基本都自己写。在文件操作方面,因为自带的 Netrw 实在不够用,一些 VimScript 写的外部插件(比如 NerdTree)又有慢的问题。自己写的 FileSystemExplorer 这个插件自从起个头以后名不副实了很久,现在终于成形了。---- 主体还是 Python 写的(通过 Vim 的 Python 接口),纯 VimScript 写的太慢。但是目前还是很菜。以下是设想中, 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/25954.html>---- 最新的在这里: 用 Python / Matplotlib 画出来的股票 K线图 (四)---- 下一篇在这里: 用 Python / Matplotlib 画出来的股票 K线图 (三)---- 上一版的改进,双股同列 + 无数细小改进,如下图。dpi= 300。明的一条是个股走势,暗的是同期的指数走势。这大概是近期最强的一只。---- 要想培养对走势的感觉,采用固定比例尺的图形是必须的。一般股票软件里的图形都为显示方便而做了变形处理,用处不大 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/24902.html> ---- 花了 20 个小时左右的时间才从新浪下载完复权日线数据,把复权日线表建起来。这速度也太慢了,还有首次下载网页失败的比例居然这么高,一定有问题,印象中以前不是 这么慢的,下载几千只股票的数据也只有几十个页面会首次下载失败吧。但昨天晚上更新最新数据的时候把下载任务之间的延迟扩大了一些,好像好一些,速度还可 以,而且失败率不高。我开的是 5 个线程,下载页面之间的间隔是 0.2 ~ 0.3 秒。 ---- 另外,把那个画 K 线图的脚本贴出来。这个 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/24606.html>---- 过年后开始真正学用 Matplotlib 画一些实际的图形,以下是最新的改进结果:---- 股票是 600644,原始数据来自网络。就不总结要点了,Matplotlib 十分给力!---- 下一步打算在标示价格的 Y 轴上使用对数坐标。得精确计算图片的尺寸,使代表相同涨幅的图线看起来具有相同的长度,而且要精确定位坐标点。另外还可以加上一定的注释和图例。补记:已实现,如下图,注意 Y 轴对数坐标: 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/24604.html>---- 前一阵子花了些时间,把以前写的几乎所有的 Vim 插件都用 Python 接口改 写了一遍,主体结构全部放在脚本的 Python 部分,效果非常好。实际上 Vim 的编程语言接口是早就有了的,而现在 Vim 自带的 VimScript 语言基本上是 7.0 版以后才成形,所以 Vim 的本意实际上是让用户使用已有的语言来编写 Vim 上使用的脚本,而不是想要再发明一种新的语言。Vim 的作者在接受访谈时也表达过这个意思。两个新的模块也是用 Py 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/21877.html> ---- 新添了下载任务,来源是新浪财经,现在可以扒下来日线数据了: ---- 过程中的几个要点: 1. Nested List Comprehension: 由分别为 m 项和 n 项的两个 list 生成一个 m×n 项的 list:mylist= ['a', 'b', 'c']print([s * n for n in range(1, 4) for s in mylist])print( 阅读全文
摘要:
<本文的原始位置: http://bluegene8210.is-programmer.com/posts/21853.html>给程序添加了数据库组件,跑通了第一个测试任务。数据库组件的内容:1. 数据库组件包含一个数据库接口,用 subprocess.Popen() 对象实现,负责连上外部的 MySQL 服务器进程。具体见前面。2. 包含一个任务队列,用 queue.Queue() 对象实现,内含 Query 任务对象,保证不同客户线程提交的 Query 任务被顺序执行。3. 包含一个主控线程,用 threading.Thread() 对象实现,负责管理 Query 任务队列, 阅读全文