西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁業(yè)內(nèi)動態(tài) IT人生 → 程序猿學(xué)習(xí)技術(shù)的方法分享

程序猿學(xué)習(xí)技術(shù)的方法分享

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2012/12/8 9:11:37字體大。A-A+

作者:西西點擊:0次評論:0次標(biāo)簽: 程序猿

  • 類型:編程輔助大小:1.3M語言:中文 評分:5.0
  • 標(biāo)簽:
立即下載

程序猿(Programmer Monkey)是一種非常特殊的、可以從事程序開發(fā)、維護的動物。在行為和物種歸類上我們也可稱為碼字猴。一般分為程序設(shè)計猿和程序編碼猿,但兩者的界限并不非常清楚,都可以進行開發(fā)、維護工作,特別是在中國,而且最重要的一點,二者都是一種非常悲劇的存在。

相信作為一個有追求的程序員,你一定有自己的一套學(xué)習(xí)方法,看書就是其中一種。

比如書不離身,坐公交,坐長途車,睡前床邊,甚至是有遇到紅燈堵車都會拿起身邊的書讀上一兩句的。

而今天我想談?wù),我關(guān)于學(xué)習(xí)的看法。

 

有的觀眾看完導(dǎo)讀部分就會問了,樓主是什么級別的猿,也敢來分享學(xué)習(xí)方法?

在進入正題之前,我想我有必要回答一下這個問題。

1、很久沒有更新博客了,本來我也沒有信心更新,因為在技術(shù)的海洋里,我總是覺得越努力,學(xué)習(xí),越覺得自己的渺小。

但是身邊有個人一直鼓勵我,給我信心,告訴我其實已經(jīng)做的很不錯了,我十分感動。

于是我覺得不該吝嗇自己的方法,因為方法不寶貴,寶貴的是行動,和堅持行動。

2、最近園子里有好多無聊而沒營養(yǎng)的話題,我覺得對許多童鞋是一種無形的傷害。

一會在說某某技術(shù)不如某某技術(shù),意思就是說干這個學(xué)這個沒前途,不如勸大家轉(zhuǎn)行。

一會在談職場那跳與不跳之間,或者是說做技術(shù)沒有做某某有前途。

這些信息在無形之中打擊我們的前進動力,而我希望有一股力量能與這股怨念抗衡。

我想說的是,我們是男人,不是怨婦,我們需要發(fā)揮力量,而不是抱怨聲。

3、我本覺得發(fā)出來意思不大,反正總有人誤解,或者保持反對意見,也肯定會被噴。

但是有個人鼓勵我,他說或許你發(fā)表的文章有人看了會有幫助呢。

也有人告訴我說,你已經(jīng)蠻優(yōu)秀了,就算是再優(yōu)秀的人,也有人說不好,走自己的路讓別人去說吧。

選擇方向

選擇一個方向,選擇適合自己的職業(yè),并做好職業(yè)規(guī)劃。我把它放在了第一條,因為它很重要,是基礎(chǔ),是方向標(biāo)。

也是我開始學(xué)習(xí)的第一步,在我充滿動力開始買最好的書,看最好的老師的視頻,選最好的教材之前做的一件事情。

那是我畢業(yè)的那陣子,正思考著大學(xué)到底學(xué)了什么?我到底該干什么?抱著這種迷茫,我在各行各業(yè)投遞了簡歷。

在等待面試通知的一段時間里,我尋找著答案,我什么都在了解,

了解企業(yè)管理,了解企業(yè)文化,了解如何做人,了解如何做事,了解如何賣一件產(chǎn)品,了解經(jīng)濟是個什么東西,如何去追女孩子。

我曾想過我能否當(dāng)一名大師級的攝影師,也想過我能否做一個成功的生意人,也有想過我能否當(dāng)一名歌手進入娛樂圈。

最后只因為以前不懂事的時候說過的一句話,選擇了現(xiàn)在的職業(yè)!拔乙(dāng)高級程序員”

說話要算話么,所以我做到了。就在我成為一名普通程序員的時候,我的一個好友在我的QQ上貼上了架構(gòu)師的標(biāo)簽。

我覺得這個標(biāo)簽很合適,所以一直就放著,目的也很明顯了。

有些事冥冥之中自有安排,你如果是這種人,就會走到這一步,不管是有意,還是無意,不管走了多少彎路,最終還是會走到這一步。

所以,有人說搞技術(shù)沒前途,不如做管理,不如做銷售,這種P話我壓根就沒相信過。

