Re: [請益] 想請各位前輩指正一下學習方向(改)

看板 Soft_Job
作者 abadcafe (abadcafe)
時間 2013-07-14 00:29:15
留言 48則留言 (8推 0噓 40→)

你的初衷是好的, 志向也很遠大, 這值得肯定. 有句話叫無志之人常立志, 有志之人立長志, 你把你今天po的這篇作為你的"長志", 也就 是長遠目標, 就對了. 但是呢, 萬事開頭難, 你需要先選一個入手點. 前端和後端是差異很大的兩個領域, 當你做到架構師的時候, 不用說肯定是兩邊都要精通, 但你現在是入門階段, 那麼你就要先選一邊來做. 前端方面主要就是HTML5 + Javascript, 以及各種框架. 這個領域基本上易學難精, 在學 習程式設計之餘, 還要學一些用戶體驗和美術設計方面的知識才夠. 後端方面, 水就深的多了, 但是初步入手的話, 學JAVA, 不要管C/C++以及其他的東西, 就 專精JAVA就行, 把SPRING, HIBERNATE這兩個框架學好. 然後是資料庫的知識也要學好. 再 然後, 就是Linux方面的知識了. 這三種知識要同時學, 要學好. 以上是這兩個領域的入門步驟, 選一邊來學好. 前端方面入門以後, 主要的發展就是: 1. 學習更多用戶體驗和美術設計知識, 最後你能像 一個平面設計師一樣, 設計出一個站點的臉面. 2. 精通瀏覽器的運行機制, 使得你的頁面 在美觀的同時, 加載速度也足夠快. 後端方面入門以後, 就要關注一些後臺架構的內容, C語言, Linux Kernel, JAVA JVM相 關知識, 資料庫原理, 都不可不學, 學習這些的同時你不可避免又要學習編譯原理, 數學, 資料結構, 演算法, CPU的運行機制, 等等很多很多知識. 這個階段我就沒有辦法給你提出太多建議了, 因為我也是處在這個階段. 而且我的經驗是 大陸這邊的職業發展道路, 這邊的公司較大, 前端後端的分工也很明晰, 但台灣的情況可 能不同, 我看板上的台灣同仁很多是一人肩負前後端的職責, 這樣你就要辛苦一點同時學 兩邊了, 但兩邊的入門路線應該還是通用. 總之, 選擇軟體這一行, 就要讓自己跟一塊海綿一樣, 不斷的吸收新知識, 並且把學到的 知識提煉成經驗. 你學得越多, 你最後的成就就越大. 淘寶, 百度, 新浪的總架構師, 你 如果關注他們的部落格或微博的話, 你會發現他們仍然在不停的學習新東西並提出新思想, 而不是坐在那兒吆五喝六. 另外還要講的一點就是, 學習知識真的不難, 但貴在堅持. linux kernel社區是不是看起 來很高深莫測? 實際上, 很多kernel hacker在給kernel提patch的時候, 甚至都沒有系統 學習過C語言.但他們就是just do it, 第一個patch老鳥罵成狗屎, 第10個patch就可以跟 老鳥argue了. -- ◆ From: 114.246.87.104 大陸這邊後端的主流是JAVA, 後端工作中JAVA將會占90%以上的比重. 事實上我是寫C語言的底層工程師出身, 在轉向後端工程師的過程中, 我曾經用C語言實做 過很多後端項目, 最終我認為, 後端的王者就是JAVA. 如果實在不喜歡JAVA, 那最少也要 採用一門帶GC的語言, 比如PHP, Ruby, Python. 在性能關鍵部分再採用C語言寫native module. C++不在考慮範圍之內, 合格的C++ Coder實在沒有想像的那麼多, 一個不合格的C++ Coder 可以輕易毀掉10個合格Coder的心血. 這裡可能有點誤會就是, 我說的後端指的是hadoop, zookeeper, dynamo, 這類東西, 以及 Service. JSP雖然在Server上運行, 但實際上應該算作前端技術, 在AJAX興起以後, JSP已 經結束他的使命了. 大陸不討厭MS, 著名電商京東商城就是搭在windows上的, 但是當做大以後, 系統就會出現 各種瓶頸, 用linux至少可以自己hack, 但windows沒有辦法. 所以現在京東商城開始轉向linux + java. 直接面對user的不就是前端嗎...JSP在server端把一切都計算好了頁面也生成好了, 呈現 給用戶, 而AJAX是client端去server端取來數據然後用javascript計算好了, 再呈現之. :) 可以試著進一步瞭解一下http server 其實不管是JSP, 還是JAVASCRIPT, 都是在操縱HTML, 而HTML決定了USER最終將會看見什 麼. 所以, 有HTML的地方, 就是前端, 不知道這樣你能不能瞭解. 前端並不一定就是 SERVER. 而AJAX的奧義在於, SERVER只是輸出數據, 只不過這些數據的格式是XML. 實際上, 換成 JSON或其他什麼格式也沒關係, 只要你的AJAX頁面能處理就行. 現在就算是拿PHP來寫程式, 也一般會寫成RESTFUL的風格, 只輸出JSON或XML, 而不再管頁 面是什麼樣子. 如果你完全用他來做JSON/XML輸出, 那就算他後端好了. 但是只要涉及到HTML, 還是算作 前端為好. 前後端的分離, 主要就是為了讓程序員從自己並不擅長的美工/UI領域解脫出來, 從而專注 於業務邏輯. 前端工程師在以前, 是必須熟悉PHP/JSP這類語言, 但AJAX興起以後, 前端工程師很少再被 要求熟悉這些, 而代之以JAVASCRIPT. 但前端工程師永遠不變的核心, 就是HTML. 這是一以貫之的. 你覺得直接寫servlet哪裡不好?
※ 批踢踢實業坊(ptt.cc)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1373732959.A.227.html

