31

《程序员》11年06期精彩内容:移动应用的成功法则230X300

本期封面报道:

在以“碎片化应用”为特质的移动大时代,如何使一款应用迅速吸引用户并脱颖而出?我们以移动产品的整个生命周期为主线,邀请国内外移动领域的顶尖专家、创业者(团队)、分析师,就移动产品的创意、设计与研发、运营推广、发展趋势等问题进行深度探讨。相信他们的成功轨迹和洞察,会使您耳目一新。

开篇

(1)  全球移动应用大势图

(2) 移动时代的经济学——碎片化应用

(3)  如何从App Store排行榜中脱颖而出

(4) 透过Android Market排行榜看产品

(5)  围观手机游戏:一场还没准备好的全民冲锋 阅读全文 »

阅读:45,907 次
25

记者/陈秋歌

25岁的楼天城有“中国大学生计算机编程第一人”的称号,也被参加竞赛的学子们敬称为“楼教主”。他的传奇经历一直激励着众多年轻学子:从2001年开始参加计算机编程竞赛,并连获全国一等奖;2004年入选国家集训队,同年获得IOI金奖并被保送到清华大学;2008年开始在首位亚裔图灵奖获得者姚期智院士的理论计算机中心攻读博士;2007年和2009年两次带队参加ACM/ICPC全球总决赛并获得第二名。《程序员》近日专访了编程奇才楼天城,让他与我们分享一下他传奇的编程竞赛之路。 阅读全文 »

标签:
阅读:98,363 次
25

文/李明

有三件事影响了我18岁以后的人生。李明

在写下这篇文章题目时,我正好在读一本同名的书——印度著名哲学家克里希那穆提的《一生的学习》。封底有一句话让我深受震动:“我们配做父母吗?想想我们曾经受过的教育,想想我们是如何一天天变得平庸的。”当一个人活到三十多岁将为人父母时,看到这样的责问总不免陷入真切的愧疚和对过往的回忆中。

从大学开始,“平庸”这个词就毫无顾忌地刻入我的人生印章,给每天的工作生活盖上一个触目惊心的红戳。拒绝平庸的斗争日日上演,虽至今未有胜绩但仍不懈于心。我想说的这三件事也与此有关,与其说题目借用了书名,倒不如说是这本书启发了我写这篇文章。如果有感于“自我的平庸”,渴望通过“一生的学习”来找出一条“心灵救赎之道”,可以读一读我的故事。 阅读全文 »

标签:
阅读:25,065 次
25

文/邢波涛

关注开源技术和企业开放平台和开放API,关注淘宝、开心、人人、新浪微博和腾讯微博等开放平台和电子商务、企业管理软件结合的机会。关注开源技术,是为了节省成本和提升自己公司代码水平;而关注开放平台,是想草根创业,所有的一切,都应该站在巨人的肩膀上。

偶尔也会关注一下炙手可热的Facebook,也经常会听到很多软件公司和电子商务公司围绕Facebook做插件开发或者进行电子商务方面的营销。同时,我们也知道,Facebook也已经贡献了自己最知名的NoSQL数据库Cassadra给Apache开源社区维护。
事实上,对于开源,平常我们听得最多的也都是有关操作系统和应用软件方面的内容,但最近Facebook却史无前例地针对数据中心和服务器推出了全开源项目——The Open Compute Project,将开源“开”到了极致! 阅读全文 »

标签:
阅读:14,793 次
24

记者 / 木易

2003年至今,邹建峰连续八届被评为微软MVP,早期专注Visual C++技术,后来转到Windows Phone方向,由于在Windows Phone平台上,拥有多个应用的开发经验,获邀请加入网龙公司刚起步的无线事业部,任该部门产品总监。

邹建峰一直将技术分享作为自己成长历程的重要部分。早期参与微软技术俱乐部;在网龙工作期间,他大力推动员工间的技术交流,开设Windows Phone技术论坛,成功打造学习型部门。本期微软MVP系列采访,邀请他来分享技术人员的成长经验,从产品策划角度对开发者提出建议。 阅读全文 »

阅读:9,217 次
18

主持人:冯大辉冯大辉

岑文初:模块化来降低耦合性时如何把握模块划分的粒度?如何权衡复用性与粒度过细导致依赖复杂的矛盾?

杨海朝:耦合性是影响软件系统复杂程度和设计质量的重要因素,模块化设计的目标是建立模块间耦合度尽可能松散的系统,通过尽量使用数据耦合,少用控制耦合,限制公共耦合的范围和一定要避免使用内容耦合来降低接口的复杂性。

在系统架构中模块化设计对于降低耦合性有非常重要的作用,相关的功能合在一起,不相关的功能分离开来。 阅读全文 »

阅读:11,049 次
18

主持人:冯大辉冯大辉

