azure


免費學習,考證免費!不要錯過微軟 2023 Build 大會的 Cloud Skill Challenge - Bonus 我的 Tibame 課程也能夠免費

免費學習,考證免費!不要錯過微軟 2023 Build 大會的 Cloud Skill Challenge - Bonus 我的 Tibame 課程也能夠免費

免費學習,考證免費!不要錯過微軟 2023 Build 大會的 Cloud Skill Challenge - Bonus 我的 Tibame 課程也能夠免費

一年一度的微軟的 Build 大會又來了,每年少不了的就是 Cloud Skill Challenge

既可以學習,又可以免費考取微軟雲端 Azure 的證照,不趁著這個時候開始你的 Azure 專家之旅還要等什麼時候

最多可以節省到將近萬元台幣,怎麼做呢?請看內文

題外話:有人會希望我開 Youtube 帶大家過挑戰內容嗎?如果會,留言告訴我你對那個挑戰有興趣,說不定我就開了


Azure Savings Plan 和 Azure Reservation (Reserved Instances) 傻傻分不清楚

圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

要導入任何服務或者軟體之前,評估它的成本 (費用) 以及效益是說服老闆的最關鍵的一件事。

以 Azure 來說,以前有所謂的 Azure Reservation (Reserved Instance) 可以省到 62% 之多,所以如果有穩定使用的機器規格,不開 Reserved Instance 說不過去。

既然有了它,怎麼還會有另外一個所謂 Savings Plan 呢?

這篇來簡單的探討一下兩個的不同之處,以及什麼時候適合用什麼


00-a 用 Azure Portal 管理資源 | AZ-104 課程 Lab 操作

這個系列是 AZ 104 的線上課程裡面所規劃的 Lab 用圖文方式呈現出要如何完成

這個 Lab 的主要目的是讓學生熟悉如何使用 Azure Portal 去做資源管理

在這個 Lab 裡面總共有 3 個任務:

  1. 任務 1:建立Resource Group並將資源部署到Resource Group
  2. 任務 2:在Resource Group之間移動資源
  3. 任務 3:實現和測試資源鎖

image.png


如何避免 Azure 服務中斷 - 從 2月的當機事件來看看基本的高可用概念

在今年的 02/07 到 02/09 號之間,在 Southeast Asia 和 East Asia 這兩個 region 的服務都有受到影響,甚至導致資源無法存取

剛好藉著這個事件,我們這篇來探討一下在 Azure 裡面最基本的高可用(High Availability)概念,也就是 Regional、Availability Zone 和 Availability Set

取決於應用的等級,應該用什麼等級的高可用,這篇我們來看一下

TL;DR;

功能 Azure Region Availability Zone Availability Set
定義 包含一個或多個資料中心的地理區域 擁有獨立電力和網路的單一資料中心 在資料中心內的虛擬機器的邏輯分組
目的 - 能夠部署應用在更靠近使用者的地方
- 提供高可用
提供更高的高可用 提供高可用
SLA 保證 99.99% 的運行時間 每個 Zone 保證 99.99% 的運行時間 每個 Set 保證99.95% 的運行時間
隔離 與其他 Region 隔離,擁有獨立資源 與其他 Zone 隔離,擁有獨立資源 多台 VM 橫跨在多個 Fault Domain
費用 價格因 Region 而異 除 VM 和儲存空間外,無額外費用 除 VM 和儲存空間外,無額外費用
VN11-JD8 事件的影響 East Asia Region 的部分服務受到影響 如果有部署到 2 個或以上 Zone 的服務受到服務影響 部署到有影響的 Datacenter 應用因此受到服務中斷

如何在 Azure Virtual Machines 加上 Public IP

在上一篇 為什麼我的 Azure Windows Virtual Machine (虛擬機器) 連線不到?故障排除指南指南 | FAQ 其中有提到,如果在建立過程把 Public IP 拿掉的話,那麼最後當然就不會建立出來,那麼就只透過內網的 Private IP 來連線

不過建立完之後,想要加載 Public IP Address 會怎麼做呢?

這篇我們來看一下

image

建立 Azure VM 會詢問是否建立 Public IP。預設都是會建立

為什麼我的 Azure Windows Virtual Machine (虛擬機器) 連線不到?故障排除指南指南 | FAQ

對於任何第一次上手任何雲端服務的時候,第一件事估計都是建立出 Virtual Machine (虛擬機器),算是雲端的 Hello World 吧。

這個時候,如果遇到無法連線(這邊的連線指的是透過 Remote Desktop Protocol)進去估計會很沮喪,導致撞墻不想繼續下去。

到底為什麼連不到

到底為什麼連不到

我這篇想要先介紹一下,如果遇到這件事,可以從什麼角度去嘗試排除問題。

這邊主要是會以 Azure 的 Windows VM,不過基本概念在任何雲端平台都是一樣的概念。


使用 Azure VM Comparison 來找出類似規格的 VM

上一篇 我們看了如何從需求的角度來找出適合的 VM 規格

不過假設今天是要反過來呢?

也就是假設已經有用了某個規格,想要知道有沒有更好的規格那怎麼辦呢?

今天介紹的 Azure VM Comparision 就是要解決這個問題

來看看怎麼使用




怎麼可以避免資源被誤刪?所有 Production 環境都應該要上 Resource Lock

當真的開始要在正式環境管理 Azure 資源的時候,就會開始遇到一些管理上面的問題

舉例來說,不應該給權限的就不應該要給。譬如說假設某些人員不應該有刪除的權限,那麼就不應該給他

但是假設今天是他本來就應該有權限,但是不小心誤刪怎麼辦?

或者說把 Production 機器誤以為 QA 環境結果把機器給關機了怎麼辦?

這個時候就不是設定權限給太大的問題

這時候就應該要好好利用 Resource Lock

這篇,來看一下 Resource Lock 是什麼以及該怎麼用


Cloud Native App 是什麼? | AZ-204 在考什麼

01 Cloud Native Application 是什麼?AZ-204 在考什麼

Cloud Native App 是什麼,AZ-204 在考什麼

以前有考過微軟和開發相關證照的人一定會對於像是 70-483 或者 70-486 這種代碼有印象(如果沒看過很好,表示還年輕 XD),那種證照比較專注於實際怎麼開發,但是大家會發現那些現在都 retire 掉了。

而微軟目前和開發比較沾上邊的就只有 AZ-204:Developing Solutions for Microsoft Azure。

而 AZ-204 最主要的講的就是怎麼做出 Cloud Native App。

當大家在搜尋和雲端開發相關知識的時候,相信也常常會看到 Cloud Native Application 或者雲原生應用這個名詞。

這個到底指的是什麼?什麼 Application 才算是 Cloud Native App?

這篇我們來簡單看一下這個概念。


[04] Load Balancer (負載平衡) 相關服務 | [挑選適合的 Azure 服務]

azure-load-balancer-chose.jpg

Load Balancer 相關服務

上雲的其中一個好處是能夠善用它的彈性 (elasticity),也就是當流量變大的時候,要做 scale out 的時候可以很容易做到。

還有另外一個優點是可以善用跨 region 的好處,讓服務可以部署到不同 region,靠近使用著所在的位置,以及提供 High Availability (HA,高可用)

不管是為了 scale,還是速度或者是 HA,這時候 Load Balancer (負載平衡) 就變得很重要。

那挑選什麼 Load Balancer 也變得很重要,這篇來看一下相關可以使用的服務。



