用过许多的web开发框架,我是随着 Python这股热潮来参考的 web 开发方法 Django,之前也有使用过 Java 的 springMVC,RoR 框架。就着开发比较常见的几个问题,谈谈自己粗浅的看法。

结构:语言体系和开发习惯,Java 相对的定义都可以自己尽心约束和配置,完全可以按照自己公司的结构和习惯来编写,所以不存在什么灵活性一说。符合自己公司和团队的规范就好。Django也相对类似,对静态目录通过系统自带的os,path和setting配置可以指定相应的目录作为静态目录或文件的上传目录等类似的功能。在系统的功能规划方面,通过Django生成的工作目录会提供基础的程序,包括初始的wsgi,setting,url等项目基础文件之外,通过django manager startapp会在同级目录下生成相对应的app目录结构,整体来讲文件结构也普遍固定。RoR则依赖“约定大于配置“的信条把绝大部分的目录都规定的妥妥当当。做过类似开发的开发人员基本上都熟悉。完整的mvc目录结构,标准的public,static等都是按照通用的工程结构而来。

至于开发语言,单单讨论Java,Python,Ruby孰优孰劣完全没意义,不讨论,但Python那种强迫症的tab间隔习惯我很喜欢。

常用的开发场景

  • 自动化工具方面,随着Docker,Jenkins之类的工具推出。Java的自动部署和脚手架可以完全自己实现,但是就纯框架自带的功能而言,Django,RoR自带的脚手架确实比较优秀,Django可以通过脚手架自建工程、建立模块、通过模型创建数据库、建立数据库迁移任务。而RoR在这类功能基础之上还提供了一键远程部署、数据库版本回滚、
  • 开发流程和模板:RoR,Django都可以通过指令来生成模块代码,Java没有。Django开发中也封装了一些常用的ListView,DetailView,TemplateView来减少开发的代码量。生成完模块代码后,Django可以通过系统自带的Model层的定义在app中的admin.py通过@注册进入系统自带的后台管理中。不需要任何开发就可以实现web界面对数据的管理功能。这一点我相信是Django最强大也是最遭诟病的地方。优点在于不需要任何代码开发就可以把模型一件注入进入管理平台。只需要配置模型的字段就可实现模型的CURD,List页面的过滤查找。缺点是管理平台非常死板修改难度极大,比如要修改后台的模板风格、对模板变量添加一些常用的处理(比如把{{ temp }}从1替换成为”男”都需要编写代码来实现。)模板中不能使用Python的功能,需要符合模板的Api语法。Java,RoR则可以完全使用语言自带的功能,并且Java可以选择各类模板库作为自己的view展示层,但是他们都没有Django自带的实现需要自行开发。
  • 相关的插件之类:在这里的表现其实都挺不错的,相对来说可能Django,RoR更加的让开发人员“不用太想事儿“通过简单的配置就可以完成相关的功能,例如:分页、查询后参数保持的分页,防CSRF提交、CKEditor富文本编辑框、文件上传、图片切图等。相对而言,Django,RoR因为其插件方式,并且自带了相关的初始插件脚本。如:CKEditor通过pip install,bundle install之后,可以运行一个执行脚本,默认把相关的上传路径,上传的文件类型,图片的自动切图等相关配置通过脚本自动生成,更加省力而已。而Java的强项都是在系统架构方面,如:工作流模块、系统权限模块、数据缓存、分片、微服务等架构层级。所以就日常的业务代码开发而言Django,RoR的亲和力更好,开发中下规模的系统而言。Django,RoR更加具备优势。
  • API和测试:基本都差不多,swagger应该都会有相关的支持,至于测试我想Java应该更加优秀。本身就是一个庞大、繁杂的体系,定制化的自由度也更高。至于文件结构之类,那就是萝卜白菜的事也没有讨论的必要。

个人的感觉,其实Django的开发很尴尬,介于中间的位置。说全自动又没有Rails好,说定制程度和灵活性也没有Java好,我不太喜欢它的继承父类然后重写的方式。一开始都为了这个开发绕了好久,报错信息感觉也没有特别出彩。如果是纯选择开发web我应该还是会选择RoR。接下来就是个人的见解了,因为Python对于大数据、网络抓包、系统底层的服务编程更好。这也是相对RoR的优势。至于Java,嗨,世界第一还有什么好说的。以上是我作为一个完全没有接触过 Python 的萌新的使用体验。

