Django系列谈(二)
下面开始快速搭建Django 测试服务器(我们需要的是内建的测试服务器,而不需要apache之类的服务器软件)。从一穷二白开始,假设你用windows,步骤如下:
安装Python
上http://www.python.org官网下载2.x版本,最新版本是3.x,不过用的人太少了,2.x版本深入人心,好比xp跟win7的关系。一般是下载msi安装文件,一路next,完毕。Python会被安装在c:\Python2x目录下,最好检查一下。
设置好环境变量
下面的步骤要直接用到python命令,所以先设置好环境变量(步骤不用我说了吧),比如我的是C:\Python25。然后用cmd打开命令窗口,直接打python命令来验证是否搞成功了。
安装Django
拿出你的svn(如果没有的话就看官方教程),checkout。注意到里面有个setup.py,这是很标准的python类库安装方式(没错,django是framework也是类库),你还会看到很多python类库有类似的安装方式。直接进入django根文件夹,然后在命令后窗口下执行
python setup.py install
如果前面的步骤正确的话,这里可以直接运行了。眼看黑窗口下哗哗地,没多少时间即可完成。那么django到底安装到哪儿了呢。其实它的位置在:C:\Python25\Lib\site-packages。简单的分析一下这个路径,大概可以猜到:Lib文件夹的内容是python类库(事实就是自带的标准类库),而site-packages文件夹的内容是外部添加的类库。
设置好环境变量
又要设置一回了。这次的路径是C:\Python25\Lib\site-packages\django\bin。因为下面就要用django来建立一个服务器实例。
建立一个服务器实例
前面的工作都是准备,这回来真的。我们需要用django类库来新建一个服务器实例。这里略微解释一下“服务器实例”:要知道之前安装的django只是一套类库,不能做任何事情,而现在做的是建立一个project来做一个服务器该做的事情,当然你还能新建好多服务器实例。如何建立,用上命令行:
python django-admin.py startproject local
这里的“local”可以替换成你想要的文件夹名字,而local就是你新服务器的根目录,打开这个目录你会看到有三个文件建立起来了:
- __init__.py
- manage.py
- settings.py
- urls.py
这又是一套非常标准的python包。
验证一下
可以运行测试服务器了。在新建的服务器根目录下执行命令行:
python manage.py runserver
然后打开浏览器键入url
非常标准的django 欢迎页面出现。
网上接小项目,靠的是缘分
你被耍过么,我被耍过。
今天早上看了一篇介绍如何防骗的招数,我相信绝对是经验之谈。后来想想,有些好笑,小项目有三六九等,接包的人也是三六九等,而发包的人只有一种:精明的,数字的,目的性的。如何理解,精明指会算计的,数字指会计算的,目的性指只关注结果的。这样的结果就是:你坐在电脑面前,对着一个背后不知道是人还是猩猩的家伙,用qq之类的IM聊着,你兴奋的介绍着自己的能力和水平,对方有可能也会兴奋的介绍自己的项目情况,然后它会询问你交货时间和费用。这是常见的流程,对吧。可你知道对方在想什么吗,他也许对项目一无所知,只知道我大概要什么,要花掉多少钱,要多少时间完成,往往他并不是一个专家,可能他也是道听途说,这个项目值多少钱花多少时间。对了,他不会关注你怎么做如何做,他只看时间质量和费用。说着说着,他跟你老板挺像对吧,要知道这是一个概念。如果接下来你还在介绍说做这个项目如何如何困难,如何如何费时间,那你就太傻了,他之前肯定已经货比三家。商人有商人的头脑,如果接包的人多的话,他就牛了,他会用上各种技巧让各个接包方竞争,迫使你们干冤大头事情。所以,绝对的防御是不存在的。我的建议是:
- 不要相信协议。要知道,最不遵守协议的反而是接包的你。中国法律不会保护这类交易。
- 不要太执着于文档。就算拿到文档,你也会发现写的跟废话差不多。最好就是问答形式,累就累点。
- 预付款问题。除非对方绝对信任你,否则不会给。
- 不要匆忙答应能做。软件项目的特点就是,不做真不知道。
- 缘分来自于口碑和朋友,中国这片国土,如果没有人缘,没有名气,是没法混的。
帮顶!Wedoswf Flash开发者交流会,9/18日

