-
1 # IT人劉俊明
-
2 # 小鳥攻城獅
路過。為什麼java程式設計師要深入前端?
java不是javascript。java語言,本身屬於後端服務語言,個人建議沒有必要去深入前端。只要懂就可以,沒必要深入
除非你要做全棧工程師。
但吾生有崖,學無涯!個人建議你偏向於後者你是java程式設計師,更多的學習後端服務吧。資料庫,linux
最好的方式就是看招聘網站的需求百度的:
阿里的:
騰訊:
除非你要做全棧工程師。否則,別深入前端了,瞭解就可以。後端無止盡,夠學的了
-
3 # 會點程式碼的大叔
工作背景
為了避免誤人子弟,在講建議之前,我還是先說說我的工作背景。
我一直從事企業級應用的開發,也就是我做的系統都是公司內部的員工在使用,而不是面向網際網路使用者。
開發環境都在windows,測試和生產環境都是Linux,我會做專案的釋出和調優的工作。
我們大多數專案,都沒有做分庫分表,也就是單庫;會用到Redis和MongoDB。
所以我認為需要深入學習的:資料庫>linux>前端。
不要無目的地追求技術的廣度我發現很多程式設計師在工作的前幾年,很愛做一件事兒,包括我自己:什麼技術都想學,但什麼都沒有深入地學。
我在第一家單位工作的時候,週末就喜歡去西單圖書大廈看書買書(別笑,那時候網際網路購物沒那麼發達),我買過的書有:Deliph、MFC、PhotoShop、C++;前端方面的有CSS、JavaScript、H5、JQuery、DWR...也算“博覽群書”了,但是現在還記得的,已經寥寥無幾。
我們常說要追求技術的廣度,其實也不是毫無目的;我一個做Java的去買Deliph方面的書,不是說Deliph不好,只是對我本身的工作提升有限。
資料庫>linux>前端資料庫:資料庫一定要深入的學習,包括關係型資料庫和非關係型資料庫。其中關係型資料庫,我用過Oracle、DB2、Mysql,基本上在開發這個層面上,每一種資料庫用的都很溜,一些底層的知識也有接觸;對於非關係型資料庫,我主要研究Redis和MongDB,這兩個都是現在的主流技術。
linux:在使用層面上沒有問題,至少環境的釋出、日常運維、效能監控方面的命令都很熟悉;而且都是從實際工作出發去學習,需要什麼就學什麼,時間長了也就熟練了。
前端:我已經放棄很久了,現在我們專案普遍採用前後端分離的框架,老系統前端都用JQuery,新專案都會用bootstrap、vue,而且新專案一般都會有專業的前端進行開發。
這是我自己的一些看法,大家可以參考,不過還是要根據自己的實際情況出發;比如我就想研究一下Linux核心,或者我想開發一款產品,需要研究一下前端技術。
-
4 # 優效程式設計師
java程式設計師深入學習的話建議還是java架構或者大資料吧 前端不建議
java架構師和大資料工資要比前端高,對於自己的話也是一個提升
-
5 # 牛旦IT課堂
作為Java程式設計師,應該深入哪方面的學習?其實這跟應不應該沒啥關係,而是看你的發展規劃或未來定位。
如果認為就是做個一般程式設計師,再搞搞其它副業,也未嘗不可,程式設計師可作為職業養活自己甚或家庭,有可以搞點或發展個人愛好。
如果認定了在IT技術領域發展,那就可以進行程式設計師進階貯備,包括提升技術能力等級,通曉架構,然後是大資料人工智慧等。
這過程你資料庫、作業系統(如Linux)肯定要掌握的,如果不做管理員,能熟練應用就可以了。關鍵還是技術與解決問題的能力。
其實,在技術上,你要能深耕一塊,又能有一定的適應力,就夠你玩的了。
就說這些吧。
-
6 # 殘缺的孤獨
1、我不認為一個Java程式設計師需要花費精力去深入學習前端。現在多是前後端分離,術業有專攻,專業的事交給專業的人去做。
2、Java程式設計師屬於後端開發,而圍繞後端開發的東西太多了。比如JVM的底層原理,各種常用框架的原理,微服務框架,快取,調優等。這些東西都搞明白了,我認為已經很牛逼了。
3、資料庫是Java開發中必不可少的一環,sql語句大家都會寫,關鍵是誰寫的效率高,面對大量資料、併發等情況下,你寫的sql語句還能瞬間執行完嗎?如何對sql進行最佳化,只要提高了執行效率,你就很厲害。而這需要對資料庫的執行的整個過程原理需要深入研究。當然了現在的資料庫還涉及到nosql以及各種快取。
4、後端程式設計師肯定會和linux伺服器打交道,無論是專案的部署還是線上問題的排查或者線上調優等,都離不開linux。但對於非專業的運維人員來說,做到一般的命令會熟練使用就可以了。
5、一個人的精力是有限的,不排除很牛逼的全棧工程師。對於一般的開發者來說,能做到一點深入研究並有成功結果,都已經很厲害了。
-
7 # 流浪的雪夭
java程式通常執行在後端,前端沒必要學,而且java特色就是虛擬機器,遮蔽作業系統,你學不學linux都無所謂。。
資料庫倒是可以研究一下。。
-
8 # 讓程式設計改變世界
我是一名計算機專業的學生,目前從事java的開發,就這個問題而言,我覺得很多人會傾向於深入學習資料庫,linix,當然我也不例外,因為現在的開發都是前端後端分離,對於前端的東西,你只需要瞭解一些就可以了,而沒有深入學習的必要,而現在又有一個稱謂叫全棧工程師,意思是前端後端都會,但是一個人沒有那麼多精力去深入學習那麼多東西,你看上去似乎都會,其實你都沒有深入。
對於後端人員,深入學習資料庫和linux是很有必要的,這會影響到你以後是否能成功向DBA,運維轉型,程式設計師遲早要轉型的,如果你深入學習了資料庫,將轉型為DBA應該不成問題,深入學習linux,將來轉為運維人員是很有希望的。
總的來說,後端人員還是應該深入學習資料庫和linux系統,前端的東西對以後的提升幫助沒有那麼大。
-
9 # 一個存在感小透明
優秀的程式設計師應該全部都掌握,因為全棧工程師才是最搶手的,把一個人用出多個人的感覺,才是資本主義的最高價值觀。
但是如果一定要在前端,資料庫與Linux中做選擇的話,我的排序是資料庫>LINUX>前端。
我們倒著說,為什麼把前端放在最後。
前後端分離當前後端分離的大趨勢下,前後端的耦合越來越弱,以我目前工作的平臺服務來說,前後端僅僅透過api介面通訊,這就意味著,作為Java開發工程師的我,只需要負責提供一個穩定的API介面就夠了,我無須過問前端工程師如何渲染前端頁面,這是PM和FE應該操心的事情。因此,如果我不想往全棧發展的話,根本不用理會前端。
Linux還是以我目前工作的平臺舉例,我們的Tomcat佈置在Linux環境中。
最最基本的,我們至少要知道如何打包上傳,部署並啟動伺服器,redis,es,MySQL,切換Nginx等等。進階一點,我們需要學會如何利用Linux強大的grep命令去篩選日誌,排查問題。而如果遇到了突發情況,比如Tomcat掛掉,頻繁發生OOM或者其他重啟無法解決的問題,而且從程式碼上也分析不出來問題所在,就要學會用dump,top等等語句來分析現場,定位問題。這種能力雖然不是每天都要用,但是一旦用到,就會派上大用處,不誇張,那時候的你就是同事眼中的超級英雄。
資料庫此處不侷限於MySQL,也包括了ElasticSearch等所有資料持久層。
上面說到Linux的酷炫使用並非每天都會遇到,但是資料持久層如果出現問題,那麼將會猶如禿子頭上的蝨子一樣顯著。繼續舉例,我們曾經工作的平臺,最初資料持久層用的是MySQL,但是隨著資料量的增大,其反應速度越來越慢,導致頻頻收到使用者的反饋,極大影響了使用者體驗與產品口碑。
後來,我們想到的辦法是首先引入MySQL主從架構,緩解對單MySQL節點的訪問壓力,其次引入了ES做資料持久層,利用了ES對大資料的快速查詢能力,最終解決了這個問題。
從以上我說的例子中,我想大家應該就能感受到詳細瞭解資料庫相關知識,對提高JAVA工程的效能有更大的幫助,因此我的建議是大家將更多的精力花在瞭解資料持久層上。
-
10 # 軟體開發與運維
1、阿里巴巴JAVA開發手冊
這是阿里內部經驗濃縮整合的一本JAVA開發規範。書中給出了範例的正確應用方式和錯誤應用方式,可以幫我我們更好的寫出相對規範的JAVA程式碼。
你不需要完全遵從書中的範例,根據自己實際情況,有選擇的運用。
2、像計算機科學家一樣思考Java
3、JAVA8新特性
4、JAVA9新特性
5、重構-改善既有程式碼的設計
6、精通Spring4.x
7、Linux系統管理與服務配置
8、高效能MySQL
9、HTTP權威指南
-
11 # IT少女
java往前端學習的話,就是全棧發開了,但是我覺得沒有往深的學習工資高。
java的架構師工資還是很可觀的,年薪都是30w-60w這樣居多,所以我覺得你往深的學習會比較好。
java學習資料庫>linux>前端
首建議資料庫,次建議Linux,末建議前端。
回覆列表
要回答這個問題首先要了解Java開發都用在哪些領域,只有清楚了Java語言的應用領域才知道需要掌握哪些技術。
目前Java開發主要應用在Web開發領域,以及大資料、移動網際網路開發等領域。作為目前使用範圍最廣泛的開發語言之一,Java的適用範圍還是比較廣泛的,很多工具類軟體也使用Java進行開發,比如Oracle的很多產品就是使用Java開發的。
Java與資料庫先看一下Web開發都涉及到哪些技術,我們看一下基於Java的三層開發體系結構。
這個結構是基於MVC的Model2模式,其中使用Servlet作為控制端,使用JSP作為檢視端,使用JavaBean作為模型端。其中與模型端(Model)關聯的就是資料庫,所以對資料庫的操作是Java程式設計師不可避免的一個重要的開發環節。
Java操作資料庫的API是JDBC,透過JDBC提供的類和介面完成對資料庫的各種操作,最為常見的操作就是向資料庫傳送sql語句並在容器中執行。
當然還需要使用DAO對資料操作進行面向物件轉換,簡單的說就是把面向物件的Java操作對映到面向關係的資料庫系統中。
所以說,掌握資料庫的使用是Java程式設計師的基本要求。雖然大部分團隊都會配備DBA,但是深入學習一下資料庫對Java程式設計師來說還是很有必要的,如何最佳化查詢語句就是個重要的內容。推薦深入學習一下Mysql和Oracle資料庫,這兩個資料庫在Java開發中應用比較廣泛。
Java與Linux系統目前大部分Web伺服器都採用了Linux系列作業系統,Linux作業系統在安全性的表現上要明顯好於Windows和Unix,所以目前大量的Web伺服器都採用了Linux,比如CentOS、Ubuntu、Red Hat等。
上圖中的Web Container通常都部署在Linux伺服器中。也有一部分開發人員直接在Linux系統下進行Web開發,所以掌握Linux的使用對Web開發來說還是很有必要的。
做為Web開發的Java程式設計師來說,也可以使用Windows平臺進行開發,所以從開發的角度來說並沒有必要深入學習Linux系統。
但是如果使用Java從事大資料開發,則另當別論了。目前大資料平臺幾乎都搭建在Linux系統上,此時對Java開發人員來說掌握Linux系統是十分必要的。
Java與前端作為Java程式設計師來說通常做的都是後端開發的工作,對前端的要求並沒有那麼高,通常開發團隊都會配備專業的前端開發人員。但是很多Java程式設計師都有過開發前端的經歷,因為很多驗證性實驗需要自己完成,所以掌握一定的前端開發知識還是很有必要的。
很多做Android開發的Java程式設計師都對HTML5比較熟悉,因為很多手機端開發需要使用HTML5來呈現,所以對開發Android的Java程式設計師來說,掌握前端開發還是很有必要的。
總之,作為Java程式設計師來說,掌握資料庫、Linux都是很有必要的,前端開發可以根據實際情況一邊使用一邊學習通常就夠用了。
我從事Java開發也有10多年的時間了,如果大家有關於Java方面的問題可以跟我交流。