推荐阅读:胡阳编写的 《Django企业开发实战高效Python Web框架指南》,完完整整的自己走一遍,相信每个人都会有自己的开发理解。

SNS中一个比较重要的功能就是找出有同类爱好,或者相同需求的人,并把两者关联起来,其实现机制可以通过以下三篇文章来诠释,写的非常的不错,推荐一下

 

  1. 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
  2. 探索推荐引擎内部的秘密,第 2 部分: 深入推荐引擎相关算法 – 协同过滤
  3. 探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 – 聚类

 

订阅的文章里,有一片写PM与工程师的文章,真的写道我心坎里去了,共享给大家。

原文链接:http://ucdchina.com/snap/9126

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎么可能做出一款好产品来呢?

很显然,写这篇文章的是一位愤怒的工程师,Angry Engineer!我跟他至少有两点共鸣:

1、国内的PM确实常常折腾工程师,甚至不乏“把工程师当工具对待”的情况。
2、如果工程师有开阔的产品视野与全面的设计素养,知行合一,由工程师来驱动项目是一个完美的选择。
Continue reading

在搜狐上看见的这篇文章。写的非常的言简意赅,并且容易理解。转载一下共享给大家

原帖地址:http://heidixie.blog.sohu.com/159793641.html


这是一篇老生常谈的问题,所以若有人已经了解,请自动忽略好了。这也是在一次和PD的交流培训会上再次提出的老问题:究竟线框图为什么要画,以及如何画。

至于线框图为什么要画,就不在这里聱述了。相信已经有很多人写过类似的文章,当然,如果你还有疑问,可以给我写邮件。

现在就是如何画的问题。Continue reading

周五的时候和朋友们一起讨论了团购的模式,毕竟咱是工程师,对运营这东西还是知之甚少.看见UCD社区的一篇文章写的还不错,特地转载下来,给几个哥们一起看看,参详参详…..

转载地址: http://www.panghufei.com/?p=10259

以下是全文内容 ?————————- ?分割线 ———————————–

提笔开始写这个的时候,读到一个很不错的专题《网易科技:团购网站淘金热》,推荐大家看看。上面写过的很多东西我们不再赘述,比如同质化严重,恶性竞争带来的低利润,用户缺乏粘性等。

我们试图从另一个角度去说这东西:我认为这些不叫团购!我也告诉大家团购应该是怎样的。

用秒杀的方法做团购?

秒杀是一种互联网促销方式,我以前提过。定时 + 限量 + 特价 = 秒杀。遗憾的是大多数商家学到了皮毛,秒杀的真正价值,在把用户吸引来之后引导他们同时购买其他产品,先获得客流,再争取利润。这是一个很细节的学问,大多数秒杀的学生都只上了第一节,然后就逃课了。多话此处不表。

我发现,目前的团购网站,都是“定时 + 限量 + 特价”,虽说有x人成团的概念,但事实上,x已经趋近于0。换句话说,团购网站根本不关心是不是成团,就关心是不是卖掉。

同时,没有人拉人,钱也分开付,你不知道跟谁在一起买东西,一切都没有所谓团购的影子,只有这么个名字。

那这是在做团购么?

团购到底是什么?Continue reading

最近研究电子商务比较多啊…不过也是,未来电子商务肯定是主流,发现了这篇文章,写的还不错,有分析的价值,转载一下,希望也能给其他的朋友看到.
———————————————————
转载地址:点击访问

仔细看了Veryls的《B2C之番茄树停止运营的必然性:business sense的先天缺失》感触很深 本想回贴了之 却越写越多 索性另开一贴。

甭管用词多么华丽,说到底B2C就是零售,在零售领域里 B2C是个新渠道,一个小的不能再小的渠道…作为这渠道的从业人员,很难讲,有多少人了解零售,甚至讲不清楚,有过一次完整的低价买进高价卖出并成功拿到利润的人有多少。
Continue reading