或者我會說,“你Y不早說,等我選好職業(yè)選好英雄了你才說有P用啊”。

所以,當(dāng)你選擇好一個方向時,你的抗干擾能力會提高n的倍數(shù),心也不會在這個花花世界里到處游蕩。

選擇行業(yè)

又是選擇,選擇是一個很重要的環(huán)節(jié),解決了這個問題,后面學(xué)習(xí)道路就舒坦多了。

程序員這個職業(yè)很特殊,因為軟件應(yīng)用領(lǐng)域很廣泛。

所以軟件行業(yè)按職稱分又分為可以分為嵌入式工程師,軟件設(shè)計師(高級程序員),系統(tǒng)架構(gòu)師,系統(tǒng)分析師,項目管理規(guī)劃師,網(wǎng)絡(luò)規(guī)劃師,數(shù)據(jù)庫管理員。。。

按領(lǐng)域劃分,搞教育事業(yè)的,搞科學(xué)研究的,搞企業(yè)應(yīng)用的,搞互聯(lián)網(wǎng)的,搞電子電路的,搞工業(yè)數(shù)控的。

這些領(lǐng)域所需要的知識結(jié)構(gòu)和技術(shù)都有點差距的,選好了就不要輕易的換了,選好了就不要糾結(jié)了。

這樣你會少了很多煩惱,選好了做個決定。

所謂選擇比努力重要,意思不是說選了教育事業(yè)卻發(fā)現(xiàn)人家搞互聯(lián)網(wǎng)風(fēng)生水起,就覺得選錯了要重新選。

而是說選擇了,再去努力,重新選擇努力白費。

打個比方,我們搞ERP開發(fā),搞了幾年發(fā)現(xiàn)不就是CRUD,沒搞頭,不然搞網(wǎng)游去吧,然后有些那邊的directx不懂,3D圖形不精,會設(shè)計ERP流程但不會設(shè)計RPG劇情,PHP/JSP/ASP等WEB開發(fā)技術(shù)多少要荒廢些,之前有很多努力白費。

就好像有的銷售是賣藥的,他的客戶不是藥店,就是經(jīng)銷商。忽然去賣車了,銷售技巧和理念是相通的沒錯,但是之前辛苦建立的人脈就有損失了。

所以以前有人跟我說程序語言是相通的,會一種其他都會了,我問誰告訴你的,他說老師說的,我不爭論我笑了。

系統(tǒng)學(xué)習(xí)

如果你已經(jīng)做好了選擇,那么恭喜你,你一定能夠分辨出什么對你是重要的,你的注意力會集中在一點,然后爆發(fā)。

在爆發(fā)之前還需要強化一些綜合的知識結(jié)構(gòu),不要什么資料都在網(wǎng)上搜索,那樣太不系統(tǒng),久而久之會產(chǎn)生一種恐懼。

那新事物的恐懼,因為你完全不知道它是從哪里冒出來的,等它冒出來了以后你會覺得怎么又一個新的名詞沒接觸過。

我先講個故事,以前群,群里有個大神,大神被許多小菜膜拜,直到有一天,大神有所領(lǐng)悟,對一群小菜說,“我現(xiàn)在才知道算法是多么的重要,程序到底不外乎就是些算法。”,然后拋出各種算法名詞,于是一群人就跟著學(xué)算法。

各位觀眾,能看出一些問題嗎?

程序(面向過程)=數(shù)據(jù)結(jié)構(gòu)+算法;程序(面向?qū)ο?=對象+消息;

我表達的是,在這個園子里,有的人會說算法很重要,有的人會反駁.Net里面算法不太重要,到底重不重要?這個問題將搞得許多小鳥很糾結(jié)。

或許每天都有人拿出一個技術(shù)的名詞是你沒見過的,如果你沒有對計算機軟件有個大范圍的系統(tǒng)性地了解,是很容易在技術(shù)的海洋里迷失方向的。

而跟讀大學(xué)課程,能夠讓你對計算機有個系統(tǒng)性的了解。

注意一下,有的人說大學(xué)里學(xué)不到東西,有幾種可能性的:

1、自身問題,沒學(xué),當(dāng)然學(xué)不到東西。(每天就知道敗家和泡妞,沒有人生目標(biāo))

2、學(xué)校問題,師資差,教材差,氛圍差。(老師混口飯吃,教材接不上,C++語法都沒教,直接MFC來了誰學(xué)得會,或者干脆北大青鳥教材當(dāng)大學(xué)教材)

