2016年1月17日 星期日

一張圖告訴你 最能得到高薪資的 IT 技術


2015 stackoverflow 開發者調查,網址如下:
http://stackoverflow.com/research/developer-survey-2015
調查包括:開發者所在地、年齡、性別、最熱門領域用的程式語言...等。其中調查最能得到高薪資的Top Paying Technologies,利基或新興的科技可以賺大錢,如大數據與雲端運算。由於這方面專業人力的短缺,讓公司願意付出更多錢,雇用擁有最先進技術的的員工。而開發者具備這些利基科技能力,能提升為更優秀的開發者。


從上圖我們也可以看出未來最新IT技術發展趨勢:大數據、Cloud雲端服務、No SQL資料庫、新世代程式語言。關於這些科技的介紹,我們查一下維基百科,介紹如下:

大數據框架
  • Apache Spark
Apache Spark是一個開源叢集運算框架,最初是由加州大學柏克萊分校AMPLab所開發。相對於Hadoop的MapReduce會在執行完工作後將中介資料存放到磁碟中,Spark使用了記憶體內運算技術,能在資料尚未寫入硬碟時即在記憶體內分析運算。Spark在記憶體內執行程式的運算速度能做到比Hadoop MapReduce的運算速度快上100倍,即便是執行程式於硬碟時,Spark也能快上10倍速度。[1]Spark允許用戶將資料加載至叢集記憶體內存,並多次對其進行查詢,非常適合用於機器學習演算法。

  • Apache Hadoop
 Apache Hadoop是一款支援資料密集型分布式應用並以Apache 2.0許可協議發布的開源軟體框架。它支援在商品硬體構建的大型集群上運行的應用程式。Hadoop是根據Google公司發表的MapReduce和Google檔案系統的論文自行實作而成。Hadoop框架透明地為應用提供可靠性和資料移動。它實現了名為MapReduce的編程範式:應用程式被分割成許多小部分,而每個部分都能在集群中的任意節點上執行或重新執行。此外,Hadoop還提供了分布式檔案系統,用以存儲所有計算節點的資料,這為整個集群帶來了非常高的帶寬。


Cloud雲端服務

  • AWS
亞馬遜網路服務系統(英語:Amazon Web Services,簡稱為AWS),由亞馬遜公司所建立的雲端運算平台,提供許多遠端Web服務。Amazon EC2與Amazon S3都架構在這個平台上。在2002年7月首次公開運作,提供其他網站及客戶端(client-side)的服務。至2007年七月為止,亞馬遜公司宣稱已經有330,000名開發者,曾經登入過這項服務。

  • GAE
Google應用服務引擎是一個開發、代管網路應用程式的平台,使用Google管理的資料中心。它在2008年4月發布了第一個beta版本。Google應用服務引擎使用了雲端運算技術。它跨越多個伺服器和資料中心來虛擬化應用程式。Google應用服務引擎在使用者使用一定的資源時是免費的。支付額外的費用可以獲得應用程式所需的更多的儲存空間、頻寬或是CPU負載。

  • Azure

Microsoft Azure是由微軟所發展的一套雲端運算作業系統,用來提供雲端線上服務所需要的作業系統與基礎儲存與管理的平台,是微軟的雲端運算的核心組成元件之一,以及微軟線上服務策略的一部份。Microsoft Azure一開始提供的是平台即服務(PaaS),在2012 Spring Release時,正式開放了基礎設施即服務(IaaS)的相關解決方案。


NO SQL 資料庫

  • Redis

 而Redis是近年來出現NoSQL開源資料庫的一種,並且將資料存放在記憶體中,以提升讀取的效率。對於架設 古典音樂串流網站Muzik Online的希幔科技而言,旗下網站需要應付大量的流量,採用Redis做分散式快取服務有其必要性,希幔科技總工程師曾義峰在Modern Web 2015大會中,分享使用Redis的實戰經驗。

  • Apache Cassandra
Apache Cassandra(社群內一般簡稱為C*)是一套開源分散式NoSQL資料庫系統。它最初由Facebook開發,用於儲存收件箱等簡單格式資料,集 Google BigTable的資料模型與Amazon Dynamo的完全分散式架構於一身。Facebook於2008將 Cassandra 開源,此後,由於Cassandra良好的可延伸性和效能,被Digg、Twitter、Hulu、Netflix等知名網站所採用,成為了一種流行的分 散式結構化資料儲存方案。


新世代程式語言
  •  Scala程式語言
  Scala 是一門多範式的程式語言,設計初衷是要整合物件導向編程和函數語言程式設計的各種特性。Scala執行於Java平台(Java虛擬機器),併兼容現有的Java程式。(Apache Spark 本身就是使用Scala程式語言開發)

  • F#程式語言

F# 是由微軟發展的為微軟.NET語言提供執行環境的程式設計語言,是函數程式語言(FP,Functional Programming),函數程式語言最重要的基礎是Lambda Calculus。它是基於OCaml的,而OCaml是基於ML函式程式語言。有時F#和OCaml的程式是可以互動編譯的。

  •  Rust程式語言
 Rust是一個由Mozilla主導開發的通用、編譯型程式語言。它的設計準則為「安全,並行,實用」,支援函數式,並行式,程序式以及物件導向的編程風格。Rust 語言原本是 Mozilla 員工 Graydon Hoare 的私人計畫,而 Mozilla 於 2009 年開始贊助這個計畫,並且在 2010 年首次揭露了它的存在。也在同一年,它的編譯器原始碼開始由原本的 OCaml 語言轉移到用 Rust 語言,進行 bootstrapping 工作,稱做 rustc,並於 2011 年實際完成。這個可自我編譯的編譯器在架構上採用了 LLVM 做為它的後端。

  • Clojure

Clojure(發音類似"closure")是一套現代的Lisp語言的動態語言版。它是一個函數式多用途的語言。Clojure可以執行於Java虛擬機,通用語言運行時以及JavaScript引擎之上。與其他Lisp一樣,Clojure認為同像性,同時擁有複雜的巨集。

  • Go語言

Go,又稱golang,是Google開發的一種靜態強型別、編譯型,並發型,並具有垃圾回收功能的程式語言。羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜於2007年9月開始設計Go語言,稍後Ian Lance Taylor, Russ Cox加入專案中。Go語言是基於Inferno作業系統所開發的。Go語言於2009年11月正式宣布推出,成為開放原始碼專案,並在Linux及Mac OS X平台上進行了實現,後追加Windows系統下的實作。





本書很適合Python程式設計師學習Spark機器學習與大數據架構,點選下列連結查看本書詳細介紹:
  Python+Spark 2.0+Hadoop機器學習與大數據分析實戰
  http://pythonsparkhadoop.blogspot.tw/2016/10/pythonspark-20hadoop.html

《購買本書 限時特價專區》
博客來網路書店: http://www.books.com.tw/products/0010730134?loc=P_007_090

天瓏網路書店: https://www.tenlong.com.tw/items/9864341537?item_id=1023658
  

露天拍賣:http://goods.ruten.com.tw/item/show?21640846068139
蝦皮拍賣:https://goo.gl/IEx13P 



沒有留言:

張貼留言