研发周报:精简代码,为网站减负的十大建议

来源:互联网 发布:集美大学校园网络中心 编辑:程序博客网 时间:2024/05/15 05:07

摘要:上周精彩文章有:精简代码,为网站减负的十大建议、全栈工程师会是未来的发展趋势吗?2013年软件领域因缺陷导致的五大事件、前端开发必备 40款优秀CSS代码编写工具推荐等。

春节“码”上就到了,这将是年前的最后一篇研发周报,感谢大家一直以来的支持与阅读。在此,提前祝大家“码”年吉祥、“码”到成功!

在上一周中,“全栈程序员”几乎成了微博上的热门话题。研发频道的“全栈工程师会是未来的发展趋势吗?”也引发了许多程序员们的讨论。除此之外,如何优化网站、精简代码也是大家非常关心的话题,下面就让我们一起来看看上周的热门文章。

1.精简代码,为网站减负的十大建议

2013年,网页文件大小增加了32%,竟然达到了1.7Mb,包含96个独立HTTP请求。这只是一个平均数值,其中近一半的网站已经超过了这个数值。网站的过度臃肿正趋于流行,其中很大的责任在于Web开发者。


过于笨重的网站将严重影响网站的最终体验,主要表现在以下四个方面:

  • 更大的下载量,导致更慢的用户体验。并不是每个人都拥有20M的网络连接,尤其是对于那些不发达地区。不管你的网站多么优秀,用户永远不希望等待。
  • 移动Web访问正迅速发展,移动网民几乎占到所有网民的1/4。在典型的3G网络连接下,一个1.7Mb的网站加载需要近一分钟。如果你的网站无法高效工作于这些移动设备,那采用响应式Web设计技术又有什么用呢?
  • 网站加载速度已被谷歌加入排名算法中。加载缓慢会降低网站排名,同时也会影响搜索引擎优化。
  • 网站包含的代码越多,更新和维护它所花费的时间就会越长。
Craig Buckler预言,2014年网页文件大小将会下降。那如何精简代码,为网站减负呢?Craig Buckler给出了十条建议。这些建议中涉及到的技术均是大家熟知的。

  1. 启用GZIP压缩
  2. 支持浏览器缓存
  3. 使用CDN

前面提到的三条建议可以加快网站的加载速度,下面的建议将帮助我们高效地减少网站的冗余代码。

  1. 删掉没用的资源
  2. 合并和压缩CSS
  3. 压缩并合并JavaScript
  4. 使用正确的图片格式
  5. 重整大图片的尺寸
  6. 进一步压缩图片
  7. 去掉不必要的字体

2.全栈工程师会是未来的发展趋势吗?

最近,网上很流行一个词:全栈(Full Stack)工程师,也可以叫全端工程师,无论是前端知识,还是后端架构你都要了解。甚至有些调皮的程序员这样理解全栈工程师:全栈工程师=屌丝战斗机=系统+网络+研发+dba+架构+安全=没女朋友、拿一份工资做三份事情的典型、每个站长都是一个全栈工程师,每个站群的站长都是超级全栈工程师。

以前,软件工程师最在意的是成为某个领域的专家或者高手,如今,随着软件技术的发展以及需求的变化,尤其是越来越多的程序员出来自己创业,由于各种条件限制,许多技术上的问题不得不亲力亲为地去完成,因此,很多程序员慢慢地就练就了精通多门技术的本领。


这不,就有位程序员在知乎上提问:“ 怎样成为全栈工程师(Full Stack Developer)?,在OSCON会议上,一名Facebook的工程师说他们只聘请“全栈(Full stack)”的程序员。”此话题一出,引起了大家的热烈讨论。许多经验丰富的工程师纷纷在下面留言,讨论成为全栈工程师的价值在哪里?感兴趣的同学可以访问知乎讨论页。

马上就要春节放假了,许多人都在做年终总结和新一年的规划,许多程序员都希望自己在新的一年里能做出更好的产品、学到更多知识、进一步提升自己的技能和综合能力,这或许也是全栈工程师成为热门的原因之一。那么,这是否也说明,要想在软件开发领域走的更远,就必须掌握更多的技能,成为一名全栈工程师呢,这会成为未来程序员的职业趋势吗?大家不妨一起来讨论下。

3.2013年软件领域因缺陷导致的五大事件

时间飞逝,农历的2013年也快要跟大家说再见了。在软件领域里,2013年是个不平凡的一年,越来越多的科技产品走进了人们的生活,移动、大数据、云计算的快速发展给许多企业带来了各种机遇和挑战。作为程序员,除了要回顾自己一年所参与的项目之外,还得了解去年的业内动态、发生过哪些令人深思的互联网事件。

