Latest Posts

2020年2月11日 星期二

2020資訊業不容忽視的7項技術》市場最熱門、需求量最高、前景最看好的IT技術



聚焦專業 放眼未來

科技領域日新月異且領域廣泛,哪些是2020市場需求量最高的IT工作與技術?在選擇精進技術的路上,切莫漫無目的的學習。聚焦未來工作需求量會越來越高的技術,選擇適合的培訓課程來提升能力,才能創造自己不敗的市場競爭力!


2020年2月6日 星期四

【Android App開發】除了Java以外的新選擇:Kotlin



作者:張益裕 恆逸教育訓練中心資深講師


如果您是一位Android或Java技術開發人員,Groovy、Scala、JRuby或Jython這些JVM Language,或許曾經聽過、看過,甚至已經研究過,不過您可能最後還是回到Java程式語言的懷抱。Java程式設計語言已經二十幾歲了,每一種程式設計語言都有優缺點,程式設計語言的選擇就看您自己未來的工作發展或公司架構,來選擇最適合的程式設計語言。


另一種JVM程式語言

Kotlin是一個比較新的JVM程式語言,它是在2011年7月由JetBrains發表的專案,JetBrains是開發工具IntelliJ IDEA的開發商,Android Studio就是以IntelliJ IDEA為基礎的Android官方開發工具。Kotlin v1.0在2016年2月發表,是第一個由JetBrains發佈的Kotlin正式版本。

Kotlin跟其它JVM程式語言最大的差異,是在2017年5月的Google開發人員大會,發佈Android支援Kotlin為官方的程式設計語言。從Android Studio 3開始,開發人員可以直接使用Kotlin開發Android App。Kotlin在成為Android官方程式設計語言之後,Google大力支援Kotlin程式設計語言,已經成為最受程式開發人員喜愛的程式語言之一。

Kotlin程式設計語言

Java程式設計語言已經廣泛的應用在各種開發技術,包含網頁、行動裝置、桌面與嵌入式應用程式,既然Kotlin是一種JVM程式語言,這表示Kotlin也可以開發所有Java可以開發的應用程式,而且Java與Kotlin可以互相使用,同一個應用程式專案,Java與Kotlin也可以並存。

既然Java與Kotlin具備相同的應用,想要任何Java程式設計師改用Kotlin,當然需要非常充份的理由:

Ø  Kotlin從基礎的語法改良,讓程式碼符合UML格式(例如宣告變數與函式)。
Ø  Kotlin移除Java許多關鍵字(例如finalextends),不過也新增了許多關鍵字(例如openoverride),讓程式碼更清楚、簡單。
Ø  Kotlin程式碼比Java更加精簡,甚至可以減少40%
Ø  Kotlin徹底排除因為null值造成NullPointerException的問題。
Ø  跟其他JVM一樣,Kotlin也不區分CheckedUnchecked Exception
Ø  未來可以直接從Kotlin原始程式碼產生各平台的原生碼,意即不再需要JVM就可以執行應用程式,例如iOSMacOSWindowsLinux平台。

上面的說明只是Kotlin幾個比較明顯的改良與特性。Kotlin程式設計語言部份有程式語言基礎、物件導向、Lambda、高階函式與例外控制,Android部份有應用程式專案架構介紹、設計資源、使用者介面、資料庫存取、廣播、通知與材料設計(Material Design)。

學習Kotlin

恆逸「Kotlin程式設計-Android應用程式開發實務課程包含下列的內容:
1.Kotlin程式設計語言基礎
2.設計函式
3.類別與物件
4.物件導向程式設計
5.列舉型態、常數與資料類別
6.泛型的設計與應用
7.介面與Lambda
8.高階函式的設計與應用
9.例外控制
10.Android應用程式專案介紹
11.規劃與建立使用者介面
12.活動元件與畫面設計
13.應用程式資源設計與使用
14.資料儲存與管理-Android JetPack Room API
15.建立應用程式服務元件
16.設計與使用廣播元件
17.建立系統通知服務
18.開發Firebase雲端應用程式


