2013年 十一月 22日 周五 | tags: python, logging, filter, code, -- (permalink)

前两天同事问我,如果针对不同的IP记录日志,并把更具IP记录到不同的日志文件中,在网上搜了一下这个问题,有很多人都在问,我查了一下python的logging的api,发现有个filter的,这个filter可以根据日志的信息来决定这条日志是否记录到日志文件中,下面来说说如果实现这个功能。


2013年 十月 17日 周四 | tags: selenium, python, java, webdriver, test, code, -- (permalink)

前段时间我们头在搞一个分布式测试,使用的就是 Selenium 可以坑太多,最后应该是放弃了,因为我没见到回音,说实话这东西是bug挺多,而且在firefox上的版本兼容也有很大的问题,不过这不是我们讨论的问题,我们这里要讨论的是使用它来做简单的web测试。


2013年 九月 27日 周五 | tags: python, code, argparse, python27, -- (permalink)

今天下午没事,就优化了一下以前写的一些工作上用的小工具,当然大多数都是python写的命令行下的小工具,之前命令行参数都是自己解析,虽然不是什么复杂的事情,但是自己临时写出来的东西毕竟不如人家写出来的好,正好前短时间看到python2.7把 argparse 加入到了标准模块中,所以这次对这些工具的代码重构就是使用了 argparse 替代自己写的那个简陋名两行解析工具。


2013年 八月 30日 周五 | tags: python, code, -- (permalink)

公司最近在调整网站的模块,把网站的公告模块去掉,公告的数据移到Discuz做的论坛中,整体功能都很简单,写了一个python脚本,执行一下就能完成数据迁移。在数据迁移的过程中有个小问题,我们公告的正文是用富文本编辑器写的,代码是 html 代码,但是在Discuz中确是用 bbcode 所以就需要对公告正文进行转换,这里就要使用到python的一个模块: html2bbcode


2013年 七月 29日 周一 | tags: 闲聊, math, code, programer, developer, -- (permalink)

上个月的这个时候我买了 Kindle Paperwrite,看了一些关于历史的书和人物传记,最近两天又买了几本关于数学的书和一本C语言的入门书籍。我想我需要用6-8个月的时间看完这些书,然后在从中得到升华。

以史博古、以史通今、以史通事、以史通政、以史通智、以史知辱、以史知道

成为优秀的开发人员,可以没有数学技能,但成为卓越的开发人员,不能没有

从上个月的的19号到今天我一共看了三本书,一本历史和两本任务传记:

我并不想对这三本书做介绍,对于这三本书的内容是否真实,我也不想说太多,相不相信我觉得完全在自己。对于一个 Code Monkey (程序猿,代码猴),我一直想把自己排除在政治之外,我也是一直都这么做的,但是我依然认为不管是做什么职业,生活在那个阶层,什么年龄段,都应该读史书,以史明鉴,只有知道了真实的历史,我们才能更加明白自己的前路在何方!

至于读数学的书是因为上面那句话,我希望我自己能成为一个卓越的“ Code Monkey ”,但是我知道我并不聪明,也不如其他人努力,所以想让自己的名字前面加上 卓越 两个字的可能性并不大 ...


2013年 六月 04日 周二 | tags: python, morse, code, -- (permalink)

写这个完全是闲着无聊,看了一片趣文趣文:表白后女生发给我一串五层加密的密码 这篇文章来源自百度贴吧的的有一个帖子传送门,文章的内容还是很欢乐的。

言归正传,Morse Code 的算法是根据维基得来的,说白了就是键值对,编码解码也都是按照键值对进行匹配的。

编码如下:

__morse_code__ = {
    'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.',
    'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.',
    'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-',
    'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..',

    '1': ['.----', '.-'], '2': ['..---', '..-'], '3': ['...--', '...-'], '4': ['....-', '....-'], '5': ['.....', '.'],
    '6': ['-....', '-....'], '7': ['--...', '-...'], '8': ['---..', '-..'], '9 ...

2013年 五月 31日 周五 | tags: jekyll, ruby, code, -- (permalink)

今天在给blog添加Creative Commons(简称CC)时,发现在jekyll的模版中不能加入中文。大概看了一下build时报的错,可以确定应该和jekyll不能发带有中文的文章的问题是一样的,不过出问题的地方不一样。

jekyll不能发有中文的文章

出问题的地方是在convertible.rb#31 行:

self.content = File.read(File.join(base, name), :encoding => "utf-8")

如上面的代码在最后加入编码参数,以utf8读取文件即可,即用上面的代码替换原来的代码就可以了

jekyll模版不能包含中文

这问题出在 tags/include.rb#23 行:

source = File.read(@file, :encoding => "utf-8")

同样的方式,替换原来的代码即可。

结论

同样的问题,应该都可以用同样的方式解决,jekyll作者应该并没有在这里考虑中文的问题,不过我们可以自己解决这个问题,如果有更新jekyll最新版,记得也要改响应的问题位置的相关编码问题。


2013年 五月 23日 周四 | tags: jekyll, code, ruby, -- (permalink)

整这个并不是什么刚需,纯粹是怕麻烦,直接把中文转换成拼音更方便一点。

其实很简单,问题是出在Rakefile文件中,请看项目下的Rakefile的第52行:

task :post do
  abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
  title = ENV["title"] || "new-post"
  tags = ENV["tags"] || "[]"
  category = ENV['category'] || ""
  slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
  begin
    date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime ...

2012年 二月 14日 周二 | tags: java, lambda, closure, code, -- (permalink)

这是我上个礼拜相对较闲的时候自己做的简单测试,应为那天正好在oschina上看到jdk1.8发布了开发者预览版,正好左右没事,就去下了一个,实验了一下java 的闭包。

java 闭包,也就是Lambda表达式,和python中的lambda是一样的,语法也挺相似:

String result = (String name) -> "Hello, " + name + "!";

下面我们来看个具体的例子:

首先定义一个接口:

interface Lamb {
    String str(String name);
}

之后我们就能在main方法中写下面的代码,编译并运行:

Lamb str = (String name) -> "Hello, " + name;
System.out.println(str.str("aaa"));

运行结果: Hello, aaa 上面是最简单的hello world!

在看一个多参数的例子:

interface MathLamb {
    int add ...

2012年 二月 01日 周三 | tags: itext, java, code, -- (permalink)

这篇文章是很早之前写的,是我在去第一个公司的时候遇到的问题

这里说的IText中文处理问题,是指两种生成PDF文档是对中文处理的问题:

  1. 是直接通过从数据库查询或者自己拼接中文字符串生成PDF文档。
  2. 第二种是将一个HTML文档转换成PDF文档时的中文处理。

首先说第一种: 这种很简单,我们只需为加上这样一句:

BaseFont bf = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

在之后的给Document添加节点是为Paragraph设置字体时设置成BF就可以,如下:

document.add(new Paragraph("混沌之神", new Font(bf)));

源码:

/**
 * 生成PDF文件解决中文的例子
 *
 * @throws DocumentException
 * @author <b>Innate Solitary</b><br />
 *         创建时间:<b>2008-6-4 下午09:47:37</b><br />
 * @throws IOException
 */
public static void ...

Page 1 / 2 »