一周Python小记

上个星期以来忙里偷闲一直在写一系列小型的代码生成器,完成一些从需求到结构化代码生成和验证作业。这个小东西是用Python写的,我简单分享一下中间所得。

一、配置文件

1、YAML格式

数据库连接信息和作业相关信息是存放在数据库中的,配置文件形式可以有很多种选择:XML / ini / txt,我这里选择YAML作为存放。

YAML使用起来相当方便,能够自动解析成对应语言中的变量,比如列表解析为列表,数字文字分别解析成对应的格式变量。

之所以选择YAML,是看中它对语言的亲和性和可读性,GAE的配置文件就是YAML格式。YAML的语法相当简单,用:来分隔key: value,用 - 来分隔列表,注意点是缩进需要用空格,关键符号和内容之间要加上一个空格。我的配置文件如下:

taskId: PQMI06
taskName: 测试建制作业
author: alswl
confirmId: 20101025xxx

headFiles:

  • head1.txt
  • head2.txt
  • head3.txt
    bodyFiles:

  • body1.txt

  • body2 ...
more ...

Python读写剪贴板

最近在写一个CodeGenX代码生成器,说是生成器,其实是目前只完成一堆零散的脚本。这些脚本的调用方式一般是从某个txt中读取数据,再写到另外一个txt中。

由于某些数据变动频繁,导致我操作txt次数大增,我怒了,就找了一个脚本自动读写剪贴板。

#coding=utf-8
'''
读写剪贴板
'''
import win32clipboard as w
import win32con

def getText():
  w.OpenClipboard()
  d = w.GetClipboardData(win32con.CF_TEXT)
  w.CloseClipboard()
  return d

def setText(aString):
  w.OpenClipboard()
  w.EmptyClipboard()
  w.SetClipboardData(win32con.CF_TEXT, aString)
  w.CloseClipboard()

别说有了这个脚本用起来还是蛮方便的,建议丢到Python的lib下面,然后可以方便调用。

如果双击 .py ...

more ...

在Win7上面使用Standalone Network Extender

用Win7大概1个月了,的确很不错,本来试用的心态变成了完全不想回到XP时代了。

Win7的UAC比Vista已有很大的进步,至少不是那么烦心了,但是仍然很多场合都不能与以前旧版本的一些软件配合默契。

比如公司用的这款VPN软件-Standalone Network Extender。

这款软件是Billion BiGuard公司推出的SSL产品,通过IE载入一个Active插件来连接公司内网。我在以前XP时候很轻松连入,先在却死活无法连接 成功。我看了一下版本:build:Sep 7 2009-14:06:08,在Billion BiGuard公司的主页也没有找到适合Win7的新版本。

我猜测VPN软件需要修改系统底层参数,可能需要管理员权限,就试用管理员权限打开IE,果然,顺利连接成功。

嗯,以后使用古董遇到一些比较怪异的问题,如果它是安全可靠的,就可以试试管理员权限了。我是不推荐关闭UAC的,权限机制虽然烦,但是可以保证一些系统权限不被开放 。

more ...

Update_10_10_11

  1. 十月份还没写过东西呢,于是Update一次。
  2. 国庆节参加同学婚礼,呀,人家都结婚了,我还单身,是不是该考虑考虑了呢~
  3. 最近工作有点忙,没刚进公司时候那么悠闲了。
  4. 南图的书四本在手上,还没有看完,发现用XMind做读书笔记挺不错,直观,方便。
  5. 晚上回家似乎都不怎么写代码,GR还堆了一坨没看,光顾着玩了
  6. 最近看的书《Python 学习手册(第三版)》、《Web界面设计》、《完美代码》、《Web Designer Idea》、《ASP.NET 3.5揭秘(卷2)》。
  7. 技术上面的积累零零碎碎挺多,记录在Wiz,挺难组织分享,遂罢。
more ...

小脚本mm->html

我同时在使用两套信息记录工具,知识收集记录工具BooguNote + KMS Wiz,关于这两套系统具体介绍请见桌面记录神器- BooguNote & 我所使用的知识管理系统

我的使用习惯是在BooguNote中收集日常的琐碎知识点,包括我所想的和工作记录。每个小知识节点的长度大概在200-300字左右。这些被我称为的知识碎片显然 不能直接放入KMS。

BooguNote可以将里面的文字直接复制出来,会在父亲节点上加入+,子节点加入-,这种简单的txt不能满足我的要求。于是我花了点时间写了一个mm文件到ht ml的转换脚本。

BooguNote的文件格式是boo,可以转换成FreeMind的思维导图格式.mm,我认为用mm作为源数据格式适用范围更大。

#coding=utf-8
from xml.dom import minidom
import sys
import os

class MM2Html:

'转换MM->Html类'

def init(self):