3、是學(xué)不到,學(xué)不到太多對工作直接有幫助的。(名牌大學(xué),其實此人技術(shù)高超,由于大學(xué)基礎(chǔ)扎實,懂得原理,后面學(xué)Java比一般人輕松,比一般人快,但學(xué)校真沒教Java)

總結(jié),搜集好一點的學(xué)校的課程,有條件看國外的也行。懂得原理,將不再對新技術(shù)產(chǎn)生恐懼。

這里推薦一些大綱:C/C++語法(以后有許多著名的書籍是用這個語言描述的,比如網(wǎng)絡(luò)編程、設(shè)計模式),C#/java(二選一,以后將會遇到許多著名的書籍用這個語言描述,學(xué)一種,另一種語法保證你看得懂),WEB開發(fā)(js,html,asp/php/jsp選一種了解一下Web開發(fā)原理和CGI的那點事),數(shù)據(jù)庫和數(shù)據(jù)庫原理(或許你有一天會接觸到分布式事務(wù),集群,鎖的概念在其他領(lǐng)域也經(jīng)常遇到,不太推薦用oracle來學(xué)習(xí)原理),嵌入式系統(tǒng)開發(fā)(被編入系統(tǒng)架構(gòu)師大綱,了解一點沒什么不好),軟件工程(涉及到一些設(shè)計方法學(xué)、敏捷開發(fā),極限編程,項目管理),計算機網(wǎng)絡(luò)(5層協(xié)議,了解一下,以后WCF、socket等都用的是這些原理)

細化深化

經(jīng)歷以上三步,堅持下來的一般都是人才了,有目標(biāo),有想法,有規(guī)劃,又受過高等教育。

在懂得原理的情況下,深入學(xué)習(xí)任何一方面應(yīng)該都不難,但深入學(xué)習(xí)還是有方法的。

綜合提升等級,比如說你要深入研究數(shù)據(jù)庫,不要想一下子把數(shù)據(jù)庫研究到底,除非你的工作就只是研究數(shù)據(jù)庫。

因為有了前面幾步做鋪墊,再根據(jù)吸引力法則,你自然而然會學(xué)得很深入。比如遇到一個問題,一個報表SQL語句查詢有3分鐘,那肯定需要調(diào)優(yōu)了,你會從各種原理入手開始優(yōu)化,表設(shè)計、索引類型、外鍵,約束,返回結(jié)果集、關(guān)系模型和非關(guān)系模型、條件、函數(shù)索引、分區(qū)、執(zhí)行計劃、跟蹤,經(jīng)過努力,報表終于查詢的速度終于可以接受了,但是在這個過程當(dāng)中,你不止是用到數(shù)據(jù)庫。

還考慮到網(wǎng)絡(luò)傳輸,有的人說寫存儲過程減少網(wǎng)絡(luò)傳輸開銷,那又有什么所謂,根據(jù)實際情況網(wǎng)絡(luò)環(huán)境,根據(jù)帶寬計算一下網(wǎng)絡(luò)傳輸?shù)拇鷥r,內(nèi)部局域網(wǎng),還是英特網(wǎng),局域網(wǎng)的話會產(chǎn)生多少廣播風(fēng)暴,考慮并發(fā)性。如果情況允許的話可以多次操作數(shù)據(jù)庫。有些人還喜歡在存儲過程里面寫業(yè)務(wù)邏輯,把業(yè)務(wù)邏輯層該做的事情都做了,結(jié)果程序中沒有業(yè)務(wù)邏輯,沒有業(yè)務(wù)對象,重用性很低。然后數(shù)據(jù)庫里面存儲過程套存儲過程再套函數(shù),想法是很好,只可惜用的是關(guān)系型數(shù)據(jù)庫,不是面向?qū)ο髷?shù)據(jù)庫,這么來有點過了。

為了減少數(shù)據(jù)庫I/O的開銷,還用了服務(wù)器緩存,緩存、數(shù)據(jù)庫內(nèi)存深入下去又是內(nèi)存,到最后又是操作系統(tǒng)層面的東西了。

學(xué)了要用,書看了要做,做完要分享出來?戳藭螅瑢扅cDemo,想想應(yīng)用場景,再應(yīng)用到實踐當(dāng)中,最后和朋友交流或者分享到博客。這樣才是真的學(xué)到了,分享出來既鍛煉語言組織能力和溝通能力,又可以保持一種狀態(tài)。

結(jié)束

關(guān)于學(xué)習(xí),就討論到這里。

等忙過一陣子后,我打算再寫點東西,一些用的到的東西。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)