201604-20 几种开源工作流引擎的简单比较 摘要:目前开源工作流引擎用的最多的是jbpm,各种特性都不错,文档也比较多,下面只简单列举一下目前开源工作流引擎用的最多的是jbpm,各种特性都不错,文档也比较多,下面只简单列举一下其他几种工作流引擎的特性。 ApacheODEEnhydraSharkBonita... 继续阅读 >
201604-20 提升代码的可读性系列--基础篇 HOT 编程是一门艺术活,好的代码应该就像住的房子一样,有整体的框架,有门,有窗户,相互独立又完美组合。你觉得门不够结实,就拆下来换个实心的;你觉得窗户不够明亮就换个全玻璃的,总之对房子的其他部位没有任何影响。所以说每一个程序员都应该有一颗设计师的心。本文主要从编码、变量、处理错误、对象等基础方面进行简单的探讨,希望能对大家的工作有所帮助~~1编码风格老生常谈,我们先从最基础的编码说起吧!好的编码规范不... 继续阅读 >
201604-19 程序猿的骄傲,以及骄傲背后真实的原因 程序猿,这个字汇在近几年开始渐渐被大众所熟知。在外界看来,这一直是个特殊的群体,社会上也给程序猿贴了很多的标签,内向、屌丝、苦逼、裤衩、拖鞋等等。但是你有没有想过,作为一个程序猿,你应该有你的骄傲,因为你是特殊的!程序猿骄傲之电脑版作为一个程序猿,电脑就是你的第二情人,就像一个吉他手怀中的吉他一样,是他们最亲密的伙伴。对于程序猿来说,电脑就是你的骄傲。程序猿的电脑内存必须... 继续阅读 >
201604-19 为什么程序员这么“钟情”于月黑风高夜 HOT 也曾有程序员因熬夜猝死的新闻震惊了圈里,但也就作为人们茶余饭后的谈资唏嘘了几天。程序员的工作状态也并未因此有什么改变,熬夜生涯继续。在互联网圈有一种现象,也被视为再正常不过的现象:程序员、geek都喜欢熬夜,而且在后半夜工作效率异常高。那是不是这些程序员喜欢熬夜,喜欢在万籁无声,伸手不见五指的月黑风高夜工作?一个姑娘问我,搞学术的为什么都睡得那么晚,难道只有到晚上才有灵感?不是,姑娘,搞学术不靠灵感... 继续阅读 >
201604-18 回顾我的编程生涯 本人的专业和计算机毫无关系,编程只是我的爱好! 我的这个爱好的来源于幼年时候玩的一款游戏。在我很小的时候,街机上有一款飞机游戏:彩京战国,估计只有70、80后的还认识它,我当时由家里人带着在游戏厅里,老板送了几个游戏币,从此喜欢上了玩飞机游戏,包括后来的打击者1945系列。不过我除了玩这个游戏外,还有个梦想就是能自己做一个属于自己的飞机游戏。那时候还在小学,只知道这个需要编程,根本不可能有能... 继续阅读 >
201604-18 软件架构到底是要解决什么问题? 前一篇文章简述了什么是软件。那么什么是软件架构呢?按照惯例,我们来看看是什么问题,是谁的问题。要解决谁的问题?如前所述,软件实际上就是把现实生活模拟到计算机中,并且软件是需要在计算机的硬件中运行起来的。要做到这一点需要解决两个问题:一、业务问题具体的现实生活状态下,没有软件的时候,所解决的问题的主体是谁,解决的是什么问题,是如何解决,如何运作的?二、计算机问题 ... 继续阅读 >
201604-18 什么是软件 前面通过四篇文章,把什么是架构,如何做好架构等必要的概念澄清了一下。这些概念对于在各种不同的领域都应该也是有用的,需要读者自行思考,并应用到自己所在的领域中。在这篇文章开始,我们用同样的思考,来看看软件是怎么回事,以及如何运用架构思维,更好的设计和实现软件。冯诺依曼结构,图灵机,以模拟人为目标软件的历史,实际上可以说是用机器模拟人的历史。不管大家(包括在这个历史过程中的参与者)有没有... 继续阅读 >
201604-18 如何做好架构之架构切分 前一篇已经讲了如何识别问题。在识别出是谁的问题之后,会发现,在大部分情况下,问题都迎刃而解,不需要做额外的动作。很多时候问题的产生都是因为沟通的误解,或者主观上有很多不必要的利益诉求导致的。但是总还有一部分确实是有问题的,需要做调整,那么就必须要有所动作,做相应的调整。这个调整就是架构的切分。切分就是利益的调整我们要非常的清楚,所有的切分调整,都是对相关人的利益的调整。为什么这么说呢... 继续阅读 >
201604-18 如何做好架构之识别问题 按照之前架构的定义,做好架构首先需要做的就是识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决80%了。这个能力基本上就决定了架构师的水平。那么面对问题有哪些困难呢?我们先看一则笑话。女主人公:老公,把袋子里的土豆切一半下锅。结果老公是把袋子里的每个土豆都削了一半,然后下锅。当然很多人会说,这个是沟通问题,然后一笑了之。其实,出现这个现象是由于我们大部分时候过于关... 继续阅读 >
201604-18 认识概念是理解架构的基础 在前一篇文章中,我们讨论了什么是架构。事实上,这些基础概念对于做架构是非常重要的,大部分人对于每天都习以为常的概念,都自以为明白了,但实际上都是下意识的,并不是主动的认识。比如说“什么是桌子?”,做培训的时候,我经常拿这个例子来问大家,回答千奇百怪。这实际上就导致了做架构的时候,不同角色的沟通会出很多问题,那么结果也就可想而知了。如前一篇所说,架构实际上解决的是人的问题,而概念是人认识这个世... 继续阅读 >
201604-18 什么是架构? 架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏负责人Gary(微信greenguolei)深聊。本文是漫谈架构专栏的第一篇,作者将会通过类比的方式来介绍什么是架构以及为什么会产生架构。缘起一直以来,在软件... 继续阅读 >
201604-18 软件开发所经历的生命周期 总的来说,软件开发都会经历一下生命周期分析需求:分析问题领域,了解用户的需求软件设计:设计软件的总体架构,把整个软件系统划分成大大小小的多个子系统,设计每个子系统的具体结构软件编码:用选定的编程语言来编写软件功能,实现软件设计阶段所勾画出来的软件蓝图软件测试:测试软件是否实现特定的功能,以及软件的运行性能软件部署:为用户安装软件系统,帮助用户正确的使用软件软件维护:修复软件... 继续阅读 >
201604-18 成为全栈工程师真的好吗? 最近真的有些迷茫,本来想着进到一个公司和大家一起努力把产品做好。但是最后很失望,因为公司决策,产品最后没有推广即宣布失败!有时候想起来真的有些不甘心,来到这个公司一年,真的快成为全栈工程师了,从产品讨论,产品原型设计,再到开发!各个环节参与了很多。现在不得不离开,虽然公司没有裁员,还有其他的项目在推进,但是公司的理念我实在无法接受,所以只能离开。 继续阅读 >
201604-16 程序员到底该如何学习?——初级 这篇文章只适合入门级的程序员。很多人都发消息问我,有没有推荐的学习、面试资料啊?哎,我只能说,《crackingthecodinginterview》、leetcode以及leetcode论坛,topcoder等。可是,这真的适合你吗?我真的不想做这样不负责任的回答。因为每个人的学习方法应该是不一样的,如果你真的想要获得成功,先来打磨下自己的学习方法,找到最适合自己的学习方法,你才能事半功倍。教一个婴儿和教一个成年人当然得用不一样的方法了。... 继续阅读 >
201604-16 十条jQuery代码片段助力Web开发效率提升 JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的... 继续阅读 >
201604-15 如何为你的UIView添加边缘分割线 在移动端产品的开发过程中,很多时候我们需要在某个View的top或者bottom的位置添加一条分割线。遇到这样的需求你是怎么解决的呢?欢迎各位简友们分享自己的做法。我们通常的解决方式,就是添加一个subview,到相应的位置;然后把该subview.backgroundColor设置成我们想要的颜色。这样确实解决了,视觉效果上的问题。但是长期下来,我个人还是觉得有点低效...今天分享的就是我目前所使用的为view添加分割线的方法。总体思路这样... 继续阅读 >
201604-15 HTML5初级知识总结 1.canvas绘制步骤添加canvas元素,定义id和范围js里获取canvas元素通过getContext()方法获取2D绘制环境通过不同的函数进行图形绘制坐标定位绘制的图形定位都是以canvas的左上角为(0,0)原点绘制直线moveTo():规定起始点lineTo():从起点绘制到规定坐标的直线stroke():实现绘制直线的功能fill():实现填充功能实例:绘制一个三角形html... 继续阅读 >
201604-15 项目管理之——如何优雅的做好离职交接工作? 1背景某项目负责人离职,仅在离职前不到一周工作交接给我。该项目特点:1)所有参与人员尽数几乎全部离职。2)项目开始时间:2012年,数易版本,已经4年多的大项目。3)涉及模块众多,部署文档已经没有最新的。4)有Git版本管理,但资料不全且有错误(如有些库文件缺失、部署文档部分章节错误)。存在问题:1)为什么不在人员提出离职的时候就交接,而是在员工走的时候交接?(中间有至少1个月空档期)。2)离职人员没有完备交接... 继续阅读 >
201604-15 程序员的“非程序员”之路 0多年前我就开始写代码,很喜欢写代码,直到现在为止仍然热度不减!人生总是会和你开点小玩笑,我在多年之前走上了”非程序员“之路。我觉得无论你将来是否继续走技术路线,你的程序员经历将为你打下雄厚的基础。本文为你分享我的一些心得,为你分享一些程序员也应该掌握的”非程序员“技能,希望对你有帮助。什么是”非程序员“?什么是程序员?这应该不用解释了。所以”非程序员“就很容易解释了,只要你从事的是IT类工作,但... 继续阅读 >
201604-15 刚挣钱的程序员同学该如何花钱? 我刚毕业那年第一个月到手的全额工资大概是4k出头,自己单独租了一个套一的房子再加上吃饭一个月2.5k就这么花掉了。每个月所剩余的可自由支配的钱确实不多,我这也算是在一线城市的广深地区,在内地二线城市的朋友当时只有1k出头,合租房加上吃饭还略显紧张。所以我们当时不太需要考虑花钱这个事,确实是没什么钱可花的。今天行业发展得不错,如今程序员的起薪大幅提升,刚走出校门的同学除租房吃饭之外想必都还有不少... 继续阅读 >
201604-15 互联网与科比的丝丝缕缕 不管你之前看不看篮球,今天的朋友圈已经被一位球员所刷屏,那就是科比·布莱恩特,这位在NBA战场征战了20年的老将在今天以完美的数据为整个职业生涯画上了一个完美的句号。50投22中,三分球21中6狂砍60分,第四节贡献23分,科比今天在斯台普斯的退役战中砍下了60分,这对于一位38岁的老将来说简直就是神话。整场比赛就像是一场标准的好莱坞大片,从落后到逆转,科比用自己的实际行动让金州勇士的73胜成为了美国版的汪峰,对于科... 继续阅读 >
201604-15 如何成为“10倍效率”开发者 BradFeld的一篇文章TheRiseofDeveloperonomics中提到了“10倍效率的开发者(10xdeveloper)”的概念(伟大的开发者的效率往往比一般的开发者高很多,而不只是一点点),AdamLoving在读了之后受到启发,并向多位大牛(BenSharpe、CollinWatson和JonathanLocke)询问如何成为“10倍效率的开发者”,最后得到了以下的答案。 1、只做需要做的工作 使用敏捷方法;全心全意做UX设计;沟通... 继续阅读 >
201604-14 科比最后一战!看互联网和科技如何造就一代“飞侠” 4月14日是洛杉矶湖人队本赛季的最后的一个比赛日,这场原本无关紧要的比赛因为科比去年的一个决定而变得意义非凡。这位洛杉矶湖人队的当家球星在去年11月30日宣布,他将在本赛季之后退役,结束自己20年的职业生涯。也就是说,五个月后的这场比赛,成了科比的告别演出。因此即便球票被炒到了1万美元,也挡不住球迷们的热情。他们都想亲自来到现场,见证这个历史性的时刻。在洛杉矶,人人都爱科比。过去20年,他为这座城市带来了... 继续阅读 >
201604-14 为什么开发与测试老掐架呢 让我们思考几个常见的问题:软件测试的目的是什么?开发人员能否构建出没有Bug的完美软件?测人人员和开发人员是什么关系?软件测试能否保证软件质量?先闭目冥想五分钟吧,然后可以尝试着回答上面的问题。计算机先驱MauriceWikes回忆起1949年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机EDASC装载程序时,他看到了自己的未来:我强烈... 继续阅读 >