操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    ython全能工程師2022版|百度網盤|完結無秘

    //下栽のke:chaoxingit.com/2028/

    成為Python全能工程師:打造多面手的技能組合

    Python已經成為當今軟件開發領域的瑰寶,其簡潔而強大的語法、豐富的庫和生態系統,以及廣泛的應用范圍,使得它成為了許多開發者心目中的首選語言之一。然而,要成為一名真正的Python全能工程師,并不僅僅意味著精通Python語言本身,還需要掌握一系列相關技能和工具,以應對不同的需求和挑戰。

    掌握核心Python技能

    首先,作為一名Python全能工程師,你需要對Python語言的核心概念和特性有深入的理解。這包括但不限于:

    • 語法和基礎知識: 了解Python的基本語法、數據類型、控制流程等,以及如何編寫簡潔、可讀性高的代碼。
    • 面向對象編程: 掌握面向對象編程的原理和實踐,包括類、對象、繼承、多態等概念,并能夠利用面向對象的思想設計和構建復雜的程序結構。
    • 函數式編程: 理解函數式編程的概念和特點,掌握函數式編程的核心函數和技巧,以及如何利用函數式編程風格編寫簡潔、高效的代碼。

    數據科學與分析能力

    Python在數據科學和分析領域有著廣泛的應用,因此作為一名Python全能工程師,你需要具備一定的數據科學和分析能力。這包括:

    • Pandas和NumPy: 掌握Pandas和NumPy等數據處理和分析庫,包括數據清洗、轉換、統計分析等操作,以及如何利用這些庫處理和分析大規模的數據集。
    • 數據可視化: 熟練使用Matplotlib、Seaborn等數據可視化庫,能夠創建各種類型的圖表和可視化,以直觀地展現數據的特征、趨勢和關系。
    • 統計分析: 具備一定的統計分析能力,包括描述性統計、假設檢驗、回歸分析等,能夠從統計學角度深入分析數據并得出結論。

    機器學習和人工智能技能

    隨著人工智能和機器學習的快速發展,掌握相關技能已經成為Python全能工程師的重要組成部分。這包括:

    • Scikit-learn和TensorFlow: 掌握Scikit-learn等機器學習庫,能夠應用常用的機器學習算法進行分類、回歸、聚類等任務,以及了解TensorFlow等深度學習框架的基本原理和使用方法。
    • 深度學習模型: 理解深度學習模型的原理和結構,包括神經網絡、卷積神經網絡、循環神經網絡等,能夠設計和訓練復雜的深度學習模型解決實際問題。

    Web開發和框架

    除了數據科學和機器學習,Python在Web開發領域也有著豐富的應用,因此掌握相關的Web開發技能也是一名Python全能工程師必備的能力之一。這包括:

    • Django和Flask: 掌握Django和Flask等Web開發框架,能夠構建高效、安全的Web應用,并了解RESTful API的設計和實現。
    • 前端開發: 熟悉HTML、CSS、JavaScript等前端開發技術,能夠與后端進行交互,實現動態的Web頁面和用戶交互功能。
    • 數據庫和存儲: 掌握SQL和NoSQL數據庫的基本操作和管理,能夠使用數據庫存儲和管理數據。

    自動化和腳本編程

    最后,作為一名Python全能工程師,你還需要具備一定的自動化和腳本編程能力,以提高工作效率和生產力。這包括:

    • 自動化腳本: 利用Python編寫自動化腳本,實現各種任務的自動化處理,如文件處理、數據抓取、系統管理等。
    • 任務調度和批處理: 使用Python編寫任務調度和批處理腳本,實現定時任務的執行和批量處理任務的管理。
    • 系統集成和部署: 了解系統集成和部署的基本原理和方法,能夠編寫部署腳本和自動化工具,實現系統的快速部署和配置。

    成為一名Python全能工程師并不是一蹴而就的,它需要持續的學習和實踐,不斷地拓展和提升自己的技能和能力。然而,一旦你掌握了這些關鍵技能,你將能夠在各種領域和項目中游刃有余地應對挑戰,成為行業中的佼佼者。

    準備環境

    1. 編程環境:

    • Python解釋器: 首先需要安裝Python解釋器,推薦使用最新版本的Python,可以從官方網站 下載安裝。
    • 集成開發環境(IDE): 選擇一個適合自己的集成開發環境,常用的有PyCharm、VSCode、Jupyter Notebook等,它們提供了代碼編輯、調試、版本控制等功能,提高了編程效率。

    2. 數據科學與分析環境:

    • 數據科學庫: 安裝常用的數據科學庫,如NumPy、Pandas、Matplotlib、Seaborn等,可以使用pip或者conda進行安裝。
    • 科學計算環境: 推薦使用Anaconda發行版,它集成了常用的數據科學和機器學習庫,并提供了方便的環境管理工具,如conda。

    3. 機器學習與人工智能環境:

    • 機器學習庫: 安裝Scikit-learn、TensorFlow、Keras等機器學習庫,可以通過pip或conda安裝。
    • GPU支持: 如果需要使用GPU加速深度學習模型的訓練,可以安裝相應的GPU驅動和CUDA工具包,并使用支持GPU的深度學習框架。

    4. Web開發環境:

    • Web框架: 安裝Django、Flask等Web開發框架,通過pip安裝即可。
    • 前端開發工具: 需要安裝Node.js和npm,以及相關的前端開發工具和庫,如React、Vue.js、Bootstrap等。

    5. 自動化與腳本編程環境:

    • 自動化工具: 安裝相關的自動化工具和庫,如Fabric、Ansible等,可以簡化系統管理和部署的工作。
    • 任務調度工具: 需要安裝任務調度工具,如crontab(Linux)、Task Scheduler(Windows)等,用于定時執行任務。

    6. 版本控制與團隊協作環境:

    • 版本控制系統: 推薦使用Git作為版本控制系統,并學習使用Git的基本操作和工作流程。
    • 團隊協作平臺: 使用團隊協作工具,如GitHub、GitLab等,用于代碼托管、協作開發和項目管理。

    7. 學習資源與社區支持:

    • 官方文檔: 學習Python語言和相關庫的官方文檔是最好的方式,可以從官方網站獲取最新的文檔和教程。
    • 在線教程: 利用在線教程和課程學習Python和相關技術,如Coursera、edX、Udemy等平臺都提供了豐富的Python學習資源。
    • 社區支持: 加入Python社區和相關技術的討論組或論壇,如Stack Overflow、Reddit的r/Python板塊等,可以向他人請教問題、分享經驗,獲取社區支持。

    快速入門

    . Python基礎知識:

    • 變量與數據類型: 了解Python的基本數據類型,如整數、浮點數、字符串等,以及如何創建和操作變量。
    • 流程控制: 學習使用條件語句(if-else)、循環語句(for、while)等來控制程序的流程。
    • 函數與模塊: 掌握函數的定義與調用,了解模塊的概念,學會如何創建和使用自定義函數以及使用標準庫中的模塊。
    • 異常處理: 學習如何處理異常,保障程序的穩定性。

    2. 數據科學與分析:

    • NumPy和Pandas: 學習使用NumPy進行數值計算,以及使用Pandas進行數據處理與分析。
    • Matplotlib和Seaborn: 掌握可視化工具,如Matplotlib和Seaborn,用于創建圖表和展示數據。
    • Jupyter Notebook: 了解Jupyter Notebook的使用,它是一個交互式的數據分析工具。

    3. 機器學習:

    • Scikit-learn: 學習使用Scikit-learn庫,它提供了許多經典的機器學習算法和工具。
    • TensorFlow或PyTorch: 了解深度學習框架,選擇學習TensorFlow或PyTorch,掌握基本的神經網絡概念與實踐。

    4. Web開發:

    • Django或Flask: 學習使用Django或Flask進行Web開發,掌握路由、模板引擎、ORM等基本概念。
    • HTML、CSS、JavaScript: 了解前端開發基礎,學習構建簡單的網頁和交互。

    5. 版本控制與團隊協作:

    • Git: 學習使用Git進行版本控制,熟悉基本的Git命令和工作流程。
    • GitHub或GitLab: 掌握代碼托管平臺,學習如何使用GitHub或GitLab進行團隊協作。

    6. 自動化與腳本編程:

    • 腳本編程: 學會使用Python進行腳本編程,例如自動化任務、數據處理等。
    • 自動化工具: 了解自動化工具如Fabric、Ansible等,用于系統管理和部署。

    7. 持續學習與社區參與:

    • 官方文檔與在線資源: 閱讀Python官方文檔,參與在線教程和學習資源。
    • 社區參與: 加入Python社區,參與討論、提問問題,從社區中獲取經驗和建議。

    進階技巧和注意事項

    . 深入理解Python語言:

    • 掌握高級特性: 包括生成器、裝飾器、上下文管理器等。深入了解Python語言的高級功能和設計原理。
    • 理解Python的內存管理: 學習Python的內存管理機制,包括垃圾回收、引用計數等,優化代碼的內存使用。
    • 探索Python的元編程特性: 了解元類、動態屬性、反射等概念,靈活運用元編程增強代碼的靈活性和可維護性。

    2. 數據科學與機器學習:

    • 深入學習算法: 理解機器學習算法的原理和實現細節,包括監督學習、無監督學習、強化學習等。
    • 優化模型性能: 掌握模型評估與調優的技巧,包括特征工程、超參數調優等。
    • 掌握深度學習: 深入學習深度學習算法與框架,如TensorFlow、PyTorch,掌握卷積神經網絡、循環神經網絡等深度學習模型。

    3. Web開發與微服務架構:

    • 掌握異步編程: 學習異步編程框架,如asyncio、Tornado,提升Web應用的性能和并發能力。
    • 微服務架構: 了解微服務架構的設計原理和實踐經驗,學習使用Docker、Kubernetes等容器化技術。
    • 安全性和性能優化: 學習Web應用的安全性防護策略,如CSRF防護、XSS防護等,以及性能優化技巧,如緩存、負載均衡等。

    4. 大數據處理與分布式系統:

    • 學習大數據框架: 掌握大數據處理框架,如Hadoop、Spark,了解分布式文件系統、數據存儲與計算等概念。
    • 實時數據處理: 學習實時數據處理框架,如Kafka、Flink,掌握流式數據處理的原理和實踐。
    • 分布式系統設計: 深入理解分布式系統的設計原理,學習分布式一致性算法、分布式事務等概念。

    5. 軟件工程與團隊協作:

    • 設計模式與架構模式: 深入理解常見的設計模式和架構模式,如單例模式、工廠模式、MVC模式等,提高代碼的可維護性和擴展性。
    • 持續集成與持續交付: 學習持續集成和持續交付的實踐方法,包括自動化測試、自動化部署等。
    • 團隊協作與項目管理: 提升團隊協作能力,學習項目管理方法和工具,如敏捷開發、Scrum、Kanban等。

    6. 持續學習與實踐:

    • 跟進新技術: 持續關注Python生態圈和技術發展趨勢,學習新的框架、工具和最佳實踐。
    • 開源貢獻與社區參與: 積極參與開源項目,貢獻自己的代碼和經驗,擴大技術影響力,同時從開源社區中學習和獲取反饋。
    • 不斷實踐與總結: 多參與實際項目,不斷積累經驗,總結經驗教訓,不斷提高自己的技術水平和解決問題的能力。

    成為一名Python全能工程師是一個持續學習和進步的過程,需要不斷地投入時間和精力,不斷提升自己的技術能力和綜合素質。

    秘下架,無人發聲

    2017年8月28日,晚上十二點半,在德勤工作的Echo剛剛下班,她已經在這個項目上忙了快一個月,基本每天都要在這個時候才能下班。

    在回家的出租車上,她打開了很久沒打開的無秘,但是刷新之后,發現頁面一直顯示“系統維護,暫停服務”。

    但無秘那段時間已經時常不再穩定,她也沒太在意。四天后,當她再次打開無秘,發現依然無法使用時,這才想起去無秘官微看看到底發生了什么。

    這才發現官微已經在9月1日正式發了聲明,而且并未表明恢復服務的日期。那之后至今,已經過去了整整兩個月,無秘這款國內最火的匿名社交應用,再也沒有能恢復服務,并且已經無聲無息地從app store 下架了。

    與這種無聲無息的下架相比,更奇怪的是,無秘的擁有一千六百萬用戶并為對此事發表過多看法。在各大社交網絡上,你只能看到零星的吐槽與牢騷,而未能看到太多用戶維護它、懷念它,甚至為它的復出而作出努力。

    同樣都是滿足用戶灰色需求的應用,快播的下架就曾經引起了軒然大波,甚至引起大眾關于“技術無罪”的熱烈討論。大量用戶維護快播,并為之發聲,認為某巨頭舉報快播是極為下作的競爭行為。

    兩相對比,我們就能看到其中的微妙之處:

    迄今為止,無秘下架兩個月,卻無人為它發聲,它的火熱與用戶仿佛一夜之間就全都銷聲匿跡了。

    永遠沒有下班時間的年輕人們

    在德勤工作的Echo學姐是無秘最早一批用戶,2014年剛一上線她就已經安裝了。

    那時候無秘還單純只是一個匿名說心事的平臺,很多人在上面說著自己無法跟他人說的往事、焦慮和痛苦。

    當時無秘的爆料基本還是圍繞著每個用戶內心深處的秘密,偶爾會有一些倫理邊緣的小故事,也大多都是能讓人找到共鳴和釋放的內容。

    在德勤的工作本就繁忙而枯燥,工作之余 Echo 就會常常登陸無秘,看看大家心中的秘密,有時也會把自己不便告訴他人的心事寫在上面。

    那時候,無秘確實能夠讓人感覺很放松,是你一天里最沒有壓力的時刻,圈子功能推出后,還能看到很多業內八卦。

    Echo這樣說。

    這是Echo一天里最為放松的時刻,她的工作已經有太多焦慮和壓力,無法宣泄,也無處宣泄,最初,無秘很好地填補了這一塊空白。

    無秘的誕生和火爆所迎合的其實就是當下城市年輕人無處發泄的負面能量。

    他們每天都在被一個又一個deadline追著跑,永遠背不完的鍋,永遠兌現不了的空頭支票,永遠加不完的班,積蓄下來的負面情緒根本無處發泄。所以,每次只要有“發泄”主題的城市活動,絕對都能引起一時熱議。

    GQ實驗室曾經做過一次“職場表情包破譯科”,每個emoji背后都有其嶄新含義,“鼓掌”背后的含義是“那你很棒棒哦,給你鼓鼓掌!(諷刺)”,“涂指甲油”的emoji則意味著“老娘懶得理你”。儼然已經形成一種亞文化。

    在上海,網易新聞辦了一個與工作焦慮有關的藝術展,名字帶著幾分網絡化,“心靈復蘇大保健”。其中媒體品牌GQ、好奇心研究所;在社交網絡上紅極一時的彩虹合唱團、漫畫家Tango以及《奇葩說》辯手姜思達等10個內容方,每個都展出了一種不同的工作焦慮。

    姜思達的展叫“You Da Boss”。比起靜止裝置這更像一場行為藝術:員工模樣的男子坐在電腦前摸魚,一會兒看視頻一會兒打游戲,但只要有觀眾走到身后,他就會立刻切換到Word頁面(假裝)認真工作,切屏手速驚人。

    姜思達的“You Da Boss”

    今年6月,在上海新天地世界大丸百貨舉報過一場“魔都減壓展”,內場提供了枕頭大戰、摔碗、冥想、撕假鈔票等減壓選項。但其實活動流程設計很一般,你真去了也不會參與到什么減壓活動。可門口的年輕人們依然排起了長隊。

    這些承載年輕人負面情緒并為之提供發泄方式的事物,都曾經火熱一時,但它們也有一個共同點:迅速火熱,然后迅速消失。表情包也好,《感覺身體被掏空》也好,魔都減壓展也好,能夠讓年輕人追捧一時,然后被迅速忘記。

    因為它們只能發泄,而無法解決任何問題。狂歡之后,焦慮還在,壓力還在,生活還在繼續,周一還要面對。所以,它們只能流行一時。

    而無秘,對于年輕人來說,正是這樣“流行一時、迅速忘記”的存在。

    “我選擇卸載”

    不止如此,因為無秘對其平臺負面的內容不作為之后,無秘內部的文化氛圍開始變得極為黑暗,這種黑暗氛圍在著名的“陸家嘴事件”后達到了頂峰。

    露骨、造謠、抹黑等等內容開始大量涌現,并且無秘平臺本身對此幾乎秉承著置之不理的態度。

    這些內容不僅不會讓用戶得到放松,反而會讓其心情更加沉重。

    說出來可能有點難以相信,我的好朋友之所以從上一家公司跳槽到現在的公司,就是因為無秘。

    她在上一家公司里兢兢業業地工作,在外跑業務、對身邊的工作也盡心盡力。

    無秘在他們公司盛行,無論是老板、還是同事們都熱衷于在上面匿名地分享自己的小秘密、吐吐苦水。在這樣的環境下,朋友在一次被老板表揚并promote后,在無秘上遭到了圍攻,甚至公開點名說她靠裙帶關系上位,她崩潰了。

    其實無秘就是這樣,什么人都在上面,魚龍混雜得很,他們什么難聽的話都敢說,反正又沒人能知道他們到底是誰。

    指名道姓地在無秘上這樣說,而說這些話的人卻全都躲在匿名ID后面。

    沒過多久,她也離開了那家公司,然后卸載了無秘。

    她受不了一個熱愛無秘、還相信無秘的老板,也受不了一群把無秘當成辦公室政治斗爭工具的同事。

    而這只是無秘平臺所滋生出的黑暗文化的一小部分而已。

    與無秘上的亂相相似,快手上也活躍著大量游走在法律邊緣的視頻內容,但一旦被平臺發現,快手就會立刻處理,從不手軟。比如,剛剛發生的快手上的“未成年孕婦”事件。

    不管怎樣,快手的即時處理沒有讓事情發展得更為可怕,但是無秘卻幾乎從未對平臺下內容做過任何疏導與管理,任由其黑暗文化滋生、成長。匿名帶來自由,匿名也帶來放肆與陰暗,由此便生發而出的黑暗文化在無形中消耗著用戶對它的忠誠度和好感度。

    成也蕭何、敗也蕭何

    歸根到底,用戶對無秘沒有感情、沒有情懷,有的只是不想承認、無法承認的黑暗面,這就是無秘匿名的意義。

    這是它最初火熱的原因,也是它如今無人為之哀悼的原因所在,正所謂“成也蕭何,敗也蕭何”。

    匿名帶來了其平臺的黑暗文化氛圍,平臺又沒有對其加以控制,使之走向了最終的失控。平臺被沉重的情緒填滿,使用戶再也不想要登陸上去,更不要說為之發聲了。

    所以無秘的下架也就理所當然地沒有引起大范圍的懷念與哀悼。

    無秘就像那些轉瞬即逝的解壓活動、宣泄方式,只能宣泄一時,而無法徹底解決焦慮與恐慌。

    樹洞只是樹洞,壞了,那換個新的就是,沒人會為樹洞大哭一場。

    我們永遠需要樹洞,我們永遠需要釋放壓力。

    但這樹洞不會永遠是無秘。

    圖片/來源網絡

    -END-

    品 2023黑馬java v13版本「完結無密」


    //xia栽ke:chaoxingit.com/2441/

    很多初學者開始接觸Java EE的時候,都會略有些迷茫,搞不太懂Java EE與Java之間的關系,也不太清楚各個框架都是干嘛的,名詞也多,內容也復雜,不知道從哪個地方開始入手。因此,我們這篇文章就為給大詳細解讀一下Java EE到底是什么,包括哪些方面,應該怎樣學習。

    一、Java EE到底是什么?

    Java EE實際上是Java語言和API的集合。官方說法叫企業級開發,實際上最多的就是做Web應用開發,這里面的Web應用和單獨一個網站還是有很大區別的,例如單獨開發一個靜態頁面,很多工具很快就可以完成了。而Web應用,更多的是指在網絡上,以看起來像網站形式提供服務的一個復雜應用。例如說Google,網頁上看著非常簡單,就一個框,實際上,后面有大量的數據庫,有大量的推薦算法、查詢算法,有廣告推薦服務,有排名服務等等,可能這些服務,在網頁上最終顯示出來的就一句話,但是背后的業務程序卻非常復雜。

    像淘寶、京東這些購物網站的后臺,都是Java寫的。背后要處理的東西非常多。比如說下一個訂單,就要考慮庫存狀態、訂單的存儲和備份、后臺的訂單處理、狀態變更、出庫入庫、支付系統、結算系統、對賬系統,等等。

    而這么復雜的一個系統,Java EE把它分為三層,分別是表示層、中間層、數據層。C#中的三層分別是表示層,業務邏輯層、數據訪問層,只是不一樣的說法,但表達的是同一個意思。如下圖所示:

    所以對于一個簡單的系統,比如說圖書管理系統來說,按上圖從左到右,就分成五個部分。

    1、瀏覽器:負責輸入要查詢的圖書,以及把查詢的圖書展示在瀏覽器里供人查看。

    2、視圖展示層:把瀏覽器里輸入的內容包裝一下,發給業務處理層。比如說瀏覽器里輸入的是“紅樓夢”,它輸入給業務處理層的內容可能是{“bookname”:“紅樓夢”,“type”:“Query”},告訴業務處理層,這人要查詢一本叫紅樓夢的書。同時業務處理層查完了,查到一本紅樓夢,作者曹雪芹,朝代清朝,頁數1563頁,出版社清華大學出版社,返回給它之后,它再給包裝一下,什么名字大寫,圖片放在右邊,作者放下下面之類。然后給瀏覽器一顯示,用戶就看到了。

    3、業務邏輯層:處理一下業務邏輯,比如說判斷一下,前端傳來是,是要查詢,還是要刪除這本書,或者是要查詢相似的書,等等。要查詢這本書,他就去查一下,看這本書庫里有沒有,給持久層一個查詢指令。要刪除這本書,他就先看一下,發請求的這個人有沒有權限,這本書庫里有沒有,刪除這本書這個事要不要記錄在日志里等等,確定要刪除了,就給持久層發一個刪除這本書的指令,發現這個人不能刪除這本書,就返回給視圖展示層說警告,你的權限不足,刪不了。

    4、持久層:用來操作數據庫的,把四面八方來的數據庫增刪改查指令都收集到它這里,一起處理,至于他是開一個數據庫連接還是一百個連接查詢,那就是他自己的事了。

    5、數據庫:那就老老實實執行,持久層給他什么指令他就干什么。

    所以可以說,Java EE,就是實現上面這樣的系統,需要的一系列技術的集合。

    二、Java EE與Java語言之間的關系

    Java EE是以Java語言為基礎的,可以認為Java語言是漢字,而Java EE則是不同類型的文章。會寫漢字,并不代表會寫論文、公文。而會寫論文也不代表會寫公文。

    三、Java EE包括哪些技術

    通常來講,Java EE包括13項核心技術。

    1、JDBC(Java DataBase Connectivity):用來連數據庫的。

    2、JNDI(Java Naming and Directory Interfaces) :給當前服務器管理的所有資源一個統一的標識,換句話說通過這服務能找到服務器管理的任何資源并使用。比如說數據庫、網頁、文件、連接池等。

    3、EJB(Enterprise JavaBean):實際給企業干活的組件,企業自己寫完注冊在服務器上,服務器給他一個統一的標識,就JNDI管那個,然后應用服務就可以調用了。在這里面,Java EE是提供了部署和使用這些組件的平臺和標準。按這個標準寫的組件就可以用了。

    4、RMI (Remote Method Invoke):遠程方法調用,它提供了一種方法,可以遠程調用另一個Java虛擬機上的對象中的方法。

    5、JSP(Java Server Pages):生成Html給瀏覽器展示用的。JSP頁面由HTML代碼和嵌入其中的Java代碼組成。服務器在頁面端所請求以后,對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。

    6、Java servlet:一種小型Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用,當被請求時開始執行。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而Servlet全部由Java寫成并生成HTML。

    7、XML(Extensible Markup Language):可擴展標記語言。大家都見過。

    8、JMS(Java Message Service) :Java消息服務,消息中間件規范。JMS的客戶端之間可以通過JMS服務進行異步的消息傳輸。JMS用于和面對面對消息的中間件相互通信的應用程序接口(API)。既支持點對點的域,又支持發布/訂閱(publish/subscribe)類型的域。常用的消息中間件如ActiveMQ都支持完整的JMS標準。

    9、Java IDL (Interface Description Language) /CORBA (Common Object Broke Architecture) Java:接口定義語言/公用對象請求代理程序體系結構。IDL是用來描述軟件組件接口的一種計算機語言。IDL通過一種中立的方式來描述接口,使得在不同平臺上運行的對象和用不同語言編寫的程序可以相互通信交流。

    10、JTS (Java Transaction Service) :是一個組件事務監視器。規定了事務管理器的實現方式。

    JTS事務管理器為應用服務器,資源管理器,獨立的應用以及通信資源管理器提供了事務服務。

    11、JTA(Java Transaction API):和JTA一起為J2EE平臺提供了分布式事務服務(distributed transaction)。就是在一堆業務和數據源里,保證了用戶操作不會操作到一半出問題后半新半舊的情況,要么全操作完,要么操作失敗回到原始狀態。

    12、JavaMail:顧名思義,存取郵件服務器的API,支持郵件發送服務器SMTP,接收服務器POP3、IMap等。但是其API不怎么好用,底層很強大。所以Spring提供了mail包,封閉了javax.mail,比原生的好用很多。

    13、JAF (JavaBean Activation Framework):是一個專用的數據處理框架,它用于封裝數據,并為應用程序提供訪問和操作數據的接口。JAF的主要作用在于讓java應用程序知道如何對一個數據源進行查看、編輯和打印等操作。就是那個大家經常見到的activation.jar。

    (此處已添加書籍卡片,請到客戶端查看)

    四、各類框架與Java EE的關系

    提到Java EE,就不得不提到各種輕量級框架,Java EE相關的框架又多又復雜,很多人搞不清楚都是干嘛的。但是其實很簡單,Java EE提供的原生功能,很多都不怎么好用,所以程序員們,在基于原生功能基礎上,做了很多封裝,就是把原生的不怎么好用的功能包起來,用更人性的方式讓你使用,然后它再費勁巴拉的去調用原生的框架或者拐個彎實現要用的功能。

    1、表現層框架:表現層框架是用來替代JSP和Servlet的,主要有Struts1、Struts2和Spring MVC。說白了就是JSP和Servlet不太用戶友好,用這兩個框架幫忙給弄得用戶友好些。目前Spring MVC已經成為了主流框架,Struts已經基本沒什么人用了,而隨著前后端分離的快速流行,Spring MVC提供接口,VUE/React等提供展現的開發模式已經越來越流行了。

    2、持久層框架:用來代替原生JDBC,主要有Hibernate、MyBatis/Plus、Spring Data JPA等。他們能讓操作數據庫,數據庫表與實體類的映射,數據庫查詢結果與前端的展現融合變得非常簡單。而不是像JDBC返回一堆數據自己再處理。

    3、全棧式框架:在三層結構的各個部分進行優化。主流即為Spring,以IOC(Inverse Of Control 反轉控制)和AOP(Aspect Oriented Programming 面向切面編程)為內核,提供了表現層MVC和持久層Spring JDBC以及業務層事務管理等眾多的企業級應用技術,還能整合眾多著名的開源第三方框架和類庫,逐漸成為使用最多的JavaEE企業應用開源框架。換句話說,Java EE提供的三層功能,該框架及其容納進來的各種類庫都能給實現了,所以人們現在基本上都只用它。而Spring Boot是在Spring框架基礎上,進行了進一步封裝,變得更加好用了。總結起來,這些框架在Java EE三層結構中的代替關系如下圖所示。

    五、小結

    綜上所述,Java EE的整個技術棧,包括很多種內容,其中最為核心的,就是完全一個企業級應用所需要的展現、業務處理、和數據存儲三層功能。而學習Java EE最基礎的,是在了解其技術源流的基礎上,學習一個能實現企業業務功能的最小技術集。

    這個最小集在多年以前以SSH(Struts、Spring、Hibernate)較為流行,后來升級為Struts2,到后來Struts2漸漸被SpringMVC替換掉,變成了Spring + SpringMVC + Hibernate/ibatis架構。

    之后Hibernate配置維護需要的人力成本大而慢慢被ibatis代替,后來MyBatis出現了,從iBatis到MyBatis,MyBatis提供了更為強大的功能,同時并沒有損失其易用性,就變成為了Spring+SpringMVC+Mybatis,這是很多公司比較流行的框架。

    目前,隨著SpringBoot的流行,開始向SpringBoot+Mybatis/plus架構轉變,而Spring Data Jpa,又在持久層逐漸占領Mybatis/plus的市場。同時隨著微服務的流行,基于SpringBoot的SpringCloud微服務框架開始成為前沿框架。

    總之,對于一名軟件從業人員來說,要掌握一套完整的開發技術棧,然后不斷地嘗試新的前沿技術,從而使自己不被時代所淘汰。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有