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

2011-11-22 02:27:22 +08:00
 leeyupeng
失眠了,上来发个问题...

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的人
6195 次点击
所在节点    Python
22 条回复
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
2011-11-22 07:25:07 +08:00
@keakon web socket是服务端技术了?我落后于时代了~~~
whistle
2011-11-22 09:15:02 +08:00
mark
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
2011-11-22 10:23:25 +08:00
@Ricepig socket是,web socket不是...不然我觉得我也落后于时代了...另外现在web socket协议还不稳定,还在讨论当中.

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

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

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

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

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

请教前辈,
1,水平如何提升?
2,如何少走弯路?
3,以及,如果奔着进公司上班来说的话,熟练使用哪个框架会比较受欢迎?
(kohana怎么样,呃,我总是对ci,cake之类的,有莫名的抵触情绪。。其实kohana也没怎么用过)
dexbol
2012-02-16 23:13:59 +08:00
@spritevan 看到yuicompressor 就猜到5了
dexbol
2012-02-16 23:14:01 +08:00
@spritevan 看到yuicompressor 就猜到5了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/21895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX