為程序員量身定制的12個(gè)目標(biāo)_第1頁(yè)
為程序員量身定制的12個(gè)目標(biāo)_第2頁(yè)
為程序員量身定制的12個(gè)目標(biāo)_第3頁(yè)
為程序員量身定制的12個(gè)目標(biāo)_第4頁(yè)
為程序員量身定制的12個(gè)目標(biāo)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、為程序員量身定制的12個(gè)目標(biāo)對(duì)程序員們來(lái)說(shuō)挑戰(zhàn)自我非常重要,要么不斷創(chuàng)新,要么技術(shù)停滯不前。新年伊始,我整理了12個(gè)月的目標(biāo),每個(gè)目標(biāo)都是對(duì)技術(shù)或個(gè)人能力的挑戰(zhàn),而且可以年復(fù)一年循環(huán)使用。01. 變得有耐心02. 保持健康03. 擁抱變化帶來(lái)的不適應(yīng)04. 學(xué)習(xí)一門(mén)新的編程語(yǔ)言05. 自動(dòng)化06. 學(xué)習(xí)更多數(shù)學(xué)知識(shí)07. 關(guān)注安全08. 備份你的數(shù)據(jù)09. 學(xué)習(xí)更多理論知識(shí)10. 接觸藝術(shù)和人文11. 向新的軟件學(xué)習(xí)12. 完成一個(gè)自己的項(xiàng)目接下來(lái)我會(huì)對(duì)這些建議逐個(gè)介紹。變得有耐心程序員們會(huì)擔(dān)心鍛煉耐心付出的努力得不到應(yīng)有的回報(bào)。其實(shí),培養(yǎng)耐心只要付出很小的投入就能夠得到相對(duì)而言很大的收獲。下

2、面是開(kāi)始鍛煉耐心可以嘗試的一個(gè)列表,只要全身心投入其中任意一項(xiàng),都可以在一個(gè)月左右脫離門(mén)外漢(成為有經(jīng)驗(yàn)的新手)的階段:烹飪、徒步、滑雪、天文、慢跑、木工、武術(shù)、舞蹈保持健康 程序員通常久坐少動(dòng),因此在日常工作中會(huì)面臨健康問(wèn)題,但通常都被我們忽略了。一年中花整整一個(gè)月來(lái)調(diào)整你的生活習(xí)慣、飲食和生活環(huán)境,這會(huì)促使你養(yǎng)成持久、健康的生活習(xí)慣。每年去一趟診所檢查血壓、膽固醇和血糖,看看這些指標(biāo)最近有什么變化。如果你的手腕開(kāi)始疼痛或者已經(jīng)疼了很久,馬上停掉手上的工作開(kāi)始與“鼠標(biāo)手”(重復(fù)性勞損)作戰(zhàn)。注意你的坐姿,尤其是肩膀和脖子。我使用了矯姿器來(lái)幫助治療。跟蹤你的體重、攝入以及燃燒的卡路里。如果有必

3、要,可以改變生活方式以養(yǎng)成健康的飲食習(xí)慣和減肥。(Zed Shaw:程序員的常見(jiàn)健康問(wèn)題)程序員的常見(jiàn)健康問(wèn)題擁抱變化帶來(lái)的不適在我20剛出頭的時(shí)候,通過(guò)觀察身邊年紀(jì)稍大一些的伙伴我發(fā)現(xiàn)有些人停滯不前而另一些則活力充沛,我試著尋找背后的原因。答案就是舒適感。舒適會(huì)讓技術(shù)停滯不前。當(dāng)找到一個(gè)能夠?yàn)槲宜玫南到y(tǒng)時(shí),我們會(huì)一直使用它。但技術(shù)是不斷進(jìn)步的,而那些停留在舒適區(qū)的人永遠(yuǎn)不會(huì)意識(shí)到這些進(jìn)步能夠?yàn)樗麄儙?lái)好處。不破不立,要讓自己適應(yīng)不舒適的感覺(jué)。下面列出的事情一開(kāi)始可能會(huì)讓你感到不適應(yīng):· 使用德沃夏克鍵盤(pán)· 使用vim替代emacs,反之亦然· 不使用鼠標(biāo)