[02] 查找 Azure 服務資訊的網站 - 包含客戶案例、學習資源以及架構圖等 | [挑選適合的 Azure 服務]

02 查找 Azure 服務資訊的網站 - 包含客戶案例、學習資源以及架構圖等.jpg

查找 Azure 服務資訊的網站

有時候自己已經聽過或者知道某個服務,但是想要找一些參考資料做學習或者看相關的架構文件,有時候沒有那麼容易可以找到。

在這篇將會介紹一個網站叫做:Azure Charts,這個網站可以讓我以服務的角度快速找到相關資訊。

來看看能夠做到什麼。


[01] 開篇 | [挑選適合的 Azure 服務]

挑選適合的 Azure 服務01 開篇.jpg

開篇

Azure 服務這麼多,到底什麼情況下可以挑選什麼,是這個系列想要介紹的內容。

舉例來說,今天我有運算相關需求,到底什麼時候要用 VM 什麼時候要用 App Service,或者什麼時候應該要用 Container Instance。

這些問題應該是要結合當下的情景,然後再來作出挑選。

那這些情景應該用什麼條件做判斷?


[11] 透過 Azure Sandbox 建立出 Azure SQL Database | [從 Microsoft Learn 學 Azure]

[從 Microsoft Learn 學 Azure][11] 透過 Azure Sandbox 建立出 Azure Sql Databse.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([10] 關聯式資料庫及大數據分析服務介紹 - MSSQL、MySQL、PostgreSQL、HDInsight 、 Synapse Analytics [從 Microsoft Learn 學 Azure]) 介紹了有那些關聯式資料庫的服務以及 Big Data 服務之後。

這篇要實際建立看看 - 看一下要建立出一個 Azure Sql Database 需要做什麼。

那如果遇到過啟用 Azure Sandbox 但是還是進入了自己的 Subscription 也不用慌,這次一次一起介紹。


[10] 關聯式資料庫及大數據分析服務介紹 - MSSQL、MySQL、PostgreSQL、HDInsight 、 Synapse Analytics | [從 Microsoft Learn 學 Azure]

[從 Microsoft Learn 學 Azure][10] PaaS 關聯式資料庫介紹 MSSQL、MySQL、PostgresSQL.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([09] NoSQL 存儲 - Azure Cosmos DB 介紹 | [從 Microsoft Learn 學 Azure]) 看完了 Azure Cosmos DB 這個 NoSQL 的服務之後。

接下來看看對於常見的關聯式資料庫 (RDMS) 這個部分 Azure 有什麼服務可以使用。

以及近幾年非常流行的大數據、AI 等,這些大數據存儲或者分析可以用什麼服務處理。

這篇將會介紹到:MSSQL、MySQL、PostgreSQL、Azure HDInsight、Azure Synapse Analytics 等服務。


[09] NoSQL 存儲 - Azure Cosmos DB 介紹 | [從 Microsoft Learn 學 Azure]

[從 Microsoft Learn 學 Azure][09] NoSQL 存儲 - Azure CosmosDB 介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([08] 透過 Azure Sandbox 建立第一個 Azure 服務 - WordPress 網站 | [從 Microsoft Learn 學 Azure]) 透過 Azure Marketplace 建立出一個 App Service 運行 WorodPress。

在那個過程了解了實物上什麼是 Subscription、Resource、Resource Group 等 Azure 最基本的核心的概念。

完成了上面的 Module 之後,剛好完成了 Learning Path:Azure Fundamentals part 1: Describe core Azure concepts

在接下來,將會開始進入下一個 Learning Path:Azure Fundamentals part 2: Describe core Azure services

在這個 Learning Path,將會看最核心的幾個服務:compute (運算)、storage (存儲)、network (網路)。

先從 storage 開始 - 看 No Sql 服務 Azure Cosmos DB。


[08] 透過 Azure Sandbox 建立第一個 Azure 服務 - WordPress 網站 | [從 Microsoft Learn 學 Azure]

[從 Microsoft Learn 學 Azure][08] 建立第一個 Azure 服務 - WordPress 網站.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

上一篇 ([從 Microsoft Learn 學 Azure][07] 搞懂基本管理結構 - Subscription、Resource Group 以及 Region) 看完了一些 Azure 基本的組成概念,包含了 Subscription、Management Group、Resource、Resource Group、Region 等最基本的概念之後。

接下來在這個 Module 裡面,我們將實際透過 Azure Marketplace 建立出一個在 Web App 上面的 WordPress 網站。

在這個過程將會把之前提到的那些基本組成概念,在實務上面都看一遍。


[從 Microsoft Learn 學 Azure][07] 搞懂基本管理結構 - Subscription、Resource Group 以及 Region

[從 Microsoft Learn 學 Azure][07] 搞懂基本管理結構 - Subscription、Resource Group 以及 Region.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([從 MS Learn 學 Azure][06] 應用第一個 Module 學習到的內容 - Discuss Azure fundamental concepts) 把第一個 Module 的內容在次應用了一下,以 Case Study 情境列出了雲端運算 (cloud computing) 裡面的特色以及優劣之後。

在這篇將會看看更靠近 Azure 入門時候會遇到的問題。

什麼是 Subscription、Management Group、Resource、Resource Group、Region 以及 Region Pair。


[從 Microsoft Learn 學 Azure][06] 應用第一個 Module 學習到的內容 - Discuss Azure fundamental concepts

[從 Microsoft Learn 學 Azure][06] 應用第一個 Module 學習到的內容 - Discuss Azure fundamental concepts.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([從 Microsoft Learn 學 Azure][05] 第一個 Module 下篇 Introduction to Azure Fundamentals - 了解 Azure 服務及基本概念) 結束之後,對於 Cloud Computing (雲端運算) 應該就很有感覺了。

那接下來看的有點像是複習,但是有點不太一樣是針對 Azure 的部分,在做一些深入的討論。

這篇來看一下第二個 Module:Discuss Azure fundamental concepts


[從 Microsoft Learn 學 Azure][05] 第一個 Module 下篇 Introduction to Azure Fundamentals - 了解 Azure 服務及基本概念

[從 Microsoft Learn 學 Azure][05] 第一個 Module 下篇 Introduction to Azure Fundamentals.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([從 Microsoft Learn 學 Azure][04] 第一個 Module 上篇 Introduction to Azure Fundamentals - 了解 Cloud Computing 基本概念) 看了第一個 Module Introduction to Azure Fundemental。

看了第一個部分,裡面介紹了所謂的 Cloud Computing 的基本概念 - 為什麼會想要從地端搬到雲端。

接下來在這個 Module 的下半段就是在介紹 Azure 有什麼類型的服務可以使用。



[從 Microsoft Learn 學 Azure][03] Microsoft Learn 登入帳號有什麼好處?

[從 Microsoft Learn 學 Azure][03] Microsoft Learn 登入帳號有什麼好處?.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([02] Microsoft Learn 的基本組成 - 如何找到有興趣的內容或者考證照學習資源) 了解了如何找到有興趣的 Module 以及 Learning Path,並且如果今天是考認證的角度,也可以用認證的方式找到適合的資源。

到目前為止,就算不登入的情況下也可以學習,那這樣為什麼會想要登入呢?

這篇來看一下登入之後可以做什麼。


[從 Microsoft Learn 學 Azure][02] Microsoft Learn 的基本組成 - 如何找到有興趣的內容或者考證照學習資源

