久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

程序員自我學習自我培訓指南

 海右觀瀾 2011-01-23

你是一個程序員初哥,,剛從大學邁進公司卻沒有人指導,要么公司給你指定了導師,,卻不好意思大事小情都問他,。你想提高自己的編程水平,卻不知該如何下手,。如果你想提升自己,,成為一個合格的天天向上的程序員,這篇文章就是為你準備的,。

學什么,?

有些人對什么都感興趣,硬盤上存著幾百G的教學視頻電子書破解軟件,,卻只是僅僅保存著,,沒有轉化成知識。有些人只知道自己剛進公司的那點東西,,JDK一定要1.4.2,,VC++一定要6.0,系統(tǒng)一定要WindowsXP,,否則就是大逆不道,。前一種是不知道自己想要什么,,后一種是固步自封眼界短淺,都不是一個程序員應該有的學習態(tài)度,。

常見的程序員有Windows桌面開發(fā),,Linux服務器開發(fā),Web前端開發(fā),,DB數據庫相關,,游戲服務器端開發(fā),游戲客戶端開發(fā),,RIA開發(fā)(如flash,、silverlight),移動開發(fā)(這個現在最火了尤其是Android和iOS),,嵌入式開發(fā),,行業(yè)軟件開發(fā)等等,基本上我列舉的這些已經涵蓋了大部分程序員類型,,每個類型都有不同的基礎知識以及擴展內容需要學習,。另外有一些共通的內容如數據結構、基本算法,、操作系統(tǒng)是都應該學習了解的,。

另外一種分法是按照編程語言區(qū)分,但是這個比較有局限性,,比如C程序員,,一般是Linux服務器開發(fā)或者嵌入式,單純懂C語言是沒前途的,。再比如PHP,,就要對Web前端開發(fā)和服務器都有所涉及才能稱得上稱職。

在這里還要多廢話一句,,程序員相比其他行業(yè)是一個需要不停學習的行當,,固步自封立刻就落后,經驗值的累積速度會隨著年齡的增長而降低,,這也是為什么在國內很少看到50歲以上的程序員,。至于架構師這個很多程序員期望的職業(yè),我的看法是:如果架構師不寫代碼只會用PPT,,只不過是一個大忽悠罷了,。

       這里只是介紹了一個方法,希望能幫助剛入門的朋友答疑解惑,。根據這篇文章http://www./519 如果你想得到一個比較不錯的職業(yè)發(fā)展,,長期不間斷的練習是絕對必須的。

如果你的情商高于智商,,非常擅長與人交往,,那么程序員不是合適你的職業(yè),做其它任何行業(yè)都會得到比程序員更好的結果,。這也許有些偏激,,但對于國內現狀就是這樣。十年以后,,如果你還是在做編程,,比較一下你的同學朋友就會知道我說的正不正確。

 

如何學,?

我下面介紹的學習都是關于技術,,但是首先要說明的是,一個優(yōu)秀的程序員必定要對英語有一定的掌握,,應該有比較強的讀寫能力,,另外最好有一定的聽說能力。

英語的學習如同技術學習一樣,,必須持之以恒,。比如每天都聽一篇cnn student news,泛聽一下nightly news等等,。在apple itunes上可以免費訂閱大量podcast,,只要你堅持聽時時學,英語水平一定會提高,。而且英文水平的提高會對你的職業(yè)帶來非常大的幫助,。

 

專精篇

無論什么行業(yè),如果想成為專家,,專精某個或者某幾個方面是必要的,,比如我就一直標榜:Windows Visual C++程序員。這里面就包含了Windows開發(fā),,Visual C++集成開發(fā)環(huán)境使用,,C++程序員幾個方面。由于行業(yè)不同專業(yè)不同,,這里就不說明對于你的行業(yè)需要專精什么了,。

我們用學習英語的辦法來說明如何專精“聽讀寫說”,就以一名C#程序員來舉例好了,。

1)聽看