4、83; 使用不同的窗口管理器· 喝清咖啡不加奶油和糖,或者喝清茶· 嘗試一個(gè)月“流行且無(wú)聊的新事物”· 一個(gè)星期中有一天不開(kāi)手機(jī)· 學(xué)習(xí)使用一種可以單手輸入的設(shè)備· 嘗試一個(gè)不同的操作系統(tǒng)· 一個(gè)星期中有一天不上網(wǎng)· 試著對(duì)飲食加以限制:嘗試吃素,成為純素食主義者,不吃乳制品,等等· 每天吃一種你不喜歡的食物· 將你習(xí)慣使用的胳膊用繃帶綁起來(lái)· 學(xué)習(xí)用你不習(xí)慣的那只手寫(xiě)字· 開(kāi)一個(gè)博客· 參加公共演講· 一個(gè)月聽(tīng)一種你不喜歡的音樂(lè)· 去醫(yī)院或退休家庭護(hù)理做

5、志愿者· 一個(gè)星期有一天快生活· 去一個(gè)與自己文化或語(yǔ)言不同的國(guó)家旅行· 讀一篇廣受好評(píng)但卻不是你喜歡題材的小說(shuō)· 看一場(chǎng)廣受好評(píng)但卻不是你喜歡風(fēng)格的電影或演出· 學(xué)會(huì)用變速桿(手動(dòng))開(kāi)車(chē)· 反對(duì)你相信的一些事情在一個(gè)月的嘗試之后,你可以決定是否繼續(xù)采用新方式,或者找到新方式中好的經(jīng)驗(yàn)與原有方式的結(jié)合點(diǎn)。例如,在我從使用了10年的emacs轉(zhuǎn)向vim時(shí),我會(huì)為插入模式設(shè)置emacs風(fēng)格快捷鍵從而繼續(xù)使用vim。(25個(gè)Vim教程、視頻和資源)學(xué)習(xí)一門(mén)新的編程語(yǔ)言編程語(yǔ)言起起落落。如果只了解一門(mén)語(yǔ)言,程序員的解決問(wèn)題能力以及職業(yè)前景都會(huì)

6、因此受到限制。花上整整一個(gè)月時(shí)間吸收一門(mén)新語(yǔ)言或者一個(gè)新的編程范式,并用它寫(xiě)一個(gè)小程序。下面是一些可以學(xué)習(xí)但不是非常主流的編程語(yǔ)言:Racket、 Haskell、Scala、Erlang、Clojure、SML/NJOCaml、Squeak、Prolog、Datalog.如果你無(wú)所不知,那么你可以實(shí)現(xiàn)一門(mén)新的編程語(yǔ)言。自動(dòng)化程序員擁有最強(qiáng)大的待開(kāi)發(fā)技能就是將虛擬和現(xiàn)實(shí)自動(dòng)化的能力。如果你從來(lái)沒(méi)有造過(guò)一個(gè)機(jī)器人,那么去做一個(gè)吧。至少學(xué)會(huì)使用Lego Mindstorms或者玩一玩 Arduino board。檢查一下你每天的任務(wù),看看其中有哪些可以完全或者部分自動(dòng)化。自動(dòng)化在家庭生活里已經(jīng)有了

7、長(zhǎng)足的進(jìn)步,甚至可以像Insteon那樣對(duì)系統(tǒng)進(jìn)行DIY。投資一個(gè)月的時(shí)間來(lái)進(jìn)行自動(dòng)化:· 調(diào)整你的郵箱過(guò)濾器或者設(shè)置procmail· 為頻繁進(jìn)行的工作編寫(xiě)自動(dòng)化shell腳本· 編寫(xiě)shell腳本幫助寫(xiě)作· 學(xué)會(huì)如何使用cron工具· 改造櫥柜燈由感應(yīng)控制· 盡可能地用無(wú)線替代有線· 停止手動(dòng)同步:將信息存到云端· 安裝一個(gè)遠(yuǎn)程控制音頻系統(tǒng)· 通過(guò)你的服務(wù)器控制家里的空調(diào)· 安裝數(shù)字監(jiān)控?cái)z像頭· 安裝數(shù)字內(nèi)部通話系統(tǒng),兒童監(jiān)控系統(tǒng)· 讓咖啡機(jī)自動(dòng)打開(kāi)· 為寵物安