本文作者总结2013年软件领域因软件缺陷导致的五大事件,提醒所有的各位程序员在开发项目时,除了注重功能的实现,还得考虑一些其它因素,例如性能、代码规范等等。下面让我们一起来看下。

1.美国联航系统免费发放机票

2013年9月12日,美联航售票网站一度出现问题,售出票面价格为0-10美元的超低价机票,引发乘客抢购。大约15分钟后,美联航发现错误,关闭售票网站并声称正在进行维护。大约两个多小时后,该公司购票网站恢复正常,并且承认已卖出的票有效。

2.Dropbox宕机一小时

云端存储解决服务提供商Dropbox在2013年5月份发生了一次宕机事件,事件持续1小时,用户无法使用Dropbox,在页面上显示无法链接服务器。而就在2013年,Dropbox共发生过两次宕机事件,虽然官方回应并非遭到黑客攻击,但仍然引发不少用户的担心。

3.CBOE事件

CBOE(Chicago Board Options Exchange)是美国最大的期权交易所,在2013年4月,CBOE因软件故障引起延迟开盘事件,事故从早上8:30开始,直到中午12点才全部开盘。

4.FSSA信息泄露事件

联邦条例规定,技术的加密和授权主要是用来安全地发送和接收保密信息。然而不幸的是,在2013年5月, 印第安纳州家庭和社会服务管理局(FSSA)泄露了用户的私人信息,其中包括社会安全号码以及错误的收件人信息,其中大约有188000人信息遭到公开。

5.Healthcare.gov灾难

HealthCare.gov是美国联邦健康保险交换系统的核心,该网站自2013年10月1日开通运营以来一直遭受各种问题的困扰,比如用户注册失败、浏览器崩溃、性能、数据问题等等。CSDN研发频道曾对该网站架构进行过具体的分析,大家可以移步过去看看: 传说5亿行代码的Healthcare.gov网站的架构。 

4.前端开发必备 40款优秀CSS代码编写工具推荐

CSS工具是开发者和设计者所不可缺少的,它们不仅简化了工作流,还可提高CSS编写速度。本文将列举40种CSS工具,功能涉及CSS菜单、动画、3D图形、响应式页面、图层、按钮等界面元素的设计与制作。


  1. Layer Styles
  2.  CSS3 Pie
  3. Patternify
  4.  CSS Compressor
  5. Spritemapper
  6. EzxtractCSS
  7. Tridiv
  8. Sky CSS Tool
  9. PrefixMyCss
  10. Responsive Web CSS
  11. CSS Form Code Maker
  12. Sencha Animator
  13. Buttons
  14. CSS Patterns Gallery
  15. CSS Menu Maker
  16. CSS Matic
  17. PCSS
  18.  TopCoat
  19. Magic
  20. Skelton

更多工具及其详细介绍,欢迎点此查看访问原文。

5.趣文:假如编程语言在一起聚餐

曾有一段时间,一些幽默的程序员把各门语言比作女人,其中Java是一个精于计算的生意场上的女人、Lisp将会成为你事业上的导师,能在任何事情上为您提供理论方案,让你佩服的五体投地。

倘若把编程语言比作人类,那么,他们在一起聚餐,会聊些什么呢?Py Skool网站编辑就发表了这样的一篇文章: Programming languages come to dinner,下面是笔者对原文的摘译。

有一天,你下班回到家,发现屋里一片忙碌,妈妈告诉你,编程语言里的各位亲戚今晚要来拜访,让你赶紧打扮打扮。你进入客厅,发现C和C++在争论些什么。

C:“你个小屁孩!不要教我编写代码,等你长大了再说。”

C++笑笑,你也被迫加入到这个讨论中。C已经42岁了,是这个房间里岁数最大的语言,而排在第二的则是C++,今年37岁。在外人看来,他们两人看起来几乎是一样的。

C++:“爷爷,你叫我小孩,至少我仍然意义非凡。”

C:“我更加有意义,孩子。如果没有我,操作系统、编译器和嵌入式系统都将失败或者不复存在,同样,如果没有我,你们这些现代语言也活不了几天。”

C++:“我知道。虽然我可以接管你的角色,但是我并不想,因为我为大公司编写代码已经赚了很多钱。”

C#:这时,你年轻的表弟C#走了进来。“你们两个老头子,现在,许多大公司更加喜欢我。


C&C++:
齐声说道:“不,他们不喜欢你。”

C++:“我们两个一个月赚的钱比你半年赚的都多。”

C#:“不,你们不能。我比你们年轻,我很酷。”

C吐了一下:“我仍然不喜欢你对Visual Basic所做的。”

C#举起手:“大多数时候,并不是我干的。是MicroEvil做的决定,我发现的时候已经为时已晚了。”