第一步是聽視頻或者看視頻,。這是對某個方面知識快速了解的好辦法,因為視頻相比書籍文檔更精彩一些,,而且花費的時間相對比較少,,注意力更集中一些。

www.上可以看到大量的編程類培訓視頻,只要你想學的不是非常偏門都可以找到,。也可以在優(yōu)酷上在線觀看,。如果你對自己的英文水平有自信,可以到y(tǒng)outube.com上觀看英文的視頻,。另外C#是微軟公司出品,,微軟公司最大的特點就是不差錢,他們的免費視頻在網上都可以找到,。

在verycd上搜索一下http://www./search/folders?kw=C%23 就可以找到好幾頁,,比如這個http://www./topics/2857178/ 《傳智播客.Net培訓視頻教程》,還有http://www./topics/2866044/ 《C#4.0中文視頻教程》都可以下載聽聽,。

在微軟WebCast http://msdn.microsoft.com/zh-cn/dd796167 可以看到大量編程方面的培訓視頻,。關于C#有三個“C#面向對象設計模式縱橫談系列課程”“C#2.0 銳利體驗系列”“Modern C#系列課程”,可以下載視頻和培訓的ppt,,看完這幾個系列視頻,,對C#就應該有一個基本程度的了解。

如果想學習Java編程語言,,搜一下http://www.google.com/search?q=java%E5%9F%B9%E8%AE%AD%E8%A7%86%E9%A2%91 也可以找到大量視頻資源,。

建議是把視頻下載,放到手機或者ipod上就可以隨時隨地的聽聽看看,,方便得很,。

2)讀

讀是專精某個領域知識中最重要的一步,讀書,、讀文檔,、讀代碼都算是這部分。

先說說讀書,。讀書首先是選對書,,選書也難也不難。如果你身邊有高人,,可以請教高人,。如果感覺沒有高人,那么可以參考china-pub的排行榜,,然后結合douban.com上的網友點評來選購,,如果還沒頭緒,給我留言好了,。計算機方面的書籍我建議選下面幾個出版社的:人民郵電(知名品牌是圖靈),、電子工業(yè)、機械工業(yè),、清華大學出版社,、東南大學出版社,。不能說他們出版的一定是精品,但是精品基本上都被這幾個出版社出了,。比如C#方面,,如果我選擇我會選這一本作為精讀http://www./192099 《C#與.NET3.5高級程序設計》

精讀的書目不要多,一次應該限定在兩三本左右,。讀書時應該備有以下工具:一個本子,,一支熒光筆,一支簽字筆,。本子用于記錄自己的心得體會,感覺比較精彩的內容可以標記出來,。另外應該定期把筆記總結到網上(比如google docs中),。為什么不直接總結成電子文檔呢?個人經驗覺得本子是最快捷也最不影響閱讀的記錄方式,。如果你覺得轉成電子文檔麻煩,,那我還有一絕招,就是直接用數碼相機用微距模式拍照,,然后保存圖片就好了,。

如果涉及到代碼,也應該把示例代碼的運行環(huán)境準備好,,比如C#就需要安裝一下DotNet開發(fā)環(huán)境(比如Mono或者VisualStudio),,學Java就應該安裝JDK,學C語言應該安裝一個gcc等等,。

精讀時應該盡量理解每個章節(jié),,章節(jié)后面如果有習題就應該把習題做完,然后再學后續(xù)內容,。如果有相關示例代碼,,也最好把代碼自己錄入然后調試運行一下。前面之所以提到選對書,,就是因為如果你書選的有問題,,那么精度這一步就很難進行下去,翻譯的質量直接影響到你學習質量,。精讀時的進度也不要太快,,免得自己理解不深。如果有可能,,最好中英文比對一下(現在網絡上可以搜到很多書的英文版ebook),,這樣不僅可以學習英文,而且最重要的是一些中文中比較難理解的,,閱讀英文部分可能會容易看懂,,這個好像有些難理解,,但是就我個人翻譯的經驗,一般來說翻譯會把譯者的想法帶入,,所以很可能造成一些歧義,。

精讀部分還包括讀文檔,因為很多比較新一些的知識還沒有書籍,,只有論文或者電子文檔,,還是建議把文檔打印出來閱讀。

讀代碼也是很重要的一點,,如果不是天才,,那閱讀經典代碼就跟閱讀經典名著一樣,對于編程語言的學習是非常必要的,。選擇一個好的閱讀項目跟選書一樣要精心,,我建議先從比較精短的示例開始閱讀,比如微軟的C# code example http://msdn.microsoft.com/en-us/vcsharp/aa336738 或者像是www.上得分比較高的文章代碼,。閱讀的代碼一定要選擇可實際運行的,,這樣可以在你感興趣或者有問題的地方加上斷點調試,觀察變量,、調用棧等等變化,。

當掌握比較基本的知識以后,應該轉向選擇一些比較經典的開源項目,。C#或者Java好的開源項目很多,,這里就不多說了。

3)寫

這里的寫不是指前一步中寫寫書上的示例代碼,,而是說把前面兩步學到的知識應用到實際項目中,,這一步是最重要的。

再加強說明一次,,把學到的東西應用在自己的實際項目當中,,不管項目大小,這一步是自學過程中最重要的,。

跑題一下說說,,我看到過很多培訓,內容很好,,講的也不錯,,但是最后收效甚微。問題不是講師的水平不夠,,而是聽眾只是聽了,,沒有用起來。光看是看不成高手的,。

有些朋友會問了,,我真不知道寫什么,,能給點建議么?我的建議是先從小應用開始,,然后在寫一個比較實用的程序,。

什么是小應用呢?比如我喜歡看網絡小說,,就可以編一個瀏覽器一樣的程序,,打開以后它就直接訪問小說網站?;蛘呦矚g炒股的,,可以編一個股票信息收集,把網上的股票信息抓取下來,?;蛘哂幸恍┳约盒枰墓δ埽热缍ㄆ谧ト∑聊淮娉蓤D片文件(這個對于測試人員比較有用),,或者就是編一個程序它可以播放視頻音頻。小應用的意思是自己覺得好玩,,功能上也不是很復雜,,比較容易實現的。

寫過一些小程序以后,,有感覺了,,那就應該把學到的東西用到自己實際項目當中,比如我學Lua,,就用Lua加Sqlite數據庫編寫了以前需要手動實現的功能,,也用Lua實現了對c++代碼的解析生成html幫助文檔。也許你工作項目未必需要這個知識,,但是可以在一些邊緣項目中使用,,力爭多用多寫,熟能生巧,,編程其實就是手熟罷了,。

如果就是不知道該如何寫一個小程序,那么有幾種可能,,一個是你想的功能太復雜,,這個好解決,另找一個題目就是了,;另一種可能是你精讀的不夠,,我建議你把書再仔細讀一遍,把書上的例子好好再次寫寫,;如果題目也不復雜,,精讀也讀了,,還是不知如何下手,那勸你還是換一個行當好了,。三百六十行行行出狀元,,不是一定要做程序員這一行的。

4)說

說,,就是分享,。分享的過程其實也是提高的過程。

一般來說,,IT公司都有一個分享學習機制,,程序員對自己專長的方向研究一段時間以后,整理成ppt,,然后演示給大家看,。也有一些興趣組比如Python本地用戶組也有類似線下分享交流的機會。如果有這樣的機會,,建議大家踴躍作為講師參加,。當你寫講稿或者演示的時候會突然發(fā)現某些方面其實還很薄弱,當聽眾提問交流的時候也會發(fā)現自己某些地方可能了解的不是那么透徹,,這其實也是在學習,。分享不僅僅鍛煉口才,而且會給人你在這個領域比較精深的感覺,,而且從分享過程中你會發(fā)現很多以前沒注意到的問題,。

分享也是推廣的過程,比如你看好C#語言,,但是公司可能覺得沒有這方面人力或者了解不夠,,你的傳道會讓大家對這方面知識了解的多一些,相關疑問也可以找你來答疑,,這樣也是提升人氣值的好辦法,。

 

