-
1 # 阿柏的個人號
-
2 # 使用者59855945091
很多程式設計師,在學習一門新技術的時候,都會陷入像題主你這樣迷茫的狀態。我也一樣。而且不止陷入一次兩次。比如學習新的框架的時候,學習新的語言的時候,學習移動開發的時候。這事兒多了以後,我就在想。不對,肯定有哪裡不對,看著StackOverflow也好,Github也好,上面那麼多的高手,回答各種問題。而很多人居然還是在校的學生。我有種感覺,這肯定是我的方法出了問題,肯定是在某個很深很深的根源上出了問題。大家都是人,一天三餐吃喝拉撒,學生雖然自由時間多一些,但是我們畢竟也幹了這麼多年的程式設計師。新東西每天都在往出冒,不可能有人能那麼快得全部掌握。而現實是確實出一種新技術,瞬間一堆高手就冒了出來。這事兒,有問題。
於是我就開始找問題的根源。其實這事兒沒這麼複雜,只要靜下心來,不要看到一個新技術就急慌慌的去學,很快就能反映過來。根源其實就是兩點:
1. 計算機技術的底層原理從來沒有變過。2. 任何一門新技術都是人為寫成的。
這是我在迷茫了N次後,靜下心來,製造出的自己在技術海洋上的指南針。對不對好不好不敢說,大家批判這看吧。
在學習任何一門新技術新框架新語言時,我會先把這兩條引用到整個學習過程中去。
1. 計算機的底層原理從來沒有變過。網路需要通訊原理,程式設計需要資料結構與演算法。一個列表的排序不管你是JAVA是C是PYTHON,哪怕你呼叫的函式名字千差萬別,最後的演算法其實疏通同歸。你大可不去查文件自己寫一個出來。一個一個網頁上得表單,不管哪個框架哪個語言哪個MVC,最後都要歸於一個HTTP的POST,最後都要連線上資料庫,寫進去存起來。
這就是原理不變。你要先把這個道理時時刻刻的記在心裡。當遇到看不懂的東西,迷茫的時候,去想想這個函式到底做了什麼,然後從那個不變得原理反推回來,大部分時候你會發現很多新技術不過是早已有的技術的重組與包裝而已。
2. 任何一門新技術都是人為寫成的。這裡的新技術主要指的是目前百花齊放的各種框架啊庫啊類啊語言啊一類的。一開始我也很很多人一樣,覺得哇好牛好酷好高大上。但是慢慢的,我有一種被欺騙的感覺,這種感覺類似於某類產品持續的營銷,今天我們有這個口味,明天我們有哪個口味。區別只是一個加了蜂蜜一個沒加。
因此在總結了第一個‘原理不變‘之後,很自然的我推出了第二個’人為寫成‘。意思是不管看起來多麼新潮,多麼高大上的語言,它首先要遵循第一條原理不變的道理。而如果在使用它的過程中,發現了某些有違第一條的感覺函式,方法,邏輯。那麼百分之百這個函式方法邏輯只是做了人為的包裝而已。去看文件,不要糾結為什麼,作者當時可能腦袋進水,不要跟著他一起跳坑。
簡單說,什麼Django, Flask, Web.py,CSS, HTML5, ...別被那些炫名詞的給洗腦了。原理原理原理,本質本質本質!不要誠惶誠恐,就當它是爛泥巴搓圓弄扁踩兩腳,抱著這種心態來學才對。
簡單解釋了一下我草草歸納的兩條規律。回到答主的問題上來。
你的第一個問題是我該幹什麼?很簡單,做第一個網站,做第二個網站,做第三個網站。做網站做吐了就去做做手機APP,做的無聊的就去玩玩爬蟲。記得把你所有寫得東西都扔到GITHUB上去,每天在SO上答問題問問題。就這樣。
不要做到完美。記小時候玩泥巴麼?就那麼玩。堆個城堡起來,踢兩腳,扔一邊兒,再堆一個長城起來,再扔一邊兒。玩的時候時刻記得我說的那兩條規律。
2.在實際工作中,python工程師工作到底是做哪一塊的?(儘可能的詳細點)親,請先找到工作。
3.如果從事django開發,還需要哪些技能?要學前端麼?
你學的不是Django開發,你學的應該是計算機科學中,網路應用方向的一部分。這才應該是學什麼Php網站開發,Python開發真正應該叫的名字。 Django只是你工具箱裡的一個工具而已,比方說它是把鋸子。這個鋸子的牌子叫做Django. 其他生產鋸子的廠家包括但不限於Php, Flask, Java, Go....但是他們的本質都是鋸子。都可以做一樣的事情。有的廠家在鋸子上安了個小手電,於是它的牌子的鋸子也許多了一些功能。這就是框架與框架的區別。
所以,你需要的不是Django開發的技能,你需要的是網路開發與管理的技能。如果題主專注於做網站的話,相信我,資料庫資料庫資料庫!一個設計良好,結構合理的資料庫,是任何優秀網站的前提。
4.如果想去實習需要達到什麼水平?別想,別問,做吧。當你能按照上面說得,持續不斷的更新你得個人專案,持續不斷的在SO也好,V2EX也好上累積你的資歷,持續不斷的,抓住計算機科學的本質去學習。實習?這是個事兒麼?
回覆列表
這個其實主要看你個人專注於哪一方面。像我就是linux flask shell做一些自動化的東西,就不需要太多底層的東西。