在上一周,研發(fā)頻道最熱門的文章當(dāng)屬優(yōu)秀程序員的6個共同特質(zhì):具有好奇心、熱愛分享、具有社區(qū)意識、以身為程序員而自豪、有點懶、代碼可視化的能力。此外,受大家追捧的文章還有:細數(shù)10個令人驚訝的NodeJS開源項目、項目開發(fā)中,質(zhì)量和速度哪個更重要?
下面讓我們一起來細細品味這些熱門文章。
1.優(yōu)秀程序員的6個共同特質(zhì)
如果你在一家IT公司,與周邊的程序員接觸時間越長,對他們的可愛之處了解地就越多:或呆或萌,或正派或猥瑣。如果你恰好是一個程序員,你會發(fā)現(xiàn)身邊優(yōu)秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結(jié)了他身邊優(yōu)秀程序員同事?lián)碛械?個共同特質(zhì):
2.為什么開發(fā)者擔(dān)心將代碼公布
代碼公布不是什么壞事,不僅能夠促進交流、提高開發(fā)者的個人技能,還能提升軟件質(zhì)量。
從開源代碼或者是公布代碼里獲得的利益是無法估量的。也很難想象,在今天的編程世界里,如果沒有免費的類庫、代碼片段和技術(shù)教程的話,那會帶來多少麻煩。可是,為什么大多數(shù)開發(fā)者如此擔(dān)心將他們的代碼公布出來呢?對于這個問題,本文作者Matthew Mombrea是Cypress North的創(chuàng)始人、軟件工程師、科技愛好者,在這篇文章里介紹了開發(fā)者為什么害怕將代碼公布的四點原因:
將自己的代碼公之于眾聽起來很嚇人,實際上你獲得的好處比失去的東西要多的多。別人看了你的代碼之后,你的代碼一定會比被看之前好很多,你接受批評的能力也會有所改善,同時,別人也能從你的分享過程中獲得很多好處和啟發(fā)。
3.UX設(shè)計師和軟件開發(fā)者,誰將是2014年的老大?
本文作者Nic Newman是Tigerspike公司的MD EMEA兼戰(zhàn)略主管。在這篇文章里,作者主要將UX設(shè)計者和軟件開發(fā)者作比較,通過對當(dāng)前軟件和UX環(huán)境的分析,總結(jié)出兩者之間的相互關(guān)系,以及誰能夠在接下來的發(fā)展過程中挑戰(zhàn)更加艱巨的任務(wù)。
這里主要討論的是移動App的UX設(shè)計,以Holy Grail為例,優(yōu)秀的設(shè)計滿足了高性能軟件創(chuàng)造真正引人入勝產(chǎn)品的需求,就像The Economist在iPad上所說的那樣。更重要的是,在2014年,世界上將會有更強大的力量把UX設(shè)計師和軟件開發(fā)者這兩個角色推向不同的新方向:
那么,誰將獲得成功呢?
前兩個趨勢的結(jié)果是大大增加對App的需求。然而,App數(shù)量的增加所帶來的問題是預(yù)算的不斷增加。因此,企業(yè)將依靠標(biāo)準(zhǔn)化的UX,和基于軟件的UX進行策略安排,這樣才能滿足App的需求。
趨勢三將會使得App變得更加動態(tài),而趨勢四則會導(dǎo)致對智能軟件的更大依賴性。上面所提到的這些“壓力”組合意味著軟件開發(fā)者將更加強大,且需要將更多的UX設(shè)計能力裝入到他的軟件工具箱。軟件開發(fā)者將在2014年的手足之爭中蟬聯(lián)冠軍,保住國王寶座。
4.項目開發(fā)中,質(zhì)量和速度哪個更重要?
在項目開發(fā)中,你會傾向于質(zhì)量還是速度?當(dāng)然,兩者都很重要,理想的情況是,在規(guī)定的時間段內(nèi)高質(zhì)量的完成所有的東西。但是往往現(xiàn)實是比較殘酷的,很少會給你這種機會,使得這兩者不能兼得。
在快節(jié)奏的開發(fā)工作中,你必須爭分奪秒,以在最后期限之前項目能夠如期交付。但時間一緊,就容易忽視代碼的質(zhì)量和規(guī)范,或者不去寫測試用例。反過來,如果太過追求項目的質(zhì)量,則會拖延進度。
當(dāng)客戶需要你盡快交出成品的時候,要么使產(chǎn)品中的一部分整潔美觀的,要么使產(chǎn)品是完整的,但有些部分不盡如人意。那么如何在這兩者之間找到一個平衡點呢?來看開發(fā)者Matt Aebersold的建議。
Node.js從2009年誕生至今,成長速度很快,今年更是風(fēng)生水起。簡單來說,Node.js就是一個服務(wù)器端的JavaScript解釋器,可以幫助開發(fā)者快速構(gòu)建高度可擴展的web應(yīng)用。那么,Node.js的2013年有哪些值得關(guān)注的大事情呢?下面,我們一起來看下。
1. Node 0.10發(fā)布
時間:2013年3月11日
事件要點:Node 0.10分支實現(xiàn)了新的Node流Streams2,同時也在API和向后兼容方面進行了重要改進。詳細信息,可參閱 《Node.js 0.10發(fā)布,1.0不遠了》 。
2. AWS Elastic Beanstalk支持Node.js
時間:2013年3月11日
事件要點:亞馬遜宣布亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)云應(yīng)用部署和管理功能AWS Elastic Beanstalk增加對Node.js的支持,可以幫助開發(fā)者針對Node.js的應(yīng)用環(huán)境進行更多的自定義配置。
3. Ghost博客平臺成立
時間:2013年5月28日
事件要點: Ghost 是一個開源的博客平臺,致力于追求簡約,為大家提供更加暢快的寫作體驗,采用Node.js開發(fā)。更多信息,可參閱 Geek頭條 。
4. Node.js Reactions站點成立
時間:2013年5月28日
事件要點:該 站點 以Gif動畫的形式來展示Node.js的各種體驗,萌圖多多,令人捧腹,很好地傳達了Node.js社區(qū)文化。
5. PayPal宣布轉(zhuǎn)向Node.js
時間:2013年5月30日
事件要點:PayPal宣布放棄Java,轉(zhuǎn)而采用Node.js開發(fā)Web應(yīng)用程序,這對Node.js社區(qū)來說是一個大消息。
PayPal還在近期推出了一款Node.js Web應(yīng)用開發(fā)框架:Kraken,具體信息,可參閱 《Kraken:改變PayPal開發(fā)文化的Node.js框架》 ,來了解PayPal公司為什么會做出這樣的選擇。
在幾年的時間里,NodeJS逐漸發(fā)展成一個成熟的開發(fā)平臺,吸引了許多開發(fā)者。有許多大型高流量網(wǎng)站都采用NodeJS進行開發(fā),像PayPal,此外,開發(fā)人員還可以使用它來開發(fā)一些快速移動Web框架。
除了Web應(yīng)用外,NodeJS也被應(yīng)用在許多方面,本文盤點了NodeJS在其它方面所開發(fā)的十大令人神奇的項目,這些項目涉及到應(yīng)用程序監(jiān)控、媒體流、遠程控制、桌面和移動應(yīng)用等等。
這十個開源項目分別是:
7.【開源專訪】Java高效開發(fā)框架Nutz:是SSH的輪子?還是新神器?
Nutz是一個優(yōu)秀的國產(chǎn)開源項目,它是一組輕便小型的框架的集合,各個部分可以被獨立使用,據(jù)作者稱,Nutz的使命就是“解決第三方類庫在Web項目開發(fā)中的低效問題”,而Nutz也被稱作是“除了SSH之外的另一個選擇”。
Nutz最初由zozoh(張志昊)于2009年發(fā)起,隨著項目的發(fā)展,越來越多的開發(fā)者參與貢獻(提交代碼、撰寫文檔、測試bug等),后來逐漸形成了一個1000人左右的社區(qū)(主要成員)。
Nutz項目官網(wǎng):http://nutzam.com/
CSDN記者此次采訪了Nutz開發(fā)者社區(qū)中的幾位主要開發(fā)者,請他們來談?wù)凬utz這一項目的具體情況。
zozoh(張志昊) Wendal(陳鎮(zhèn)鋮) 胖五(武佩文) JuqKai(朱凱) Ywjno(楊文佳)
CSDN:Nutz 能做什么?設(shè)計目標(biāo)是什么?
zozoh:Nutz是一組輕便小型的框架的集合,可以做MVC、數(shù)據(jù)庫訪問、JSON轉(zhuǎn)換、IoC等。目標(biāo)是比市面上其他的類庫設(shè)計的好用那么一點點而已。具體來說,包含的組件有:
Nutz的目標(biāo)就是在力所能及的情況下,最大限度的提高Web開發(fā)人員的生產(chǎn)力,并且這些以不損害運行時效率為前提。
胖五:做Web開發(fā)比較方便,當(dāng)然像Nutz的Dao、JSON等功能在其他地方也很適用的。
更多采訪內(nèi)容,歡迎大家點擊查看原文。ThinkPHP是一個免費開源的、快速簡單的、面向?qū)ο蟮摹VC結(jié)構(gòu)的輕量級PHP開發(fā)框架,是為了敏捷Web應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而誕生的。項目創(chuàng)立于2006年初,遵循Apache2開源協(xié)議發(fā)布。
ThinkPHP早期的思想架構(gòu)來源于Struts,后來經(jīng)過不斷改進和完善,同時也借鑒了國外很多優(yōu)秀的框架和模式,為Web應(yīng)用開發(fā)提供了強有力的支持,這些支持包括:
目前ThinkPHP最新版為3.2版本,該版本要求PHP 5.3+,提供了更好的云平臺支持,并進行了諸多改進:
開發(fā)資源: