當前位置:編程學習大全網 - 編程語言 - 編程中的反向顯示

編程中的反向顯示

原地址:/articles/4990.html

博文如下:

妳是不是覺得妳從學校畢業的時候,只是做了壹個小玩具壹樣的程序?進入職場後,即使沒有經驗,也可以通過以下課外練習(有朋友抱怨:學校課程總是從理論出發,作業項目沒有任何實際作用,不如從工作需要出發)

建議:

不要亂買書,不要追逐新技術新名詞。基本的東西會長期積累,在未來至少10年內會很常見。

回顧歷史,看看歷史中時間線上的技術發展,妳就明白明天會是什麽樣子。

壹定要做到。不管例子有多簡單,我建議妳至少自己敲壹下,看看自己有沒有理解細節。

妳必須學會思考,思考妳為什麽要這樣,而不是那樣。我們必須通過類比來思考這個問題。

註:妳可能會奇怪為什麽下面的東西都偏向Unix/Linux,因為我覺得Windows下編程以後可能沒前途,原因如下:

現在用戶界面幾乎被兩個東西主導,1)Web,2)移動設備iOS或者Android。Windows的圖形界面並不流行。

越來越多的企業使用低成本、高性能的Linux和各種開源技術來構建他們的系統。Windows的成本太高了。

微軟的東西變得太快,不持久。他們完全是在玩弄程序員。請參閱Windows編程革命的歷史了解詳情。

所以我個人認為未來的趨勢是前端Web+移動,後端Linux+開源。Windows在開發端基本沒什麽問題。

啟蒙入門

1、?學習壹門腳本語言,比如Python/Ruby。

可以讓妳擺脫對底層語言的恐懼,腳本語言可以讓妳快速開發出有用的小程序。實際項目:

處理文本文件,或csv?(關鍵詞?python?csv,?python?開,?python?sys)?讀取本地文件並逐行處理(例如?詞?計數或過程日誌)

遍歷本地文件系統?(sys,?os,?Path),比如寫壹個程序統計壹個目錄下所有文件的大小並根據各種條件進行排序並保存結果。

處理數據庫?(python?Sqlite),寫壹個小腳本來統計數據庫中的條目數。

學會用打印等各種簡單粗暴的方式調試。

學會使用谷歌?(短語,?域,?使用?讀者?去哪?跟隨?技術?博客)

為什麽要學習腳本語言?因為它們太方便了。很多時候我們需要寫壹些小工具或者腳本來幫助我們解決問題,妳會發現正式的編程語言太難用了。

2、?熟悉壹個程序員的編輯器(不是IDE)?和壹些基本工具

Vim?/?Emacs?/?Notepad++,學習如何配置代碼完成,外觀,外部命令等。

來源?洞察力?(或者?ctag)

這些東西不是用來炫酷的,但是這些編輯器在查看、修改代碼/配置文章/日誌方面會更快更高效。

3、?熟悉Unix/Linux嗎?Shell和公共命令行

如果妳用的是windows,至少要學會在虛擬機中使用linux。vmware?播放器免費,安裝Ubuntu。

壹定要少用圖形界面。

學會使用man查看幫助。

文件系統結構和基本操作?ls/chmod/chown/RM/find/ln/cat/mount/mkdir/tar/gzip?…

學會使用壹些文字操作命令?sed/awk/grep/tail/less/more?…

學會使用壹些管理命令?PS/top/lsof/netstat/kill/tcpdump/iptables/DD…

了解/etc目錄下的各類配置文章,學會查看/var/log下的系統日誌和/proc下的系統運行信息。

理解正則表達式並使用它們來查找文件。

對於程序員來說,Unix/Linux比Windows簡單得多。(見我四年前CSDN的博文《其實Unix很簡單》)學會使用Unix/Linux,妳會發現圖形界面有時候太難用了,大大降低了工作效率。

4、?學習Web基礎知識(HTML/CSS/JS)?+?服務器端技術(LAMP)

未來必然是Web的世界,學習WEB基礎知識最好的網站是W3School。

學習HTML的基本語法

了解CSS如何選擇HTML元素並應用壹些基本樣式(關鍵詞:box?型號)

學用火狐?+?螢火蟲?還是?chrome?看著自己覺得眼花繚亂的網頁結構,動態修改。

學習使用Javascript操作HTML組件。了解DOM和動態網頁(動態?HTML:?那個?明確的?參考,?3號?版本?-?奧萊利。媒體)?網上有免費的章節,這就夠了。還是看到了?多姆。。

學用火狐?+?螢火蟲?還是?chrome?調試Javascript代碼(設置斷點、查看變量、性能、控制臺等。)

在機器上配置Apache?還是?Nginx

學習PHP,讓後臺PHP與前臺HTML進行交互,對服務器相應的瀏覽器請求形成初步了解。實現提交和反映表單的功能。

將PHP連接到本地或遠程數據庫?MySQL(MySQL?然後呢。現在學SQL就夠了)

完成名校的網絡編程課程(比如:(升級版是京都?

櫃)、Flare、MongoDB、CouchDB、卡珊德拉、伏地魔等。

寫了這麽多,回頭看看,覺得挺有成就感的。希望妳不要害怕。我自己也學了十年,今天也在學。人生就是壹個不斷學習和提升的過程。但其中肯定有疏漏和錯誤,望各位補充指正。(我會根據大家的反饋隨時更新這篇文章)歡迎大家通過我的微博(@左耳老鼠)和推特(@haoel)與我交流。

—–?更新2011/07/19?—–

1)有朋友疑惑為什麽我在本文開頭提到了web+ mobile,後面卻沒有提到iOS/Android的前端開發。因為我心裏有壹種感覺,移動設備上的UI最終會被Javascript取代。妳可以用iPhone或者Android看看google+,妳就明白了。

2)

有朋友說我這裏東西太多了,不能為了學習而學習。我很贊同。我在文章開頭也說過要思考。另外,不要以為我說的這些是壹些新技術,這個策略。

95%以上都是基本的。而且都是屢試不爽的基礎技術。也就是能讓妳無所不知的技術,也是能幫妳找到好工作的技術。

3)有朋友說在學。

這些都是40年的事了,不如想想怎麽賺錢。我想告訴妳,第壹,我今年還不到40歲,第二,學無止境,第三,我覺得賺錢並不難。難的是怎麽讓妳值這麽多錢。

錢?無論是工作還是創業,是什麽讓自己的價值和公司的價值更有價值?別的地方我不敢說。對於互聯網或者IT公司來說,技術實力肯定是其中之壹。

4)有朋友說技術是工具,我們不要那麽執著,沒有錯。有時候我們需要仰視技術之外的東西,或者說我們在做技術的時候沒有思考為什麽會有這個技術。為什麽不是別的?問題不在於技術。問題是我們努力學習,變成了技術書呆子。

5)?對於NoSQL來說,最近挺流行的,但是我對此有點保守,所以我只是說我能理解。對於Hadoop,我認為它在分布式系統中有很大的潛力,所以我們需要學習。?對於關系數據庫來說,真的很重要,這是我的疏忽,加在原文裏的。

  • 上一篇:有關聖鬥士的問題
  • 下一篇:玩具屋是我的樂園寫作文
  • copyright 2024編程學習大全網