杨海朝:在错综复杂的庞大系统中,如何避免多条线频繁地发布新代码对线上业务的影响?

孙立:在公司或者业务快速发展的过程中,应用系统的功能越来越丰富,系统模块也变得非常繁杂。由于前期没有进行良好的整体架构,后期又为了快速响应需求,所以系统模块、多个业务线之间的耦合性非常强,很可能代码也不太规范,导致出现发布了A系统的A模块的代码后,B系统的B模块出现了问题,而B系统的B模块开发人员花了一整天的时间才发现问题是由于A系统的某个发布版本导致的。所以可能出现在系统长期运行稳定、压力不大的情况下,突然宕机或者报错,经过大量时间的诊断,发现是由于另外一个系统发布了新版本,接口不兼容所导致。解决这些问题,不仅会浪费开发人员的大量时间,而且这些问题对线上业务的影响也是巨大的,如何减少甚至避免这些问题的发生呢?我认为在整个系统架构上应该有下面的考虑。 阅读全文 »

阅读:12,694 次
18

主持人:冯大辉冯大辉

孙立:你是如何在架构层面,提高开发人员开发效率的?比如通过合理的分层,不同层安排不同能力的开发人员。

孙朝晖:首先孙立老师已经谈到了这个问题的两个核心,第一是合理的分层,第二是让不同能力层次的队伍有机组合。

  • 对于分层,具体到我们的技术体系,可以清晰地分成四个层次,对应四个技术层次,分别是:前端(JavaScript开发)、Web应用(PHP开发)、中间件(Java开发)和通信与管理基础(C开发)。各层有独立的团队,开发人员专注于本层次的技术发展,各层次的开发团队Leader每日进行晨会交流开发进度,每周例会进行技术整合研讨。对于较完整的功能模块,设置有“技术方案评审会”,各团队专家参加,通过对各层技术特点的分析,综合考虑方案的可行性。 阅读全文 »
阅读:21,290 次
18

中国SaaS的未来路在何方?

陈武强:从概念上来说,SaaS不是新鲜事物,早已经被广泛使用,电子邮箱就是最典型的应用。客户是感性的,他们使用一个应用的要点是:需要、服务好、安全、易用、低成本,而是不是SaaS并不是关键因素。因此,不是所有软件适合通过SaaS模式交付,SaaS应用如果能够抓准需求点、提供良好的服务并取得用户的信任基本就成功了。

我非常看好SaaS未来的发展。经过前几年的积累,我们已经拥有了技术基础、成熟应用和稳定的客户群。同时,借助当前云计算的热潮,SaaS服务厂商能够获得更好的发展环境,在云计算时代,我们相当于已经先行一步。

邹均:首先,我觉得一个自动化的业务流程外包的模式,可以给客户提供比较高的价值。其次,就是数据安全的问题,如何给客户提供数据安全的保证,这方面可能与一些监管环境有关,也跟相关安全技术有关系。再次,是运营环境,SaaS实际上是一种服务。现在很多时候,我们是从电信这种传统的业务支撑系统来考虑,怎样能够找到一个比较适合SaaS和云计算的环境,而不像这种笨重的电信运营架构,相信将来在这方面会有一些突破。最后,就是生态链的问题,这值得国内SaaS厂商进行探讨。通过生态链的整合,能够充分发挥不同厂商的优势。目前国内SaaS厂商很多时候都是用一些传统的方式来开发,然后把它变成SaaS,而并不是在整个云计算环境里面做开发、测试、运行和维护,这样做很容易出现问题。所以依托PaaS厂商提供的开发环境进行SaaS开发,才是正道。 阅读全文 »

阅读:10,732 次
17

中国SaaS应用取得了哪些成果?还存在哪些问题?

陈武强:SaaS应用有以下三大成果。

第一,改变了格局。SaaS刚开始时,绝大多数人是怀有质疑的,而现在不但有了大量的SaaS应用,还有数百万的SaaS用户,很多人已经开始接受SaaS模式。

第二,多租户架构。我们刚入手开发SaaS应用时,租户之间的数据隔离和海量数据的并发访问性能是个大问题,开发过程中曾遇到不少挑战。后来我们总结经验,推出了多租户架构,其最大的优越性在于,它从代码层面屏蔽了SaaS应用与普通应用的差异,用户只要按照不同应用的模式开发即可,完全不用考虑数据隔离,也不用关心海量数据带来的性能问题。

第三,SaaS平台。这个平台不同于手机应用商店,更像是移动运营商的BOSS。我们借鉴了三户模型,在此基础上根据SaaS的实际情况,解决了服务租赁所特有的一些问题,例如多服务实例、服务试用、服务共享等。可以这么说,在SaaS服务平台领域,完全是根据实际业务场景摸索出来的,没有捷径可走。 阅读全文 »

阅读:10,362 次
preload preload preload
京ICP备06065162