很多公司都大量使用了python,其中有一些开发规范,code guidline, 通用组件,基础框架是可以共用的。
每个公司都自己搞一套, 太浪费人力,我想开一帖和大家讨论一下这些python基础设施的搭建。
原则是我们尽量不重新发明轮子,但开源组件这么多,也要有个挑选的过程和组合使用的过程,在这里讨论一下。
另一方面,有些开源组件虽然强大,但我们不能完全的驾驭它,或只使用其中很少的一部分,我们就可以考虑用python实现一个简单的轮子,可控性更强,最好不要超过300行代码。
# -*- coding:utf-8 -*- | |
'写了一个简单的支持中文的正向最大匹配的机械分词,其它不用解释了,就几十行代码' | |
'搜狗词库下载地址:http://vdisk.weibo.com/s/7RlE5' | |
import string | |
__dict = {} | |
def load_dict(dict_file='words.dic'): | |
'加载词库,把词库加载成一个key为首字符,value为相关词的列表的字典' |
为了更全面的展示你自己,你可以回答以下题目,每个问题你都可以不作答,不会减分,只是答的好的话会加分。 | |
1. 有哪些兴趣爱好和擅长 | |
2. 常去哪些技术网站和社区 | |
3. 参与过开源项目,做了什么贡献 | |
4. 常用哪些组件,库或框架,哪个是你最熟悉最拿手的 | |
5. 完整看完过哪些技术书籍,哪本是你反复看过的,哪本对你影像最大 | |
6. 使用过哪些编程语言,最擅长哪个语言? | |
7. 有没有自己的域名,网站,博客,github,stackoverflow ,v2ex,知乎,微博,twitter,google plus账号 | |
8. 精通正则表达式吗? | |
9. c学的如何? 计算机组成原理学的咋样? |
# -*- coding: utf-8 -*- | |
''' | |
功能: | |
从zonefile文件导入域名到Dnspod | |
requirements: | |
dnspython==1.10.0 | |
requests==1.0.4 | |
''' |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<title>test</title> | |
</head> | |
<body> | |
<script type="text/javascript"> | |
/* | |
* @description 原始词库 | |
*/ |
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[a] " " CMD[a]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10 | |
# (陈皓注:有点复杂了,history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -rn|head -10) | |
# 这行脚本能输出你最常用的十条命令,由此甚至可以洞察你是一个什么类型的程序员。 |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
namespace ConsoleTest | |
{ | |
class Program | |
{ | |
/// <summary> |
// gcc split_by_blank.c -o split_by_blank.o | |
#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#define MAX_ARRAY_LENGTH 10 | |
#define MAX_STRING_LENGTH 10 | |
struct string_array { | |
size_t length; |
/* module name: wawaevent | |
* version: 0.1 | |
* depend:underscore,backbone | |
* description: 处理javascript的异步任务流 | |
* document: | |
* setup:指定任务流逻辑 | |
* 1. 可以用sequence来设置一个列表来制定, 如{'sequence': ['worker1', 'worker2', 'worker3']} | |
* 1. 可以用逗号隔开多个eventName,然后制定一个handler,如{'worker1.error, worker2.error': 'default_error_handler'} | |
* 1. 可以单独指定一个事件的handler,handler除了可以使用任务流名字外 | |
* ,还可以直接使用函数,如{'worker1': function(){console.log('worker1 success')}} |