摘要:
软件开发工程师在行业外大众的眼里, 或许是一个出众的职业,收入不低, 技术含量还挺高,就连我自己刚入行时也是这么认为的,但事实上并不确切。任何行业中,只要是在金字塔顶端的那部分,都是令人羡慕的,然而,那是需要天赋、机缘、心血、实力的。 但如果仅仅只是想入行,就没那么苛刻了, 尤其是软件开发行业,更容 阅读全文
摘要:
前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来 阅读全文
摘要:
「信息隐藏」在软件开发领域中是一个非常重要的核心要点, 它的另一个名称叫做「封装」, 但是因为现代面向对象技术流行的原因, 「封装」似乎已被视为和private是等价的, 这就导致了封装的含意并不那么准确了, 事实上它的使用范围在代码的编写中无处不在, private只是封装的其中一项用途而已。 因 阅读全文
摘要:
元组在计算机领域有着特殊的意义,这个名字听起来似乎有些陌生, 平时在写代码也基本没什么应用场景, 然而, 出人意料的是, 元组跟程序设计密切相关, 可能有的同学不知道, 关系数据库中的「纪录」的另一个学术性的名称就是「元组」, 一条记录就是一个元组, 一个表就是一个关系, 纪录组成表, 元组生成关系 阅读全文
摘要:
有一位同事跟大家说他在网上看到一道面试题:“如果后台传给前端几万条数据,前端怎么渲染到页面上?”,如何回答? 于是办公室沸腾了, 同事们讨论开了, 你一言我一语说出自己的方案。 有的说直接循环遍历生成html插到页面上;有的说应该用分页来处理;还有的说这个面试官是个白痴, 哪有后台传几万条数据给前端 阅读全文
摘要:
缓存技术是用来提升程序运行性能的常见手段,如你所见, 阿里巴巴、新浪微博、美团网等互联网龙头企业都是用缓存技术来提升自己家网站的性能。然而,任何事物都有两面性, 缓存技术使用得当带来的好处自然不言而喻, 但是如果使用不当, 产生的副作用也够让人喝一壶的。 我们写服务器程序时,使用缓存的目的无非就是减 阅读全文
摘要:
代码复杂程度可以用“熵”来表示,“熵”是物理学中的概念, 表示所有“无序”的总和, 尽管软件开发不受任何物理定律的约束,然而熵对软件开发的影响非常之大, 当代码中的无序增长到一定程度时,代码复杂到了程序员难以掌控, 软件就“腐烂”了。 追本溯源,导致软件腐烂的原因其实并不复杂, 跟我们现实世界中的方 阅读全文
摘要:
之前闲时开发过一个简单的网页版贪食蛇游戏程序,现在把程序的实现思路写下来,供有兴趣同学参考阅读。 代码的实现比较简单,整个程序由三个类,一组常量和一些游戏逻辑以外的初始化和控制代码组成,总共400多行JavaScript。 游戏中的三个类分别是「组成蛇身体的节点」「蛇」「贪食蛇游戏」的抽象,常量用来 阅读全文
摘要:
还记得周星驰主演的电影《国产凌凌漆》有一段让人捧腹的情节, 在凌凌漆和司令对战时刻, 达文西半路杀了出来, 扬言要让司令尝一下他新发明的集10种致命武器于一身的「要你命3000」的威力, 传说这是胜过任何武器10倍威力的杀人利器,然而,还没等武器开锋,司令一枪就把达文西给打残了。周星驰的电影就是这么 阅读全文
摘要:
在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 当代码执行到第二行时,程序便陷入了等待,直到请求完成,程序才会继续往下跑将抓取到的html输出。这种做法的好处是代码简洁明了,运行流程清晰, 容易维 阅读全文