發信人: franky (hoho), 信區: cie
標 題: (二)我的學習之路
發信站: 荔園晨風bbs站 (2023年12月27日18:30:07 星期二), 站內信件
(二)我的學習之路
1,暑假
為了能夠實現 dsp,學習c,這是今年七月份的事情,那時我的c基礎為0,我完
全不知道程式是什麼。那時什麼都想,我周圍有乙個同學微控制器非常很厲害,獲得
過很多大獎的。我開始是想跟他學微控制器,但是前提是c要好,所以我狠下決心,一
定要學好c。但是我學習c的目的是想做dsp,也許是微控制器的,現在不去想了。因為
我走上了一條自己想都沒有想過的道路:軟體開發,純粹的做軟體;
開始學習c,我就直接的上機,後來證明這是最有效的也是最有效率的。
我的第乙個c程式是」hello the world 「,第一次上機,第一次寫程式有點緊張,
就照著書抄,第一次執行,n個bug,再照著書改,改了n次,最終第乙個程式誕生了
,那是我的**program;
順便說一下,我的c學習我很少看書,11.3上的 program 裡面有很多程式設計資料,我
選了 c 經典一百題,開始的程式都非常短,後來的程式雖然長一些,但還是非常精
練,主要是熟悉加強那些概念的作用;我覺得這份資料非常好,至少,我開始的一
個月左右就是它陪伴著我度過的。
那是暑假,暑假裡學校人不多,很多人都去實習了。我沒去,因為覺得沒用,我做
自己的事。那時學校也非常安靜,我乙個人乙個宿舍,沒人干擾我,很少有人和我
說話,那時的我的心完全在那些迴圈,那些變數上面,我的心裡只有程式。每天早
上10點起床,洗個澡精神精神,喝瓶酸奶,然後開電腦,寫程式,一坐下去一般就
是6,7個小時,也沒感覺到任何累任何無聊,只是感覺非常充實,大學以來從來沒
有過的充實,
不斷的改,不斷的除錯,不斷的除錯,除錯,我很強的除錯技能就是那時訓練出來
的,有些寫程式的人連除錯都不會,那真的很可悲。
一般這樣,下午四點就到了,叫個外賣吃個飯,吃飯的時候看《超人前傳》,一般
看兩集,可以說,整個暑假,陪伴我的就是那些程式和這個電視劇集。休息一會後,
再開啟程式,繼續,一直到第兒天凌晨五點到六點,那時經常可以看到天慢慢的變
亮。那時寫程式很菜,一天才能完成1到兩個程式,完成後倒頭就睡,睡的很沉很香
。暑假的60天基本上就是這樣過的,很少出去過。
2,開學
開學了,程式寫的比較一般般了,可以應付一般的微控制器的程式了。我開始考慮自
己以後該學什麼了,突然發現自己完全喜歡上了程式,硬體似乎離我越來越遠了。
最終我選擇了繼續深入學習程式設計,於是我轉向了c++,轉變或者說公升級非常順利,
沒幾天我就完全習慣了用c++來寫碰到過的程式。開學的乙個月到兩個月我基本上
天天在圖書館度過的,和乙個也在學習c的同學(他和我乙個班的,不過主要學習c
),我喜歡去保留室,那裡面關於計算機的書真的好多,而且好多非常非常經典的
書,以前只是在網上聽人說起過,那段時間我基本上就是看那些書過的。進步非常
快,因為那些書真的很經典。我看書有乙個習慣,就是速度非常快,快的有些離譜
,基本上是一天一本書,當然我是有選擇性的看的,只看那些自己不是很熟悉的東
西。語言工具學的差不多了,然後接著是《資料結構和演算法》,也看了n本書,當然還是
每天一本,學的非常快,因為我數學比較好,所以學的也很輕鬆。這時我轉向了一
個c++乙個非常專業的方向 」stl 「(乙個類庫,是一般常用的資料結構和演算法
的實現,可以直接呼叫)開始用 stl,後來想弄清楚裡面的原理,就找些 原始碼來看
(那時,看一般的原始碼基本沒多少困難,但 stl 全部用模板寫的,那簡直就是一門
新的語言,完全沒有了很熟悉的 c++ 的面貌),開始完全看不懂,後來靜下心去,
看多了幾次終於大概搞明白了。
因為學資料結構肯定要上機寫,但寫的一般的c的沒多少意思,於是我開始嘗試寫自
己的 stl,包括 底層的記憶體池,雙鏈表,deque,紅黑樹,迭代器,基本上 stl 裡
面有的,我都寫,而且我全用模板寫。雖然開始看起來覺得困難非常大,其中也碰
到了很多很難的東西(都是演算法的,有的演算法真的非常複雜),程式從開始的一兩
百行到五六百行,到 deque 的一千三百行,最終到最難的紅黑樹的兩千行。
這段時間我成長最大也最迅速,自我感覺也是最有成就的一段時間,終於也在這段
時間脫離了菜鳥行列。學習 stl 實際上就是在學習資料結構和演算法。後來所有的面
試和筆試都證明了我那時下苦功夫下對了方向。我的資料結構和演算法非常好,後來
的所有的筆試和面試基本上只要是關於資料結構和演算法的題我很少錯過或者很少沒
做出過。
這裡要非常感謝我同宿舍的兩位室友,那段時間他們都回校了,而我沒辦法,還是
經常要晚上通宵達旦的幹,我知道敲鍵盤的聲音打擾了他們的休息,但他們沒有抱
怨,真的要非常感謝他們。沒有他們,我不可能成長的那麼快。
自己的 stl 寫的差不多了的時候,對程式的本質的東西似乎很清晰了。但那時我還
是沒碰任何介面的,圖形的程式設計。所以天天面對的是乙個」黑介面「,只能輸出字
型。呵呵
寫完 stl,已經到了十月中旬,那段時間還沒什麼好的工作可以找,所以主要還是
學東西,反正就是沒停過學東西,因為我知道計算機的學了三年了,我才學了三個
月,我拿什麼去和他們比,所以我要趁當時還有一點時間抓緊學東西。所以開始學
《作業系統》,《編譯原理》,《tcp,ip》這個時候的學習基本上就是平行學習了
,同時間內學習三門課程,效果不是很好,但基本的東西都知道了。到了十一月份
,找工作進入高潮期了,這時已經集中不了精力學習了,但是空閒時間還是很多,
所以空閒的時間還是學習一些東西,最主要的就是 mfc,但看不懂,於是先學習 w
indows 程式設計,直到今天,呵呵,現在 windows,mfc 的運作原理基本上也是非常熟
悉了,但基本沒任何實踐,所以都是些理論的東西。
(二)的總結:
1,我之所以把自己的學習過程寫出來,我是想告訴一些同學,只要你有 興趣,
什麼時候開始學習都不 晚,真的,有興趣,你會感覺很容易學 你會覺得學起來
很輕鬆,一旦你體驗到興趣所帶來的樂趣,你 就會學 的越來越快,我三四個月
能把程式設計學好相信能給你信心。
2,下面的是寫給計算機,軟體的。
i,學計算機的,特別是學習軟體的,一定要有選擇性的看書,現在計 算機
的書太多了,基本上都很爛很爛,一定要會在那些爛書中找出 那些經典的書來
看。推薦去保留室吧,那裡面的經典書籍非常經典
一,c的書:《c陷阱和缺陷》,《c專家程式設計》,《c和指標》主意, c中
的指標非常重要,一定要學好,否則可以說你根本沒學c;《 c和指標》是我
看過的寫指標寫的最好最詳細的一本書;
二,c++的書: 太多了,我是一次看幾本的,結合起來看,吸取各 家
精華: 另外說一下吧,如果你說你要學 c++,那你最好也 學學 stl 吧,
聽我的,絕對沒錯的,如果你說你精通 c++, 而不知道 stl,那你絕對在
吹牛,stl 這幾年非常火,不僅如此 ,如果你學會用 stl,那你將會發現原
來程式可以這樣寫,原來 程式可以寫的這麼簡單明瞭;你自己去學吧,如果
你不去學,你 這輩子都會後悔的,甚至可以說,你的程式設計生涯很不完整;
三,資料結構和演算法;那本 《資料結構的 stl 實現》很不錯,我學 習
stl 前學資料結構一直看這本書,而且這本書可以替你預先 架好到 stl 的
橋梁,要不然你貿然去學 stl 你會碰一鼻子的灰 的。學習資料結構,我仍
然推薦學習 stl ,但這次是推薦你去 看 stl 的原始碼,呵呵,要有心理準備
哦,如果你看的懂,你就 會感覺很爽,因為那裡面什麼都有,你平時寫的那
些程式在 stl
面前絕對都是二流貨色。為了看懂那些原始碼,我推薦一本書,候 捷
寫的《stl原始碼剖析》,那裡面講原理很清晰,但原始碼太少, 圖書館有一本
書非常經典 《深入stl》吧,名字有點模糊了,是 圖書館僅有的基本關於
stl 書中的經典;但那裡面原理不怎麼 清楚,但原始碼部分非常詳細,基本上
是乙個完整的類庫;
我的MBD學習之路
mbd即為model based design 基於模型的設計。國內的汽車行業使用matlab simulink早已經不是什麼新鮮事兒了,我還在讀研的時候大家已經普遍的開始使用matlab simulink來做數學模型開發 資料處理分析以及演算法理論 在學校做專案的時候,那時候是用ti的dsp 24...
我的學習之路 bootstrap
bootstrap 內建了html,css,js外掛程式為一體的前端框架 響應式布局 設計一套頁面就可以使用於很多現實裝置 bootstrap 1.入門 響應式布局的容器 1.先進入jquery的js 2.再引入bootstrap的js 3.引入bootstrap的css檔案 4.設定視口 支援移動...
我的Tensorflow學習之路
最近兩年深度學習真的是火的不要不要的,關於深度學習,每個人都有自己的看法。有人說就是煉丹,得個準確率召回率什麼的,拿到實際中,問問為什麼,都答不上來。各種連 都沒寫過的人,也紛紛表示這東西就是小孩堆積木,然後整個大功耗的伺服器跑上幾天,調調引數。然後每個實驗室招生,都說自己是做什麼深度學習,機器 學...