[從 Microsoft Learn 學 Azure][02] Microsoft Learn 的基本組成 - 如何找到有興趣的內容或者認證學習資源.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇 ([從 Microsoft Learn 學 Azure][01] 這個系列想要介紹什麼?) 介紹了這個系列的初衷,以及這個系列會介紹什麼之後,下一步當然就要來了解一下我們會主要使用到的學習系統,Microsoft Learn

這篇來看一下,想要透過 Microsoft Learn 學習需要什麼,以及整個的網站是透過什麼方式來組成,了解到 Module (模組),Learning Path (學習途徑),以及怎麼找到自己感興趣的內容。


[從 Microsoft Learn 學 Azure][01] 這個系列想要介紹什麼?

[從 Microsoft Learn 學 Azure] 這個系列想要介紹什麼?.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

時間過得好快呀,一眨眼一年又過去了,又到了今年鐵人賽開始的時間。

在去年的時候,用了影片的方式建立了「我和 Azure 有約」系列

那個系列是從無到有的介紹一些 Azure 常會使用到的服務。

這個過程其實也蠻好玩的,從一開始音質非常不 ok,然後調整到了之後,買了麥克風等等,到最後現在音質應該比較沒問題。

那今年我其實也有考慮過是否把那個系列繼續下去,但是後來想一下,還是想說開另外一個系列(不過不太表那個系列不會繼續下去 XD),不過為什麼會想要開這個系列呢?

這篇我們來看一下,並且看看這個系列要做什麼事情。


[活動] 2020 Study4 8 Dev 8月活動 - 架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務

00.pngStudy4Deb 8月活動

好久沒有參加/舉辦 Study4 的活動了,這次由 Poy 大大邀約想要做一次 Study4 的線上和線下的結合活動。

也就是說,有線上直播的同時,也有現場的觀眾。

這次有幸能夠擔任其中一個講者,主題是:架構這件事 - Azure 可以幫助什麼

這篇就來記錄一下當天的情況。


[微軟證照][04] 怎麼在家或者辦公室進行線上考試


封面

在上一篇 ([03] 怎麼申請考試) 介紹了如何申請考試之後,理論上應該是先介紹有那些資源可以用來準備考試。

不過,剛好有人在 FB 問我說如果想要線上考試,應該怎麼做。

所以,我調整了一下順序,先和大家介紹一下要考試的時候,要準備什麼,以及大概流程是如何。

這篇先從如果是要在家裡或者在辦公室考試,要準備什麼。


[我和阿九(Azure)有約][39]Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Management 自動調整

上篇了解了 Access Tier 這個 概念之後以及其重要性

下一個問題就是:

那應該如何設定?

除了手動設定之外,有定期性的需要調整,有沒有什麼 schedule 可以用? 這篇來看看 如何設定以及使用 Lifecycle Management


[我和阿九(Azure)有約][38]Azure Blob Storage 如何省錢?搞懂Access Tier

費用相信是上雲的一個很大會被考量到的部分

那省錢不省錢完全取決於怎麼使用服務

在 Blob Storage 有個可能會被不小心忽略的地方,就是所謂的Access Tier

這篇來看看,Access Tier 是什麼?以及怎麼樣影響到費用


[我和阿九(Azure)有約][37]Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview

上篇看完了怎麼自己手動呼叫snapshot來保留檔案的歷史之後

可是,snapshot畢竟還是要自己手動呼叫,有沒有什麼能夠自動記錄的功能呢?

這篇來看看preview的功能:version 能夠自動在檔案異動的時候建立版本 (snapshot)


[我和阿九(Azure)有約][36]Azure Blob Storage 如何開啟snapshot保留目前狀態

上篇看完了Soft Delete知道了如何透過開啟他來避免誤刪或者誤修改之後

延伸的問題是,如果今天是我想要控制備份的時間點可以怎麼做?

這篇來看看snapshot,也是Soft Delete底層使用到的功能


[我和阿九(Azure)有約][35]Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案

上篇看完了Azure File和Azure Disk的差異之後,相信對於什麼時候選擇什麼服務比較有概念

接下來看一些blob storage裡面偏管理比較方便的功能

先從如何避免誤刪檔案開始,看看什麼是Soft Delete,怎麼開啟,並且使用


[我和阿九(Azure)有約][34]Azure Storage File-什麼時候適合用Azure File? File vs Disk

上篇看完了Azure File和Azure Blob Storage的比較之後,再來看一個也和File類似的Storage,也就是Azure Disk

先了解一下兩種不同類型的Disk - managed vs unmanaged

再來在看看什麼時候適合File,什麼時候適合Disk


[我和阿九(Azure)有約][33]Azure Storage File-什麼時候適合用Azure File? File vs Blob

上篇了解了什麼是Azure File並且如何建立出File並且Mount在OS作為網路磁碟之後

接下來來比較一下,什麼時候適合使用File?

這篇,先看看File和Blob storage的比較 從價錢以及那個適合什麼情景看起




[我和阿九(Azure)有約][31]Azure Blob Storage 使用AzCopy進行自動化作業-例如備份到檔案到Storage

Azure Storage 的好處其中之一就是他的SLA保證

假設,今天想要從地端備份資料到雲端,那麼Azure Storage Blob絕對是一個可以考慮的服務 但是,怎麼樣才能夠自動讓他每天備份呢?

這個時候就需要CLI工具,而AzCopy就很適合 來看看怎麼使用AzCopy


[微軟證照][03]怎麼申請考試


封面

在上一篇 ([02]微軟有那些證照可以考,以及開發者適合那些) 了解樂證照類型之後,下一步當然是了解自己的目標是那一張證照。

原則上,建議可以從Associate等級開始考起,基本上只要有大約1~2年的使用經驗在加上系統學習,一般問題不大。

那麼,最大的問題肯定是:沒有時間學習

依照我個人的經驗,這個解決方式就是:把考試訂下來,那麼就有時間去學習。因為怕考沒過浪費錢,因此訂了考試,就會逼自己去學XD。

所以,這篇先來以AZ-203的證照為例,看看怎麼申請考試。


[微軟證照][02]微軟有那些證照可以考,以及開發者適合那些


封面

在上一篇([01]該不該考證照?要注意什麼?MCP是什麼?MCID是什麼?這個系列的索引文章)介紹了為什麼可能想要考證照了之後,接下來的下一個問題就是:那我可以考什麼?

在這一篇將會介紹一下微軟證照裡面,針對Developer的有那些,以及可以考慮往那一邊做準備。


[活動] 2020 Global Azure 記錄 - Azure API Management - 協助邁向Open API及Micro Service架構的好用服務


Azure API Management - 協助邁向Open API及Micro Service架構的好用服務

好久沒有寫參加活動的文章啦,雖然這一次也沒拍什麼太特別的照片。

不過也算是記錄一下當天介紹的內容以及簡單介紹一下整體活動。


[微軟證照][01]該不該考證照?要注意什麼?MCP是什麼?MCID是什麼?這個系列的索引文章

最近大家應該常被我在FB或者其他平台轟炸,又考過了xxx微軟Azure的證照。

如果因為這樣而萌生起考證照的話,或者只是想要挑戰自我,那麼應該要怎麼開始呢?

這是我想寫這系列的原因之一,想要把我對於考證照的一些心得以及感想分享給大家。

這篇將會是這個系列的索引,因此先來和大家介紹比較大方向的部分。


[Azure DevOps] 00 費用模式介紹

Azure DevOps是一個很好用,整合了DevOps環節都需要的服務