完成課程後,您可以使用比Java更簡單、更有效率的Kotlin程式設計語言,開發Android應用程式。同時,您將學會下列技能
•    認識Kotlin程式設計語言的架構與應用
•    從Java轉換到Kotlin程式設計語言
•    同時在應用專案中使用Java與Kotlin程式設計語言
•    完整與快速的掌握Android App設計架構
•    使用最新的Android API開發穩定與功能強大的App
•    使用Firebase開發雲端應用程式



學習課程:
【AndKot】Kotlin程式設計-Android應用程式開發實務

2020年2月4日 星期二

【最強前端應用介紹】恆逸資深講師深入解析前端應用




作者:周季賢 恆逸教育訓練中心資深講師


全球知名的question-and-answer網站Stack Overflow共同創辦人Jeff Atwood曾提到:
"Any application that can be written in JavaScript, will eventually be written in JavaScript."
(任何可以使用 JavaScript 撰寫的應用程式,最終都將會以 JavaScript 來撰寫。)

JavaScript為重的設計現象在近幾年來逐漸的浮現,從跨時代的jQuery JavaScript library的出現,造成了一陣JavaScript開發旋風之後,越來越多的開發團隊與跨國IT公司投入了這個領域的開發,進而出現了數量龐大的Web Framework,將以往伺服器端所負責的工作逐漸蠶食鯨吞。其中以下三項技術更是在這兩年來幾乎成為了前端JavaScript開發框架的話題核心,分別為:



Stack Overflow網站在2019年針對專業開發人員所統計的最受歡迎Web Framework中,元老級的jQuery再加上AngularReactVue.js,就囊括了前端開發的前四名(忽略伺服器端開發框架不計)




