1. 程式人生 > >史上最全開發技能圖譜

史上最全開發技能圖譜

本文get了當下最熱門的技術要點,每個技術圖譜都依據現有的知識結構,精心篩選整理而成,我們極力推薦分享給身邊的技術人兒。希望這份技術知識圖譜能夠幫助到每一位奮鬥在技術路上的小夥伴。

 

作業系統

管理和控制計算機硬體與軟體資源的計算機程式,是直接執行在“裸機”上的最基本的系統軟體,任何其他軟體都必須在作業系統的支援下才能執行。

 

 

 

Android

Android是一個基於Linux核心的移動作業系統,由Google成立的Open Handset Alliance(OHA,開放手持裝置聯盟)持續領導與開發,主要設計用於觸控熒幕移動裝置如智慧手機和平板電腦。 

 

Java SE

Java SE是Java平臺標準版的簡稱,用於開發和部署桌面、伺服器以及嵌入裝置和實時環境中的Java應用程式。Java SE包括用於開發Java Web服務的類庫,同時,Java SE為Java EE提供了基礎。 

 

Java

Java中動態Web資源開發技術統稱為Java Web。其最大用途就是Web應用的開發,可以不用考慮系統平臺的差異,在一種系統下開發的應用系統,不加任何修改就能執行在另一種不同的系統中。 

 

Java EE

Java EE,全稱Java 2 Platform Enterprise Edition。該平臺使用分散式多層應用模型來建立企業級應用,主要用來開發“分散式應用”以及“網際網路應用” 。 

 

 

 

計算機網路

利用通訊裝置和線路將地理位置不同、功能獨立的多個計算機系統互聯起來,以功能完善的網路軟體實現網路中資源共享和資訊傳遞的系統,它是計算機基礎知識的重要分支。

 

 

 

 

演算法與資料結構

資料結構是計算機儲存、組織資料的方式,精心選擇的資料結構可以帶來更高的執行或者儲存效率。演算法是一系列解決問題的清晰指令,代表著用系統的方法描述解決問題的策略機制。兩者均是研發工作的基礎。

Linux

Linux是一個免費的,基於POSIX和Unix的多使用者、多工、支援多執行緒和多CPU的作業系統。它支援32位和64位硬體,且繼承了Unix以網路為核心的設計思想,是一個性能穩定的多使用者網路作業系統。

 

 

iOS

iOS是由蘋果公司開發的移動作業系統。原名叫iPhone OS,因為iPad,iPhone,iPod touch都使用iPhone OS,所以2010 WWDC大會上宣佈改名為iOS。

React

React是一個Facebook和Instagram用來建立使用者介面的JavaScript庫,用於構建“可預期的”和“宣告式的”Web使用者介面。 該框架的推出主要為了開發隨著時間資料不斷變化的大規模應用程式。 

 

 

 

React Native

React Native是一款基於JavaScript框架React.js來開發iOS和Android原生App的開源框架,著力於提高多平臺開發的開發效率——僅需學習一次,編寫任何平臺。 

 

 

HTML5

HTML5是HTML最新修訂版本,2014年10月由全球資訊網聯盟(W3C)完成標準制定。其設計目的是為了在移動裝置上支援多媒體。它簡單易學,且增加了很多有趣新特性。 

 

 

大型網站架構

剖析大型網站技術架構模式,深入講述大型網際網路架構設計的核心原理,全面介紹大型網站架構需要的方方面面知識/技術。

Git

Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。與常用的版本控制工具 CVS、Subversion等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支援。 

 

 

Swift

Swift是一門新的程式語言,用於編寫iOS和OS X應用程式。它結合了C和Objective-C的優點並且不受C相容性的限制。它使用安全的程式設計模式並添加了很多新特性,使程式設計更簡單,擴充套件性更強更有趣。

 

 

 

嵌入式開發

嵌入式系統開發,即對於除了電腦之外的所有電子裝置上作業系統的開發,開發物件有手機、掌上電腦、機電系統等。常用嵌入式系統包括WinCE、Linux、Android等,程式語言可採用C、C++或組合語言。

 

 

微信開發

微信開發即微信公眾平臺開發,將企業資訊、服務、活動等通過微信網頁的方式表現。開發者利用微信開放的技術介面可進行二次開發,將公眾賬號由一個媒體型營銷工具轉化成提供服務的產品。

 

 

虛擬現實(VR)

虛擬現實是一種可建立和體驗虛擬世界的計算機系統,它綜合利用計算機圖形系統和各種現實及控制等介面裝置,在計算機上生成的、可互動的三維環境中提供沉浸感覺的技術。

直播技術

中國已在2016年進入直播時代,這種成本低廉、互動性高、部署便捷、穩定可靠的方式,最初侷限於遊戲直播和線上聊天,而現在泛生活類、娛樂類直播開始逐漸流行。

 

 

 

區塊鏈

區塊鏈(Blockchain),比特幣背後的技術,無需中心伺服器,可實現各類儲存資料公開、透明、可追溯。 

 

 

 

深度學習

深度學習的概念源於人工神經網路的研究,含多隱層的多層感知器就是一種深度學習結構。它是機器學習研究的一個新領域,模仿人腦機制來解釋資料。

機器學習

機器學習是研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。它是人工智慧的核心,是使計算機具有智慧的根本途徑。

 

 

軟體測試

軟體測試是在規定條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。它是幫助識別開發完成的計算機軟體的正確度、完全度和質量的軟體過程。是SQA的重要子域。 

 

 

.NET

.NET Framework是微軟用於Windows的新託管程式碼程式設計模型,是一個 Microsoft Windows元件,使用者可通過各種分發渠道獲得它。 

C

C語言是一門通用計算機程式語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

 

C++

