WA的2015與正在RE的2016

2015年是我第一年真正的接觸大學,接觸編程。

 

然而這一年迷茫而痛苦。

大學與高中最大的不同,在於,你要爲自己制定目標,你要爲自己做出的選擇負責任。

我知道,我要爲自己的現在負責,爲自己的未來負責,確保自己現在做出的是最優選擇。

充實的大學生活,美好的未來在等着我。

但是,我感覺很累。

因爲,誰都不敢確定自己選的是最短的路。

我現在所做的,真的是對的麼?

 

然後,我花了半年的時間,明白了一個道理。

如果,我今天所做的一切是爲了今天,而不是爲了未來,那麼我今天做的就將有意義。

因爲沒人清楚未來是什麼樣子的,現在做的一切可能對未來根本一點用處也沒有,就好像現在學的東西工作根本一點用不上。

聽起來讓人沮喪,那爲什麼我現在還要學?

一年前我會說,或許未來的未來能用得上。

一年後我會說,起碼能讓現在的我感覺我還活着。

人生這條路,根本就不適合用最優路徑算法。


我想好了之後,開始啪啪啪地敲代碼。

 


編程語言:

①     入門:C語言

我對c語言的學習完全源於對cprimer plus這本書的熱愛,完整的讀了兩三遍之後,對指針,數組,動態分配都有了非常深入的理解,也養成了每天寫一道OJ題的強迫症(在學習數據結構時發作症狀非常強烈),這也是至今爲止我爲什麼還是喜歡裸寫c來AC,而不是使用STL的原因。然而cprimer plus並沒有關於線程,進程等概念的深入探討,這一方面希望通過csapp來補充,以及在進一步學習C++時補充。


②     作死小能手第一步:PHP + HTML + CSS + MySQL

前端的門檻不低,相反來說甚至很高。不要以爲沒有循環,條件,分支的語言很簡單,HTML在CSS作用下以及各瀏覽器下不一樣的規則,各種各樣的hack,各種各樣的佈局,再加上PHP內嵌的頁面。PHP的語法比較類C語言,所以學習曲線一開始還是較爲輕鬆,沒有MySQL的php我就呵呵了,瞭解了基本的CURD。還有,配置環境這樣的東西直接上phpstudy算了,沒事折騰自己啥的唉。


③     作死小能手第二步:JavaScript

爲什麼在沒有很好的掌握PHP的情況就去學習一門新的語言?誰讓HTML + CSS + JavaScript綁在一起。。。JavaScript是一門跟主流語言很不一樣的語言,它本身並沒有類的概念,而是通過原型鏈模仿類的構造,解鎖各種奇葩姿勢,要是我沒學PHP先了解過類再學js,估計我早就成了異端。這也是第一門我花的時間比較長的語言,算是主力語言。在codeWars刷到等級五果斷因爲數據結構知識缺乏棄坑。


④     正常向第三步:Python

Python這玩意估計對於新手來說沒怎麼聽說過,但是,python絕對是最能帶給我成就感的語言之一。萬能粘合劑,寫啥都行,什麼爬蟲啊,批量處理文件啊,遠程操縱電腦啊。可惜py招人的公司還不是很多,不過現在寫寫小應用還是很爽的。


⑤2016年喪心病狂向:C++

終於涉及到兩大主流語言之一,C++一方面是下學期要教,另一方面要深入學習STL和設計模式,理解一下正規語言的OOP到底是怎麼樣的,爲js的設計模式準備好更深入的理解。

其實對於學習一門新語言還是挺有快感的。一開始看的是C++ primer plus,被john講了一頓之後開始看C++primer,兩本書的確是有本質上的區別,感覺C++ primer plus 完全就是抄襲C primer plus,習題基本都一樣。

 


語言框架:

①     Thinkphp:
這是第一個掌握的MVC框架,還是國產的,支持國貨。它的官方文檔也是中文的,對新手非常友好,然而例子的話還是django的官方文檔詳細。說實話掌握的更多的是MVC的概念以及HTTP協議,而非框架本身,框架本身還有許多要學習的,比如hook,有時間還是想仔細補一下路由,數據庫設計這樣的知識。同時,學會了寫需求文檔。