(圖片來源:https://insights.stackoverflow.com/survey/2019#technology)

這些前端JavaScript開發框架的目的,是為了因應日漸複雜的網頁畫面呈現與互動需求,而提出了各種高彈性、高可用性與前後端分離的網站應用程式解決方案,使用這些前端JavaScript開發框架,可以得到以下的開發優勢:

Ø   前後端分離,後端伺服器只擔任服務提供者,純粹只提供資料。
Ø   易於設計出由前端呈現(client side render)的網站應用程式。
Ø   更易於組織網頁中HTMLCSSJavaScript的結構。
Ø   支援雙向的資料繫結,能夠讓網頁畫面上的視覺化元素與前端所暫存的資料做到雙向即時連動的效果。
Ø  更容易設計單頁應用程式 (SPAsingle-page applications) ,該種網站應用程式類型能夠在當使用者採取動作或在應用程式各區域間巡覽時,也不需重新載入頁面。可以更快速載入、在背景擷取資料、對個別使用者的動作回應更快。

Angular-想開發程式規模較大且功能豐富的網站應用程式

由上圖可知,Angular是除了jQuery之外最受歡迎的前端JavaScript開發框架,如果想開發程式規模較大且功能豐富的網站應用程式,那麼Angular是一個很好的選擇。而在學習該技術之前,會建議先具備以下四種技術的開發能力:
1.        HTML
2.       CSS
3.       JavaScript
4.       TypeScript


Vue.js-想開發單頁應用程式

而在上圖中的另一個不可忽視的新星則是Vue.js,該技術在stackoverflow網站在2019年針對開發人員所統計的最喜歡Web Framework中,高居第二名的名次,如下圖:

(圖片來源:https://insights.stackoverflow.com/survey/2019#technology)

另外,在微軟的Github軟體開放原始碼代管服務中,Vue.jsstar標記數量第三,成為Github史上最受歡迎的專案之一,由此可見Vue.js熱門程度之高,如下圖:


(圖片來源:https://github.com/search?p=1&q=stars%3A%3E1&s=stars&type=Repositories)

相較於另外兩個前端JavaScript開發框架明星而言,Vus.js可以說是相當輕量化且靈活的一款產品,除了學習門檻較低之外,Vue.js也是一套漸進式的開發框架,開發者可以決定將其基本功能導入,或是將其核心與生態系統深植到正在開發的網站應用程式之中。

如果希望能夠開發單頁應用程式 (SPAsingle-page applications),並且能以較低的學習曲線來接觸雙向資料繫結型的前端JavaScript開發框架,那麼Vue.js是相當建議的一個選擇。而在學習該技術之前,會建議先具備以下三種技術的開發能力:
1.        HTML
2.       CSS
3.       JavaScript

當然不見得所有的網站應用程式都需要使用上述的前端JavaScript開發框架來做開發,但是如果希望能夠將畫面呈現與互動的開發重心移轉至Client端並且加強其效果,那麼這些框架會是非常好的開發利器。




想了解更多相關課程:


2019年12月17日 星期二

【雲端技術篇】AWS雲端上的關聯式資料庫

文/洪朝欽 恆逸教育訓練中心資深講師
Amazon Web Services (AWS)是由Amazon公司所建立的雲端運算平台,提供運算能力、資料庫儲存、內容交付及各種企業需要的IT功能,具有高度安全、可靠性、可擴展性、低成本等等特性。AWS目前的基礎架構遍及美洲、亞洲、歐洲、澳洲,有16個實體區域(Region)和70個以上的節點(Edge Location),且有上百萬名的活躍客戶,使用其雲端產品與解決方案來建立具有高度彈性的複雜應用程式。


以一般企業客戶常需要的關聯式資料庫(Relational Database)來說,AWS提供了幾個選項,幫助客戶快速佈署,例如Elastic Compute Cloud (EC2)和Relational Database Service (RDS)。另外還有Database Migration Service (DMS),可以將客戶現有的資料庫複寫或遷移到RDS。

Elastic Compute Cloud (EC2)是AWS上的虛擬機器服務,客戶可以在眾多已安裝好的Linux或Windows作業系統中選擇適合的版本,然後再挑選需要的虛擬硬體規格,在短短數分鐘裡便能擁有一台可以工作的環境。客戶擁有作業系統完全的管理權限,和自己建置維護的環境一樣。如果日後系統負載增加,需要更多更快的硬體資源,也只需要點幾下滑鼠,就可以有更多的CPU/RAM或更快的硬碟,而不需要一開始就投入大量的經費購買硬體。

然而資料庫平日的維運有許多繁雜而重覆的工作,例如軟體更新及日常備份等等,因此AWS將這些維運的工作接手,將關聯式資料庫包裝成服務,讓客戶可以專注在資料庫的使用上,這就是Relational Database Service (RDS)。RDS目前提供了六種常見的資料庫引擎,包括Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle、Microsoft SQL Server,除了軟體更新、日常備份作業以外,連要做到高可用性也只需簡單的選取一個功能:Multi-AZ,便可以在同一個區域的兩個不同實體機房做到Active/Standby的備援機制。甚至其中一部分資料庫引擎,如Amazon Aurora、PostgreSQL、MySQL、MariaDB,在需要增加讀取效能的情況下,也能快速的建立僅供讀取的複本:Read Replicas。


以下是在傳統實體機房、Amazon EC2、Amazon RDS使用關聯式資料庫的比較表:

實體機房
Amazon EC2
Amazon RDS
應用程式最佳化
客戶管理
客戶管理
客戶管理
擴充性
客戶管理
客戶管理
AWS管理
可用性
客戶管理
客戶管理
AWS管理
資料庫備份
客戶管理
客戶管理
AWS管理
資料庫軟體更新
客戶管理
客戶管理
AWS管理
資料庫軟體安裝
客戶管理
客戶管理
AWS管理
作業系統更新
客戶管理
客戶管理
AWS管理
作業系統安裝
客戶管理
AWS管理
AWS管理
伺服器維護
客戶管理
AWS管理
AWS管理
機架上架
客戶管理
AWS管理
AWS管理
電源及網路
客戶管理
AWS管理
AWS管理

雲端運算的優點之一,就是善用服務提供者已經建置完成的服務,而不需要再從底層自己搭建。把這些人力時間節省下來,專注於對自己公司最有價值的內容,可以大大的提升業務競爭力!

Amazon Web Services規劃服務課程傳送門【AWAR】Architecting on AWS

2019年12月11日 星期三

AI人工智慧的美麗與哀愁





AI即服務-AIaaS(AI as a Service)

AI(人工智慧)在1950年代即提出,歷經兩次人工智慧寒冬的磨練,在2014又開始第三次人工智慧的黃金年代,而這次人工智慧浪潮與前兩次的差別在於哪裡?會不會再次進入人工智慧寒冬?
首先此次人工智慧的黃金年代由大數據、雲端運算所建構的基礎架構搭配基於神經網路演算法的深度學習所領銜,為各行各業提供多式各樣的AI應用,較之前兩次人工智慧黃金年代有更多的資料與運算能力。

2019年12月9日 星期一

【網路系統趨勢篇】Red Hat Enterprise Linux 8.0 來了

文/陳勇勳 恆逸教育訓練中心資深講師
2019/05/07這一天Red Hat Enterprise Linux 8.0正式釋出,在這個版本中Red Hat重新定義了作業系統,也重新刻劃了Linux未來的發展藍圖,Any Cloud、Any WorkLoad、One OS正是Red Hat Enterprise Linux 8.0被賦予的新生命。

Red Hat Enterprise Linux 8.0對於雲端環境的支援更為全面化,不管是AWS、Google、Alibaba、Azure或IBM Cloud都已全面支援;而是Iaas(Red Hat OpenStack)或是Paas(Red Hat OpenShift)或是Private Cloud、Public Cloud及Hybrid Cloud也都是Red Hat Enterprise Linux 8.0的重點支持對象。Red Hat也不忘對企業伺服器持續加持,在這個版本中除了加強系統的安全性之外,還導入了新的安全機制,例如LUKS2的磁碟加密系統、新一代的防火牆nftables等,虛擬化技術也新增了新的虛擬平台,還導入了新的管理介面Cockpit。Cockpit可以讓管理者更為方便的透過瀏覽器介面來管理系統及虛擬機器,也可讓對Linux系統不熟悉的一般使用者來操作系統,如變更密碼等行為。最令系統管理員感到窩心的就是那YUM套件管理系統的改變,在新的套件管理系統中YUM允許相同一個套件同時存在多個重大改版,例如postgresql 9.x及postgresql 10.x。

為了降低系統管理員在持續擴大的IT環境及雲端環境中的管理負擔,Red Hat Enterprise Linux 8.0導入了Ansible的管理系統,Ansible可以簡化重複性的工作也可以避免不必要的錯誤,例如在一個集群或雲端環境中我們需要部署100台Web Service,我們只需要將Ansible的命令稿(Playbook)寫好再交由Ansible去執行即可,而且可以保證每一台Web Service的內容完全一致、分毫不差。Ansible除了可以管理部署Linux系統之外,Windows系統及網路設備(Switch、Router、NLB、IDS、IPS等)也可以一併加入管理的行列。

IOT方面Red Hat更是沒有缺席,Red Hat Enterprise Linux 8.0開始支援ARM平台,對於IOT有興趣的系統管理人員,甚至可以在Red Hat Enterprise Linux 8.0上開發IOT系統,結合大數據來對機房進行管控,例如機房温度與冷氣系統的調節等。

因此,不論是對於RHCE的舊生,或是正想要考取RHCE認證的人來說,Red Hat Enterprise Linux 8.0都是您今年可以學習的目標。



📌推薦進修課程
【RHCE】Red Hat紅帽RHCE認證課程


【資訊安全解決方案篇】恆逸達人教你挑對趨勢,挑戰最火的實戰技能!


資訊爆炸、最新技術百百種,到底什麼才是你真正需要的? 該選有潛力的新秀、還是CP值高的明星,才能突圍致勝、奪得先機?

恆逸講師群精選最具發展潛力與後勢持續看好的大數據資料應用雲端應用前端應用資訊安全解決方案Kotlin程式設計 Ansible Kubernetes等最新趨勢與技術,幫你快速掌握要領,更給你如何實戰養成的學習方向,讓你可依據現有工作或想從事的領域,打造最適合你的職場應用必殺技!



▍資訊安全解決方案篇

作者:馮智偉 恆逸教育訓練中心資深講師