廣博篇

一個優(yōu)秀的程序員,不僅僅要有幾樣拿手的專業(yè)領域,,還應該博彩眾家之長,,了解一下軟件工程、架構設計等等方面的知識,,還要及時跟蹤了解國內外技術動態(tài),。

首先,應該像英語學習中的泛讀一樣,,通讀一些感興趣的經典的書籍,,比如《程序員修煉之道》《設計模式》《代碼大全》《深入理解計算機系統(tǒng)》《快速軟件開發(fā)》《Unix編程藝術》《編程珠璣》等等。這些書不像精讀書可以立刻用到實際,。但是這些經典書籍中的思想是可以一直影響整個編程生涯,。其實這些書才是真正值得精讀的,。只不過沒辦法立刻見效,所以把它們作為廣博篇中的提高級書目,。

選書一定要小心,,爛書就跟老鼠屎,會惡心你很長時間并且降低你學習的積極性,。如何選一本好書參考前面精讀部分,。

想了解技術動態(tài),訂閱技術牛人的blog是非常重要的,,比如我對redis很感興趣,,于是就訂閱了redis作者antirez的博客,他有時候會對一些項目中比較重要的設計做解讀,。另外比如infoq.com,,可以訂閱他們的rss來跟蹤最新的文章。我建議大家申請一個google賬戶,,使用google reader作為rss閱讀器,。在google reader中訂閱很方便,直接加入博客地址就可以了,。

想跟蹤最新潮最酷炫最流行最時尚的編程技術,,下面幾個來源不可錯過。

一個來源是reddit的programming討論區(qū) http://www./r/programming/ reddit的編程討論區(qū)非?;钴S,基本上流行的博客文章內容都會被人提交到討論區(qū),,而且討論的質量也很高,。另外一個來源是DZone的首頁http://feeds./dzone/frontpage DZone新聞有一個很有意思的特點是可以看到頂和踩的數量,一般頂數量比較高的,,可以閱讀,。再有一個是美味書簽的programming http://www./tag/programming 和development http://www./tag/development 這兩個tag基本上涵蓋了編程相關的鏈接(未必是新文章),可以作為參考,。最后一個新聞來源是HackerNews,,也就是HN http://news./ ,HN與reddit programming有些類似,,可以作為一個補充,。

這幾個來源更新非常快,,基本上每天都可以看到上百條更新,。我建議是不用每條都看,標題感興趣的看一看,,或者發(fā)現同時在幾個源都出現的也可以看看,。每天有個二三十分鐘看完前面幾個新聞來源,,對于新技術動態(tài)或者各種技術八卦那就是了如指掌了。

如果你發(fā)現某個博客文章寫得質量非常高,,建議你可以訂閱這個博客,,一般來講這樣的博客質量都是水準以上的。我大部分的技術博客都是這么搜集來的,。

另外現在博客上基本都有twitter地址,,也可以follow這些技術牛人的twitter,由于推特的局限,,相比博客的學習價值要更低一些,,但是交流的時效性比較高。

郵件列表討論也是一種很不錯的討論方式(相比論壇而言),,比如python-cn,,toplanguage都是很好的中文技術類郵件討論組。

 


建議大家閱讀以下內容:

Windows桌面開發(fā)者的必備軟件 http:///?p=1543

關于編程的一些想法 http:///?p=1073

計算機編程新人入行指導 http:///?p=961

計算機編程新人入行指導番外篇 http:///?p=969

技術筆記一月二十二日 http:///?p=928 (2009年年初這篇博客最后我寫到:c,、python,、web開發(fā)、iphone開發(fā),,是我在2009年比較感興趣的技術,,另外,有空學學外語也很必要,,感覺自己這兩年有些吃老本,,是該充充電了。兩年以后我看好的Python和iPhone現在都是火到不行,,但我都沒有真正學好投入進去,,典型的眼高手低)

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多