②     Django:

根據thinkphp的概念來理解django,速度明顯加快,同時,重量型的框架提供了更多的功能,比如緩存,數據庫的高度封裝,果然有空讀讀源碼最能讓人興奮。Django的官方文檔雖然是全英文,但讀起來非常流暢,如果想在這方面再進一步,在github上多讀讀別人的開源項目吧。


③     Bootstrap:

說實話,我不太喜歡bootstrap,不過用起來的確方便。我覺得我最需要學習的還是bootstrap對響應式佈局的處理。設計什麼的還是算了,學設計簡直是種折磨,我選擇狗帶。

④     2016年正常向:jQuery

嚴格來說jq並不是一個框架,它是一個庫,封裝了大量的API,我覺得這是我16年主要學習的一個庫,如何設計並且知道爲什麼這樣設計,而不是爲了記住簡單的API,爭取在16年學會自己設計插件,把自己想做的動畫效果都能封裝成組件,做一個動畫庫。

⑤     2016年正常向:node.js

年輕人想當全棧嗎,想就學node.js。同時有意將node.js作爲下學期學習數據庫設計模式的一門新工具。

 

編程項目:

①     自己的博客:

Django + bootstrap搭建,醜的一逼,不過功能還是能用的,已棄療。


②     Python實現的自動評測爬蟲:

其實完全就是用selenium寫的,關於如何用爬蟲執行js,這裏面還是水很深啊。


③     Tp搭的一個交易平臺:
一開始用django寫的,寫到最後忍不住重寫了,同時也瞭解到輕量型框架跟重量型框架的不同,比如說一個最蛋疼的數據庫外鍵,也是從這裏瞭解到數據庫設計的重要性。


④     科協的問卷調查系統:

雖然最後xp接手了調bug,但是原來這份問卷系統的js源代碼設計的真的挺好的,希望自己能重新再造一個輪子。


④     Js寫的亂七八糟的組件:

分別實現了輪播組件,傻逼鳥等等,寫完的最後都忍不住要重構了。

 


編程內功:

①     編程範式:

編程可不是簡單的語言加框架,16年將重點突破OOP以及泛型編程,UML設計圖有助於清晰思路,主要語言工具將成爲C++,並輔以js理解。


②     CSAPP慢慢讀,慢慢坑,底層坑,坑,坑。。。


③     數據結構這一個學期基本過關,基本概念熟悉,沒事刷刷POJ基礎題就行。16年主要是對一下兩方面進行突破,一個是動態規劃,準確來說動規是一種思想,貪心就是動規的典型代表,卻總感覺自己的貪心總是半桶水,培養實在不容易,另一方面是圖論,比如C++實現歐拉圖以及哈密爾頓迴路,以及網絡流問題。有興趣的話把缺的數論補上。


④     數據庫的設計模式,精讀黑書,數據庫的設計真的是非常重要,直接關係到整個後臺代碼的質量。


⑤     數學數學,說到底還是高數,線代,概率,離散,對理解算法這一方面確實幫助挺大,即使沒用,當成情懷學習就好了。16年爭取讀完離散數學及其應用第7版,算法導論,線性代數,組合數學。

 

 

技能方向

這一年的技能點點下來,雖說是希望自己的未來能成爲一名前端工程師,但是這一年下來點的技能點基本都是偏後端方向,也算爲未來跟後端工程師撕逼打下良好基礎。2016年主攻方向是js進階,設計模式,C++負責底層的學習,有空則加強django的學習,多瞭解HTTP協議。今年也做過幾個項目,不過基本都是後端,也看淡了外包啥的,不急着找實習,只對自己的輪子感興趣。但是下個學期在學習數據庫設計模式的時候找一點後端的項目設計練手還是有興趣。

 

 

2016,心裏住着一臺電腦。

發佈了51 篇原創文章 · 獲贊 22 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章