不過,當要開始導入到實際專案的時候,繞不過去的問題就是,他會需要多少錢? 雖然有免費等級,但是超過了之後怎麼辦? 以及之前介紹Test Plan感覺想用,那到底需要多少錢?

這篇來看一下

要注意,金額會隨著時間而變化,因此,建議評估的時候還是要看一下最新的情況哦



[Azure DevOps][Azure Test Plan] 05 Test & Feedback 套件介紹-Connected模式

在上一集看到了,Test & Feedback這個套件 了解了如何使用裡面的Standalone模式來做Exploratory Testing 並且能夠匯出一個通用的格式報告

但是,還遺留了一個問題,Standalone產生完了之後還需要手動建立回Azure DevOps上面 難道沒有什麼方式可以做完之後自動建立bug、test或甚至是test case嗎?

這篇來看看Connected模式 - 看看如何做到這件事情


[Azure DevOps][Azure Test Plan] 04 Test & Feedback 套件介紹-Standalone模式

在上一集看到了,當Test Plan建立好了,就可以開始進行測試。

但是,每一個step之間怎麽不能夠記錄實際測試的截圖? 還有,如果今天要做Exploratory Testing怎麽樣才能夠把每個問題記錄清楚,並且用統一的一種格式呢?

這就是 Test & Feedback可以幫忙的地方。 這集來看看基本介紹,以及Standalone模式 - 瞭解如何透過他得到統一格式的報告




[Azure DevOps][Azure Test Plan] 01 測試有什麽難?爲什麽需要Azure Test Plan

測試都是保證程式碼品質的一個最好的方式

假設,今天公司要導入手動測試 (Manual Test) 遇到的第一個問題就是,我要怎麽計劃這些測試?並且我要怎麽樣知道每一個人的執行狀況?

Azure Test Plan 是 Azure DevOps的其中一個專門用來做這件事情的服務 這篇先瞭解測試有什麽困難點,以及Azure Test Plan的一些關鍵名詞。


[我和阿九(Azure)有約][30]Azure 番外篇 - Retro

這篇算是個番外篇 鐵人賽30天算是結束了,今天直接來個大亂入

這30天以來非常感謝給與我訂閲的大家 - 讓我可以在這個月每個指標都是 999% XD 這篇,看看這30天以來得到的結果是什麽,以及和大家分享一下一些可以期待的東西 別慌,這個系列不會結束,所以有興趣還是可以持續關注哦









[我和阿九(Azure)有約][22]Azure Sql Database 費用這件事

Azure SQL Database 費用這件事

Azure SQL Database 屬於 PaaS 的 SQL Database 服務,意味著很多的事情是不用自己來管理,只要會用就好。

不過自己不用做,肯定是別人要幫忙管理,那就會牽扯到費用問題。

或許就會延伸以下的一些問題:

  1. 費用模式是什麼?
  2. 應該怎麼選擇?
  3. 怎麼收費?
  4. 怎麼調整費用?

在上一篇介紹完了如何設定Always On了之後 Azure SQL Database應該聽起來都是一個很好的選擇

這時候就會遇到一個問題,那它的費用模式是如何? 怎麽收費?怎麽切換等級? 這篇來看看




















[我和阿九(Azure)有約][03]熟悉如何操作 Portal 基本設定以及如何找到想要的服務

有了Azure Subscription之後,接下來就是可以開始使用Azure來建立服務。

不過在使用之前,第一個遇到的問題是,怎麽操作Azure Portal?

這一篇將會介紹:

  1. 如何使用Azure Portal來切換語言、Subscription
  2. 如何找到服務
  3. 如何把常用服務加入到我的最愛清單



[faq]Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - Powershell篇

[faq]Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - powershell篇.jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

在上一篇([faq]Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - GUI篇)介紹了如何透過GUI的方式在Azure建立出Service Principal用來在Azure DevOps設定Service Connections的時候用來作爲登入的驗證方式。

不過GUI雖然直覺,但是Azure如果有改版那麽很有可能資訊的位置會換,這個時候要在產生Service Principal又可能要找一下。

更好的方式其實可以透過用script的方式得到結果 - 這樣不管誰來做,得到的結果都會是一樣的 - 並且需要的資訊也可以一目瞭然,不用切來切去找不同訊息的位置。

這篇來看一下,如何透過powershell的方式,快速建立出Service Principal。


[faq]Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - GUI篇

Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - GUI篇.jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

Azure DevOps裡面的Pipeline功能讓做軟體開發裡面的CI (Continuous Integration) 以及CD (Continuous Develiery) 非常的容易。

其中,在CD的時候把結果部署到Azure上面是很常見的一個需求。

在Azure DevOps裡面設定可以部署到那個Azure訂閲裡面是透過設定Service Connection,如果目前登入到Azure DevOps的帳號有權限操作Azure訂閲,那麽設定Service Connection非常的容易。

但是如果沒有呢?畢竟管理Azure DevOps和管理Azure很有可能是兩個不同的帳號。

這個時候怎麽辦呢?

這篇來看看如何透過在Azure建立App以及Service Principal,然後在Azure DevOps使用這些資訊建立出Service Connection能夠CD部署到Azure上面。


[faq]如何故障排除ASP .NET Core網站啟動失敗問題

[faq]如何故障排除ASP .NET Core網站啟動失敗問題.jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

辛辛苦苦開發的Asp .Net Core網站做完了,在local測試也沒什麽問題了,接下來肯定是要發佈到正式機器讓世界看看你的傑作。

但是,當發佈到Azure Web App上面,卻出現了An error occurred while starting the application,然後其他除了執行環境訊息之外什麽訊息都沒有。

這個時候該怎麽辦?我只是想要把網站run起來怎麽那麽困難!!!

這篇將介紹如何偵錯這類的問題。


[Cognitive Service之Face Api][13]人臉識別的AI服務 - 結束既是開始

[Cognitive Service之Face Api][13]人臉識別的AI服務 -  結束既是開始.jpg
背景圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([12]人臉識別的AI服務 - 用Face API Explorer看看Identify的應用)介紹完了Face API Explorer裡面的Identify功能之後,這個系列就已經到了一個尾聲。

雖然說并不是所有的Face API方法都有介紹,但是相信就算要使用的話,因爲有了其他方法的介紹做基底,要理解應該不會太難。

這篇將會對這個系列有介紹的服務做一個統整的介紹(像是一個目錄),并且留下一些參考資料。


[Cognitive Service之Face Api][12]人臉識別的AI服務 - 用Face API Explorer看看Identify的應用

[Cognitive Service之Face Api][12]人臉識別的AI服務 -  用Face API Explorer看看Identify的應用.jpg
背景圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

上一篇([11]人臉識別的AI服務 - Identify 找出圖片的臉是誰)介紹完了如何透過Identify的方式找出圖片裡面的臉是屬於那個人之後,這個系列要介紹Face API的服務就差不多告一個段落。

介紹純API的呼叫是看看最底層的用法,當整合到Application裡面,用途就多了。

這一篇將用Face API Explorer這個工具,看看在裡面是如何整合Identify的功能。


[Cognitive Service之Face Api][11]人臉識別的AI服務 - Identify 找出圖片的臉是誰

[Cognitive Service之Face Api][11]人臉識別的AI服務 -  Identify 找出圖片的臉是誰.jpg
背景圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([10]人臉識別的AI服務 - Verify 驗證臉是不是屬於某個Person)介紹了PersonGroup train出來的Model的其中一個用途,也就是用來確認某個臉和某個person是否為同一人。