Visual Basic正在角落里哭泣。自从MiscroEvila公司迫使他进行整容后,让他更像C#了。他们心想,如果他能像C#那样既年轻又漂亮,他还能赚很多钱,可是他整容失败了,现在,他只有通过哭泣才能缓解痛苦。C和C#对他都感到很抱歉,并且给了他一颗止痛片。

饭好了,大家都坐在桌子旁,最后一个来的是Java。他穿着一件相当旧的T恤,拿着吉他,真是糟透了,他已经数周没洗澡了。

Java:“嘿,伙计们。我终于会谈吉他了,我现在能谈一整个完整的曲子。”

Java再次酷了一把,尽管他至少已经有20年没这样酷过了。

Java拿起吉他,谈起了曲子:‘Twinkle Twinkle Little Star’,他知道的唯一一首曲子,并且他已经谈了好几周。当他完成曲子后,每个人都很有礼貌地鼓掌。C一脸的轻蔑,而C++则把手搭在Java肩上并且低声对他说。

C++:“还记得我们讨论过什么吗?我们试着对年轻一代好点?”

Java:“我将对他们更好,如果他们赚到钱。”

C++:“他们会的,有一天我们都将会退休,真希望孩子们能赶上来。”

C点头:然后朝一个陌生面孔看去:“你是谁?”

Delphi:“我叫Delphi,你的表妹。”

C:“从未见过你。”

其它人也点头,这个Delphi伙计是谁?C#说到:“你竟然是一门编程语言?有人用你吗?”

Delphi指着他的宝马说:“比你赚的多,高调的小子。”

母亲走到中间:“大家不要吵了,你们会吓坏Cobol的。”

Cobol已经在餐桌上睡着了,并且口水都流到了桌布上。你看到一个年轻的印度小伙站在他旁边,他差不多就是个十来岁的青少年。他向你微笑。并且害羞的说:“你好。”

你也说了句“你好,”并且正在好奇他究竟是谁。妈妈走了过来,介绍说:“他叫Vishal,来自印度,你的太老爷Cobol已经太老了,我们正在训练他接替太老爷的工作。”

主人:“他看起来很年轻。”

妈妈:“是的,他才13岁。他的家族想要一部iPhone,所以把他卖给了我们。我们已经宣布他是一个非常重要的计算机资源,顺便说一下,他不需要签证,并且无需支付任何工资和税前。他睡在厕所里,并且每天工作16个小时。”

Vishal笑着说:“仅仅在两周里,我已经给一个公司带来了5万美元的利润。CEO和执行主管已经分得了数额的奖金,为了表达感谢,他们说我可以睡在厨房里了。这样大家上厕所的时候,我就无需起床了。”

Cobol睡醒了,说到:“不错,好样的,他正在完全接管我的角色。现在,他要是能把我的尿不湿换了就好了。”说完,Cobol又回去睡觉了。

你看到一个空桌子旁有两个男人坐在那里,他们戴着单片眼镜、喝着美酒,

他们好像在窃窃私语讨论些什么。

主人:“那是谁,妈妈?”你问道。“为什么他们没和我们坐在一起?”

母亲让你保持安静,并且告诉你,他们两个是贵族。他们太优秀了,不能和我们坐在一起。

Hashkell:其中一位男士站了起来,并且推推他的单片眼镜。“没关系,老朋友,让我们自我介绍一下。我叫Hashkell,是一门纯种语言。”

Lisp:另一位也站了起来,并自我介绍道:“我叫Lisp,出生在贵族的语言。”他小啜一口佳酿。“嘿,老朋友,这酒真是美味极了。”

Lisp:“嘿,小伙子,这是1970年的Chateau de Le Fancy Pants,将近800美元。”

C++说道:“那是我支付的,因为你们两个已经不工作了。”

Lisp:“亲爱的,我们可是纯正的血统、纯数学语言。我们代表着美丽、真理和优雅。你也不希望我们的手变脏,编码就好比猴子在剥花生。”

C#说道:你知道的,“我们是为了生存才工作的,我们并没有变成猴子。”

Lisp接过话题:“你看过我们的代码吗?我们是如此的优雅、美丽,每个人都喜欢我们。”

他们都摸了摸自己的头发,Haskell说道:“我们是如此的美丽,如果我们走到了现实中,我们的美丽就会减分。”

Haskell:“Yeah. We would become like you guys. Even being in the same room as you plebeians is sucking my coolness.” 

C说道:“不要理他们,我们努力奋斗。”

晚餐结束了,大家陆续离开。你和大家道别,并感谢他们的到来。然后去擦桌子。正当母亲洗完碗,LolCode出现了,并且说道:“能来些吃的吗?”

各位网友,看完他们的对话后,你更加喜欢哪一位呢?你们猜到了文中的主人是谁了吗?大家不妨一起讨论讨论吧。


0 0
原创粉丝点击