无心写程序,却愿意去读标准库,咋办? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
julyclyde
V2EX    Python

无心写程序,却愿意去读标准库,咋办?

  •  
  •   julyclyde
    julyclyde 2013-06-01 21:47:23 +08:00 5748 次点击
    这是一个创建于 4513 天前的主题,其中的信息可能已经有所发展或是发生改变。
    近20年的计算机学习经历,从当年DOS 2.1、BASIC开始,到后来NOIP联赛、C语言、C++、ASP,后来嫌自己管理内存太恶心,就戒了;大学学了点儿Java,觉得类库太庞大,后来又对Java派乐于炒作concept的作风嗤之以鼻,也没好好学;最后改投Linux系统管理,至今算是有点儿成绩

    近期迫于领导的压力和工作需要,学习了Python 2,但因为荒废开发太久,以及工作性质的原因,总觉得没啥可写的,偶尔写点儿小功能也一般shell就对付了,对MVC也很难适应(我写ASP那会儿还没流行MVC)

    现在每天的乐趣就是看Python标准库。前一阵刚仔细研读了SocketServer、BaseHTTPServer、SimpleHTTPServer、CGIHTTPServer、wsgiref.simple_server等几个库,给同事开小讲座讲讲,也算对上级要求的学习任务有个交代

    但我总觉得这状态不太对劲啊。求指点
    26 条回复    2016-03-09 13:44:55 +08:00
    DaniloSam
        1
    DaniloSam  
       2013-06-01 22:06:15 +08:00
    炫耀的好没情调
    phuslu
        2
    phuslu  
       2013-06-01 22:08:35 +08:00   1
    循着这个思路可以去精读 tornado,读完了说不定就找到新目标了。
    或者直接到 github 开坑填吧, 比如想这样的小项目 https://github.com/smgoller/rangehttpserver
    julyclyde
        3
    julyclyde  
    OP
       2013-06-01 22:11:40 +08:00
    @phuslu torndo听说是异步的?我小时候因为用visual basic,倒确实是对异步的感觉更自然,对Unix传统的阻塞式IO不是那么喜欢。不过tornado作为贯通中西的“框架”,其自身应该是阻塞式写法,为应用程序开发提供非阻塞、异步的中间层吧。不过我现在迷茫的是,读了之后又怎样呢?似乎还是没心去写程序。现在一是没啥可写的(因为我是系统运维工程师)二是也写不出来,因为荒废多年,已经不行了
    phuslu
        4
    phuslu  
       2013-06-01 22:21:24 +08:00   2
    @julyclyde 没关系呀, tornado 的除了名字不 pythonic 之外,它和SimpleHTTPServer/CGIHTTPServer是使用 pure python 写出来的,本身的实现非常的 pythonic, 而且它不像 gevent 之类的框架那么混杂。并且它也非常注重运行效率并且功能完备,和SimpleHTTPServer/wsgiref.simple_server 不一样的是,torando 可以称的上是 full stack network/web framework in real world. 强烈建议读完标准库以后再精读一下它,这样才能一窥 python 真正的网络程序的写法。 :D
    julyclyde
        5
    julyclyde  
    OP
       2013-06-01 22:32:32 +08:00
    @phuslu 好哇,那我尽快开始
    shanks
        6
    shanks  
       2013-06-01 22:45:58 +08:00
    python 标准库读起来确实赏心悦目,跟读书一样。我最近也在看SocketServer的源码,是非常好的代码范例,不过我目的性比较明确,就是想搞明白代码底层的运作。。。
    phuslu
        7
    phuslu  
       2013-06-01 22:54:34 +08:00   2
    是的,但是看起来漂亮不一定实用。比如说 gevent, 论代码风格比 tornado 差不少,但是的确比 tornado "好用"(方便+效率高)
    这里有个极端例子,就是沈大侠的 eurasia 异步网络框架,单文件,性能非常高,但是实现却很不优雅。
    http://eurasia.googlecode.com/svn/branches/3.2/eurasia.py
    julyclyde
        8
    julyclyde  
    OP
       2013-06-02 08:07:36 +08:00 via iPad
    @shanks 我前一阵咳读过几个web框架的URLrouting&dispatch部分,看他们getattr然后 古代版本用apply调用、现代版本直接调用函数,很感叹动态语言之动态啊!
    julyclyde
        9
    julyclyde  
    OP
       2013-06-02 08:08:28 +08:00 via iPad
    @phuslu eurasia听说过,还没拜读,也准备尽早看看
    julyclyde
        10
    julyclyde  
    OP
       2013-06-02 09:25:06 +08:00 via iPad
    @DaniloSam 真不是炫耀。道常在,技已逝,我这得调整好久才能恢复元气呢。以前从没玩过动态语言,还越过MVC在web领域的缘起阶段,这次算长见识了
    lisztli
        11
    lisztli  
       2013-06-02 10:08:22 +08:00
    我的天, 这是传说中的七月? 楼上几位还是不要给人出谋划策了,免得贻笑大方。
    zhy0216
        12
    zhy0216  
       2013-06-02 10:38:49 +08:00
    @lisztli ??难道楼主是传说中的大神?
    wuxqing
        13
    wuxqing  
       2013-06-02 10:42:53 +08:00
    说明LZ老了,应该进入培养新人的阶段了或者转管理
    treo
        14
    treo  
       2013-06-02 11:33:48 +08:00
    你可以改行做代码审计。。
    Livid
        15
    Livid  
    MOD
    PRO
       2013-06-02 11:35:31 +08:00
    @lisztli 你这算是高级黑么
    lisztli
        16
    lisztli  
       2013-06-02 12:56:00 +08:00
    @livid 真的是水木上著名的七月,不是高级黑……
    xiaoxuxu
        17
    xiaoxuxu  
       2013-06-02 13:44:16 +08:00
    此楼都是大神。goagent用户前来膜拜
    felixye
        18
    felixye  
       2013-06-02 14:18:41 +08:00
    只磨刀,不砍柴
    manoon
        19
    manoon  
       2013-06-02 14:34:19 +08:00
    我还在纠结,我要不要买一本算法的书来看。。。其实,我真心不喜欢这些。
    Feobe
        20
    Feobe  
       2013-06-02 20:15:17 +08:00
    @lisztli
    讲讲?不混水木。。不熟,孤陋寡闻啊。。
    julyclyde
        21
    julyclyde  
    OP
       2013-06-03 08:01:06 +08:00 via iPad
    @lisztli 是我没错。但你看我在水木其实编程类版面也都是学习的地位姿态啊。也就linuxapp我还能帮帮别人吧
    julyclyde
        22
    julyclyde  
    OP
       2013-06-03 08:01:53 +08:00 via iPad
    @felixye 归纳得够精辟
    rrfeng
        23
    rrfeng  
       2013-06-03 09:57:27 +08:00
    围观大神。
    python 刚学会一点点……
    doufenger
        24
    doufenger  
       2013-06-03 12:49:03 +08:00
    无心写文章,却愿意去读字典
    julyclyde
        25
    julyclyde  
    OP
       2013-06-03 16:50:55 +08:00
    求大家推荐,怎么样能写个规模较小、功能完整的小程序热热身?
    julyclyde
        26
    julyclyde  
    OP
       2016-03-09 13:44:55 +08:00
    编程这事还是得靠实践啊
    去年终于交接了运维工作上那些事,转到传说中的 DevOps 来了
    现在的工作内容之一就是伺候 Sentry (github.com/getsentry) ,从升级版本,到写 SSO 插件、通知插件,都得先通读原版代码然后再看怎么把自己的东西挂进去,因为我有洁癖,坚持不改原版一行代码,所以自己这些东西都是靠启动时挂插件放进去的

    感谢上面的兄弟们的支持和指点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     935 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:57 PVG 02:57 LAX 11:57 JFK 14:57
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86