活动在线报名地址:http://www.wedoswf.com/events/1
主讲者和专题介绍
- Adobe 平台技术
主讲人:Gary Zhu -
Adobe 平台技术总监
Gary 多年工作于 Adobe 公司工作,从事软件产品和平台技术的发展与推广工作。此次Gary远道而来,将为我们介绍 Adobe 平台技术的发展和Flash移动应用软件的开发。 - 程序接口的另类理解与使用
主讲人:孙毅
曾就职五分钟,任Flash部门主管,并开发《绿豆蛙—漂流岛社区》等项目;现就职八方视界,任Flash部门高级主管,并负责其产品《唯智学园》 Flash部分主程,以及Flash性能等各方面研究。
孙毅的博客:http://www.xiaos8.com - Flash Media Server 开发经验谈
主讲人:沈先彬
从事FLASH 游戏与AIR应用开发,参与开发项目有 梦境世界 三十六计等,目前在开发WEBGAME。
沈先彬的博客:http://blog.sina.com.cn/shenxianbin - Flash RIA的可用性
主讲人:刘轩飞
晒台网首席产品管,10年前端设计和开发经验,信仰互联网,以提供最佳互联网用户体验为己任
刘轩飞的博客:http://www.xuanfei.me - 麻球大赛优秀作品介绍
主讲人:廖湘宁
廖湘宁多年来从事视频互动创意与游戏开发,目前在麻球网担任开发者社区经理,负责麻球网(Mochi Media)平台的本土化研发与推广工作。
廖湘宁的博客: http://www.xncat.com - 麻球参赛游戏蛛蛛冒险的开发与设计经验分享
主讲人:徐黎明
曾任TCL教育互联 研发主管,广州市远程教育中心 开发主管。涉足麻球平台之后,钟情于游戏开发,创办Tinime 工作室。 - 麻球参赛游戏DNF,梦幻塔防,吖凡哒哒技术与美工经验分享
主讲人:商文烨
中国第三代闪客,个人作品获得过无数奖项并在中央电视台播出,06年担任搜狐17173频道主管并连续4年获得搜狐最佳称号,2009年成立传奇网科,旗下传动力工作室便是当今最脍炙人口的休闲小游戏开发团队!
商文烨的博客: http://t.qq.com/shangwenye
议程安排
2010年9月18日 星期六
- 12:30 ~ 13:00 参会人员签到,入场
- 13:15 ~ 15:00 主题讨论
- 15:00 ~ 15:15 茶歇和聊天
- 15:15 ~ 17:30 主题讨论
- 18:00 技术交流和讨论
抽奖活动
为感谢大家对活动的关注与支持,本次活动特设精美礼品抽奖赠送。 
会议地点
畅星大厦•上海
地址:上海浦东新区碧波路888号畅星大厦3楼会议厅
电话:021-38984558
网站:http://www.changxing.sh.cn
交通:地铁2号线张江站(步行5-10分钟即到),161