C++是在C語言基礎上開發出的一種面向物件程式語言。其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一。

 

C#

C#為由C和C++衍生出來的面向物件的程式語言。其綜合了VB簡單的視覺化操作和C++的高執行效率,憑藉強大的操作能力、優雅的語法風格、便捷的對面向元件程式設計的支援,成為了.NET開發的首選語言。 

 

Scala

Scala是一種多正規化程式語言。它繼承了多種語言中的優秀特性,它既支援面向物件的程式設計方式,也支援函數語言程式設計。它執行在Java虛擬機器上,輕鬆實現和豐富的Java類庫互聯互通。 

 

Go

Go是Google開發的一種編譯型,可並行化,並具有垃圾回收功能的程式語言,並且它還是開源的。使用Go編譯的程式可以媲美C或C++程式碼的速度,而且更加安全、支援並行程序。 

 

Objective-C

Objective-C是擴充C的面向物件程式語言。它主要使用於Mac OS X和GNUstep這兩個使用OpenStep標準的系統,而在NeXTSTEP和OpenStep中它更是基本語言。 

 

PHP

PHP是一種通用開源指令碼語言,語法吸收了C、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。它支援幾乎所有流行的資料庫以及作業系統,並可使用C、C++進行程式擴充套件。 

 

 

Python

Python是一種面向物件、解釋型計算機程式設計語言,語法簡潔清晰,具有豐富和強大的庫。在設計上堅持清晰劃一風格,使得它成為一門易讀、易維護,並且被大量使用者所歡迎的、用途廣泛的語言。 

 

 

Rust

Rust是Mozilla公司推出的一門全新的程式語言,並希望成為一門系統程式語言,執行效能高、避免幾乎所有的段錯誤和保證執行緒安全。這意味著該語言可以用於建造高效可靠的系統。 

 

JavaScript

JavaScript是一種屬於網路的指令碼語言,已經被廣泛用於Web應用開發,常用來為網頁新增各式各樣的動態功能,為使用者提供更流暢美觀的瀏覽效果。 

AngularJS

AngularJS是一款優秀的前端JS框架,已被用於Google的多款產品當中。該框架有著諸多特性,最為核心的是:MVVM、模組化、自動化雙向資料繫結、語義化標籤、依賴注入等等。 

 

jQuery

jQuery為一個相容多瀏覽器的JavaScript庫。它免費、開源,使用MIT許可協議。其語法設計可使開發更加便捷,提供API讓開發者可編寫外掛。利用它,開發者可輕鬆開發出功能強大的靜態或動態網頁。

 

 

 

Node.js

Node.js為基於Chrome JavaScript執行時建立的平臺, 可用於搭建響應速度快、易於擴充套件的網路應用。它使用事件驅動,非阻塞I/O模型而得以輕量和高效,非常適合在分散式裝置上執行的資料密集型的實時應用。 

 

 

 

Hadoop

Hadoop是一個由Apache基金會所開發的分散式系統基礎架構。使用者可在不瞭解分散式底層細節的情況下,開發分散式程式。充分利用叢集的威力進行高速運算和儲存。 

 

Docker

Docker是一個開源、可以將任何應用包裝在“LXC容器”中執行的工具。如果說VMware、KVM包裝的虛擬機器,那該工具包裝的則是應用。它是一個實至名歸的PaaS。

 

 

Spark

Spark是當前最流行的開源大資料記憶體計算框架,用Scala語言實現,由UC伯克利大學AMPLab實驗室開發並於2010年開源。以通用、易用為目標,高速發展後成為最活躍的Apache開源專案。

 

Hive

Hive是基於Haduoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce的任務進行執行。

 

Oracle

Oracle Database 簡稱Oracle,是甲骨文公司的一款關係型資料庫管理系統。具有系統可移植性好、使用方便、功能強等特點,使用與各類大中小微機環境。

 

 

資訊無障礙

資訊無障礙,即任何人在任何情況下都能平等的、方便的、無障礙的獲取、利用資訊。其包括兩個主要範疇:電子和資訊科技無障礙及網路無障礙,並遵循國際標準WCAG2.0

 

Redis

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。特點是高效能、持久儲存,適應高併發的應用場景。

 

MySQL

MySQL是最流行的關係型資料庫管理系統,在Web應用方面是最好的RDBMS應用軟體之一,作為開放原始碼軟體,可大大降低總體擁有成本,因其社群版的效能卓越,搭配PHP和Apache可組成良好的開發環境。

 

Unity3D

Unity 3D是一個可以讓玩家輕鬆建立諸如三維視訊遊戲、建築視覺化、實時三維動畫等型別互動內容的多平臺的綜合性遊戲開發工具,是一個全面整合的專業遊戲引擎。

 

Cocos引擎

Cocos引擎是由觸控科技瑞出的遊戲開發一站式解決方案,包含了從新建立項、遊戲製作、到打包上線的全套流程。開發者可以通過Cocos快速生成程式碼、編輯資源和動畫,最終輸出合適於多個平臺的遊戲產品。

 

OpenCV

OpenCV基於BSD許可(開源)髮型的跨平臺計算機視覺庫,可執行在Linux、Windows和Mac OS上,輕量級而且高效,提供了Python、Ruby、MATLAB等語言介面,實現了影象處理和計算機視覺方面的很多通用演算法。

 

 

Bluemix

Bluemix是一種開放式標準的雲平臺,用於構建、執行和管理應用程式與服務。它建立在Apache開源專案Cloud Foundry之上,並提供了IBM及合作伙伴開發的高質量的服務供IT從業人員使用。

 

敏捷

敏捷是以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發、管理。它是針對傳統的瀑布開發模式的弊端而產生的一種新的模式,目標是提高生產效率和影響力。