pl132:所以是JAVA學完之後在學C? 07/14 12:03

uranusjr:後端選擇很多, 不一定要學 Java; 事實上如果不是決定以後 07/14 14:05

uranusjr:就用 Java 的話我個人反對先學, 會養成很多不好的習慣 07/14 14:05

gmoz:java後端我覺得可以直接學JSF2.0+JPA(eclipse) 07/14 18:30

gmoz: eclipseLink 07/14 18:31

pl132:所以業界都用哪個寫後端最多 07/14 19:44

pl132:有人知道嗎? 07/14 19:44

gmoz:我猜是ASP.NET XD 07/14 20:38

uranusjr:http://blogs.law.harvard.edu/philg/?p=361 十年前的文 07/14 21:50

uranusjr:我個人是不覺得 Java/JSP 在這十年有逆轉, 所以... 07/14 21:51

bndan:雖然我也是.NET 但ASP.NET這東西風行過頭的應該只有台灣= = 07/15 00:36

bndan:只是提到GC 卻不包含C# =_=||| 這是代表大陸真的很討驗M$嗎 07/15 00:37

andymai:AJAX興起~JSP結束使命?確定有搞懂client和server跑的東西? 07/15 05:34

andymai:再回頭看這篇~都提到框架了~相信原PO應該知道才對~換成我 07/15 05:37

andymai:完全不懂這句話的意思了~而且為何算"前端技術"呢??? 07/15 05:38

pl132:好吧~看起來PHP應該是通用那我後端會先選PHP+SQL 07/15 09:03

pl132:至於學完之後再看看要繼續學C或是JAVA 07/15 09:04

andymai:@@ 都一樣是client去跟Server要資料處理的啊~如果client沒 07/15 18:30

andymai:送要求~Server哪裡會回?JSP和AJAX都一樣~而且AJAX只不過是 07/15 18:31

andymai:透過JavaScript的方式去跟Server索取"想要的資料"~如果Ser 07/15 18:33

andymai:ver不支援~那一樣是整頁傳回去!而且JSP和AJAX是共存的~可 07/15 18:35

andymai:以沒有AJAX~但是不能沒有後端的JSP、asp.net或php等等... 07/15 18:35

andymai:前面說JSP和AJAX都一樣的意思是:都一樣是client去要資料 07/15 18:37

iceonly:JSP和AJAX是並用而沒有哪者結束哪者的問題吧 07/15 19:33

andymai:??? 不好意思~我實作過Server和Client了~實在是不懂~能否 07/15 21:36

andymai:直接點出問題點? 07/15 21:36

andymai:如果說只是產生Client要的資料就算是前端~那還有什麼後端 07/15 21:38

andymai:可言?所有的Server都是為了因應Client的需求而存在啊... 07/15 21:38

andymai:...有HTML就是前端???我傻了...請問如果用AJAX的話~Server 07/15 23:14

andymai:輸出數據的處理程式能否用JSP寫? 07/15 23:14

typepeter:JSP會被動態產生為.class檔,其實它是動態語言 07/15 23:22

typepeter:大多數所指的前端是指在client端browser執行的 07/15 23:24

typepeter:嚴格說起來JSP和PHP及ASP比較像,並沒有死亡這回事吧 07/15 23:25

superpai:JSP結束使命?那你的JSON是誰提供的? 07/16 00:32

bndan:如果完全架空framework.那JSP 可以被JAVA取代(再寫一個更合 07/16 01:21

bndan:自己需求的...) 這換到ASP.NET 就是完全架空網頁設計 只用反 07/16 01:23

bndan:射機制(簡單來說可看成SERVICE)去呼叫對應的運算MODULE... 07/16 01:24

bndan:當然ASP.NET這邊舉例不太好.因為沒有捨棄掉整個framework... 07/16 01:25

lovdkkkk:JSP 裡面可以用 jstl 連資料庫喔 07/16 06:08

lovdkkkk:後端底層深處的某個 method 也可以吐個 html string 喔 07/16 06:08

lovdkkkk:當然這樣做不好啦...可是前端? 後端? 疑??? 07/16 06:09

superpai:沒用過JSP,只看簡介無法了解... 所以意思是JSP是個 07/16 08:53

superpai:不吐HTML就沒什麼存在意義的東西嗎? 07/16 08:53

superpai:這樣的話說JSP是前端才比較合理 07/16 08:54

TonyQ:JSP 這個詞同時隱含 JavaEE 跟 JavaEE template engine 07/16 11:08

TonyQ:所以討論時容易弄混。 :Q 07/16 11:08

lovdkkkk:@a 沒有, 只是覺得這樣分有點怪...這也不重要就是了 07/16 12:36

blabla123:推 07/19 23:40

您可能感興趣