框架都是浮雲,更新也比較快,打好基礎才能適應萬變。SSH很多公司不用,他們有自己的框架或改下整合目前的框架,只是面試時喜歡問即使他們不用。
『貳』 java 框架師和程序員的區別
程序員 是泥瓦工,搬磚壘牆的
架構師 就是房屋設計師。
架構師 設計好結構,程序員就只能在這個結構里折騰。
架構師 也分很多種,我知道有應用程序架構師和框架架構師。
想當架構師,至少有五年的編碼經驗,二到三年的管理經驗,剛開始別想這個了。
你所說的ssh三大框架,只能算是基本框架,就算是一個地基吧,把范圍定下來了,
如果直接那這個來開發,不是不行,但約束性無法保證,因為個人編碼習慣的不同,直接用
代碼就沒法看了。
我做使用它們做一些重構,這個就算是業務框架吧,只是針對具體項目來制定的,使項目開發更容易一些。代碼的規范性得到一定的控制。
至於是干前台還是後台,那就看你公司了,以前我們是包畫面做,前後台都得干。
『叄』 java大數據程序員如何成長:一定要寫自己的框架
從事java大數據程序員的同學發現,很多程序員快速掌握一門語言的方法都是,用別人的框架進行學習,但是框架用的時間久了之後就發現了一個問題:我真的有學習過嗎?我學的內容真的有用嘛,這些框架內的東西能對我今後有幫助嗎?今天專家為大家整理了一名以前無限互聯的同學從事java大數據工程師的成長路程:
『肆』 急請問什麼是編程框架現在的框架那個好或者說他們的優勢和缺點是什麼java平台和。net哪個更具潛力
java平台應用更廣泛些,.NET平台是微軟的,說白了就是離不開windows,不過話又說回來,微軟的windows市場份額佔了多少大家都清楚(此處單指桌面應用,伺服器是另一回事了,呵呵)
java就是跨平台,代碼一次編譯,到處運行,只要系統上有java虛擬機存在,java程序無視平台差異,缺點就是程序的運行速度上會慢一些,不過這也是跨平台程序的通病。.NET和java差不多,還是那句話,.NET限制在了微軟產品上。框架的好處是為編程提供了一個通用的開發模板,使用框架進行開發可以極大的提高開發效率,並且從程序的結構上來說,由於具有通用性,也便於維護,更新,避免了如因為程序員離職後,新的程序員接手老程序員的代碼卻無從下手的尷尬境地。框架的作用還有許多...其好處需要在不斷地應用當中才能更深地體會到。
『伍』 現在程序員有前途嗎我一直想從程序員做起,然後構架師什麼的,我不是學計算機專業的,學編程就是自學的
作為一個不是科班出身、沒有正規學習過計算機知識的架構師,想在這里把我這幾年學習的經歷體驗和大家分享一下,談談自己對架構師成長之路的一些感想。
奠定扎實的理論基礎
千里之行,始於足下!技術不是一蹴而就的事情,而是長時間積累的成果。扎實的基本功是做好所有事情的開始。到現在我還記得對我影響非常大的幾本書:
■《C++編程思想》
■《深入淺出MFC》
■《Windows 核心編程》
■《數據結構》《編譯原理》
我學習計算機正是按照這幾本書的順序,之前學習C的經歷就不必說了,而轉折點正是《C++ 編程思想》——它讓我感覺到程序和語言竟然這么有意思,至今仍對虛表的概念記憶猶新,尤其指針的用法,對我以後學習Java語言有很大的幫助,對多態和語言的特性也有了很高的認識。
《深入淺出MFC》這本書,記憶最深刻的還是其中強大無比的宏定義和對象層次設計。然而學習MFC的過程中,我遇到的最大問題就是:很多東西都是黑盒的,這引發了我刨根問底的慾望。所以後來我學習了《Windows核心編程》,這本書給我的最大收獲,就是了解了很多操作系統底層的知識,操作系統是如何運行的。不過遺憾的是,如果當時從Linux 或者Unix 開始學習,應該會了解得更系統一些。
之後我深入學習了《數據結構》和《編譯原理》。這是我經過了很多實踐以後,又回過頭來重新學習。拿《編譯原理》來說,以前對這門學科的了解非常有限,後來為了實現一個東西,要用到腳本語言,找來找去找到了Velocity(後來想想使用Groovy 應該更好一點),用了以後覺得很好。以前修改程序邏輯,是需要重新編譯或者修改配置重新發布才能OK,而現在只需要編輯然後保存一下,就能得到自己想要的結果。這令我著迷,於是想知道它是如何實現的,翻看源代碼才曉得原來還有 JavaCC這個東西。就這樣,我從解釋語言入手,逐漸開始了瘋狂學習編譯原理的過程,越發覺得編程語言非常有意思。
回頭想想以前和現在學習的語言,感覺程序語言就是在不斷抽象:從匯編、C、C++, 再到Java、C#,再到更動態一點的語言如Perl、Python、Ruby 等等。不管它再怎麼變、再怎麼抽象,還是編譯原理應用的產物。
講了這么多,就是想強調理論基礎知識的重要性!雖然我們現在使用的框架如此之多,但是如果你有了扎實的基礎理論知識,這些東西就跟玩具一樣。基礎就是一個無招勝有招的殺手工具。
培養完善的抽象思維
抽象的能力也是作為一名好的程序員必須具備的能力。我們在考慮問題的時候可能會遇到錯綜復雜的場景,從這些迷霧中找到一條明路是我們做好程序員的關鍵。這些年來學習了很多框架,回過頭來想想自己都有點後怕,這也令很多初學者望而生畏。但認真想想,真的有那麼可怕嗎?
讓我們從語言層面逐漸剖析這個問題,應該很容易做出解釋。程序語言就是我們在某種場景下交流的工具,匯編是機器語言;C和C++ 是編譯型語言,它們是一種針對匯編的高級抽象;而Java 和 C# 就是更高級的抽象了,甚至於抽象了一層虛擬機出來(這個產生的影響就是,之後的很多高級語言評判標准,都是「是否支持虛擬機」),再到後面的許多動態語言,那就是更抽象了。說到這里你會問到,講這么多語言類的東西和學習框架有什麼聯系?讓我慢慢道來。
我們使用一種語言就是用它的語法進行編程,而學習一個框架實際也是為了用這個框架所提供的語言來寫程序:Struts——我們使用很多配置還有 Action 和Form ;Spring——我們使用Bean 模型,這是它的最基本模型(現在 Spring 已經龐大得讓很多人無法學習了);iBatis——我是用它的XML-SQL 模型;JBPM——使用它所謂的GOP模型(面向圖元的編程);Web flow——是在使用它的頁面流模型。這樣的例子我可以舉出很多(這也是DSL現在如此流行的原因)。
很多人會說:學習這么多我已經暈掉了!不妨想想,為什麼會有這么多東西存在? Struts 是為了解決Web編程的困擾;iBatis、Hibernate 是為了解決在資料庫編程時的麻煩;原有的Web頁面編程都是獨立的具體單元,Web flow能夠讓這些頁面形成流的形式,讓開發更順其自然;從JBPM的GOP可以看出,JBoss 的開發人員對抽象的理解度很深。我舉這么多例子,實際是讓大家不要害怕現有的這些框架,有了扎實的基礎,抽象的概念是很容易理解的!缺乏抽象的能力,你就不能更快更好地解決問題。
實際抽象能力衍生出來的一點就是,需要我們對已學過的知識定期進行梳理。這樣能讓你鞏固已有的知識,為以後的學習做好准備。知識就好比一棵生物進化樹,最終目標都是一樣的,關鍵是看如何選擇進化的路線,讓自己的知識結構能夠有機的結合在一起。做到學以致用。過一段時間就梳理一下,你會有更多的發現。
擴充現有的知識層面
在鞏固原有知識結構的前提下,我們更需要擴充現有的知識面。井底之蛙,看到的永遠是井口大的那片天,只有跳出來,才能看見無限美好的藍天白雲。我曾經也常常局限在自己已熟悉的那塊領域沾沾自喜,但是走出來以後才發現,自己原本是多麼膚淺!學習的知識越多,對新事物的洞察力將會越准確!這樣有助於你鞏固已有的知識,系統地學習新的知識。
那我們是否需要無限平行式的學習知識呢?我的答案是「No」。人的知識面是有限的,我們需要一個T型的知識結構。你的知識面要廣,但是對於某些技術點要專,這才是做好一個架構師的關鍵。有時 「專」可以讓你對很多「廣」的知識產生觸類旁通的感覺。
實踐也是非常重要的一環,不要有畏難心理,覺得這個東西太難,我無法完成!有時候事情的結果可能是糟糕的,但是過程是非常寶貴的,其中可以學習到很多東西,同時也可以讓自己避免輕浮的心理。
還要著重培養自己良好的溝通與解說能力。架構師面對客戶群具有多樣性,有技術工程師、業務人員、公司管理層,甚至直接面對客戶等。要把一個高度抽象又復雜的系統說清楚,這對於架構師來說也是一種挑戰。所以架構師必須掌握技巧,應用多種表達方式來闡述架構與產品設計、與具體業務、與公司戰略之間的關系等。培養良好的溝通能力,多和周圍的人進行溝通,你能夠學到更多的知識!
「平衡」是架構設計的藝術,我們設計一個東西,就是在平衡各方面的利益。平衡有可能是時間上的,比如需要支持多少年的系統可用性;平衡有可能是縱向的,比如要支持系統的向下兼容性,要保證程序員編程模型上的簡單性等等。這種平衡就是因人因時因地而異了。平衡的把握很可能就是評判一個架構師架構水平的標准!架構師在設計的時候應該權衡維度、整體性和擴展性,考慮問題時不要局限於自己的一畝三分地。多種點田,會長出很多莊稼的!
擁有一個扎實的基礎,不斷擴充自己的知識面、完善知識體系,在對現有知識抽象的基礎上,不斷去溝通實踐,你將獲得更強的架構平衡能力。最後我還要說,業務知識非常重要,這個是你實踐的關鍵!
『陸』 javaweb程序員必須自己會寫框架么
大多不用自己寫,但是要理解,框架是把一些通用的操作封裝起來從而達到更快捷、方便的目的,會用的話更好
『柒』 java程序員應該重點學資料庫還是框架
還是先學java基礎吧,還有jsp和servlet,找點視頻,學這些的時候就可以順便把資料庫給學了。
先把資料庫基礎掌握差不多了,在用框架來鏈接資料庫!要不然你做的網頁都不能查資料庫,那和靜態有什麼區別。
1、如果是java的web程序員,你就必須要學習資料庫知識,至少要了解如何寫sql,建表,表之間的關系。
2、如果是java做工具,可以不了解資料庫,學好java基礎知識。
3、i碼邦是java入門學習的好幫手,i碼邦--手機上的java編程神器,碎片時間,分分鍾搞定一切java問題。。隨時隨地,學java,寫java,大神在線,解答一切java問題。。
『捌』 前端框架的性能什麼的真的有意義嗎
停止寫JavaScript框架
JavaScript框架看起來像死亡和稅收一樣不可避免。我敢肯定每次有人開始一個新的web項目時,他們問的第一個問題的肯定是: 我們用的是什麼JS框架?這真讓我著急上牆。 這就是JS框架在當今業界根深蒂固的現像。實際上,框架並不是非有不可,它需要停下來。
讓我們來先看看我們現在都有什麼?
Angular 和 Backbone 和 Ember, 唉天哪
在相當長的一段時間內。網路平台的技術棧可以簡潔地描述為HTML + CSS + JS,是由於缺乏一個更好的詞嗎?誰也不會忘記IE瀏覽器模型造成的一場災難。我敢肯定,所有的Web開發者都會為這些黑暗的日子抽搐。
在很長一段時間出現了一大堆的瀏覽器,和我們之間產生大量的矛盾,作為產業的前提,必須編寫框架,來繞過他們。問題是,在一些瀏覽器中,有一些根本問題也不一致,如事件是如何傳播的,或者是標簽的支持。所以每一個框架,不僅掩蓋了這些不同,也實現了專屬於自己的瀏覽器的工作模式。其實這種模式是必然的,因為你必須發明一種事件工作的通用模式,和如何與DOM交互的統一模型。因此,很多框架就這樣產生了,百花齊放,給我們帶來了jQuery,Dojo,MochiKit和Ext JS 和 AngularJS 和 Backbone 和 Ember 和 React.。在過去的十年裡,我們一直在生產大量JS框架。
注* 舊版IE的事件模型與標准冒泡模型是不一樣的
但過去的十年也有發生著一些別的事情;瀏覽器變得更好。他們對標准支持得更好,現在也有四季常青的瀏覽器:自動更新的瀏覽器,每個版本的功能更強大,支持更新的標准,如:
HTML Imports
Object.observe
Promises
HTML Templates
注* HTML Imorts 導入復用HTML代碼段的新特性, 參見規范(起草階段) ,示例:
<link rel="import" href="/imports/heart.html">
我認為現在是重新思考的JS框架模型的時候了。有必要去創造另一種做事的方式嗎? 還是只需要使用純HTML+CSS+JS。
那麼,為什麼我們仍然寫新的JS框架?我認為很大一部分原因是因為慣性,這是習慣。但是,這不像框架有害的理由,對吧?好吧,讓我們首先確定什麼是web框架。首先是一些簡單的代碼例子,到列出一些要點,再移動到越來越大的代碼集合,然後變成一個庫,最後形成框架:
gist(要點) -> library(庫) -> framework(框架)
框架不只是庫,他們有自己的模式,並且與DOM交互有統一的方式,所以為什麼要避免框架?
Abstractions 抽象
嗯,這是框架通常的賣點之一,它們是抽象出來的平台,這樣你就可以集中精力建設自己的軟體。問題是,現在你需要學習兩個系統: HTML + CSS + JS和框架。當然,如果該框架是Web平台的一個抽象,你只需要會這個框架就夠了。但是有完美的抽象嗎?abstractions leak抽象泄漏 。所以,你還是需要知道HTML+ CSS+ JS,因為在某些時候你的程序將無法正常工作,你希望了解它實現的方式,你必須向下挖掘,通過該框架的所有層,然後弄清楚哪錯了,最終到達HTML + CSS + JS。
注* 抽象是面向對象分類所依據的原則,提取特殊/共性以便繼承復用,但做好的抽象永遠無法完全滿足以後變化的需求,目前面向介面/方面,模塊化,組件化的發展都在嘗試解決這個問題。 相關: 痛苦的Java程序員,面向對象的缺陷
Mapping the iceberg (映射的冰山)
框架就像是一座冰山,有10%浮在水面上看起來並不危險,但下面卻隱藏著90%。事實上,這個比喻很貼切,學習框架就像是映射一座冰山,你需要了解整個過程才能使用,映射所有事情的努力可能是沒有意義的,因為冰山可能有一天就會融化化。
Widgets(部件)
框架的另一個賣點,你可以訪問小工具庫。不過說真的,你不應該採用一個框架,來訪問這些小部件,他們都應該是正交的,獨立的。今天的一個很好的例子是CodeMirror,基於JavaScript的語法高亮代碼編輯器。你可以用在任何地方,任何框架里。
還記得你寫的那些基於MochiKit的小部件嗎?是啊,當時他們看上去多麼美好呀。現在呢?遷移到Ember 或 AngularJS怎麼樣?
Data Binding(數據綁定)
老實說,我從來沒有需要過它,但如果你想使用他們,你應使用一個庫,而不是一個框架。
從長期來,框架的問題的問題是,他們最終會成為孤島,專為框架A設計的部件無法在框架B上工作。這樣會浪費精力。
那麼一個後架構的世界會是什麼樣子?
HTML + CSS + JS我的框架
我的基本的觀點是我們不需要框架,使用已經內置在HTML + CSS + JS中的能力,建立自己的小部件(Widgets)。沒有任何依賴,掰開任何一個都可以獨立工作。最後的步驟是,將他們在 Web Componetns中啟用。
注* HTML/CSS/JS不正是純天然的MVC結構嗎? HTML -> Template, CSS -> View, JS -> Controler, JSON -> Model
HTML Imports, HTML Templates, Custom Elements 和 Shadow DOM 都是有利的技術,應該讓我們減小對框架的依賴,允許創建可重復使用的元素和功能。下面這些技術可以更好地實現這一點:
HTML Imports
Polymer
X-Tag
Bosonic
所以,我們都創建<X-flipbox>類似的東西,宣告勝利,然後回家?
注* brick-flipbox是一個創建自定義Web Componetns的示例項目, 示例, 使用這個Web組件的方法:
<brick-flipbox>
<div>Front</div>
<div>Back</div>
</brick-flipbox>
不,其實,你需要確保Web組件工作的第一件事是用polyfills來實現該功能,如X-Tag和Polymer。避免那些舊版瀏覽器不支持的情況。
注* polyfill指是開發者希望瀏覽器能原生支持的一些新特性而寫的代碼(或者插件)。
有一點這里要強調的是,這些polyfills都不是介紹自己的模型來開發Web上的框架,它們在使用HTML5模型。但是,這並不是真正的唯一的需要,各個瀏覽器對標準的執行還有一些差異,這是我們需要polyfill的地方。 MDN ,是一個很有趣的社區,沒有太多的不必要的代碼,提供大量的文檔,和少量代碼實現的polyfills。