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
leeyupeng
V2EX  ›  Python

7年phper转python,各位pythoner有什么建议吗

  •  
  •   leeyupeng · 2011-11-22 02:27:22 +08:00 · 6198 次点击
    这是一个创建于 4757 天前的主题,其中的信息可能已经有所发展或是发生改变。
    失眠了,上来发个问题...

    04年到现在写了快7年php,期间做过大流量网站,内部系统,还有脚本程序,早期还做过一个开源的Bug管理系统,框架也用了一些,ci、cake、yii(比较喜欢这个)等等,算是对php开发比较熟悉吧。
    两年多前因为一个偶然的机会写了两个月的ROR项目,当时Ruby给我的感觉还不错,但仅限于感觉不错。后来项目一期完成,就没再继续。

    第一次接触python是两三年前,不过当时是为了使用一些基于python的工具,代码也是照葫芦画瓢,所以也没太多感觉。直到前一阵才真正开始用python写项目,用的是django,写的是一个后台管理系统,在这个过程中渐渐的发现python的简洁之美,与接触ROR不同的是,python打动了我(或许我太笨没有发现Ruby更多的好处-_-),这是一种说不上来的感觉,比如你回忆一下上次被编程语言打动是什么时候?

    最近要写一个新项目,准备用python,虽然Zed在《Learn Python The Hard Way》中提到"Which programming language you learn and use doesn't matter",但我觉得不同的语言终归还是有些不同的“哲学”在里面。

    7年前接触php的时候是有位很好的师傅领我入门,少走了很多弯路。所以有“前辈”的指导点拨还是很重要的。希望v2ex上的pythoner能不吝赐教 :)

    我先提几个问题抛砖引玉一下
    1. 建议的编码规范
    2. 框架选择
    3. 商业应用常见的架构设计(或者具体一点,比如一个1万用户在线的应用)
    4. python程序的部署方式(目前是更新代码,重启,不知道有没有更好的方式)
    5. 如果觉得以上问题没啥好说的,就说点别的,尤其对于我这种从另一个语言转到python的人
    22 条回复    1970-01-01 08:00:00 +08:00
    keakon
        1
    keakon  
       2011-11-22 02:56:45 +08:00
    1. http://www.python.org/dev/peps/pep-0008/
    2-4. 选择太多了,要根据你的侧重点来选择:方便性、性能和学习成本。建议你自己尝试一下,每种花个半天的时间就差不多知道优劣了。
    5. 语言本身没什么好说的,注意MVC的分离就行了。可以花些时间研究HTTP、web socket、non-blocking server等服务器端的技术,PHP不太容易搞这些花样。
    Ricepig
        2
    Ricepig  
       2011-11-22 07:25:07 +08:00
    @keakon web socket是服务端技术了?我落后于时代了~~~
    whistle
        3
    whistle  
       2011-11-22 09:15:02 +08:00
    mark
    spritevan
        4
    spritevan  
       2011-11-22 09:45:01 +08:00
    1. 同 @keakon
    2-3. tornado+redis(tags)+spinx(search)+mc(cache) (:括号内是用途)
    4. tornado 通过 supervisor 起 (服务器 cpu 核心数)个进程, 项目根目录下扔了个 makefile, 每次上线只需要 make update 一下就 git pull 拉好代码, yuicompressor 合并压缩 static/files, 然后挨个重启 tornado 进程(之前偷懒直接 restart all, 会有造成片刻不可用)
    5. 其实我是 F2E 转 python ><
    iwege
        5
    iwege  
       2011-11-22 10:23:25 +08:00
    @Ricepig socket是,web socket不是...不然我觉得我也落后于时代了...另外现在web socket协议还不稳定,还在讨论当中.

    为啥看到 non-blocking 我总想起nodejs呢...
    keakon
        6
    keakon  
       2011-11-22 10:28:53 +08:00
    @Ricepig 服务器和客户端都有,和HTTP一样啊。本来就是通信协议,不可能单向实现啊。
    spritevan
        7
    spritevan  
       2011-11-22 10:32:38 +08:00
    玩 websocket 推荐用 http://socket.io
    客户端支持做得比较全
    neillifan
        8
    neillifan  
       2011-11-22 10:36:00 +08:00
    各位boss,我想请问教一下,本人大一,计算机专业,想自学一门编程语言,主要用于web开发,如果我想重新做一个新型的便于交流的强大的论坛,请问用那种比较好?最开始很多是关于php的,但是最近看资料发现很多人推荐用其他的,比如python等等。小弟有些茫然,希望各位前辈能有所指引,我也好安心的坚定的走下去。感谢。
    linsk
        9
    linsk  
       2011-11-22 10:51:29 +08:00
    @neillifan 如果再给我选,我选Ruby on Rails
    neozhang
        10
    neozhang  
       2011-11-22 11:42:11 +08:00
    做一个什么项目啊?
    SErHo
        11
    SErHo  
       2011-11-22 11:46:12 +08:00
    @neillifan 可以尝试Ruby on Rails,现在开源的可以参考一下:ruby-china.org,前提是你能喜欢上Ruby on Rails的哲学。
    我没喜欢上。
    leeyupeng
        12
    leeyupeng  
    OP
       2011-11-22 11:53:16 +08:00
    多谢各位的回复

    @keakon websocket这块我会多关注一下
    @spritevan 之前那个项目前端服务器就是用的tornado,更新代码用的是hg,make的方式后面会尝试一下
    @neozhang 自己的小项目,尚不足为道

    包管理大家有什么建议么?
    neillifan
        13
    neillifan  
       2011-11-22 15:26:21 +08:00
    @linsk @SErHo 请问,Ruby on Rails 在web方面比php强大吗?兼容吗?能支持常见的各种特效吗?感谢。
    neillifan
        14
    neillifan  
       2011-11-22 15:28:24 +08:00
    我希望三年后,我能够个人完成一个比v2ex更强大的网站,请问,个人有可能做到吗?
    roamlog
        15
    roamlog  
       2011-11-22 16:01:47 +08:00
    @neillifan 如何从 0 开始学 ruby on rails (漫步版) http://guides.readful.com
    linsk
        16
    linsk  
       2011-11-22 23:05:43 +08:00 via iPad
    @neillifan 开发效率。学rails应该不用三年吧,建议找志同道合的一起做,逐步成长。一个人遗漏了也不知道
    leeyupeng
        17
    leeyupeng  
    OP
       2011-11-22 23:21:52 +08:00
    楼直接歪到rails了...
    kojp
        18
    kojp  
       2011-11-22 23:55:28 +08:00
    @leeyupeng

    继续歪你的楼。。。。
    我目前的情况是,

    小的功能模块自己能写。。。
    稍微大的有架构的,有各种复杂逻辑的,就直接拿别人的来改。。

    请教前辈,
    1,水平如何提升?
    2,如何少走弯路?
    3,以及,如果奔着进公司上班来说的话,熟练使用哪个框架会比较受欢迎?
    (kohana怎么样,呃,我总是对ci,cake之类的,有莫名的抵触情绪。。其实kohana也没怎么用过)
    dexbol
        19
    dexbol  
       2012-02-16 23:13:59 +08:00 via iPad
    @spritevan 看到yuicompressor 就猜到5了
    dexbol
        20
    dexbol  
       2012-02-16 23:14:01 +08:00 via iPad
    @spritevan 看到yuicompressor 就猜到5了
    dexbol
        21
    dexbol  
       2012-02-16 23:14:02 +08:00 via iPad
    @spritevan 看到yuicompressor 就猜到5了
    muxi
        22
    muxi  
       2012-02-16 23:32:00 +08:00
    我在想楼主为啥要转?
    每个语言都有自己最佳领域,做web应用,如果PHP不是最佳语言,至少Python也不是
    但是 PHP + Python 或许是

    当然多会一点也不是坏事,混合编程可能才是未来的发展趋势,在没有一个完美Web语言解决方案出来之前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1512 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:20 · PVG 01:20 · LAX 09:20 · JFK 12:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.