8、裝自動(dòng)給水槽· 為寵物安裝自動(dòng)感應(yīng)門(mén)· 將Roomba改造成個(gè)人信使譯注:procmail:procmail軟件包包含一個(gè)自動(dòng)的郵件管理器,可以很好的過(guò)濾和排序郵件。cron:linux下的定時(shí)執(zhí)行工具。Roomba:Roomba是iRobo公司生產(chǎn)的定時(shí)智能機(jī)器人。學(xué)習(xí)更多數(shù)學(xué)知識(shí)計(jì)算機(jī)科學(xué)本質(zhì)上講是數(shù)學(xué)的一個(gè)學(xué)科。好的數(shù)學(xué)家中間會(huì)產(chǎn)出優(yōu)秀的程序員。不要讓你的數(shù)學(xué)能力喪失殆盡??紤]每年花一個(gè)月時(shí)間復(fù)習(xí)列表中的一項(xiàng):邏輯學(xué)、離散數(shù)學(xué)、微積分、概率論、統(tǒng)計(jì)學(xué)、抽象代數(shù)、數(shù)論、范疇論、偏序理論 (數(shù)學(xué)是成就卓越開(kāi)發(fā)人員的必備技能)關(guān)注安全很少有程序員具備好的安全習(xí)慣。如果你對(duì)自

9、己的數(shù)字安全很在意,你就會(huì)對(duì)你寫(xiě)的代碼安全性更加關(guān)心。確保你在每個(gè)站點(diǎn)都使用了唯一的高安全系數(shù)密碼。使用加密的密碼管理器來(lái)管理你的密碼,例如PasswordSafe或者KeePassX。如果你還沒(méi)有對(duì)整個(gè)磁盤(pán)加密,留出時(shí)間完成它。(在Mac上可以輕松完成)每年都要研究過(guò)去12個(gè)月中前10位的安全漏洞。他們是如何發(fā)生的?在編程中需要怎么做能夠避免在你的代碼中出現(xiàn)這些漏洞?下面是另外一些你需要嘗試的安全任務(wù):· 在Apache中加入SSL驗(yàn)證· 使用RSA或AES實(shí)現(xiàn)密碼系統(tǒng)· 試著破譯你的無(wú)線網(wǎng)絡(luò)密碼· 用WireShark偵聽(tīng)你的網(wǎng)絡(luò)通訊· 設(shè)

10、置基于密鑰的無(wú)密碼ssh登錄· 自己運(yùn)行nmap;配置你的防火墻· 建立端口掃描· 為USB驅(qū)動(dòng)器加密· 監(jiān)控日志文件· 設(shè)置cron任務(wù)定期更新你的程序譯注:nmap:linux下的網(wǎng)絡(luò)掃描和嗅探工具包備份你的數(shù)據(jù)每年花一些時(shí)間檢查你的備份策略?;ㄒ粋€(gè)月時(shí)間將備份花費(fèi)的時(shí)間減到最小。使用基于云的備份服務(wù),比如Mozy和Carbonite,很容易建立無(wú)縫自動(dòng)備份。更全面地防御可以選擇為每個(gè)人分發(fā)硬盤(pán),對(duì)每臺(tái)電腦使用像Time Machine這樣的自動(dòng)備份工具進(jìn)行備份。對(duì)重要文件使用異地遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行版本控制。學(xué)習(xí)更多理論知識(shí)計(jì)算機(jī)科學(xué)有豐富的理論

