201710-25 我学习Android的一些套路 今天我将给大家分享一下我学习Android的一些方法和想法,分享中并不局限于Android哪一块怎么学习。而是一个总体的,普适性的学习套路和方法。希望可以帮助大家解决一些问题。注意本文为知乎Live底稿,知识点相对分散,后面部分包含了一些听众提出的问题,但是不影响总体的阅读和理解。Android需要打好哪些编程基础Java基础(Kotlin)(参考技能树http://olabqc6d8.bkt.clouddn.com/Java_skill_tree.png)O... 继续阅读 >
201708-10 编写高质量代码的思考 最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样规定代码要这么写,而不是那么写?这是一个值得深究的问题。而不是说我照着代码规范写代码就算完了,高质量的代码是一个专业工程师的追求。要知其然知其所以然,最近写发票解析的代码,因为涉及带解析PDF的算法,复杂度比较高,所以花了很多时间在重构,学... 继续阅读 >
201708-05 从技巧、案例和工具入手,详解性能优化怎么做 作者介绍颜圣杰,.NET平台软件工程师,对DDD领域驱动设计感兴趣,目前在研究ABP框架,热爱写作与分享。最近一段时间系统新版本要发布,在beta客户测试期间,暴露了很多问题,除了一些业务和异常问题外,其它都集中在性能上。有幸接触到这些性能调优的机会,这里跟大家归纳交流一下。性能优化是一个老生常谈的问题了,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。而造成性能... 继续阅读 >
201706-30 整洁代码之道——重构 写在前面现在的软件系统开发难度主要在于其复杂度和规模,客户需求也不再像WinstonRoyce瀑布模型期望那样在系统编码前完成所有的设计满足用户软件需求。在这个信息爆炸技术日新月异的时代,需求总是在不断的变化,随之在2001年业界17位大牛聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场,提出了“Agile”(敏捷)软件开发价值观,并在他们的努力推动下,开始在业界流行起来。在《代码整洁之道》一书中提出:一种软件质... 继续阅读 >
201705-17 21 个编程的热门/冷门趋势 来源: 维基百科HOA420程序员们喜好嘲讽那潮流像阵风一样吹过的时尚界。裙子长短颜色款式总是来回在变,领带越来越窄,接着越来越薄。而在技术的世界里,相较于一时的风尚,严谨、科学、数理化以及精确才是王道。不过这也并不是说编程就是一个没有趋势走向的行业。不同之处就在于编程的趋势是由更高的效率,越来越多的定制化以及更佳的易用性这些因素来驱动的。新一代的技术都是上代技术沉淀升级的结果。这是... 继续阅读 >
201705-04 35 个让你的代码变得糟糕的不良习惯 坏习惯很难改变,如果你不知道你的坏习惯正在影响工作,那就更难。如果你知道,但不在乎——这是最糟糕的情况。但好在你已经来这里看了,不是吗?作为一个程序员,我看到很多不好的做法,不仅仅与代码相关,还包括团队合作能力。我自己曾经就有不少这些坏习惯。这里是我认为最糟糕的35个坏习惯,它们涵盖了四大类:组织代码、团队合作、编写代码以及测试和维护。组织代码1.说“我稍后会改”推迟修复代码这个... 继续阅读 >
201704-21 程序员招聘建议 没有灵丹妙药能让你成功应聘为开发人员。但是,在此过程中却有一些非常有帮助的建议。我最近采访了MattLangan和ChristianMacolino,Atlassian公司两名最顶尖的高级技术招聘人员。我想知道他们——来自于一家为共计33亿美元的软件公司招聘高科技人才——的看法 。本文着眼于招聘的周边问题,其中包括一些实用的技巧和面试指南。简历首先要有拿得出手的简历。我们需要通过这些,以便于展示自己的能力给参与招聘过程的... 继续阅读 >
201704-21 给进阶中的程序员朋友的40条真言 40条真言,希望对进阶中的程序朋友有所帮助。1、重构是程序员的主力技能。2、工作日志能提升脑容量。3、先用profiler调查,才有脸谈优化。4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5、普通程序员+google=超级程序员。6、单元测试总是合算的。7、不要先写框架再写实现。最好反过来,从原型中提炼框架。8、代码结构清晰,其它问题都不算事儿。9、好的项目作风硬派,一键测试... 继续阅读 >
201704-07 产品经理:五大分析法 一.5W2H分析法何因(why)、何事(what)、何人(who)、何时(when)、何地(where)、如何做(how)、何价(howmuch),此方法广泛用于企业营销、管理活动,对于决策和执行性的活动措施非常有帮助,也有助于弥补考虑问题的疏漏。如下图以新闻咨询类为例子的分析:二.逻辑树分析法(又称问题树、演绎树、分解树等)此方法是分析问题最常用的方法之一,它是将问题的所有子问题分层罗列,从最高层开始,... 继续阅读 >
201703-20 缓存那些事 前言一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图1所示,用户请求从界面(浏览器或App界面)到网络转发、应用服务再到存储(数据库或文件系统),然后返回到界面呈现内容。随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时我们的应用服务器和数据库服务器所做的计算也越来越多。但是往往我们的应用服务器资源是有限的,且技术变革是缓慢的,数... 继续阅读 >
201702-28 技术人员如何持续不断的成长? 不管是职场的菜鸟还是老手,未来的不确定性总是让我们害怕和恐惧。一些没有踏入职场的朋友对自己的前途感到迷茫,不知道如何才能在职业上有更好的发展,怎么做才能“赢在起跑线”。我也经常听到一些职业发展进入瓶颈期的朋友担忧未来的发展,总是感觉自己工作的几年,学到的东西特别少。时间的积累好像并没有让我们变得更强,反而让我们更加的恐惧。工作的年限有时候往往没有成为我们的优势,反而成为了劣势。我发... 继续阅读 >
201702-24 创造型职业程序员的无奈 编程是为数不多的一种既能满足个人爱好,又能赚钱的职业之一。烹饪是另一个这样的例子。在一般情况下,大多数职业要么不可能让你待在家里(例如医生和电工),要么你没有兴趣在家里做(例如清洁)。同样的,大多数好玩的活动是没人愿意付你钱的。软件开发则横跨两个阵营:对有些人来说这是一个令人愉快的职业生涯,对其他人来说,这是一个激动人心的兴趣爱好。前者是我所谓的“职业程序员”,后者则是“创造型程序员”,当然这... 继续阅读 >
201702-23 成就伟大程序员所要具备的10个特质,你命中没 世上程序员千千万,可称得上“伟大的”无二三。所以很多程序员心中都有疑问“伟大的程序员都有哪些特质,怎样才能成为一个伟大的程序员呢?”。首先,一个伟大的程序员肯定要是技能满点的,技术问题即使不是分分钟解决,也会在思考之后成功解锁。其次,一个伟大的程序员绝对不是只会机械的编写代码,他还有各种软实力傍身。下面我们就详细来看一下伟大程序员身具的十大特质。1.广泛涉猎,博闻强记编程这件事是... 继续阅读 >
201702-18 10 年学到的编程经验总结 我作为一个web开发者的旅程始于2000年,那时我还只有21岁,我依然可以清楚地记得那些日子里激荡在我内心的感觉。如果一定要找一个词来形容的话,我觉得那是——愉悦。我不需要担忧时间、最后期限和轻重缓急,也不需要担心生产力。我所要关心的只有一件事,那就是学习,尽可能多和尽可能快地学习。我急急忙忙地前进不是因为时间期限这些事情,仅仅是因为这让我感觉良好,让我觉得有趣。学习如何构建东西,发现一个全新的... 继续阅读 >
201702-11 为什么文件名要小写? 上周,《中文技术文档写作规范》加入了文件的命名规则。"文件名建议只使用小写字母,不使用大写字母。""为了醒目,某些说明文件的文件名,可以使用大写字母,比如README、LICENSE。"网友看见了,就提问为什么文件名要小写?说实话,虽然这是Linux传统,我却从没认真想过原因。赶紧查资料,结果发现四个很有说服力的理由,支持这样做。下面就是这四个理由。另外,文后我还会发布一条前端培训的消... 继续阅读 >
201702-06 2017热点推荐:成功程序员的8个习惯 对成功的渴望或许是我们与生俱来写在基因里的一部分。成功会让人幸福,并且几乎每个人都在争取幸福。当我们感到幸福的时候,我们大脑中的化学物质会迸发积极的情感,激励我们获取更多的成功。成功的职业生涯通常是指规定时间内,发布高质量且被认可的工作。这对于IT开发人员也没什么不同。成功的开发人员能在预估范围内编写出高质量的代码,并通过发布伟大的产品让利益相关者满意。那么开发人员如何才能做到这一点呢?... 继续阅读 >