這一篇來看看另外一個用途:identify,也就是直接從臉找到是誰。


[Cognitive Service之Face Api][10]人臉識別的AI服務 - Verify 驗證臉是不是屬於某個Person

[Cognitive Service之Face Api][10]人臉識別的AI服務 -  Verify 驗證臉是不是屬於某個Person.jpg
背景圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([09]人臉識別的AI服務 - Face Api Explorer - GUI工具來建立Person Group Model)介紹完了Face Api Explorer這個工具之後,相信在建立PersonGroup Model就易如反掌啦。

建立好了Model,下一步當然是看如何使用這個Model。

總共有兩個方法:

  1. Verify - 比對臉是否屬於某個人
  2. Identify - 看看臉可能是屬於那個人

Verify之前介紹過([06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人),不過那個時候是兩張臉比較,這篇介紹一下如果拿人比較如何使用。


[Cognitive Service之Face Api][09]人臉識別的AI服務 - Face Api Explorer - GUI工具來建立Person Group Model

[Cognitive Service之Face Api][09]人臉識別的AI服務 -  Face Api Explorer -  GUI工具來建立Person Group Model.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([08]人臉識別的AI服務 - 建立自己人物的臉Model - 瞭解PersonGroup、Person以及Face的概念)介紹了PersonGroup、Person以及Face之間的關聯,并且透過用直接呼叫API的方式建立出了一個myFriends的Model,下一步就是要看如何使用這個Model。

不過在進入如何使用這個Model之前,肯定是要先把Model Training好用起來才好用。但是要透過Postman一個一個建立Person以及加入Face有點不方便,尤其是看不出來目前那些person有哪些face (上篇沒有介紹取得的API,但是是可以取得建立的信息,但是畢竟都是文字看起來還是不容易看)

難道沒有GUI的界面嗎?這邊就來介紹一個大大所建立的Open Source專案,Face API Explorer。


[Cognitive Service之Face Api][08]人臉識別的AI服務 - 建立自己人物的臉Model - 瞭解PersonGroup、Person以及Face的概念

[Cognitive Service之Face Api][08]人臉識別的AI服務 - 建立自己人物的臉Model - 瞭解PersonGroup、Person以及Face的概念.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([07]人臉識別的AI服務 - C#整合Verify驗證兩張圖片的人是否同個人)介紹完了Face Api裡面的Verify功能,在介紹這個Api的時候遇到了其中一個呼叫方式的參數叫做personGroupId

這個Person Group Id只得是什麽呢?如何建立呢?

這邊來看一下在Face Api裡面的Person Group、Person以及Face的概念,以及如何呼叫API來建立這些概念。


[Cognitive Service之Face Api][07]人臉識別的AI服務 - C#整合Verify驗證兩張圖片的人是否同個人

[Cognitive Service之Face Api][07]人臉識別的AI服務 - C#整合Verify驗證兩張圖片的人是否同個人.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人)介紹了如何使用verify這個功能來驗證兩個人臉(faceId)是否為同一人。

這篇將來看看再C#裡面如何呼叫verify這個方法。


[Cognitive Service之Face Api][06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人

[Cognitive Service之Face Api][06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([05]人臉識別的AI服務 - 使用Python框出圖像裡面人臉的部分)看完了如何在Python裡面呼叫Face Api裡面的Detect服務,并且把圖片裡面的人臉部分用紅色框起來,然後把年紀用藍色列在了頭像下面,基本上識別相關的服務就介紹到這邊。 剩下的應用就是看想象力了。

能夠識別圖片裡面的人臉只是服務的一部分,另外一個常用情景是,能不能識別人臉是不是屬於同一個人?這種類型的應用非常的多,例如環安裡面當是同一個人門要開啓就可以使用到這個服務。

這篇來看看如何使用Verify這個服務,看看如何呼叫,并且回傳的内容是什麽。


[Cognitive Service之Face Api][05]人臉識別的AI服務 - 使用Python框出圖像裡面人臉的部分

[Cognitive Service之Face Api][05]人臉識別的AI服務 - 使用Python框出圖像裡面人臉的部分.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([04]人臉識別的AI服務 - 整合Face Api的Detect功能到C#程式裡面)看完了如何用C#呼叫Face Api取得圖像裡面人臉的資訊并且印在console上面之後,這篇連看看另外一個使用情景。

Python是一個最近很火紅(或者説一直以來都很火紅)的一個語言,可不可以用Python呼叫Face Api?

這篇來看看如何用Python把圖像裡面屬於人臉的部分框起來。


[Cognitive Service之Face Api][04]人臉識別的AI服務 - 整合Face Api的Detect功能到C#程式裡面

[Cognitive Service之Face Api][04]人臉識別的AI服務 - 整合Face Api的Detect功能到C#程式裡面.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([03]人臉識別的AI服務 - 用Postman測試Detect服務能做什麽)透過使用Postman的方式瞭解了Face Api裡面的Detect服務的所有功能之後,接下來就是要看看如何在程式裡面使用Detect服務。

這篇將使用C#搭配.NET SDK來看看在程式裡面呼叫Detect有多麽的簡單。


[Cognitive Service之Face Api][03]人臉識別的AI服務 - 用Postman測試Detect服務能做什麽

[Cognitive Service之Face Api][03]人臉識別的AI服務 - 用Postman測試Detect服務能做什麽.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([02]人臉識別的AI服務 - 要使用Face Api的準備)介紹完了要使用Face Api所需要準備的東西之後。

這篇來實際看看Face Api裡面的Detect服務能夠做到什麽。


[Cognitive Service之Face Api][02]人臉識別的AI服務 - 要使用Face Api的準備

[Cognitive Service之Face Api][02]人臉識別的AI服務 - 要使用Face Api的準備.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([01]人臉識別的AI服務 - Face API能夠做什麽?)介紹了什麽是Face Api,以及Face Api能夠做到什麽事情。

接下來就是要看看實際上如何使用Face Api。


[Cognitive Service之Face Api][01]人臉識別的AI服務 - Face API能夠做什麽?

[Cognitive Service之Face Api]人臉識別的AI服務 - Face API能夠做什麽?.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

Face Api是微軟的Cognitive Service(認知服務)Vision(視覺)裡面的一個服務。

最主要的目的是用來處理和人臉識別有關的AI功能。

這篇從Overview的角度來看看Face API能夠做什麽,然後這個系列會介紹什麽。


[chatbot + AI = 下一代操作模式][43]结束?一切正要開始 - 下一步是什麽

[chatbot + AI = 下一代操作模式][43]结束?一切正要開始 - 下一步是什麽.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([42]回顧整個系列 - 開發Chatbot的整個生命周期)把整個系列文章review完了之後,算是把整個系列寫下了一個句點。

不過,下一步是什麽?依照關注的方向點不同可以往不同的地方鑽研。這篇將介紹接下來可以看的不同方向。


[chatbot + AI = 下一代操作模式][42]回顧整個系列 - 開發Chatbot的整個生命周期

[chatbot + AI = 下一代操作模式][42]回顧 - 開發Chatbot的整個生命周期.jpg
圖片來源:https:/pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([41]使用Chatdown做Chatbot的UI Prototyping),介紹完了可以用來做Prototyping的UI工具Chatdown之後,這個系列想要介紹的東西都介紹完了。

這篇想要整個重新在review一次整個開發chatbot的開發流程(lifecycle),并且看看再每一個環節這個系列都介紹了什麽可以使用。


[chatbot + AI = 下一代操作模式][40]Visual Studio Tools for AI - 用VS管理Cognitive Service的服務

[chatbot + AI = 下一代操作模式][40]Visual Studio Tools for AI - 用VS管理Cognitive Service的服務.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([39]Video Indexer - 讓影片可以被搜索和分析出影片的重點)介紹完了Cognitive Service的整合服務Video Indexer了之後,這篇來介紹微軟怎麽讓開發著使用Cognitive Service便的更加的容易。

看看管理Cognitive Service的好工具:Microsoft Visual Studio Tools for AI能夠做到什麽。

接下來Visual Studio有時會縮寫成文VS

[chatbot + AI = 下一代操作模式][39]Video Indexer - 讓影片可以被搜索和分析出影片的重點

[chatbot + AI = 下一代操作模式][39]Video Indexer - 讓影片可以被搜索和分析出影片的重點.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([38]用Application Insight看使用者都在QnA Maker查什麽)介紹完了QnA Maker之後,接下來來看看另外一個也很有意思的服務 Video Indexer

這個服務和QnA Maker一樣,他是一個用很多服務整合出來的Solution。和QnA Maker整合的都是Azure服務不同的是,Video Indexer整合的都是Cognitive Service的服務爲主。

這篇來看一下Video Indexer是什麽,并且看看能夠做到什麽。


[chatbot + AI = 下一代操作模式][38]用Application Insight看使用者都在QnA Maker查什麽

[chatbot + AI = 下一代操作模式][38]用Application Insight看使用者都在QnA Maker查什麽.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([37]維護QnA Maker的知識庫 - 設定url或者檔案為來源、多人維護以及離綫定義知識庫)介紹完了如何更容易的去維護Knowledge Base了之後,這篇來看另外一個問題:就算再怎麽維護Knowledge Base,如果裡面内容不符合使用者的查詢,那麽一點意義都沒有

因此瞭解到使用者怎麽詢問這些Knowledge Base非常的重要。

在這一篇將來看看如何透過Application Insight看看使用者都在搜索什麽問題。


[chatbot + AI = 下一代操作模式][37]維護QnA Maker的知識庫 - 設定url或者檔案為來源、多人維護以及離綫定義知識庫

[chatbot + AI = 下一代操作模式][37]維護QnA Maker的知識庫 - 設定url或者檔案為來源、多人維護以及離綫定義知識庫.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

上一篇([36]Chatbot整合QnAMaker - 使用對話查找知識集)介紹完了如何把QnA Maker整合到Bot Builder SDK裡面,讓使用者可以透過問答的方式去搜索設定好的Knowledge。

這篇要來介紹維護Knowledge Base這件事。如何透過設定截取網頁内容或者截取檔案内容來設定Knowledge、怎麽多個人維護和怎麽Offline 透過LUDown這個工具來Offline備份以及設定。


[chatbot + AI = 下一代操作模式][36]Chatbot整合QnAMaker - 使用對話查找知識集

[chatbot + AI = 下一代操作模式][36]Chatbot整合QnAMaker - 使用對話查找知識集.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([35]使用QnA Maker打造問答知識類型資料集服務)介紹了QnA Maker的主要目的,以及如何使用之後,下一個問題就是要怎麽把QnA Maker整合到程式裡面。

在這一篇將介紹如何把QnA Maker的服務整合到Chatbot裡面。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-36

[chatbot + AI = 下一代操作模式][35]使用QnA Maker打造問答知識類型資料集服務

[chatbot + AI = 下一代操作模式][35]使用QnA Maker打造問答知識類型資料集服務.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([34]賦予Chatbot用語音下指令以及翻譯的功能)介紹完了Translator Speech Api之後,基本上這個系列想要介紹的Cognitive Service基本服務都介紹完了,這些服務包含了文字圖片以及語音的智能處理。

在這系列接下來的部分將在介紹幾個Cognitive Service的進階服務、以及管理和維護這些Cognitive Service工具以及微軟在AI這方面還提供什麽樣的未來藍圖。

這篇先介紹知識庫類型的服務QnA Maker,看看這個服務能夠做什麽。


[chatbot + AI = 下一代操作模式][34]賦予Chatbot用語音下指令以及翻譯的功能

[chatbot + AI = 下一代操作模式][34]賦予Chatbot用語音下指令以及翻譯的功能.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([33]C#使用Translator Speech API服務達到語音轉文字加翻譯)瞭解了如何用C# Console使用Translator Speech Api的服務達到語音轉文字加翻譯。那麽要整合到Chatbot就更加沒有問題了。

這一篇將介紹如何把Translator Speech Api整合到Chatbot裡面,語音能夠轉文字就能夠達到用來叫Chatbot做事,并且提供一些多國語言的使用情景,例如不會說中文的客戶,可以透過chatbot達到及時語音翻譯。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-34

[chatbot + AI = 下一代操作模式][33]C#使用Translator Speech API服務達到語音轉文字加翻譯

[chatbot + AI = 下一代操作模式][33]C#使用Translator Speech API服務達到語音轉文字加翻譯.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([32]Cognitive Service語音服務相關介紹)介紹了Cognitive Service裡面對於語音相關的服務介紹,在接下來將會關注在語音轉文字加翻譯的服務上面。

上篇提到有兩個服務在做這件事情,分別為Speech Service以及Translator Speech API。個人使用經驗是Translator Speech API比較準確,因此在這篇將環繞在如何在C#使用Translator Speech API。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-33

[chatbot + AI = 下一代操作模式][32]Cognitive Service語音服務相關介紹

[chatbot + AI = 下一代操作模式][32]Cognitive Service語音服務相關介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([31]Custom Vision Train好的Model匯出離線和給app使用)介紹完了把Custom Vision的Model匯出并且用Docker File版本讓他本地執行之後,在Cognitive Service裡面的圖片相關就介紹到一個段落。

在接下來的篇幅將來介紹另外一種常見的輸入方式,也就是透過語音的方式。任何科幻電影的指令輸入模式都是語音,例如《鋼鐵人》裡面的助理系統Jarvis,想象一下如果可以用説的就讓電腦做事有多方便。

這邊就來看看Cognitive Service裡面對於語音這塊處理有什麽幫助。

上一篇最後提到要介紹ONNX和如何在程式裡面使用ONNX。不過因爲在Windows要使用ONNX需要Windows 10 17110以上,剛好手上這臺電腦不是,又暫時無法更新,因此未來在補上這部分的介紹。

[chatbot + AI = 下一代操作模式][31]Custom Vision Train好的Model匯出離線和給app使用

[chatbot + AI = 下一代操作模式][31]Custom Vision Train好的Model匯出離線和給app使用.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

上一篇([30]Confusion Matrix - 用來衡量Classifier Model的方式 Precision和Recall)介紹了Confusion Matrix并且如何使用Precision和Recall這兩個指標來衡量一個Classifier Model的好壞。

這一篇又回到了Custom Vision。在Custom Vision Train好的Model是否能夠拿來離線和或者別的應用例如app裡面使用呢?

Custom Vision有提供匯出Model的功能,這篇將對這個部分介紹。


[chatbot + AI = 下一代操作模式][30]Confusion Matrix - 用來衡量Classifier Model的方式 Precision和Recall

[chatbot + AI = 下一代操作模式][30]Confusion Matrix - 用來衡量Classifier Model的方式 Precision和Recall.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控)看完了如何用歷史的搜索結果來持續training Model(模型)并且透過iteration做到Model的測試訓練以及版控,不過上一篇也遺留了一個問題,怎麽看目前的Model是好還是壞?

這裡面就牽扯到了一些數學概念,因此在這一篇將介紹怎麽評判一個Classifier Model是好還是壞,透過Confusion Matrix以及Precision和Recall來瞭解一個Classifier Model的情況。


[chatbot + AI = 下一代操作模式][29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控

[chatbot + AI = 下一代操作模式][29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([28]整合Custom Vision到chatbot - 拍照就可以識別價錢)把Custom Vision Training好的Model和Chatbot結合達到了拍照就可以辨識飲料價錢的功能。

這一篇來看看如何透過歷史查詢的圖片持續精進Model,讓他的準確度越來越高,并且透過Iteration做版控避免更糟糕的Model不小心上綫。


[chatbot + AI = 下一代操作模式][28]整合Custom Vision到chatbot - 拍照就可以識別價錢

[chatbot + AI = 下一代操作模式][28]整合Custom Vision到chatbot - 拍照就可以識別價錢.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([27]Custom Vision - 自己的Model自己Train 建立圖片的分類模型)瞭解了如何使用Custom Vision去train一個圖片的classifier模型,并且用了一些測試照片去測試模型的準確度。

是時候把這個功能整合到chatbot裡面了。這一篇將來實作整合進入chatbot的功能并且實現上篇提到的情景 - 透過拍照就可以知道這個飲料是多少錢。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-28

[chatbot + AI = 下一代操作模式][27]Custom Vision - 自己的Model自己Train 建立圖片的分類模型

[chatbot + AI = 下一代操作模式][27]Custom Vision - 自己的Model自己Train 建立圖片的分類模型.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

上一篇([26]賦予chatbot OCR的能力 - 加入對發票的功能)介紹完了Computer Vision裡面的OCR服務整合到Bot Builder SDK的程式了之後,來看看另外一個和Vision有關的服務,Custom Vision。

在這一篇將介紹Custom Vision是一個什麽樣的服務,并且如何用Custom Vision來建立一個之後會用到的模型。


[chatbot + AI = 下一代操作模式][26]賦予chatbot OCR的能力 - 加入對發票的功能

[chatbot + AI = 下一代操作模式][26]賦予chatbot OCR的能力 - 加入對發票的功能.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([25]使用Computer Vision - 如何設定、看文件以及使用REST API測試)看完了如何建立Computer Vision的Key,瞭解如何看REST Api的文件并且用Postman做服務測試。

這一篇將把OCR的功能整合到chatbot裡面,看看實際開發起來是個什麽感覺。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-26

[chatbot + AI = 下一代操作模式][25]使用Computer Vision - 如何設定、看文件以及使用REST API測試

[chatbot + AI = 下一代操作模式][25]使用Computer Vision - 如何設定、看文件以及使用REST API測試.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([24]圖像識別的服務 - Computer Vision概觀介紹)看完了Cognitive Service 裡面和 Vision 有關的服務,以及Computer Vision的一些簡單的功能介紹了之後,在這一篇將來看看實際上怎麽使用Computer Vision。

這篇將會先介紹如何建立Computer Vision需要的Key,再來用Postman呼叫OCR服務的REST API作爲測試。


[chatbot + AI = 下一代操作模式][24]圖像識別的服務 - Computer Vision概觀介紹

[chatbot + AI = 下一代操作模式][24]圖像識別的服務 - Computer Vision概觀介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([23]LUIS管理工具 - luis-api和LUDown介紹)瞭解完了LUIS管理工具之後,基本上文字處理方面的神器LUIS介紹完了。當然,文字相關的處理還有一些服務可以介紹,例如QnA Maker,不過這個在之後的篇幅再來説明。

接下來的篇幅將來看看另外一種越來越常見的輸入方式:圖像。有沒有什麽可以讓開發者處理圖像變得簡單?

這篇先來介紹一下微軟Cognitive Service裡面和視覺(Vision)有關的服務,并且概觀瞭解已經Training好的圖像識別服務Computer Vision,看一下這個服務是什麽并且能夠做到什麽。


[chatbot + AI = 下一代操作模式][23]LUIS管理工具 - luis-api和LUDown介紹

[chatbot + AI = 下一代操作模式][23]LUIS管理工具 - luis-api和LUDown介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([22]LUIS管理及維護 - 持續加强app、多人維護、備份以及加入別的region key)看了一些luis.ai的portal裡面提供維護LUIS app的功能,透過web界面這個讓一般使用者可以很容易的進行一些微調。

不過如果從開發者的角度,如果我想要透過script的方式去維護可不可以?然後在定義intent、utterance以及entities的時候是否可以不直接透過web界面就做到?

這篇,將來看看luis-apis以及LUDown這兩個小工具。


[chatbot + AI = 下一代操作模式][22]LUIS管理及維護 - 持續加强app、多人維護、備份以及加入別的region key

[chatbot + AI = 下一代操作模式][22]LUIS管理及維護 - 持續加强app、多人維護、備份以及加入別的region key.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([21]LUIS深入使用 - 如何在Bot Builder SDK使用entities)介紹完了如何在程式碼裡面使用LUIS截取的Entities之後,基本上LUIS的設定以及和程式碼如何搭配使用就基本上介紹完了。

程式最困難不是在開發,而是上綫之後的維護,LUIS的app也是如此,怎麽樣讓LUIS的app越來越好是接下來幾篇要介紹的部分。

這篇先從四個部分開始:依照使用者輸入内容來加强app如何使用不同region的LUIS多人維護 app備份/匯入 app


[chatbot + AI = 下一代操作模式][21]LUIS深入使用 - 如何在Bot Builder SDK使用entities

[chatbot + AI = 下一代操作模式][21]LUIS深入使用 - 如何在BotBuilder使用entities.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([20]LUIS深入使用 - 定義Entities來截取參數)看完了如何定義entities之後,在這篇將來看看如何把定義的entities在程式裡面使用起來。

這一篇將先從加入訂房的intent,并且會依照使用者輸入的内容解析出來的entities作爲初始的表單值。

一起來看看如何在程式使用entities。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-21

[chatbot + AI = 下一代操作模式][20]LUIS深入使用 - 定義Entities來截取參數

[chatbot + AI = 下一代操作模式][20]LUIS深入使用 - 定義Entities來截取參數.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

上一篇([19]把LUIS和Bot Builder SDK整合)看完了如何把LUIS model發佈出來并且在Bot Builder SDK怎麽整合在一起之後。

接下來在更深入的看看如何把LUIS使用到最大化。先從Entities開始介紹起。


[chatbot + AI = 下一代操作模式][19]把LUIS和Bot Builder SDK整合

[chatbot + AI = 下一代操作模式][19]把LUIS和Bot Builder SDK整合.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([18]在LUIS建立app - 概念變成實作)看完如何建立一個app,然後定義intent以及utterance。

這篇將來看看如何把上篇建立好的model發佈出去,并且用在實際的程式裡面。這篇將整合LUIS建立出來的Model到目前的chatbot裡面,讓chatbot的判斷不再是呆板的if else。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-19

[chatbot + AI = 下一代操作模式][18]在LUIS建立app - 概念變成實作

[chatbot + AI = 下一代操作模式][18]在LUIS建立app - 概念變成實作.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([17]語義識別服務 - LUIS概念介紹)介紹完了微軟的語義識別服務LUIS的概念之後,在這一篇將把理論變成實作。

來看一下怎麽實際建立出一個符合目前chatbot的模型。


[chatbot + AI = 下一代操作模式][17]語義識別服務 - LUIS概念介紹

[chatbot + AI = 下一代操作模式][17]語義識別服務 - LUIS概念介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([16]Bot Builder SDK開發總結 - 下一步是搭AI服務)快速的總結了目前爲止的内容以及接下來的重點,Cognitive Service的AI服務包含的内容。

這篇將來看看最會被用到的服務,語義識別的AI 服務 LUIS的基本概念介紹。


[chatbot + AI = 下一代操作模式][16]Bot Builder SDK開發總結 - 下一步是搭AI服務

[chatbot + AI = 下一代操作模式][16]BotBuilder開發總結 - 下一步是搭AI服務.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([15]上綫 - 透過Direct Line把chatbot和任意程式做連接)介紹完了Direct Line Channel之後,Azure Bot Service 和 BotBuilder 搭配開發chatbot的部分就到了一個尾聲。當然,裡面還有很多細節可以介紹,但是以目前介紹的内容來説,要開發出一個能用的chatbot已經不是什麽問題。

那下一步是什麽?在介紹Bot Builder SDK的過程會發現,開發chatbot其實蠻死板的,有沒有辦法讓他更加智能一些?如果搭上最近幾年很火的AI服務就可以。

這篇將快速回顧一下目前Bot Builder SDK所學到的内容,以及下一步如何搭配AI服務來增加可用性。


[chatbot + AI = 下一代操作模式][15]上綫 - 透過Direct Line把chatbot和任意程式做連接

[chatbot + AI = 下一代操作模式][15]上綫 - 透過Direct Line把chatbot和任意程式做連接.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([14]上綫 - 把facebook粉絲頁和chatbot接上)介紹了如何把chatbot和Facebook Messenger做了連接。bot channel registration還有好幾個内建的其他channel可以設定做關聯,至於怎麽設定可以透過google的方式去找到相關資料,因此其他内建的channel 這邊不在做介紹。

不過,雖然任意網站可以用web control channel來連接,并且有些内建的channel,可是如果想要在不是内建的channel關聯chatbot怎麽辦?舉例來説,如果今天想要和Line關聯或者微信怎麽辦?或者如果想要在任何程式和chatbot 做關聯?

這就是Direct LIne Channel的目的,只要可以用程式來控制,那麽就可以透過Direct LIne Channel來和chatbot關聯。

這篇將會透過開發一個console程式和chatbot程式溝通。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-15

[chatbot + AI = 下一代操作模式][14]上綫 - 把facebook粉絲頁和chatbot接上

[chatbot + AI = 下一代操作模式][14]上綫 - 把facebook粉絲頁和chatbot接上.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([13]上綫 - 開啓web control channel)看了如何開啓web control的channel,透過iframe讓chatbot可以在任意網站出現。

這篇將看看如何把chatbot和別的平臺的聊天工具整合,這邊將介紹内建有支援的channel,Facebook Messenger。


[chatbot + AI = 下一代操作模式][13]上綫 - 開啓web control channel

[chatbot + AI = 下一代操作模式][13]上綫 - 開啓web control channel.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

透過上一篇([12]準備上綫 - 用Bot Channel Registration注冊chatbot),chatbot已經和bot channel registration設定好了,可以上綫了。

接下來需要做的就是設定對應的channel。

這篇將來看看最容易的channel,web control。看如何取得相關的資訊讓chatbot可以在任意網站上面出現。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-13

[chatbot + AI = 下一代操作模式][12]準備上綫 - 用Bot Channel Registration注冊chatbot

[chatbot + AI = 下一代操作模式][12]準備上綫 - 用Bot Channel Registration注冊chatbot.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([11]準備上綫 - chatbot發佈到Azure App Service)介紹了如何用visual studio把chatbot部署到了Azure的PaaS服務,App Service。

這一篇將來看另外一個部分,也就是如何把chatbot和不同的channel連接在一起的服務,Azure Bot Service裡面的Bot Channel Registration (以下簡稱Channel Registration)。


[chatbot + AI = 下一代操作模式][11]準備上綫 - chatbot發佈到Azure App Service

[chatbot + AI = 下一代操作模式][11]準備上綫 - chatbot發佈到Azure App Service.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([10]用IDialog全部重構 - 階段性總結)我們把所有的程式用Dialog重構了之後,對於chatbot開發暫時到了一個段落。當然,目前功能還非常的雛形,但是以目前介紹的東西已經足夠寫出一個好的chatbot,因此各位可以自由發揮。

接下來我們要開始看看上綫的部分。當chatbot開發完了之後,該怎麽讓他上綫?需要搭配什麽服務。這篇將會看第一個部分,把chatbot先host在azure的app service上面。


[tool]用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 下篇

[tool]用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 上篇.jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

在上一篇(用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 上篇)介紹了如何使用acs-engine這個工具產生出了可以在azure上面部署的ARM template,并且成功部署上了Azure。

在這篇將會延續上篇建立出來的vm,并且透過工具對建立出來的k8s cluster做操作,并且看看azure和k8s怎麽的深度結合。

以下用到的指令整合在一起可以從我的github看到:mhat-acs-enginge-azure-k8s/src/02 access-k8s/access-k8s-cluster.ps1

[tool]用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 上篇

[tool]用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 上篇.jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

最近有機會接觸到要用azure的IaaS服務建立出可以自動擴展的kubernetes (以下簡稱k8s) 叢集 (以下簡稱cluster)。

雖然常碰azure的一定會知道,其實azure有提供k8s的PaaS服務(不管是Azure kubernetes Service (AKS) 還是 更高一層的 Azure Container Instance (ACI))但是有些地方是沒有那些服務的(可以期待9月)或者如果想要自己控制完整的vm那要怎麽辦呢?

這篇將會快速介紹一下用acs-engine產生在Azure IaaS上面可以使用的k8s自動延展的cluster,在下一篇在介紹如何操作并且看到azure怎麽和k8s整合。


[活動]20180628北京Insider Dev Tour的擺攤記錄

00.jpg

這麽多年以來,參加活動有以學員的身份、講師的身份及現場工作人員的身份參加過活動,但是還真沒有以擺攤的身份參加過。

因此這篇更多是在周邊的介紹,話説這個應該是我見過免費裡面最大手筆的一次活動,主辦單位很用心,一起來看看吧。



[回顧][課程][Study4]2018 北京 Azure bootcamp - Azure Migration 上雲之路

31064290_10211093476394701_3699603924475445248_n.jpg

這次Study4的4月的活動在北京辦了2018 年的Azure bootcamp。小弟我有幸在其中一堂分享了Azure Migration 上雲之路的内容。

這篇將會把整個活動的資源整理一下,并且對于這次的簡報感想做個總結。


Script改Windows防火墻設定的正確寫法 - 如何能同時在Windows不同語系之間都能執行

Script改Windows防火墻設定的正確寫法 - 如何能同時在Windows不同語系之間都能執行.jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

最近在製作上傳到Azure的VHD的時候就遇到,需要開一些特定的port。

作爲coder,懶是一種美德,因此當然想要透過使用powershell的方式把整個動作自動化。

Azure官方文件有些範例script可以參考,但是實際使用起來卻有個但書,就是只能英文版的OS才有作用(畢竟是外國人寫的script),其他語系就gg了。

因爲這個原因,所以去找了一些資料,才發現原來要支援多語系的Windows沒有那麽直覺,因此這邊記錄一下以供未來參考。