11、基礎(chǔ)。了解最新進(jìn)展的同時(shí)還要加強(qiáng)對(duì)經(jīng)典開(kāi)發(fā)理論的掌握。· 每年在下列主題上花一個(gè)月時(shí)間:· 形式語(yǔ)言· 自動(dòng)機(jī)與可計(jì)算性理論· 計(jì)算復(fù)雜性理論· 形式化方法· 語(yǔ)義學(xué)· 算法與數(shù)據(jù)結(jié)構(gòu)譯注:形式語(yǔ)言:按一定規(guī)律構(gòu)成的句子或符號(hào)串的有限或無(wú)限的集合。自動(dòng)機(jī):是有線狀態(tài)機(jī)(FSM)的數(shù)學(xué)模型??捎?jì)算性理論:研究計(jì)算的可行性和函數(shù)算法的理論。又稱(chēng)算法理論。它是算法設(shè)計(jì)與分析的基礎(chǔ),也是計(jì)算機(jī)科學(xué)的理論基礎(chǔ)。計(jì)算復(fù)雜性理論:計(jì)算復(fù)雜性理論是理論計(jì)算機(jī)科學(xué)的分支學(xué)科,使用數(shù)學(xué)方法對(duì)計(jì)算中所需的各種資源的耗費(fèi)作定量的分析,并研究各類(lèi)問(wèn)題

12、之間在計(jì)算復(fù)雜程度上的相互關(guān)系和基本性質(zhì),是算法分析的理論基礎(chǔ)。形式化方法:在邏輯科學(xué)中是指分析、研究思維形式結(jié)構(gòu)的方法。語(yǔ)義學(xué):研究自然語(yǔ)言中詞語(yǔ)意義的學(xué)科。也可以指對(duì)邏輯形式系統(tǒng)中符號(hào)解釋的研究。對(duì)于剛起步的程序員,可以先看一看下列文章:· 用Haskell編寫(xiě)CEK風(fēng)格的解析器(或語(yǔ)義分析器)· 通過(guò)推導(dǎo)進(jìn)行語(yǔ)法解析· 遺失的方法:如何對(duì)Okasaki的紅黑樹(shù)執(zhí)行刪除· 通過(guò)推導(dǎo)使用Scheme進(jìn)行正則表達(dá)式模式匹配· 將鄭則表示轉(zhuǎn)換成非確定性自動(dòng)機(jī)(NFA)譯注:CEK:CEK機(jī)器是由Matthias Felleisen和Dan Fri

13、edman開(kāi)發(fā)的-演算的力學(xué)模型。Haskell:一種純函數(shù)式編程語(yǔ)言,以美國(guó)數(shù)學(xué)家Haskell Brooks Curry命名。接觸藝術(shù)和人文工程師往往輕視藝術(shù)。他們沒(méi)有意識(shí)到藝術(shù)和人文是基礎(chǔ)升華的重要因素。史蒂夫·喬布斯樂(lè)于指出將技術(shù)與人文結(jié)合的重要性,事實(shí)也卻是如此。藝術(shù)和設(shè)計(jì)原則同樣適用于人和計(jì)算機(jī)之間的交互。不要忽視這些原則。藝術(shù)和人文的訓(xùn)練讓直覺(jué)更加敏銳,而這方面的練習(xí)是難以用數(shù)字來(lái)計(jì)量。工程師需要知道如何衡量那些他們不能計(jì)量的事物,而不是只是統(tǒng)計(jì)他們可以計(jì)量的內(nèi)容。每年至少有一個(gè)月學(xué)習(xí)下面列出的主題:· 工業(yè)設(shè)計(jì)· 哲學(xué)· 攝影· 繪畫(huà)· 素描· 音樂(lè)及音樂(lè)理論· 電影· 文學(xué)社會(huì)科學(xué)同樣會(huì)對(duì)計(jì)算機(jī)科學(xué)家有很大幫助,尤其是經(jīng)濟(jì)學(xué)和哲學(xué)。向新的軟件學(xué)習(xí)一個(gè)為自己的軟件尋找靈感的好辦法就是向新的或新型應(yīng)用程序?qū)W習(xí)。例如,如果你從來(lái)沒(méi)有嘗試過(guò)3D建模軟件,可以嘗試Blender。抑或是,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論