Django系列谈(一)
Python是一种很优雅的语言。优雅这个字,在我理解是,用最少的话表达最多的意思,说白了就是开发效率。我觉得作为程序员应该会一种优雅的语言。在紧急或者懒惰的情况下,可以最快最高效的帮助完成一些任务。作为一个flash和flex的coder,最头疼的莫过于,需要后台,至少说,需要一个测试用的后台。Python是搭建简易后台最有效率的技术之一。
这个“之一”一定要讲,不然容易造成论战。不错,除了python,有人还喜欢ruby,或者php。他们code的效率同样很高。争来争去是没有意义的,我感觉,与其耍嘴皮子,搞些有意义没意义的辩论,还不如关注你手上可以用的资源。如果你认定了Python,那么马上学习吧,拿起来就用吧,我们只是要测试用后台不是么,黑猫白猫,能抓老鼠就是好猫。邓爷爷的话一定要相信。
如果你惦记着纯用Python搭服务器,那你一定够傻了。要知道python可以做很多事情,能力很强的劣势就是,比较“底层”(当然跟C比较的话,编程效率高)。为什么不用framework呢。flash的开发效率同样比较低,所以才有flex冒出来。framework就是用来降低工作量的,就像很多所谓的牛人在给他们的产品做广告时说的那样,我们尽可能的让开发者关注业务,而不是实现。说的多好。
Django是很好很强大的web framework。它的好处是:
- 自带一个测试服务器。可以免去IIS和apache。不需要安装额外的服务器软件。
- 绝少的配置选项。
- 自带一个简易的管理系统。可以管理数据库的增删改。
- 依靠python解释执行的好处,做修改可避免服务器重启
- 快速实现MVC
上面是虚的,实的嘛,下回分解。
I am back
很高兴我有机会说这样的话,不是作为一个全职的程序员,而是作为一个coder。有人说,这有什么区别。我说,有区别,有大区别了。可能是心态放平了吧,没有生存的压力,没有家人的希望。我想,这样的环境,更容易造就一个coder。我们老是羡慕老外,他们有多么好的code环境,他们的公司是多么的自由。可是你想过吗,他们的报酬不是我们中国程序员可比的,他们的国家福利制度也是我们的可比。我们有什么理由抱怨,只能纯“羡慕”而已,就像先辈们憧憬无产主义一样充满敬畏。OK,绝没有鄙视自己的意思。我现在这么讲,不是因为我获得了这样的环境,而是我有了这样的心态。这一切来得不容易,没经历不谈感受。我现在的感受是,我有现在的职业,我很喜欢,我有自己的乐趣,我有code机会,我也很喜欢,这样的人生,说的没出息一点,可以无憾。
应该是最后一篇日志了
写下这篇更多的为了展望下未来,生活是要继续的,人生是要前进的。
现在的我已经不是一个靠程序吃饭的人了,胸无一策不能继续维持这个技术博客。回想这几年程序生涯,程序带来过很多的快乐,同时也为我带来财富,指导此时此刻我任然保持着对它的兴趣。只是,我不能拿它当生存技能了。程序员是我见过的最为单纯的一类人,沉浸在机器的世界里,跟看不见摸不着的数据打交道,自得其乐甚至是坐井观天,就像孩子那样。现在的经济形势不用说也知道,在一个小圈子里迷糊已经混不下去了。所以我决定去做做跟人打交道的工作。
很庆幸我有这个机会。我又回到了我科班出身的机械行业。噢忘了讲,我们程序员也该关心下实业啦,其实我们写的程序是为了啥,要么在计算机里运行烧电(但是可以用来精神上的消遣),要么控制一下硬件(如现在的机电控制等),这个行业关心的人比较少,我想事门槛高的缘故。
现在我做起了HR,行政和一些技术活,做了一个小管理者。以前在外资公司的经历会带给我一些经验,比如控制思想,流程化思想。在操作过程中,碰上很多的困难,我想我最终都可以克服,因为我同样的爱上了这份工作,如同我以前爱上程序一样。
欢迎访问我的杂谈职场博客,空谈职业而已
分享一个小故事
孔子的学生子贱有一 次奉命担任某地方的官吏。当他到任以后,却时常弹琴自娱,不管政事,可是他所管辖的地方却治理得井井有条,民兴业旺。这使那位卸任的官吏百思不得其解,因 为他每天即使起早摸黑,从早忙到晚,也没有把地方治好。于是他请教子贱:“为什么你能治理得这么好?”子贱回答说:“你只靠自己的力量去进行,所以十分辛 苦;而我却是借助别人的力量来完成任务。”
有些事情,真的很难把握。
betterbeansbinding
第一次用java swing写了套桌面程序,来自动化一些工作上的事情。有人问我为什么不用AIR,毕竟是比较熟悉的flash开发模式,我的理由是AS相关的文档处理类库不够丰富,可能这也是AIR的一个不太好的地方。
熟悉AIR和swing的人应该知道,AS这类动态语言在UI编程的效率方面比java好N多,比如bind非常实用和简便。可是java swing借助一些丰富的类库也能实现类似功能,比如这次要讲的betterbeansbinding,可以实现JList,JTable等swing组件和java beans的绑定,单向或双向的都行。
举例一段代码
jtb = SwingBindings.createJTableBinding(UpdateStrategy.READ_WRITE, vec, wage_list);
BeanProperty<SJPerson, ?> sjp_name = BeanProperty.create("personName");
BeanProperty<SJPerson, ?> sjp_wage1 = BeanProperty.create("wage1");
BeanProperty<SJPerson, ?> sjp_wage2 = BeanProperty.create("wage2");
jtb.addColumnBinding(sjp_name).setColumnName("姓名").setEditable(false);
jtb.addColumnBinding(sjp_wage1).setColumnName("底薪").setColumnClass(Float.class);
jtb.addColumnBinding(sjp_wage2).setColumnName("技术津贴").setColumnClass(Float.class);
jtb.bind();
它的作用是将
- Vector<SJPerson> vec
- JTable wage_list
双向绑定,vec是一组beans,在JTable里显示一个row。
更多信息可搜索或者Google code
先有兴趣才有工作吗
我觉得我有必要把一些心得写下来,避免年轻的后来者再犯同样的错误。最近在公司了解到这样一种心态,特别是新来的和刚入行的员工,觉得手上的活枯燥,进而怀疑这份行业无聊,不是他们心中所想,不是心中所愿。其实我非常理解这种心态,因为我自己也是这么走过来的。我敢说,做IT的写程序的,十有八九是从兴趣开始的,兴趣是最好的老师这句话绝对不错。可是我倒想问问,真的是有了兴趣才有工作吗?
我看未必。就我自己一路所感来说,我原来是学机械工程及自动化的,应该说当时我对这门学科非常不满,觉得没有创意没有自由,后来才走上程序这条路。这种心态与现在的新员工何其相似。后来我才真正体会到,不先去做一件事之前你是无法判断兴趣与否的,换句话说,不去亲身体验的话是不会了解其中奥妙的。如同我现在又转回到机械加工这个行当,我下了很大的决心去做这件我以前非常看不起的行当,可是当我慢慢以一种成熟而富有经验的态度去做上这件事的时候,我发觉一切又都充满了乐趣,甚至我在冷冰冰的机器之间发掘到,它们原来这么有味儿。
我觉得人做事就该是这样:做之前不要谈兴趣,兴趣一定是伴随着工作而产生的。