self.html = '''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

more ...

我所使用的知识管理系统

最近工作比较忙,自由上网的时间被大幅度减少,加上在啃.net的书,所以能够分享的东西就不多了。公司所在的部门需要将PMS和KMS整合在一起,正在对KMS进行 选型,我就趁这个机会把我使用知识管理系统的经验分享一下。

一、知识管理系统(KMS)

简单说一下知识管理的定义:指个人或团体通过工具建立知识体系并不断完善,进行知识的收集、消化吸收和创新的过程,这其中使用的工具也就是KMS。KMS应该帮助我们 队只是进行采集、精炼、索引、分类、检阅、检索、搜索的功能。

不多解释KMS了,省的看大段文字心烦,想做理论深入的去最下面的相关链接查找吧。

二、我想要的KMS

我理想中的KMS应该能够满足一下几点要求。

1、数据保存格式

数据的保存格式关系到知识的完整性和呈现方式,这是我最看重的一条。我理想中的保存格式是能够内嵌媒体信息,可以自定义内容的样式,最好是用大家比较习惯的文档体系, 比如h1/h2/h3/p/br/ol/li。在内嵌媒体内容的同时也要能够在知识点外挂其他类型文件,比如Excel、知识导图,甚至exe可执行文件。

数据保存格式也要考虑数据的移植性 ...

more ...

恶心的Yahoo Group

image

这段时间一直受到来自YahooGroup的垃圾邮件,最早出现一封确认邮件,我当时粗粗看过,全英文,心想自己没有订阅过什么Yahoo Group的邮件组,应该只是一封纯粹的垃圾邮件。

可惜我错了,接下来几天来自Yahoo Group的垃圾邮件虽然不至于铺天盖地,不过也给我的Gmail造成了很大困扰(好在GMail垃圾邮件过滤功能强大)。

晚上回来Google了一下"YahooGroup 垃圾"关键词,果然有朋友遇到一样的症状,alswl在这里附上解决办法。

&nbsp_place_holder;先連到 My Communication Preferences 查看自己的 email&nbsp_place_holder; address

&nbsp_place_holder;在 Option 下點選 Edit

取消勾選這兩個項目

&nbsp_place_holder;&nbsp_place_holder;&nbsp_place_holder; * Allow group moderators to directly add me to their groups

&nbsp_place_holder;&nbsp_place_holder;&nbsp_place_holder; * Allow ...

more ...

将VisualStudio打造成Vim

image

背景:Vim in VisualStudio?

最近痴迷于Vim,尝试着在.net环境中(70%C#+20%ASPX+10%JS)使用Vim进行开发。但是似乎现成的Vim插件不太适应.net开发平台,在进 行调试、编译以及ASPX页面调整时候还是需要切换到VS。

内事不决问老婆,外事不决问Google,我以关键词"Vim C#"向G神询问,很可惜一圈一圈找下来,都没有什么有价值的答案。在StackOverlow上找到 了一些相关资源,其中几位资深人士(使用Vi/Vim大约20年)提到了一款叫做ViEmu的软件,就好奇的跑去看看。

ViEmu

让我们来见识一下ViEmu的厉害吧。ViEmu支持模式切换、移动、宏、高亮搜索,键盘映射、增强命令、正则表达、可视模式等等。反正常用的Vim功能都具备。它自 己也敢宣称支持Vim大部分功能(Vim太强大,不敢说完全模拟~)。下面是一张ViEmu的官方示意图 ...

more ...

同步工具-金山快盘

同步控初识了金山快盘,用了一周,感觉的确不错。很适合家庭+办公两边电脑需要文件同步的同学们。我现 在已经把我BooguNote和Wiz里面所有文件进行同步,极其方便。

金山快盘刚出来时候需要邀请码,随后是实行每日1000的注册码限量制,现在,终于有了老会员邀请制。

我的金山快盘邀请地址。完成几个任务之后可以把空间扩容到5.6G。

相比较已经被墙的DropBox和国内的DBank,我相信金山快盘凭着金山还算不错的口碑会越做越好,甚至我愿意成为每月消费固定金额的会员用户。

*下面是来自同步控的详细测试报告(掌声感谢XDash)**

原文链接地址:【独家首发】金山快盘公测版抢鲜体验之详尽图文评测报告 | 同步控

快盘是一款简单、易用的国产同步工具,类似于 more ...


思维导图入门介绍

思维导图这个概念大家都应该有所了解,有些朋友在工作学习中使用的频率也很高。这篇文章的碎片放在BooguNote中至少有半年了,一直没机会发出来,这次趁着整理 KMS发出来,再为思维导图做一次小小的推广。

image

一、什么是思维导图

我先谈谈我的理解:思维导图有两个含义:1.由有秩序的信息点组成的图;2.将放射性思维定格下来的方法。第一种比较好理解,就是我们常见到的成品,一搜一大堆。第二 种牵涉到我们的两种分析问题方式,按图索骥的进行信息的剖析与链接;对信息点进行跳跃发散性的思考,这是两种截然不同的思考方式。实际操作中,这两种思维方式往往夹杂 在一起,这时候,我们需要一些记录将思考点记录下来。

这就是思维导图。

我们每个人都在或多或少的进行思维导图的运用,列表就是一种类似思维导图的形式。从程序员的角度来看,很多存储数据的格式都能够实现这种功能,比如xml/json, 甚至是html中的h1/h2/h3和ol/ul/li。他们本质上面是对信息进行树状排列,对知识进行序列化和建立索引。

more ...