Quantcast
Channel: MSDN 台灣部落格
Viewing all 136 articles
Browse latest View live

『注意』新 Visual Studio 訂閱入口網站搬遷!

$
0
0

新 Visual Studio 訂閱入口網站,帶給您一致的新體驗~

提醒您:若在搬遷中有發生訂閱消失的狀況請不要緊張,請給它一點時間,問題持續不能解決的話,

請聯絡 台灣支援中心: twwpo@microsoft.com


 一般訂閱用戶:my.visualstudio.com

從 2016/6至 2016/9,所有的 Visual Studio 訂閱用戶會搬遷到新的入口網站。

註:MSDN 訂閱將改名為 Visual Studio 訂閱

  • 所有活躍有效的 Visual Studio(舊稱為 MSDN 訂閱)訂閱用戶
  • 大量授權(VL)訂閱用戶會在 9/20 前搬遷完畢,接下來數週則會是 Retail 或者其他 program(BizSpark、MPN 等)的用戶。
  • 搬遷完畢之後,屆時舊的入口網站將會消失喔!
  • 所有的權益(包含您的 Azure 每月額度、微軟軟體無限下載等)都不會受到影響,新體驗讓您管理訂閱輕鬆自在~

sub1sub2

系統管理員(大量授權管理者):manage.visualstudio.com

從 2016/10 至 2017/2,所有的 Visual Studio 訂閱用戶管理者會搬遷到新的入口網站。

  • 新的管理入口網站允許進行個別大量指派追蹤篩選訂閱移除訂閱,以及後續重新指派訂閱。
  • 新的報告功能:匯出可用訂閱的詳細報告,包括層級、到期日和數量。您也可以提取內含詳細訂閱者資訊的報告,包括名字、姓氏、電子郵件地址、訂閱層級、訂閱狀態(已啟用或未啟用)、指派權益、到期日和國家/地區。
  • 所有管理員都需要設定 Azure Active Directory(AAD),不再接受 Microsoft 帳戶管理訂閱,實際轉移的過程中會陸續收到詳細的步驟。

VLSC1

VLSC2

搬遷時程?

timeline

更多資訊

訂閱者權益:http://www.visualstudio.com/products/subscriber-benefits-vs

所有訂閱者可使用的軟體列表:aka.ms/msdnsoftware

VS 授權白皮書: aka.ms/vswhitepaper

最新消息請參考: https://aka.ms/vs-admin

AAD相關資訊:什麼是 Azure Active Directory?

其他細節:

  • 所有大量授權合約都會同時移轉,以下則會分開搬移:Open 授權、PS & Academic/Education。
  • 所有的購買資訊與合約層級管理都將保留在 VLSC 中,新的管理者入口網站是看不到的。
  • 正在續約的您不用擔心:續約完成後的 60 天內不會被搬移。

還有更多關於大量授權中心的問題?

歡迎下載:

Visual Studio訂閱的常見問題集

VLSC Visual Studio 訂閱系統管理員指南

MPSA Visual Studio 訂閱系統管理員指南

或聯絡台灣支援中心: twwpo@microsoft.com


iOS 應用程式使用 VSTS 持續傳遞

$
0
0

我們很高興宣佈一個 Apple App Store 擴充,允許部署 iOS 應用程式到 Apple App Store 透過 Team Services Team Foundation Server(2015 Update 3 或更新的版本)。如同 Google Play 擴充,這提供了一個很好的範例給 iOS 的持續部署與 Android 行動應用程式,透過 Team Services 與 TFS。

Apple App Store 擴充使用 Fastlane,它是一個對於行動開發者很熱門的開源工具。擴充的程式碼是開源的而且公開在 GitHub 上。

擴充提供了 2 個組建/發行的工作與一個服務端點來管理您的 Apple Store/iTunes Connect 認證。這些工作讓您可以:

  • 上傳一個現存應用程式的組建到 TestFlight 來做 beta 測試。
  • 上傳一個現存應用程式的組建連同中繼資料與螢幕截圖到 iTunes Connect
  • 提交您的應用程式到 Apple App Store 以檢閱。

release-task-with-advanced

來看看這個 demo 的影片:

快來試試看並給予我們回饋或回報問題在我們的 GitHub repo

 

本文翻譯自 Continuous Delivery of iOS Applications with Visual Studio Team Services

使用雲端負載測試進行私人/內部網路應用程式的測試

$
0
0

雲端負載測試服務 可以用來進行應用程式的效能與規模測試,透過從 Azure 產生負載。這種負載的產生方式只可以點擊/產生負載在有網路/公開存取的應用程式。但我們常常遇到客戶需要負載測試他們的應用程式,但它並不是可公開存取的。原因可能有很多,我們列出一些在下面:

  1. 測試僅內部使用的應用程式很多大型的機構會有一些應用程式/網頁是必須要滿足整個機構的需求。
  2. 發佈到網際網路前在內部測試應用程式 在實際要發佈之前,機構會想要確定,並沒有性能故障或是網站因為龐大流量而承受不住的問題。

為了要提供上述情況的支援,我們正努力開發一個功能,讓使用者可以進行負載測試在他們的內部/ABFapplication behind firewall)應用程式。在說解法之前,讓我們引導您走完下面的流程圖,以找到最佳量身訂製的解決方法根據您的需求。您就可以閱讀特定的解決方法(1-6)並嘗試看看。

loadtest-1

  1. 使用預設路徑,CLT 將會自動佈建代理程式。這是對有公開端點的應用程式使用 CLT 進行負載測試的預設情節。負載測試服務將會自動佈建負載代理程式(在 Azure)來模擬使用者負載。參考來取得更詳細的 CLT 使用方式。
  2. 使用 ARM 範本來部署您自己的負載代理程式。#1 解決方法佈建代理程式在 CLT 服務界限裡而使用者並不能擁有控制權。如果您希望可以控制(存取)負載生成的代理程式為了任何自訂的需求,您可以自己使用 ARM 範本來部署它們在您的 Azure 訂閱帳戶。這些機器將會取得 CLT 註冊可以產生負載。更多相關資訊可以在文章後面的部分看到。
  3. 使用 ARM 範本來部署負載代理程式在 VNet如果被測應用程式(AuT)是在 Azure VNet 中或有一個 ExpressRoute 介於應用程式私有網路與 Azure,您可以使用一個預設的 ARM 範本部署 IaaS 虛擬機在 Azure 在特定的 VNet 來充當負載代理程式。機器將會佈建在您的 Azure 訂閱帳戶並針對您的 VSTS 帳戶註冊。您建立這些機器的 VNet 必須能看的到應用程式,使得負載生成器有辦法觸及這個程式。更多相關資訊可以在文章後面的部分看到。
  4. 使用 ARM 範本以靜態 IP 部署負載代理程式。如果您沒有使用 ExpressRoute 連結而想要在本地測試應用程式,您可以使用 ARM 範本來部署 IaaS 虛擬機在 Azure 充當負載代理程式。選擇您在防火牆中允許通行的靜態 IP 來建立這些虛擬機,這樣必要的負載就可以生成。機器將會部署在您的 Azure 訂閱帳戶並針對您的 VSTS 帳戶註冊。更多相關資訊可以在文章後面的部分看到。
  5. 使用雲端負載代理程式在您的設備上。我們也想出了一個簡單的 PowerShell 腳本,可以幫助您配置實體或虛擬機器來作為負載代理程式。這些機器將會針對您的 VSTS 帳號註冊來生成負載。您可以了解更多在另一則使用雲端負載代理程式在您的基礎建設上
  6. 使用 Test Controller/Test Agents 來進行本地測試在您的設備。如果您想要在本地測試應用程式,但遇到一些限制,像是因為一些原因沒辦法儲存結果在雲端(又或者說,遵守法規)您可以使用 Test Controller / Test Agents 來進行負載測試。這需要您使用您自己的設備來產生負載,而結果將會儲存在 SQL 伺服器。您可以在這裡取得更多資訊。

那現在我們就針對 #2#3#4 來進行更深入的討論。

這部分將會詳細告訴您如何使用 Azure IaaS 虛擬機佈建負載代理程式。使用者必須有 Azure 訂閱帳戶,IaaS 虛擬機與相關的資源將會佈建在此。而這在下面這兩個例子中很有用:

  1. 您想要測試私人的應用程式,是無法透過 CLT/internet 存取的。
  2. 自備您的訂閱帳戶(BYOS您有自己的 Azure 訂閱帳戶,而想要利用它進行負載測試。您也可以使用 Azure 免費額度,如果您有的話。

Azure 提供了一個優勢因為使用者可以分佈他們的負載測試到不同的地理位置,而這些日子裡我們已經看到有很多顧客對於此非常有興趣。

 

使用 ARM 範本來部署負載代理程式在 VNet

下面是一個簡單的拓樸,負載代理程式出現在使用者的 VNet 下,因此將會看的到應用程式。我們已經發佈一個 ARM 範本到 GitHub 上,來幫助使用者更簡單快速地佈建機器。

loadtest-2

而這方法要可行,使用者必須有一個現存的 VNet 如同上面所述。VNet 識別需要它的資源群組名稱。如果您希望使用一個現存的子網路,您也應該要有這些資訊。

要部署這樣的 rig,我們要發佈一個 ARM 範本。您可以點擊下列的連結來自動地載入 ARM 範本到 Azure 管理入口網站。

佈建負載代理程式在現存的配備

一旦您點擊它,它將會載入範本在 Azure 入口網站,而您將會看到下面的畫面。使用者可以填入參數並可以根據需求選擇訂閱帳戶/資源群組/位置。

loadtest-3

如果您希望更深入鑽研這個範本,並根據您的需求來修改它,您可以到下面的 github repo 來查看它:

https://github.com/Azure/azure-quickstart-templates/tree/master/201-vsts-cloudloadtest-rig-existing-vnet

 

使用 ARM 範本以靜態 IP 佈建負載代理程式

我們有發行了另一個 ARM 的範本,而使用者不需要有一個現存的 VNet。這可以用於以下兩個目的:

  1. 如果您在 Azure 沒有 ExpressRoute,但想要使用他自己的訂閱帳戶進行負載測試,您可以使用這個 ARM 範本,它用它自己的 VNet 部署了一個 rig。如果您需要測試私人應用程式,您可以以靜態 IP 部署配備(提供作為一個選項),在防火牆中開一個洞,只給這些 IP(s) 一條路徑是留給負載代理程式。
  2. 如果您想要取得負載生成代理程式的控制(因為 CLT 自動佈建代理程式不能被使用者存取)。您可以選擇讓這些虛擬機有靜態/動態 IP

要充分利用這一點,只需要點擊下面的連結來載入 ARM 範本在 Azure 管理入口網站。

佈建負載代理程式 VNet

以下是這個 ARM 範本的 Github repo 連結:

https://github.com/Azure/azure-quickstart-templates/tree/master/101-vsts-cloudloadtest-rig

一旦您部署虛擬機,可能需要 10-15 分鐘來讓機器配置 CLT 並準備好進行負載測試。負載測試在這些代理程式執行完畢前,CLT 將不會消耗 VUM (虛擬使用者分鐘數),但使用者要承擔他訂閱帳戶消耗 Azure 資源的費用。

ARM 範本我們設定機器大小為「Standard_D4_V2」。這個大小的機器有 8 CPU 核心與 28GB 的記憶體。使用者可以修改範本來更改這些值。參考來了解更多有關 Azure 機器大小與功能。

 

如何使用負載代理程式佇列一個執行

我們正努力讓我們的產品有一流的體驗。到時候使用者可以佇列一個執行在這些機器,透過一個特定的內容參數在 Visual Studio 負載測試檔。

內容參數名稱 UseStaticLoadAgents

內容參數值 true

Visual Studio 中,它看起來會像下面這樣:

loadtest-4

使用者可以設定要用來進行負載測試的機器數量,透過 Agent core count 屬性在 Run Settings 中。在使用者自己的負載代理程式情境,每一個 core 都被當作是一台單一的機器。如同下圖,5 個機器將會用來執行。

loadtest-5

執行完畢在使用者自己的負載代理程式機器並不會收費。使用者應該從狀態訊息中來確認這個。

loadtest-6

在您做之前,我們會建議您先看看下面的 FAQ

 

如何知道已配置的 CLT 機器

要檢查配置在 VSTS 帳號下的機器狀態,使用者可以從下面的連結下載一個基本的腳本 GetStaticMachines.ps1

powershell 腳本註冊機器

下載之後,請確定您解鎖這個檔案。

loadtest-7

以下是強制參數:

  1. TeamServicesAccountName:這是您想要用來配置機器的 VSTS 帳號名稱。使用只需要在這裡填上帳號名稱,例如,請在這裡填上 “xyz",如果您的 VSTS 帳號網址是 https://xyz.visualstudio.com
  2. PATToken:這需要用來認證。一個人必須先取得 VSTS 帳號的 PAT token。您可以依照來取得它。範圍應選擇為「Load Testread and write)」。

範例

.\GetStaticMachines.ps1 -TeamServicesAccountName xyz -PATToken zzdw6bnzk2q73qsqxukmfonzycscdgmsl2quhqo24so7hrplctcq

範例輸出

Account Uri – https://xyz.vsclt.visualstudio.com

 

machineName status lastHeartBeat

 

———– —— ————-

 

DDDSINGHAL016 Free 2016-04-26T12:41:00.6548647Z

 

DDDSINGHAL017 Free 2016-04-26T12:40:59.5005437Z

 

有了這個使用者就可以了解他配置來執行負載測試的機器狀態。

 

常見問題

  1. 負載代理程式如何與 CLT 溝通呢? 負載代理程式將會透過 HTTP 協定來與 CLT 溝通。因為這些機器/虛擬機是在使用者私人網路(Azure/on-prem)內,所以它們可以很容易接觸到被測應用程式(AuT)。結果會發佈回 CLT 服務,分析發生的行為會和其他在 CLT 中執行的負載測試的方式行為相同。
  2. 我將如何被收取費用? 目前這個功能是在預覽模式,您將不會因為您部署負載代理程式在您的內部機器或在您的 Azure 訂閱帳戶,而被收取負載測試 VUM 的費用。然而您將會被收取 Azure 虛擬機的費用。
  3. 我可以用這些機器來做其他事嗎? 這些機器可以用來做其他事,但是建議在執行負載測試時不要做其他任何事。
  4. 我可以關掉我佈建負載測試代理程式的機器嗎? 可以,只要機器沒有在使用就可以關掉。一旦機器開啟,負載代理程式服務將會自動地開始來接收 CLT 的指令。如果您用 Azure ARM 模板來佈建這些代理程式,您可以隨意開啟/關閉這些虛擬機。您也可以做到這個透過 powershell 腳本,參考下面的連結來了解更多https://gallery.technet.microsoft.com/scriptcenter/Stop-All-VMs-in-Specified-40c8531e。也建議您刪除 Azure 資源群組一旦您做完了負載測試。您應該可以隨時重新建立它們如果您需要的話。https://azure.microsoft.com/en-in/documentation/articles/resource-group-portal/
  5. 我有 proxy 設定在我的機器上,這樣可以嗎? 我們只支援預設 proxy 情境,即當 proxy 設定是透過 IE 控制,它使用目前用戶的認證來連結 proxy 伺服器。在其他情況下,請與我們聯絡。

有了這些您應該有辦法可以試試負載測試了。如果您有任何疑問,歡迎聯繫我們 vsoloadtest@microsoft.com

負載測試愉快! 🙂

 

本文翻譯自 Testing private/intranet applications using Cloud-based load testing


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

使用 Xamarin 開發 iOS 10 的時代開始了!

$
0
0

我們剛更新了 iOS 10 的支援來跟上 Xcode GM Seed 版本。您可以使用這個建置與 Xcode GM 來提交利用 iOS 10 新功能的應用程式到 Apple AppStore

這個版本也帶來了 tvOS 10 建置與 watchOS 3 應用程式的完整支援,使用您最喜愛的 .NET 語言。

 

iOS 10

新的 iOS 10 SDK 需要安裝 Xcode 8。使用 Apple 貼在他們開發者入口網站的 Xcode 8GM Seed」。在 Xamarin 這邊,我們發佈了 iOS 10 Xamarin.iOS 支援在我們的 Beta 更新頻道。

以下是簡單的步驟:

 

watchOS 3

我們也新增支援到 Xamarin 來建置 watchOS 原生的應用程式。利用所有 C# watchOS API,就像您在 iOS 一樣。

來看看我們介紹 watchOS 3 的文件並開始建置 Apple Watch 應用程式吧!

watchos3

 

tvOS 10

最後,我們更新了 tvOS 的支援來把所有 tvOS 的新功能帶到 .NET 的世界。

tvOS 最新的套件將您的應用程式展現在大螢幕上,包含 ReplayKit 來直播遊戲,PhotoKit 來與 iCloud Photo Library 與您的應用程式分享照片,而且可以簡單地整合多人連結到您的 iOS 應用程式。

快看看我們的介紹 tvOS 10 文件來開始體驗吧!

 

iOS 10 的功能來加強您的應用程式

iOS 10 包含滿滿的新功能與加強,而我們也已經更新了我們的文件,讓整合 iOS 10 的功能到您的應用程式更加容易。要上手首先,到 Xamarin Developer Center 並查看我們的 iOS 10 範本介紹 iOS 10,而這包含了所有 iOS 10 所提供新功能的文件,包含:

  • SiriKit,現在可以允許應用程式透過 Siri 來提供服務。
  • iMessage Apps,提供建置整合 Messages 的應用程式與展現新的功能給使用者。
  • CallKit,提供一個方式給 VOIP 的應用程式來與 iPhone UI 整合,並提供一個熟悉的介面與體驗給使用者。
  • User Notifications 已經被簡化為本地和遠端通知的一個新的統一 API
  • App Extensions iOS 10 被擴充了,提供幾個新的 extension point,包含 intent
  • Proactive Suggestions 透過在適當時機主動呈現訊息給使用者來驅使應用程式互動。
  • Wide Color 提供延伸範圍的像素格式與廣色域的色彩空間在整個系統。
  • Adapting to True Tone Display 來確保應用程式與 True Tone 環境光顯示調整配合得很好。

務必追蹤 Xamarin Release Blog 來取得更多有關已知問題與其他版本發佈的最新資訊。

 

本文翻譯自 Let the iOS 10-ing begin!


VS

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

獨立的 .NET Core 應用程式

$
0
0

提醒您 .NET 是完全開源的,而且 .NET Core 是一個您可以免費下載的開源與跨平台 framework。您可以到 http://dot.net 取得它在 Mac、Windows 與大多數的 Unix 系統。順帶可以使用免費、跨平台的 Visual Studio Code,而您就可以隨時隨地撰寫 C# 與 F#。

有兩個方式來部署一個 .NET Core 應用程式,FDD 與 SCD。三個字的縮寫可能看不懂,它們的意思是 Framework-dependent 與 Self-contained。當 .NET Core 安裝在 Windows 中,它會存放在 C:\Program Files\dotnet。在「shared」資料夾內會有一堆可以分享的 .NET 檔案。這裡可以有多個資料夾,就如同下圖,您可以看到我的資料夾。您可以有多個 .NET Core 的安裝。

當您安裝您的應用程式與它的 dependencies 而並非 .NET Core 本身,這時您就會需要 .NET Core 已經被安裝在目標的機器上。對於 Web App 或有很多應用程式的系統來說並沒有什麼問題,但如果我想要寫一個應用程式,而且只用一個 zip 檔給你或在隨身碟上,而我就想要它能運作。我將會包含 .NET Core 在其中,而整個東西就是 Self Contained 部署。

而這樣將會使我的「Hello World」應用程式變得大於我使用現存的 system-wide 安裝,但我知道它就是可以 Work,因為它將會是完全獨立的。

self-1

如果我以 self-contained 的方式來部署我的應用程式,有一點很重要的是,我將會有責任要維護 .NET Core 並讓它保持在最新的版本。我還需要提前決定我的目標平台。如果我想要讓它在 Windows、Mac 與 Linux 上執行成功,我將需要囊括那些目標平台並為它們建置部署套件。這些大多都很直觀,不過還是知道一下比較好。

我將拿我的小小應用程式(我只是用一個「dotnet new」的應用程式)並在文字編輯器中修改 project.json。

我的應用程式是一個 .NETCore.App,但它將不會使用已經安裝的 .NET Core 平台。它將使用本地版本,所以我從這個 dependency 刪除「type=’platform’」。

"frameworks": {
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "version": "1.0.1"
      }
    }
  }
}

接下來我寫了一個 runtimes 的部分來指定我想要針對哪些。而這裡有一個全部 Runtime ID 的清單。

"runtimes": {
     "win10-x64": {},
     "osx.10.10-x64": {},
     "ubuntu.14.04-x64": {}
   }

在執行「dotnet restore」您會想要建置他們像這樣:

dotnet build -r win10-x64
dotnet build -r osx.10.10-x64
dotnet build -r ubuntu.14.04-x64

然後發行釋出版本在您測試之後。

dotnet publish -c release -r win10-x64
dotnet publish -c release -r osx.10.10-x64
dotnet publish -c release -r ubuntu.14.04-x64

一旦這個完成,我就有了我的應用程式獨立在 n 個資料夾,並準備好部署到任何我想要的系統。

self-2

您可以在 Win10 資料夾看到我的「MYAPPLICATION.exe」(我的叫做 scd.exe)可以直接執行,而並非像開發者那樣用「dotnet run」來執行。

self-3

.NET Core Docs 裡有許多不錯的文章,教您如何調整與精準地定義要為您的 self contained 應用程式部署什麼。您可以 .NET Core 做大量,而有人說那將會變得越來越自動化在未來,有可能下到方法等級。

 

本文翻譯自 Self-contained .NET Core Applications


netcore

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

【案例分享】Olo 如何以行動 DevOps 來增強超過 150 家餐廳的訂餐 App

$
0
0

Olo 提供給顧客與員工使用的 Xamarin app 幫助餐廳的品牌傳遞更快更精確與更個人化的服務給它們的顧客,建立顧客忠誠度與改善餐廳的營運。擁有超過 150 個品牌與 25 萬用戶的業務量,行動 DevOps 對於 Olo 的行動策略至關重要,而 Xamarin 幫助團隊傳遞最高品質的體驗給他們全球的客戶。

今天我們邀請了 Greg Shackles,為 Olo 的首席工程師與長久以來 Xamarin 社群的成員,來分享他對於行動開發的經驗和他給立志作為 app 開發者的建議。

 

告訴我們一點有關你的公司與你所扮演的角色。什麼是 Olo 而誰是你們的客戶?

我是 Olo 的首席工程師,這也表示每件我們所做的事我都有參與一點。

可以把 Olo 視為餐廳與這變化快速的市場間的數位橋梁。不論是要外送、遞送或簡單的電話訂購,我們直接整合品牌現存的系統,包含 POS 系統與忠誠度管理系統,來將數位商務帶到他們現存的營運中。

我們一般與大型多據點的品牌合作,通常超過 40 個位置。如果您曾用過 Five Guys app,撥打 1-800-CHIPOTLE,或在線上訂購 Wingstop,那麼您就用過 Olo

 

告訴我們有關你們的 app

我們為餐廳發布了完整品牌的 iOS Android app,讓他們的顧客可以直接與他們的品牌互動,客製化訂購他們真正想要的東西,在任何他們想要的平台,按照自己的節奏,並確保餐廳能夠收到正確的訂單。

有了這個 app,顧客可以很容易地找到離他們最近的店面,兌換忠誠物獎勵,看菜單,查看最近的或最愛的訂單,提前預訂,當抵達時讓他們可以 Skip The Line®,或甚至讓他們的訂單送出。我們開放 framework 讓客戶的機構利用我們的 API,而我們已經從 Sweetgreen 看到。

 

行動通訊在你們公司策略中扮演怎樣的角色?你們的行動產品有隨著時間進步嗎?

打從一開始,並在過去的十年中,行動通訊一直是 Olo 的基礎。

Noah Glass 我們的創辦人與 CEO,厭倦了每天早上排隊等他的咖啡,他看見了行動通訊解決這個問題的潛力,並創建了 Olo。在 2005 年,我們推出了一般行動電話的簡訊訂購;記得那是在最初版的 iPhone 問世之前幾年,而直到今天行動通訊仍然是我們平台的基石。

而我們現在不再支援簡訊訂購,我們的客戶從很多不同的平台處理與接收顧客訂單,包含網站、iOSAndroid、電話,或甚至 Facebook Twitter 的聊天介面。

 

你為什麼會選擇使用 Xamarin

Olo app 平台並不總是用 Xamarin 建置的。原本是用其他的 Framework 搭配 JavaScript,好一段時間這樣就已經足夠,但最終還是讓我們陷入困境。我們發現我們自己要對抗 framework 在我們和平台間的抽象(abstraction),而有時它需要花幾個星期才可以完成一個簡單的功能。這對我們的開發人員來說非常挫折,但更重要的是,這代表我們不能傳遞我們希望給客戶的體驗。

任何工程師都知道重寫一個平台並不輕鬆,但選擇使用 Xamarin 來重建它是一個明智的選擇。我們已經是一間 .NET C# 的店了,所以能夠將我們一些現有厲害的工程師帶到行動的世界,充分利用他們現有的技術,將會是一個非常棒的機會。有了新的平台,我們可以提供一個穩定、完全原生的體驗給我們的用戶,同時還能讓我們的工程師開心。

 

當你聽到「原生 app」你有什麼想法?

我覺得就是 app 完全利用原生底下的 UI framework,而不是抽象,提供這種用戶都習慣且期望在那平台的體驗。原生 app 需要感覺原生並執行起來也像那樣。它們需要可以使用讓每個平台很獨特和有趣,並不只是建置它們所有之中大眾所接受的。

Xamarin 同時提供我們最棒的兩個世界,讓我們可以直接使用全部的原生 API,並且還讓我們可以輸入我們自己的抽象以我們想要的方式。

 

你通常在平台共享多少的程式碼?Wingstop-1_nexus6p-portrait

這個問題有一個限定常常被忽略:多少應該被共享的程式碼被分享在平台?分享程式碼是很棒的事,但是這不代表你需要避免去寫非共享的平台特定程式碼,如果它可以讓你的 app 在平台上更完美。讓我們的 app 開發人員可以為我們用戶撰寫最佳體驗的程式碼是我們的職責。

我們從共享大量的程式碼受益在多個不同的層級。在底層,一個核心的可攜式類別函式庫包含了應用程式的真正內涵:服務、資料庫存取、網路與呼叫 API、應用程式的流程、每個畫面背後的邏輯等等。在這層我們有很許多的單元測試,有辦法執行這些測試在個別的平台來確保相容性。

在這上面,我們實作了我們共享的 iOS Android 層當作共享的程式專案,讓我們定義所有用來驅動 app 在每個平台的平台特定元件,相容於任何特定品牌。

對於一個特定品牌的 app,我們擁有大量的模具在建置與鷹架 (scaffolding) 管線上頭,讓我們可以產生獨特的專案們。

 

描述一下你開發的過程 你如何使用行動 DevOps / CI

一個像我們這樣要維護這麼多不同 app 的平台,自動化與 CI 非常重要。每個提交在每個分支建置每一個專案,執行單元測試,與建置品牌專屬的 app,確保這整個流程是保持穩固的。

我們可以透過 HockeyApp ,點擊一個按鈕來部署任何品牌的 app 版本到任何我們的環境。我們有自動化的流程在應用程式商店 provisioning、打包與憑證,而且也使用 Xamarin.UITest 來自動生成螢幕截圖。

 

你如何測試你的 app?為什麼行動品質很重要?

就如同自動化,測試也很關鍵。我們非常自豪在傳遞不僅是原生和高性能,而且又極致穩定的 app。不像網頁,你可以很快送出修改,而用戶只要重新刷新就會看到,要發布 app 更新的障礙是較高的。所以在 app 送到用戶手上之前能查出越多問題越好。

我們從單元測試取得眾多的勝利。因為太多我們的 app 是從那層驅動,我們可以寫執行很快與測試 app 特定部分行為的測試。不用在 UI 上打轉,我們可以從網路呼叫來定義 app 的流程從一個畫面到另一個畫面來測試每一個東西。

我們也喜歡使用 Xamarin.UITest Xamarin Test Cloud 來確定東西都運作正常。單元測試是很棒,但最重要的還是使用者體驗。

我們已經經歷了一些大的設計改變在最近幾個月,而且有辦法執行我們的 app Xamarin Test Cloud 來看看不同的裝置如何處理(或不處理)那些較無價值的東西。我們有辦法快速輕鬆地抓出那些我們有可能沒找到的問題在任意的 Android 裝置。

 

你如何使用 HockeyApp

我們使用 HockeyApp 純粹用來發布 beta 版,同時對內與對外。至於分析的部分,我們使用蠻多不同的技術,從像是 Google Analytics Google Tag Manager 到我們自己設計用來檢視我們 app 表現的工具。

Xamarin Evolve 2016 我的部分提到我們怎麼來即時監控 app 在用戶端的性能表現。像 Olo 這樣的平台有一件有趣的事,就是我們有辦法看到廣大的品牌與用戶是如何與我們的 app 互動,而這也給了我們一個優勢,來學習與持續改善我們的流程與整體的用戶體驗。

 

你們的顧客與他們的用戶對你們的 app 有什麼看法?

我們一直都在追蹤顧客給我們的回饋與進行用戶測試。整體來說回饋都是非常正面的。每次只要有人留下對於我們 app 的評論,不管好的還是壞的,都會送到 app 團隊在 Slack 上的聊天室讓大家都能看到。

當一個品牌與我們合作推出 app 而他們的顧客為之瘋狂,是很讓人興奮的事。如果你想要知道我是什麼意思,到 Twitter 上搜尋 「Wingstop app」。

 

你有什麼建議要給剛開始投入於行動開發的開發者?有什麼很棒的資源?

部落格、影音服務像是 Pluralsight,與 Xamarin 官網的文件,有太多內容可以取得了。雖然這很棒,但是對於一個剛加入的開發者來說,可能會感到有點不知所措。

我給新加入的行動開發者一個最主要的建議就是從小處開始。不要一開始就丟一堆抽象到你與平台間,像是大的 MVVM framework 添加很多價值,還有許多魔法。無法否認的是像是 iOS 與 Android 這樣的平台,雖然它們有很多共通點,但是他們終究還是不同的。一開始先花一些時間來學習基本的操作,然後再深入一些抽象層,只要你了解了它們到底在做什麼。

您可以在 Xamarin Customers webpage 與 Microsoft’s Mobile DevOps Solution 了解更多有關我們的客戶如何轉換與顧客的關係與驅動內部的生產力.

 

本文翻譯自 How Olo Powers 150+ Restaurant Ordering Apps with Mobile DevOps


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

.NET Standard 2.0 是什麼?可以吃嗎?

$
0
0

(本文轉貼自黑暗執行緒

這幾天(9/26-30) Microsoft Ignite 2016(去年起由 Ignite 取代 TechEd)正在美國如火如荼召開,乍見一個新名詞-.NET Standard 2.0。我得了一種聽到新名詞就會焦慮的病,趕緊查資料壓壓驚…

.NET Team Blog 同步貼了一篇介紹文,可說是目前最詳細最權威的資料來源,抱著懂個大概就好的心態,整理重點如下。

先用兩張圖說明為什麼沒事要搞出一套 .NET Standard 新標準?(註:圖片取自 MSDN Blog 文章

.NET Standard 的核心使命在於解決 .NET 跨平台時基礎程式庫不一致的問題。.NET 發展至今,已初步實現跨平台, 用 C# 就可以寫 Windows、macOS、Linux、iOS、Android 程式。但如下圖所示,.NET Framework BCL、.NET Core Library 與 Xamarin 的 Mono Class Library 各自發展,缺乏統一的介面標準,像是System.Collections, System.IO, System.Xml… 這類性質的基礎類別,各家支援程度不一,某些 API 可能在某個平台不存在,又或者 API 介面存在差異。

dotnetstd

如果你只專注一種平台,當然可以無視各平台基礎程式庫的差異,專心學好一種就好。但如果系統被要求跨平台,差異那怕再小,都會跑出來咬你屁股。首先,你必須搞懂不同平台的差異,第二,差異提高「跨平台共同程式庫/元件」開發的難度。(腦海中出現一堆噁心的 #if NETCORE … #elif XAMARIN … #endif) 。

過去針對跨平台共用程式庫的主推做法是PCL(Portable Class Library),取多個平台的交集,篩選保留各平台都支援的 API,但開發者仍需知道不同平台的差異。.NET Standard 則試圖規範一套標準基礎程式庫 API 介面,各平台依此介面實作出一致的程式庫,如此程式碼不需修改即可針對不同平台編譯、執行。

dotnetstd-2

即使有 .NET Standard,還是無法逃避各平台支援度不一的現況。.NET Standard 版本號碼與 API 完整度成正比,與支援平台範廣度成反比。.NET Standard 2.0 提供的 API 數目一定比 1.0 多,但如果想涵蓋 Windows Phone 8.1,就只能選擇 .NET Standard 1.0 – 1.2。dotnetstd-2

隨著 .NET Standard 2.0 制定,.NET Core 與 Xamarin 將在新版加入支援,而 .NET Framework 4.6.1 則已符合 2.0 標準。有沒有注意上表的玄機?.NET Standard 1.4 對應到 .NET Framework 4.6.1、1.5 對 4.6.2,結果 2.0 又倒車回到 4.6.1,原來是基於部署普及率考量,.NET Standard 2.0 拿掉 1.5/1.6 增加但應用不廣的 API,好讓 .NET Framework 4.6.1 符合 .NET Standard 2.0。各位同學,今天我們要介紹的成語是-「削足適履」~(笑 )

以下是 .NET Standard 2.0 的主要涵蓋範圍,細節則參考 github 上的文件。 .NET Standard 2.0 仍在發展中,未來可能還會有變動。

dotnetstd-3

至於一些與平台高度相關的 API,例如:只有 Windows 才有的 Registry、Reflection Emit 功能不適用 .NET Native、UWP、Xamarin iOS。.NET Standard 採取「需額外安裝 NuGet Package 才能使用,在不適用平台執行時拋出例外」的原則,不同的 API 處理方式不一。

如果你需要開發跨平台程式庫,官方建議改走 .NET Standard,以降低平台相依性,並允許混合參照 PCL 及 .NET Framework,但 PCL 仍適用特定場合,例如:某些平台不在 .NET Standard 支援之列,PCL 是唯一解。實作上有個 API Port可偵測程式適用的最低 .NET Standard 標準,再配合檢查目標平台是否在該標準支援範圍,以便決定標準版本。

完整的 .NET Standard 工具支援將內建於下一版本 Visual Studio “Dev 15″,以 NuGet Package 方式加入參照,而未來 Visual Studio、VSCode、Xamarin Studio 均會提供一線支援。

報告完畢。

 

MSDN Blog 原文連結 Introducing .NET Standard


 

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

行動應用開發平台寶典 (三) 行動 DevOps

$
0
0

前言

微軟的 Visual Studio Team ServicesTeam Foundation ServerXamarin Test Cloud HockeyApp 提供開發者與 IT 人員一個全方位的環境,讓您的團隊可以管理專案並快速地建置、測試與佈署行動 app 和後端的服務。

由下圖我們可以更清楚地瞭解每一個流程,VSTS 可以用來建置 iOSAndroid Windows 裝置的 app,透過 Xamarin Test Cloud 來測試,用 HockeyApp 來佈署到行動裝置,並提供開發者 app 的回饋與即時分析。

devopsm-1

行動 app 的開發越來越複雜,有越來越多新的裝置,新版的作業系統,app 必須要能夠適應各種不同的裝置類型與螢幕解析度。為了要在這環境下生存,您的專案必須要在整個開發的生命週期自動化。不只是建置與開發,版本管理與測試用戶也是,還有收集回饋與遙測數據.總結來說 VSTS 擁有以下這些能力:

  • VSTS/TFS 程式碼管理(Git 或 TFVC),敏捷開發計畫(有支援 AgileScrum CMMI),持續整合,發佈管理與其他 agile 團隊的工具。
  • VSTS/TFS 包含了第一方與第三方外掛的強大而且不斷增長的生態系統,您可以輕鬆地建構行動 app 持續整合,建置,測試,交付與發佈管理的流程。
  • VSTS/TFS 的構建可以直接串聯至 HockeyApp,而它會佈署 app 給您的測試人員。app 安裝到測試人員的裝置後,HockeyApp 會收集使用資料、錯誤報告與用戶回饋並附上螢幕截圖,而當下一個構建可以取得會發出提示。
  • HockeyApp 緊縮了 DevOps 的生命週期,透過測試、A/B 實驗、beta 回饋管理與錯誤資料分析。
  • Azure App Service 也支援了 DevOps 的後端,讓您可以配置與定義開發的 slot、暫存,而生產從 VSTS 整合並允許您這些 slot 的配置、部署與管理行動服務。

 

使用 VSTS/TFS 來管理團隊與專案

我們列出幾點主要的好處:

  • 彈性的版本控制 您可以選擇使用 Git 來進行分散式的版本控制或使用 TFVC 來進行集中式的版本控制。
  • 無上限的私人存放庫 不需要限制您開發的專案數量。VSTS/TFS 能提供團隊建立任何專案所需的存放庫。
  • 現代化的合作流程 分支隔離了開發專案的風險。Pull Request 提供工具,可以使協作更為容易,並可以檢閱要被合併回去有更動的程式碼。
  • 分支政策 要求所有程式碼的提交都要有程式碼檢閱,與透過閘道組件來消除建置中斷。
  • IDE 整合 使用您最喜愛的語言與開發工具。版本控制支援任何語言。
  • 構建整合 建立與管理構建過程,在雲端自動編譯與測試您的應用程式。根據您的需求或是作為自動化持續整合策略的一部份。
  • 待處理項目 快速地定義、設定優先權與分解您專案的工作。設定優先權幫助您讓最重要的工作擺在待處理項目的最上頭。
  • Scrum 規劃 衝刺(sprint)計畫使用以團隊為基礎的能力規劃、拖拉工作項目作業到您需要它們的地方,並透過燃盡圖來監控整個進程。
  • 任務版 用一個符合目的的任務版來執行您的衝刺,當工作要開始您可以進行觀看。
  • 自訂的 query 使用 query 您可以追蹤與組織您的資料來符合每個專案與狀況的需求。建立自訂 query 來查看過舊的工作、阻礙進程的障礙或需要關注的待處理項目。

 

使用 VSTS/TFS Xamarin Test Cloud HockeyApp 來進行持續整合、開發與發佈管理

有了 VSTS TFS 支援持續整合,開發人員可以建立並維護一個自動化建置與測試的伺服器在任何行動平台上面,而不需要自己撰寫幾百行的程式。VSTS TFS 是完全跨平台並且適用輕量任務框架與一系列前建置的任務(如下圖)與整個全新的擴充 Marketplace

devopsm-2

新的發佈管理功能在 VSTS/TFS 讓您可以建立持續交付,簡化發佈更新到 beta 與公開商店的過程,而提供您需要滿足您組織需求的控制權與可見性。

以下是主要的好處:

  • 持續整合 提供一個簡化的、以任務為主的體驗來建立 CI 伺服器給原生(AndroidiOS Windows)和跨平台(XamarinCordova React Native)的行動 app,還有 Microsoft 與非 MicrosoftjsJava)為主的伺服器技術。
  • 持續測試 構建展示整合的測試結果,您可以用 GruntGulpxctool Gradle 等來執行,而允許當錯誤發生時自動建立工作項目。
  • 測試雲端 Xamarin Test Cloud 整合構建/測試的流程,或其他像是 Perfecto MobileSauce Labs Keynote 來執行您的整合與作為您持續整合一部份的 UI 自動化測試。
  • 構建代理程式 使用 VSTSWindows)與 MacinCloudOS X)提供的雲端建置機器,或配置一個自己的構建代理程式執行在您自己的設備上,與內部部署的 TFS 整合或雲端的 Team Services
  • 持續交付 自動化您的行動 app 部署,不論您是要發佈到 HockeyAppbeta 版)、Google Play App Store(產品)。使用 Azure 部署任務,ChefDocker等持續部署您行動 app 的伺服器端。
  • 發佈管理 為您的 app 配置多個環境(QA、暫存、生產),每一個都可以有前質與後置的核准來幫助您確保更新會不小心被發佈。
  • Marketplace 最豐富的第一和第三方服務擴充的生態系統,有利於更進一步客製化您的 CI CD 體驗。

 

使用 HockeyApp 來管理 beta 版的發佈程序

有了 HockeyApp 您可以直接交付給測試人員與內部或外部 beta 的客戶裝置。透過網頁或原生行動 app 中的集中式儀表板,測試人員可以取得 beta 版的 app 與所有其他的版本,如下圖所示。

devopsm-3

透過行動 app 的通知服務,您可以請求用戶更新到特定的版本,讓您的用戶能保持在最新的版本。

HockeyApp 提供了非常豐富的管理工具給用戶與裝置。用戶可以用現有的帳號(像是 GoogleFacebookTwitterMicrosoft Azure Active Directory)來登入。您可以新增新的測試人員透過自動徵才與用 URL 連結或 email 來邀請。您也可以控制不同版本的 app 存取權限,根據不同的用戶或者是團隊。HockeyApp 還可以收集用戶裝置的資訊,來幫助管理 iOS UDID 與瞭解裝置測試的涵蓋範圍。

 

使用 HockeyApp 來蒐集操作與行為的分析

了解實際的錯誤情況對於行動應用程式來說是非常重要的。HockeyApp 整合完全開源的 SDK 提供了非常可靠的自動錯誤收集,對於每一個應用程式的錯誤,而這個功能支援大多數主要的行動平台,包含 iOSAndroidWindowsXamarinCordovaReact Native 等等。

HockeyApp 的儀表板提供了錯誤的摘要與用戶的回饋,包含用戶回傳的訊息與自動螢幕截圖。它會歸納所有平台上相似的錯誤,如下圖所示。

devopsm-4

您可以享受強大的錯誤分析工具帶來的好處,與自動錯誤分群來辨識相同原因所導致的錯誤。您可以利用 HockeyApp Mac app 來檢視錯誤報告與直接導向到錯誤的那行程式碼在您的 IDE 中。HockeyApp 幫助您瞭解每個錯誤在裝置與 OS 的分佈情況,讓您可以進一步了解平台的問題。取得每個錯誤影響的總用戶來更快地分類。

HockeyApp 讓您可以更了解用戶的行為模式,透過自動化的工具與流程,並且可以追蹤任何用戶的動作與視覺化地分析數據,還可以直接透過回饋系統來與用戶聯繫,分享用戶的體驗與螢幕截圖。

 

使用 Azure Mobile Engagement 來洞悉行動顧客的想法與進行行銷活動

Azure Mobile Engagement 是一個用戶參與的 SaaS 平台,提供行動 app 使用情況的資料洞悉與即時的用戶區隔。有了 Azure Mobile Engagement,應用程式的發佈者與行銷人員可以更清楚地了解 app 的用戶並與他們互動。

 

可即時採取相應動作的分析來最大化投資報酬率

您可以透過結合大數據資料的收集與即時訊息的處理,根據使用者的行為和人口統計,進而觸發業務開發案例。Azure Mobile Engagement 幾乎能為您解決業務需求的所有疑難雜症。例如,建立自訂儀表板以測量關鍵效能指標(KPI)。快速尋找並修正使用者路徑中的使用量瓶頸。追蹤保留期與忠誠度,並依此判斷哪些行銷活動能創造最大的 ROI。在 Mobile Engagement 中使用 360° 的使用者路徑檢視,可以輕鬆且持續地增強使用者體驗並將其最佳化,進而驅使更高的保留率與更多的 app 使用量。

devopsm-5

 

加值型推播和通訊平台

Mobile Engagement 能夠完美搭配原生推播通知閘道運作,例如 Google GCMApple APNS Microsoft WNS。而還可以進一步讓您有能力透過分析用戶行為來區隔用戶群,來建立目標客群的活動。

透過高效率與非親入性的方式來接觸他們的客戶有利於 app 的開發人員,如下圖所示。devopsm-6

 

開放式 API 和輕鬆整合

透過容易整合的開放式 API SDK,您可以使用 CRMCMS 或其他後端系統現有的資料。這讓您可以更深入地改善目標客群的選取及保護您的投資。

 

使用 VSTSAzure Application Insights 執行後端行動服務的 DevOps

開發人員與測試人員可以簡單快速地使用 Azure 中的範本來佈建開發與測試環境。下圖說明了整個流程。

devopsm-7

開發人員可以建立自動化測試在每個階段的部署,並可以定義必要的核准在部署之前與之後。

有兩個基礎的技術撐起整個 Azure 的架構:

  • Azure Resource Manager 開發人員可以使用儲存在原始檔控制的 ARM 範本,佈建虛擬機與任何 Azure PaaS 元件,並使用他們已經熟悉的工具來工作。
  • Azure Marketplace 範本 提供許多測試的 framework 與服務,讓開發人員可以做功能與效能的測試。顧客也可以利用 VSTS 的負載測試服務,從世界各地的不同的 Azure 資料中心,為您的 app 生成無限制的虛擬使用者。

 

使用 Visual Studio Application Insights 來分析後端系統的健康度

Application Insights 幫助您偵測與診斷效能上的問題與瞭解使用者實際上如何與您的 app 互動,其為開發者設計,讓您可以持續改進您服務與 app 的效能與可用性。

devopsm-8

您可以使用它來做到以下的事:

  • 分析使用的行為模式來更暸解您的使用者,並持續改善您的 app
  • 計算瀏覽量、新進與回流的用戶、地理位置、平台等核心的使用數據。
  • 追蹤使用路徑來評估每個功能的成功。
  • 偵測與診斷效能問題,並在大多數用戶看到前修復它們。
  • 效能改變或發生錯誤時會收到警告。
  • 探索指標來診斷效能問題,像是回應時間、CPU 使用量與 dependency 追蹤。
  • web app 的可用性測試
  • 從例外狀況的報告與警示中洞悉更多有用的資訊。
  • 強大的診斷 log 搜尋(包含您最喜歡的 logging framework 的 log 追蹤)。

 


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922


TFS “15” 發行管理 (Release Management) 的定價

$
0
0

從新版的發行管理被引進到 TFS 2015 Update 2,就一直是在「試用模式」。任何使用者有 “基本" 的存取權限就可以使用發行管理中的所有功能。過去幾個月,我們努力及時在 TFS “15” RTM 發佈時完成發行管理的定價模式。我們期望中的定價模式如下:

  • 讓團隊中所有 “基本" 使用者皆可使用發行管理。
  • 免費提供給小團隊,隨著組織的複雜度成長,依然是相當有競爭力的
  • 同樣適用於 TFS 與 VSTS。
  • 在 VSTS 中的建置與發行管理是一致地。
  • 為 Visual Studio Enterprise 訂閱提供更多。

基於以上幾點,以下是我們目前為發行管理所定出的定價模式摘要:

以人頭計費
  1. 發行管理的所有功能,包含編輯發行定義,都包含在 TFS CAL
發行 管道
  1. 每個 Team Foundation Server 免費一次執行一個發行管道
  2. 購買額外的並存管道 每月要 $15 /每個
  3. 隨著 Visual Studio 訂閱數量增加的同時,發行管道的比例將會另行公布。

 

讓我們再仔細看看這個模式的更多細節。

  • 沒有額外的依人頭收費:您不用再支付以人頭計費的 RM 了。在之前的發行管理版本(Release Management Server 2013)需要 Visual Studio Test Professional 或 Enterprise 訂閱,才能撰寫發行定義 (Release Definitions)。現在不需要了。就像建置,發行管理可以被 TFS 中的所有使用者所使用,只要他們有 “基本" 存取權限或 TFS CAL。就像以前一樣,專案關係人可以繼續批准或拒絕發行,甚至不需要有 “基本" 存取權限或 TFS CAL。
  • 代理程式不需收費:您不需要支付發行管理的代理程式費用。可以用您的 TFS 註冊任何數量的代理程式。
  • 並存管道需要收費:發行管理主要的測量單位就是您可以同時執行的管道數量。一個管道就是單一個發行。預設情況是您只可以免費同時執行一個通行,其他您建立的多餘發佈,將會自動佇列。當您同時部署發佈到多個環境,所有部署仍然只算一個通道,因為它們是這單一個發佈的一部分。
  • 單點購買:您也可以從 Visual Studio 市集購買額外的發佈通道,而不需要購買整個 Visual Studio Enterprise 訂閱。

新的定價模型從 TFS “15” RC2 開始有效。唯一一個在 RC2 還未有效的是從 Marketplace 購買單點的擴充。目前這部分還在進行中,預計能在 TFS “15” RTM 完成。

當您升級到 TFS “15” RC2 或以上的版本,您將需要注意:

  • 發行管理不再是「試用版」了。
  • 所有在您伺服器的 “基本" 用戶都可使用所有發行管理的功能。
  • 您可以免費使用的同時執行管道數量為每台伺服器一個。
  • 資源限制的頁面在 Settings -> Build and Release 下,您可以在那裏管理您伺服器的同時執行的管道數量。

要了解您發行管理真正的花費,只需要問您自己一個問題 我需要同時執行多少個管道?我們相信一個免費的管道足夠讓一個小團隊開始。根據經驗法則是每 10 個用戶算一個通道。即使是大型的帳戶或組織(有 200~500 個用戶),也不太可能有超過 20~50 個管道同時在執行。

我們計畫在接下來的幾周完成這定價模型的官方文件,在 TFS “15” RTM 發佈之前。我們也將會把定價模式放到 Visual Studio Team Services 中的發行管理文件中。這篇文章目的是為了讓發行管理的用戶了解上述即將要在 TFS “15” RC2 發佈的定價功能。

 

發行管理團隊

 

本文翻譯自 Pricing for Release Management in TFS “15”


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

更快更方便的 Visual Studio “15” Preview 5 發佈囉!

$
0
0

今天我們發佈了 Visual Studio “15” Preview 5。這次的 Preview,我想要把重點放在效能上的改進,而在未來幾天也會有一些後續文章有關我們看到的效能改善。我也會指出一些我們所做的生產力改善。

所以來下載安裝器吧!然後繼續閱讀以下的介紹。您也可以在這取得發佈公告

 

效能與內存效率大躍進

我想一開始先透過一個並行的影片,讓您可以一次對所有的效能改善有初步的了解。這個影片比較了從開始 Visual Studio 到載入整個 .NET 編譯器平台「Roslyn」方案的時間,相較於 Visual Studio 2015 的 60 秒,Visual Studio ‘15’ 僅花了 30 秒:

有較快的載入時間是因為我們所做的許多改善 輕量化專案負載與依需求載入擴充。下面列出了一些在 Preview 5 中關鍵的改進:

  • 輕量化專案負載縮短了方案載入時間:在進行至少包含 100 個專案的方案,並不代表您需要在同時間使用所有的檔案或專案。VS “15” 提供了編輯與偵錯的功能,而不須等待 Visual Studio 載入每一個專案。您可以在 Preview 5 試試這個功能,從 Tools > Options > Projects and Solutions 開啟「Lightweight Solution Load」。
  • 依需求載入擴充加快了啟動速度:這個想法很簡單:在需要擴充的時候載入它們,而不是在VS 啟動的時候。在 Preview 5 我們開始移動我們的 Python Xamarin 擴充來使它們依需求載入,並將所有 Visual Studio 與第三方擴充供應商提供的擴充移動到這種模式。好奇哪些擴充影響了啟動速度、方案載入與打字效能嗎?您可以到 Help > Manage Visual Studio Performance 查看這些資訊。您有在開發擴充嗎?我們將會發佈指引來幫助擴充開發人員可以轉向依需求載入的模式。
  • 將子系統從 VS 主程序移到分離的程序:我們移動了一些內存密集的工作到分離程序,像是 Git Source Control、我們的 JavaScript TypeScript 語言服務。這讓您比較不會因為在 Visual Studio 主程序中執行的程式或 Visual Studio 變得呆滯,甚至因主程序接近 4GB 的內存限制導致崩潰,而感到延遲。我們會持續在未來的發佈中把元件從程序中移出。
  • 更快的 C++ 專案載入、編碼與偵錯:我們讓載入 C++ 專案的速度更快了。您可以透過這個影片來看看我們的改善。您可以開啟這個功能,透過在 Tools > Options > Text Editor > C/C++ > Experimental 中設定「Enable Faster Project Load」為 True。我們也改善了我們的連結器與 PDB 載入函式庫,來增加建置與更快速地啟動偵錯器,同時在偵錯時大量地減少內存消耗。
  • 改善使用 Git、偵錯與編輯 XAML 程式碼的速度:我們改善原始檔控制作業的速度,透過從 libgit2 切換到 git.exe。我們也改善了偵錯的效能,透過最佳化初始成本與其他有關 IntelliTrace Diagnostic Tools 視窗的成本,並移除了幾個會發生在編輯 XAML 檔的延遲。

這還只是開始而已,我們致力於進行這樣的改進,來讓 Visual Studio 啟動更快速更靈敏,並使用更少的內存。留意未來在 Visual Studio 部落格上的貼文,我們將深入討論這些改進背後的技術細節。

我們嚴格地測試這些更動,來及早發現問題並提供最棒的效能,但現實世界中的程式碼並沒有替代品。因此我們需要您的幫助!請安裝 Preview 5 用它來執行您的大型方案,並透過 IDE 中的 Report-a-problem 告訴我們您的想法。

 

生產力的改善

Visual Studio “15” 也有許多功能是針對維持高生產力。

編輯程式碼

IntelliSense filtering 現在可以在 C#VB C++ 中使用了。在探索複雜的 API 時,可以縮小到只有您需要的類型(例如:方法、屬性或事件)。在 C# Visual Basic 我們確定某個位置需要的「目標類型」,並預先在清單中選擇符合該類型的項目。這加速了您的打字速度,而且不再有必須要弄清楚某特定位置預期類型的困擾了。

VS15Preview5-1

C++,實驗性的 Predictive IntelliSense 功能顯示過濾過的 IntelliSense 清單,您就不需要在滾動一個很長的清單了。基於需要的可能性,只有那些預期類型的項目會被列出來。您可以在 Tools > Options > Text Editor > C/C++ > Experimental 將這個功能開啟。

XAML,我們新增了 x:Bind IntelliSense 完成模式,當您試圖要綁定屬性與事件時,提供一個完成的清單。命名空間完成提供自動完成(auto-complete)的功能,如果參考的命名空間已經存在。XAML IntelliSense 也已經更新,來篩掉不符合的類型與屬性。選擇最接近的匹配結果,所以您就只會看到相關的結果,而不用再滾動長長的類型清單了。

JavaScript,我們已經完全地改變搭載 IntelliSense 的語言服務。之前,當您在打字時,JavaScript 引擎持續地執行您的程式碼來提供 runtime-like 的完成清單與簽章幫助。這對於動態的 JavaScript 程式碼來說很棒,然而它時常造成不一致的編輯體驗。新的語言服務使用搭載 TypeScript 的靜態分析,來提供更多詳盡的 IntelliSense,完全涵蓋 ES6/ES7,讓您有更一致的編輯體驗。

VS15Preview5-2

 

快速修復與重構

為了幫助您維護一個可讀的程式碼庫,並促進您的開發工作流程,我們新增了更多對於 C# Visual Basic 的快速控制項目與重構。移動類型到對應的檔案(Move Type to Matching File移動一個類型到一個與類型名稱相同的新檔案,而同步檔案與類型名稱(Sync File and Type Name提供您選項更改您的類型名稱來對應到您的檔案名稱(反之亦然)。最後,轉換成內插字串(Convert to Interpolated String讓您透過轉換您的「string.Format」表達式到內插字串,擁抱 C# 6.0 VB14 的美好。

VS15Preview5-3

 

巡覽程式碼

四處瀏覽而還知道自己在程式碼庫的哪裡是很不容易的;我們新增了幾個新的巡覽功能來幫助您。Go ToCtrl + , Ctrl + T)讓您可以迅速地在您的程式碼中找到檔案、類型、方法與其他各種物件。

VS15Preview5-5

Find All ReferencesShift + F12)現在讓您更容易四處瀏覽,甚至是在複雜的程式碼庫。它提供進階分群、篩選、排序、從結果中進行搜尋與(對某些語言)著色,這樣您就可以清楚地理解您的參考。

VS15Preview5-6

 

偵錯

Preview 5 我們引進了一個實驗性的功能:Run to Click。您不再需要設定一個暫時的中斷點來跳躍至此並停在您想要的那一行。當偵錯器停止時,只要點選出現在您滑鼠游標所在的那行程式碼旁邊的圖示。每當程式執行到那行的時候就會停止在那行。您可以在 Debug > Options > Enable Run to Click 來開啟這個功能。

VS15Preview5-7

新的例外輔助程式(The New Exception Helper:用新的例外輔助程式來更快速地查看您需要的東西。清楚迅速地查看最有用的例外資訊,包含查看什麼變數為空值,立即取得內部例外式,透過緊鄰的非 modal 對話框。

 

快來試試看!

您可以到 Visual Studio “15” Preview 5 公告頁面,查看這次發佈內容的完整清單,還有一些已知問題。

這裡有一些關於 Preview 5 的重要注意事項。首先,這是一個尚未支援的預覽版本,所以請不要將它安裝到您從事重要生產工作的機器上。第二,Preview 5 應該要與先前的 Visual Studio 版本並行使用,但您必須在開始安裝程序前,移除任何先前的 Visual Studio “15” Preview 安裝。您可以到 Preview 5 FAQ 查看一些其他的常見問題。

一如往常,非常歡迎您給予我們回饋。如果有問題的話,可以透過 Report a Problem 的選項來讓我們知道,從安裝程式到 Visual Studio IDE 本身的問題都可以唷!您可以在 developer community 追蹤您的回饋。如果是有建議的話,可以透過 UserVoice 來讓我們知道。

最後,您可以查看 Mitra 來了解更多有關即將到來的開發者大會 Connect(); 2016

 

本文翻譯自 Announcing Visual Studio “15” Preview 5


VS
若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com 

迎接微軟人工智慧的下一個旅程 ( 有實作課程推薦唷 )

$
0
0
沈向洋,微軟全球執行副總裁,微軟人工智慧及微軟研究事業部

        在九月份的微軟 Ignite 大會上,我們展示了如何全面、廣泛地將人工智慧 (AI) 注入到微軟各產品和服務,以此來進一步幫助我們的客戶。在這個根本性的轉變中,出發點是普及人工智慧,就是讓每個人都可以使用人工智慧,並從中受益。我們專注於創造一個人工智慧叢集,它不僅覆蓋基礎設施、服務、應用以及智慧助理,而且可為包括消費者、企業用戶和開發者在內的眾多客戶群所用。

        我們正在建立許多工具,讓繁忙的職場人士在工作上能夠有條不紊;讓身處不同國家的親朋好友能夠跨越語言障礙盡情交談;讓智慧手機用戶能夠分身有術、更快速地發送信息。同時,我們也在為企業用戶提供其所需的工具,讓他們能夠將智能注入到每一個產品和每一項商業決策中。

        今天,微軟宣布成立一個全新的部門,藉此來加速這個程序。這一部門將包括微軟研究院 (Microsoft Research) 、微軟信息平台部門 (Information Platform Group) 、Bing 和 Cortana 產品部門,以及環境計算 (Ambient Computing) 和機器人團隊。新組成的部門將擁有超過 5,000 名計算機科學家和工程師。

        我在研究和產品兩方面的團隊都工作過,十分相信這個新部門的巨大潛力。今天,人工智慧在改變計算機科學研究原有次序的同時,也正在讓研究與產品之間的界限變得愈加模糊。人工智慧真正有用的創新不會出自研究院實驗室的象牙塔,而會來自集跨界綜合創新之大成,是大規模生產任務與算法、系統和體驗各方面研究成果的深度技術結合。新成立的部門將大大地加速我們在人工智慧方面的創新,幫助我們為用戶創造出真正智慧的系統和產品。雖然我們已經擁有許多世界頂尖的人工智慧人才,我們還會持續不斷地吸引更多人才加入。

        25 年前,比爾 • 蓋茲創建了微軟研究院(Microsoft Research)。研究院成立初期的部分工作就主要集中在包括語音識別、自然語言和計算機視覺等在内的人工智慧研究上。從那時起,我們即在人工智能研究領域持續投入,推進人工智慧以及包括機器學習等在内的相關領域的發展。最近,微軟研究院利用深度學習,在語音識別和圖像識別上又有重大突破,並將其應用到諸多微軟產品中。

        微軟在人工智慧基礎研究方面取得的成果不勝枚舉,這些成果不僅正在影響著我們的產品和服務,也同時在為我們的客戶提供幫助。Bing 搜尋引擎的發展一直以來都得益於研究人員與工程師的緊密配合。我們近期獲得的突破,例如 Microsoft Graph,正是在密切合作中產生的。

        如果沒有多年對機器學習、對話識別和自然語言領域的投入和深入了解,就不會有 Skype 即時翻譯、小冰聊天機器人和 Cortana 這樣的虛擬助理出現。如今,Cortana 每天都在為 1.13 億用戶服務,並已回答了超過 120 億個問題。在商用領域,Cortana 智慧套件 (Cortana Intelligence Suite) 讓我們的客戶可以利用微軟研發和 Bing 的創新,來創造出全新的產品。這些產品不僅能增強安全性,還可以測量人們的情緒狀態(emotional state),更能幫助我們感知周圍的世界。

        本週,我們還宣布了基礎設施方面的最新進展,推出了基於雲平台的人工智慧超級雲電腦 (AI supercomputer in the cloud) 。此外,我們還為開發者提供了深度學習工具包 – CNTK,幫助客戶快速建置人工智慧模型。

        今天,我們在普及人工智慧的道路上邁出了新的一步。正如 Satya 不久前指出的,我們探索人工智慧,是為了幫助每一人、每一組織,透過為他們提供所需的工具,讓他們能夠解決我們在社會和經濟上遇到的最緊迫的挑戰。

(文章出自:微软人工智能的下一个新征程


Microsoft-logo 強力推薦

 挖掘 ChatBot 商機 – 建置擁有人工智慧的 ChatBot 

面對即將到來的新訊息經濟時代,使用者眾多的聊天通訊平台是建立新的商業服務或應用的好選擇, 聰明的團隊該認真思考把 ChatBot 列為服務提供選項囉!除了各平台 ChatBot 開發介紹,還有實戰課程,透過 Microsoft Bot Framework 及 Cognitive Services 辨識服務,帶你打造專屬的 ChatBot on Facebook Messenger!

本活動共分三場,歡迎粉絲都能共襄盛舉,趕快來報名吧!


觀看更多最新資訊與課程,歡迎至 >> MSDN 台灣 與 Channel 9 免費課程平台

使用 EF Core 1.0 實作 Seeding、自定義慣例與攔截器

$
0
0

這篇貼文是 .NET 團隊中的軟體工程師 Alina Popa 撰寫的。

 

簡介

Entity Framework CoreEF Core)是一個輕量且可延伸的 Entity FrameworkEF)版本,它跨平台而且支援多個資料庫供應商。您可以在 Entity Framework 中找到 EF Core EF6 的比較。

當您把一個應用程式從 EF6 移到 EF Core,會遇到一些原來存在於 EF6 的功能,卻沒有出現或還沒有在 EF Core 實作。不過,還是有辦法在 EF Core 中實作出同等的功能。

 

Seeding

在 EF6 時,可以透過覆寫底下其中一個 Seed() 方法來初始資料庫中的資料:

EF Core 沒有提供相似的 API,因為資料庫初始設定已經不在 EF Core 中了。想要初始資料庫,則應該把資料庫初始化程式碼放到應用程式的 startup。如果您在使用移轉(migration),呼叫 context.Database.Migrate(),否則使用 context.Database.EnsureCreated()/EnsureDeleted()

初始化資料庫的模式在 Entity Framework Core GitHub repo 中的 issue 3070 討論。建議的實作方式是在 Startup.Configure() 當中的 Service Scope 執行資料庫初始化程式碼:

您可以在找到一個使用移轉的資料庫初始化例子。MusicStore 範例也是使用這種植入的模式。

請注意,一般而言建議手動採用這些操作(而不要在 startup 自動執行移轉與初始化),避免多個伺服器的競態條件,與無意的更動。

 

自定義慣例

Entity Framework 6 我們可以透過使用 model-based 的慣例,建立自定義的屬性與表格配置。例如,以下的程式碼在 EF6 建立一個慣例,當欄位名稱超過 30 個字元,會擲回例外狀況。

EF Core 沒有提供 IStoreModelConvention 介面,然而我們可以透過訪問內部服務來建立慣例(在 EF Core 延伸較低層的元件)。在以下的例子,我們實作了一個 model 的驗證程式,檢查太長的表格或欄位名稱:

請注意這個 model 不是唯讀的,它可以在迴圈內更改。

 

攔截器

Entity Framework 6 使用 IDbCommandInterceptor,提供了攔截內容的能力。攔截器就在指令或查詢送到資料庫前與送到後,讓您進入管道。 Entity Framework Core 目前還沒有任何攔截器,但是可以透過匯入攔截器相關的功能子集來達到,例如 DbContext.SaveChanges

關於上面這個範例:

  • 呼叫 ChangeTracker.DetectChanges() 是為了確保變更追蹤器有在注意實體的改動,例如:如果您設定 .Category 到一個在現存 Product 上新的 Category,新的 Category 將不會被追蹤直到 DetectChanges() 被呼叫或它明確地透過 DbSet 或 ChangeTracker 新增。
  • 在呼叫 base.SaveChanges 之前,將 AutoDetectChangesEnabled 設定為 false 是因為效能的原因,為了避免再呼叫 DetectChanges()。

攔截器與 seeding 在功能待辦項目中的優先度是很高的,而 Entity Framework 團隊計畫會在近期處理它們。

 

實用連結

 

本文翻譯自 Implementing Seeding, Custom Conventions and Interceptors in EF Core 1.0


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

MSDN 論壇精選 ( 8/16 – 9/30 )

$
0
0

14600647_10206929760353829_1039056505_o

MSDN 論壇  是一個可以讓開發人員自由提出問題、尋找資訊的好地方,歡迎大家多多利用,與社群中的同好們一同分享 Microsoft 技術資訊。我們會不定期整理論壇精選給大家,希望對您的學習有所幫助!

以下為 2016 08/16 – 2016 09/30 的論壇精選,感謝 MSDN 小幫手的協助。本期論壇根據觀看數討論數,精選出 15 個熱門話題,並搭配相關影片,幫助大家更容易解決問題及蒐集資訊。

0383.channel-9-logoChannel 9 相關影片


熱門話題 

Q 1:Model–View–Controller 檔案上傳、下載及讀資料庫問題

在偵錯之後,他停在不如預期的階段,該怎麼辦?

Q 2:Windows Presentation Foundation 的 Button 在設定後無法顯示

Windows Presentation Foundation 的 button 在設定好圖片作為背景之後,為什麼滑鼠移動過去圖片就會消失?

 Q 3:Windows Form 的 DataGridView 設計上的問題

要設計成想要的樣子,該怎麼使用 Windows Form 的 DataGridView 設計呢?

Q 4:如何運用正規式判斷字串不是相同數字或者相同字母

舉例來說 : Lanlan123、Lanlan321、Lanaaa、LanAAA、Lan111、LanABC,該怎麼判斷呢?

Q 5:開發的程式在不同電腦執行上的問題

目前用 C# 寫了一支程式,分別在 A 電腦跟 B 電腦上執行 (都有安裝 Visual Studio 2013 ),皆可正常執行,但是出現了兩個問題:

1. B 電腦執行程式,程式會 LAG ( 但是 A 電腦很順 )

2. B 電腦在關閉程式時,會出現程式已停止的錯誤 ( 但是 A 電腦是正常關閉 )

Q 6:關於邏輯處理與畫面顯示 

我在 Click 事件中寫兩種 textbox,等 4 秒之後,畫面才看的到 textbox1,textbox2 的值,可是想要的是先顯示 1 在顯示 2 的這種先後順序感覺,該怎麼做?

 Q 7:系統使用 Visual Basic .NET 配合 Excel 來產製報表所遇問題

每個 Session 的第一個 EXCEL.EXE *32 都不會結束,查過一些資訊,發現解答中所提到的程式碼其實己經在其中,最近會卡二三十個,這會是什麼問題?

Q 8:如何攔截瀏覽器複製頁面的事件

我用 FormLoad 與 Javascript 外層去做攔截,但是都抓不到。的目的是想讓每個網頁都可以有自己的獨特的 GUID 變數,在瀏覽器複製網頁的時候,可以重新產生 GUID。

Q 9:Entity Framework 更新資料問題

有一個產品及產品圖片的資料表,當我新增產品資料時,要去更新產品圖片關聯的 ID,但執行後都只更新到第一筆,請問哪裡需要做調整?

Q 10:資料庫檔案與 SQL Server 執行個體不相容

在開書上的資料庫範例 (.mdf 檔) 時,會出現錯誤,該怎麼處理?

Q 11:取得特定網頁上資料的問題

某些公司行號、政府機關會利用 Google 作為該公司網站的搜尋引擎,我可以利用程式,在該 Gooogle 文字框內輸入「貨物稅」、「電子發票」等等字串,我只需要取得一個資訊,就是有多少筆資料?

Q 12:Visual Basic .NET 內建問題

一個由 Timer 引發的事件,在 Excel  VBA 使用上没動作。

Q 13:Windows Presentation Foundation如何使用 BackgroundWorker

日前寫完運算程式,接下來打算將運算背景處理,目前是參考這篇文章 BackgroundWorker,裡面的範例實際超做過也 OK,但是要怎麼應用在我自己的運用程式上?

Q 14:SQL Server Reporting Services 矩陣橫向表格資料相減問題

想請問如何可以在 SSRS,年度增減金額的表格內容數字,是橫向直接把 2016 表格的數字減 2015 表格的數字,後得出結果。還是只能在 SQL 語法裡處理?

Q 15:Form 表單實際執行會邊框會稍微溢出

Form 是否在測試時與實際使用時有差異?

 

0383.channel-9-logo Channel 9 課程平台影片 

Windows 平台新潮技術 – Ink 開發展示

運用 .NET 開源框架,提高前後端開發生產力 – 以知名互聯網平臺為例,以 C# 語言開發跨平臺的伺服器應用

程式設計師職場生存實戰技巧,提升加倍生產力

Windows Presentation Foundation (WPF) 應用程式開發

運用 SQL Server 2012 Reporting Services 建立豐富視覺化報表


欲觀看更多精彩課程請至>>Channel 9 免費課程平台

🔥也可以到 MSDN 台灣 粉絲專頁,鎖定每日最新的好文分享及精選課程喔!

使用雲端負載測試進行私人/內部網路應用程式的測試

$
0
0

雲端負載測試服務 可以用來進行應用程式的效能與規模測試,透過從 Azure 產生負載。這種負載的產生方式只可以點擊/產生負載在有網路/公開存取的應用程式。但我們常常遇到客戶需要負載測試他們的應用程式,但它並不是可公開存取的。原因可能有很多,我們列出一些在下面:

  1. 測試僅內部使用的應用程式很多大型的機構會有一些應用程式/網頁是必須要滿足整個機構的需求。
  2. 發佈到網際網路前在內部測試應用程式 在實際要發佈之前,機構會想要確定,並沒有性能故障或是網站因為龐大流量而承受不住的問題。

為了要提供上述情況的支援,我們正努力開發一個功能,讓使用者可以進行負載測試在他們的內部/ABFapplication behind firewall)應用程式。在說解法之前,讓我們引導您走完下面的流程圖,以找到最佳量身訂製的解決方法根據您的需求。您就可以閱讀特定的解決方法(1-6)並嘗試看看。

loadtest-1

  1. 使用預設路徑,CLT 將會自動佈建代理程式。這是對有公開端點的應用程式使用 CLT 進行負載測試的預設情節。負載測試服務將會自動佈建負載代理程式(在 Azure)來模擬使用者負載。參考來取得更詳細的 CLT 使用方式。
  2. 使用 ARM 範本來部署您自己的負載代理程式。#1 解決方法佈建代理程式在 CLT 服務界限裡而使用者並不能擁有控制權。如果您希望可以控制(存取)負載生成的代理程式為了任何自訂的需求,您可以自己使用 ARM 範本來部署它們在您的 Azure 訂閱帳戶。這些機器將會取得 CLT 註冊可以產生負載。更多相關資訊可以在文章後面的部分看到。
  3. 使用 ARM 範本來部署負載代理程式在 VNet如果被測應用程式(AuT)是在 Azure VNet 中或有一個 ExpressRoute 介於應用程式私有網路與 Azure,您可以使用一個預設的 ARM 範本部署 IaaS 虛擬機在 Azure 在特定的 VNet 來充當負載代理程式。機器將會佈建在您的 Azure 訂閱帳戶並針對您的 VSTS 帳戶註冊。您建立這些機器的 VNet 必須能看的到應用程式,使得負載生成器有辦法觸及這個程式。更多相關資訊可以在文章後面的部分看到。
  4. 使用 ARM 範本以靜態 IP 部署負載代理程式。如果您沒有使用 ExpressRoute 連結而想要在本地測試應用程式,您可以使用 ARM 範本來部署 IaaS 虛擬機在 Azure 充當負載代理程式。選擇您在防火牆中允許通行的靜態 IP 來建立這些虛擬機,這樣必要的負載就可以生成。機器將會部署在您的 Azure 訂閱帳戶並針對您的 VSTS 帳戶註冊。更多相關資訊可以在文章後面的部分看到。
  5. 使用雲端負載代理程式在您的設備上。我們也想出了一個簡單的 PowerShell 腳本,可以幫助您配置實體或虛擬機器來作為負載代理程式。這些機器將會針對您的 VSTS 帳號註冊來生成負載。您可以了解更多在另一則使用雲端負載代理程式在您的基礎建設上
  6. 使用 Test Controller/Test Agents 來進行本地測試在您的設備。如果您想要在本地測試應用程式,但遇到一些限制,像是因為一些原因沒辦法儲存結果在雲端(又或者說,遵守法規)您可以使用 Test Controller / Test Agents 來進行負載測試。這需要您使用您自己的設備來產生負載,而結果將會儲存在 SQL 伺服器。您可以在這裡取得更多資訊。

那現在我們就針對 #2#3#4 來進行更深入的討論。

這部分將會詳細告訴您如何使用 Azure IaaS 虛擬機佈建負載代理程式。使用者必須有 Azure 訂閱帳戶,IaaS 虛擬機與相關的資源將會佈建在此。而這在下面這兩個例子中很有用:

  1. 您想要測試私人的應用程式,是無法透過 CLT/internet 存取的。
  2. 自備您的訂閱帳戶(BYOS您有自己的 Azure 訂閱帳戶,而想要利用它進行負載測試。您也可以使用 Azure 免費額度,如果您有的話。

Azure 提供了一個優勢因為使用者可以分佈他們的負載測試到不同的地理位置,而這些日子裡我們已經看到有很多顧客對於此非常有興趣。

 

使用 ARM 範本來部署負載代理程式在 VNet

下面是一個簡單的拓樸,負載代理程式出現在使用者的 VNet 下,因此將會看的到應用程式。我們已經發佈一個 ARM 範本到 GitHub 上,來幫助使用者更簡單快速地佈建機器。

loadtest-2

而這方法要可行,使用者必須有一個現存的 VNet 如同上面所述。VNet 識別需要它的資源群組名稱。如果您希望使用一個現存的子網路,您也應該要有這些資訊。

要部署這樣的 rig,我們要發佈一個 ARM 範本。您可以點擊下列的連結來自動地載入 ARM 範本到 Azure 管理入口網站。

佈建負載代理程式在現存的配備

一旦您點擊它,它將會載入範本在 Azure 入口網站,而您將會看到下面的畫面。使用者可以填入參數並可以根據需求選擇訂閱帳戶/資源群組/位置。

loadtest-3

如果您希望更深入鑽研這個範本,並根據您的需求來修改它,您可以到下面的 github repo 來查看它:

https://github.com/Azure/azure-quickstart-templates/tree/master/201-vsts-cloudloadtest-rig-existing-vnet

 

使用 ARM 範本以靜態 IP 佈建負載代理程式

我們有發行了另一個 ARM 的範本,而使用者不需要有一個現存的 VNet。這可以用於以下兩個目的:

  1. 如果您在 Azure 沒有 ExpressRoute,但想要使用他自己的訂閱帳戶進行負載測試,您可以使用這個 ARM 範本,它用它自己的 VNet 部署了一個 rig。如果您需要測試私人應用程式,您可以以靜態 IP 部署配備(提供作為一個選項),在防火牆中開一個洞,只給這些 IP(s) 一條路徑是留給負載代理程式。
  2. 如果您想要取得負載生成代理程式的控制(因為 CLT 自動佈建代理程式不能被使用者存取)。您可以選擇讓這些虛擬機有靜態/動態 IP

要充分利用這一點,只需要點擊下面的連結來載入 ARM 範本在 Azure 管理入口網站。

佈建負載代理程式 VNet

以下是這個 ARM 範本的 Github repo 連結:

https://github.com/Azure/azure-quickstart-templates/tree/master/101-vsts-cloudloadtest-rig

一旦您部署虛擬機,可能需要 10-15 分鐘來讓機器配置 CLT 並準備好進行負載測試。負載測試在這些代理程式執行完畢前,CLT 將不會消耗 VUM (虛擬使用者分鐘數),但使用者要承擔他訂閱帳戶消耗 Azure 資源的費用。

ARM 範本我們設定機器大小為「Standard_D4_V2」。這個大小的機器有 8 CPU 核心與 28GB 的記憶體。使用者可以修改範本來更改這些值。參考來了解更多有關 Azure 機器大小與功能。

 

如何使用負載代理程式佇列一個執行

我們正努力讓我們的產品有一流的體驗。到時候使用者可以佇列一個執行在這些機器,透過一個特定的內容參數在 Visual Studio 負載測試檔。

內容參數名稱 UseStaticLoadAgents

內容參數值 true

Visual Studio 中,它看起來會像下面這樣:

loadtest-4

使用者可以設定要用來進行負載測試的機器數量,透過 Agent core count 屬性在 Run Settings 中。在使用者自己的負載代理程式情境,每一個 core 都被當作是一台單一的機器。如同下圖,5 個機器將會用來執行。

loadtest-5

執行完畢在使用者自己的負載代理程式機器並不會收費。使用者應該從狀態訊息中來確認這個。

loadtest-6

在您做之前,我們會建議您先看看下面的 FAQ

 

如何知道已配置的 CLT 機器

要檢查配置在 VSTS 帳號下的機器狀態,使用者可以從下面的連結下載一個基本的腳本 GetStaticMachines.ps1

powershell 腳本註冊機器

下載之後,請確定您解鎖這個檔案。

loadtest-7

以下是強制參數:

  1. TeamServicesAccountName:這是您想要用來配置機器的 VSTS 帳號名稱。使用只需要在這裡填上帳號名稱,例如,請在這裡填上 “xyz",如果您的 VSTS 帳號網址是 https://xyz.visualstudio.com
  2. PATToken:這需要用來認證。一個人必須先取得 VSTS 帳號的 PAT token。您可以依照來取得它。範圍應選擇為「Load Testread and write)」。

範例

.\GetStaticMachines.ps1 -TeamServicesAccountName xyz -PATToken zzdw6bnzk2q73qsqxukmfonzycscdgmsl2quhqo24so7hrplctcq

範例輸出

Account Uri – https://xyz.vsclt.visualstudio.com

 

machineName status lastHeartBeat

 

———– —— ————-

 

DDDSINGHAL016 Free 2016-04-26T12:41:00.6548647Z

 

DDDSINGHAL017 Free 2016-04-26T12:40:59.5005437Z

 

有了這個使用者就可以了解他配置來執行負載測試的機器狀態。

 

常見問題

  1. 負載代理程式如何與 CLT 溝通呢? 負載代理程式將會透過 HTTP 協定來與 CLT 溝通。因為這些機器/虛擬機是在使用者私人網路(Azure/on-prem)內,所以它們可以很容易接觸到被測應用程式(AuT)。結果會發佈回 CLT 服務,分析發生的行為會和其他在 CLT 中執行的負載測試的方式行為相同。
  2. 我將如何被收取費用? 目前這個功能是在預覽模式,您將不會因為您部署負載代理程式在您的內部機器或在您的 Azure 訂閱帳戶,而被收取負載測試 VUM 的費用。然而您將會被收取 Azure 虛擬機的費用。
  3. 我可以用這些機器來做其他事嗎? 這些機器可以用來做其他事,但是建議在執行負載測試時不要做其他任何事。
  4. 我可以關掉我佈建負載測試代理程式的機器嗎? 可以,只要機器沒有在使用就可以關掉。一旦機器開啟,負載代理程式服務將會自動地開始來接收 CLT 的指令。如果您用 Azure ARM 模板來佈建這些代理程式,您可以隨意開啟/關閉這些虛擬機。您也可以做到這個透過 powershell 腳本,參考下面的連結來了解更多https://gallery.technet.microsoft.com/scriptcenter/Stop-All-VMs-in-Specified-40c8531e。也建議您刪除 Azure 資源群組一旦您做完了負載測試。您應該可以隨時重新建立它們如果您需要的話。https://azure.microsoft.com/en-in/documentation/articles/resource-group-portal/
  5. 我有 proxy 設定在我的機器上,這樣可以嗎? 我們只支援預設 proxy 情境,即當 proxy 設定是透過 IE 控制,它使用目前用戶的認證來連結 proxy 伺服器。在其他情況下,請與我們聯絡。

有了這些您應該有辦法可以試試負載測試了。如果您有任何疑問,歡迎聯繫我們 vsoloadtest@microsoft.com

負載測試愉快! 🙂

 

本文翻譯自 Testing private/intranet applications using Cloud-based load testing


若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922

DevOps 影音特餐 –團隊開發 Speed UP!(收錄 25 項免費資源)

$
0
0

DevOps banner-01

MSDN 小編特別整理關於 DevOps 相關的文章與影片,總共收錄超過 25 種免費學習資源供大家使用!        

DevOps 是目前火紅的話題之一。這個字是由 " Development " 與 " Operations " 合併而成。目的是要透過強調溝通 ( Communication ) 、合作 ( Collaboration ) 、整合 ( Integration ) 及自動化 ( Automation ) 等方式加強開發人員與運維人員還有其他包括質量控制等人員之間的合作。DevOps 不僅是一項技術或工具組,而是需要文化演進的心態。它結合人員、程序和適當工具,加速推動您的應用程式生命週期,而且更能預測。

DevOps-01

        使用 Microsoft 解決方案實際執行 DevOps,可協助開發與營運團隊共同合作,回應業界的競爭壓力及企業應用程式開發的步調。可追蹤性及條理組織的共同作業,透過可預測及重複的自動化作業進一步改善,可消除容易出錯的手動處理程序。公司組織也可以更有效率地管理環境,並結合內部部署與雲端資源,達到節省成本的效果。

為什麼要選擇 DevOps ?

  • 更快速提供品質更優良的軟體,而且更容易遵循法規
  • 在所有涉入交付及操作軟體的相關人員之間,提升透明度與共同作業
  • 以更有效率的方式,控制成本及利用已佈建的資源,同時將安全性風險減到最低
  • 盡可能盡快並盡早在生命週期中識別出缺失
  • 迅速查證並發行修正程式進入生產,並確保該程式符合任何生產版本的標準
  • 能妥善配合您既有的許多 DevOps 投資隨插即用,甚至包括開放原始碼投資
  • 以可預測的方式建立並送出軟體,而且對是否能夠滿足使用者的需求充滿更多信心

0383.channel-9-logo相關影片

我們整理了近 20 部關於 DevOps 的系列影片,提供您參考與學習:

 

Microsoft-logo 相關文章


 Channel 9 相關影片

0383.channel-9-logo創新應用開發大會:企業創新實踐日

        多位重量級講師將針對物聯網 IoT 應用、Machine Learning、跨平台支援整合、開放式雲端生態的發展等最新議題,分享最前瞻的思維與工具。微軟大中華區技術團隊也將聯合演示微軟開發技術以及工具上的未來藍圖,以精湛技術配合實務操作,將 Microsoft Azure 雲端開發交流平台的開放與創新思維,以及 Any App、Any Developer 的開發目標與精神,用更具體的方式呈現給所有開發夥伴

使用者故事驅動的 DevOps 研發維運一體化

本議程將以使用者故事驅動的方式,帶領您走完一段 DevOps 的實戰過程:

設計階段:影響地圖和使用者故事地圖解決最終使用者和團隊溝通的問題,產生 backlog;
計畫階段:使用 TFS 進行多級別使用者故事和計畫的編制和跟蹤;
反覆開發階段:使用 Scrum 的團隊模型和 Kanban 結合每日立會的方式驅動團隊按照使用者故事進行交付;
交付階段:建立發佈管道,連接開發/測試/ UAT /生產環境,並配合分支計畫完成整個持續集成和部署的過程;
最後返回設計階段完成一個產品版本的開發循

以 DevOps 方式開發跨平臺移動 app – 集成 Xamarin 技術

專家講師:許豪

企業級互聯網方式的應用開發管理 – 從 ALM 到 DevOps

專家講師:黃承皓

 

 

0383.channel-9-logoDevOps 在雲端 – Visual Studio Team Services 實戰秘笈

        功能總跟不上客戶提出的需求?自動化繁瑣的維運不知如何下手?想掌握軟體健康卻傷透腦筋?在敏捷快速開發的同時,高品質更是不能妥協!使用 VSTS 實戰演練運端上的 DevOps,監測效能瓶頸點產生需求規劃,標準年的開發測試環境,持續建置部屬自動化,大幅簡化持續交付流程,最佳化您的開發維運體驗。讓我們善用工具,從大處著眼小處下手,主動出擊!引領技術潮流,掀起雲端開發革命

站穩 DevOps 第一步 — 從需求管理看專案透明度

        當全球都邁向敏捷、當你聽到越來越多的團隊已朝向 DevOps 的目標前進,想追求軟體專案開發的透明度與自動化,該如何正確地著手? 在這個場次中,我們將帶領您從源頭開始,探索 VSTS 強大卻易用的功能。將您的需求、版控、工作項目管理,一直到自動建置與持續交付一氣呵成,為您奠定 DevOps 的穩固基礎。
1. VSTS 的 Process Templates
2. 使用 VSTS 進行工作項目與需求管理
3. 工作項的分類與操作流程
4. Kanban 的使用與客製化
5. 專案管理報表與專案透明度
6. 持續整合與自動化

快速因應市場競爭 — 雲上企業應用開發與測試

        當迭代發生,開發人員將需求轉化為功能,雲端上開發測試擁有比本機開發更大的彈性、敏捷與品質改善。此議程演練數分鐘內預備好開發測試應用程式所需的計算、儲存體與網路資源,以及端到端的測試應用程式在最接近生產環境的狀態下,了解如何應付真實世界的使用情境,並且使用 Azure DevTest Lab 管理環境,共享可重複使用的範本與構件快速組成環境、設定原則等最佳化您的成本開銷

省時省力不停機 – 發行管理與持續部署

影片將為您講解:

1. 在 VSTS 使用 CI/CD 的基本介紹
2. 產品開發如何搭配 CI/CD 進行品質控管與自動化部署
3. Release Management 功能介紹
4. 使用 Release Management 控管產品發行週期
5. 透過 VSTS 搭配 DevOps 進行產品生命週期規劃與管理

Mobile DevOps Solution

將使用健康診所的 APP 來說明 Mobile DevOps Solution 的整個循環流程

0383.channel-9-logo2015 DevOps Day 團隊開發日

        您的團隊能很快地因應市場及使用者需求的改變加速改版嗎?您對目前團隊開發效率滿意嗎?無論您是來自大型企業、新創公司或獨立軟體開發商的研發團隊,無論您是團隊領導者或開發人員,都應了解如何建立出好的團隊開發及系統維運標準,積極擁抱改變,是追求團隊卓越的第一步

中國互聯網大潮下企業的 DevOps 轉型挑戰

        本議程將分享來自微軟中國多個核心企業客戶的 DevOps 轉型挑戰與模式,希望帶來不同的視野,見賢思齊。中國互聯網企業在全球都激起了創新商業模式的風潮:運用無遠弗屆的互聯網特性,在人人片刻不能離身的移動裝置上,不僅僅是傳播訊息、激發需求,甚至瞄準傳統商業模式環節中低效的部份取而代之。影響所及,客戶消費習慣改變、通路成本增加、營運團隊跟不上線下轉移到線上的節奏,當前企業應如何因應來自互聯網的巨大商機與嚴峻挑戰?「互聯網轉型」在中國已經是生與死的命題,舉凡零售業、金融業、流通業、製造業等莫不積極啟動轉型工程,企圖跟上互聯網發展的快速腳步,研發團隊在其中扮演了轉型發動機的重要關鍵角色,與 IT 維運團隊的一體化協作 ( DevOps ) 更是不可或缺的加速

推動臺灣企業研發實力升級的 DevOps 新思維

        本議程將徹底剖析一般台灣研發團隊常見的難點與痛點,並結合講師個人豐富的諮詢經驗,以及對海峽兩岸互聯網新興產業研發模式的深入理解,企圖為與會來賓勾勒出一個推動臺灣企業研發實力升級的 DevOps 新思維。台灣的企業在軟體工程方面的追求,以及對軟體品質的重視,已經有相當多年的歷史。從 ISO 9001 到 CMMI,從瀑布式開發到敏捷反覆運算式開發,一步步走來,累積了多少心血與成就。時至今日,我們看到不同的時代,有不同的要求。在當前的互聯網時代,競爭格局徹底顛覆、商業模式日新月異、客戶需求變化多端,該如何在「速度」與「品質」之間求取平衡?敏捷開發是否與 CMMI 格格不入?到底專案管理該繼續用甘特圖還是嘗試看板方法?專案、開發、測試與 IT 維運四大天王之間,到底該如何調整出最適應轉型的工作方式?該是逐步進化,還是砍掉重練?在企業研發戰力的轉型過程中,有太多的糾結、不確定性與本位主義,拖累了改革的黃金時

推動 DevOps 轉型的成功要素

 

教戰守策:中國企業大型研發團隊 DevOps 轉型的平台功能規劃

        本議程將通過歸納企業實戰案例,徹底說明多個中國大型企業引入「微軟 DevOps 管理平臺」和諮詢服務的決策過程,以及導入上線 1 年以後,企業整個開發戰力有了哪些變化和改善。本議程並接受現場來賓提問,交流心得。中國某大型金融企業,存在近 100 個核心 IT 系統,開發團隊規模近千人,研發模式採用自主開發和外包等混合模式;使用的技術也多種多樣,有 .NET、Java 及協力廠商的企業 ERP 等系統;開發團隊內部,存在多種 ALM 工具,團隊之間交流溝通基本靠「吼」(會議);決策階層看不到團隊工作狀況,業務部門看不到需求處理進度,研發團隊加班頻繁,工程師個個「亞歷山大」:面對日常工作已經疲於奔命,「敏捷轉型」更是無從談起。這是許多企業共同面對的困境

企業測試團隊的 DevOps 組織規劃實務

        在當前的中國市場,隨著互聯網的高速滲透,以移動 Apps 為核心的商業模式成為兵家必爭之地,每天有高達上千億元人民幣的流動發生在人們掌中的方寸之間,軟體品質得到空前高度的重視。在過去 15 年,在中國的中大型軟體企業,從 50 人到上萬人,測試團隊從無到有,從開發團隊內部的交叉測試,到單獨的測試角色、測試小組,到部門級的測試中心,進而到整個企業的測試中心(品質中心);而現在,特別是最近 年,越來越多的企業測試團隊與開發團隊開始「分久必合,合久必分」。在敏捷轉型過程中,測試團隊被分解,測試人員又開始回到專案編組中,甚至測試工作也更多依賴開發人員。本議程將基於多個中國企業的實務,討論這些轉變的方向是否可以確保品質?其背後的思維與戰略,又有哪些可以值得我們參

精實開發之實作: 看板方法 ( Kanban )

        精實開發是企業創新的成功之道,這一點大家都知道。但思考如何進行開發作業才能達到精益 Lean 的境界呢?這正是本課程所要帶給大家的真正解決方法:看板方法(Kanban Method)。想知道在實施敏捷之後如何才能再擁有精益的力量嗎?請用看板方法來加速你的專案開發吧!它不是開發方法也不是什麼神奇的模式,但卻能帶你處理忙碌的專案開發過程,它是一種化繁為簡帶你一步邁向 DevOps 的捷徑。本議程在 2015 年北京與臺北的微軟技術大會各一百多個議程中,都得到與會來賓給予相當高的評價,特別再度安排,作為本次研討會的壓軸

雲端發力、加速轉型:微軟開發測試雲一體化解決方案

        當今軟體研發所面臨的品質挑戰前所未有。不僅僅時間的壓力越來越關鍵,在互聯網商業競爭中,軟體的錯誤甚至可以造成無法估量的商業損失。隨著敏捷反覆運算式的開發方法越來越盛行,開發與測試之間的界線越趨模糊,整合密切。如何推動開發測試之間的無縫銜接與分工,成為軟體開發過程加速的一道重要關卡有待突破。本議程將針對 DevOps 轉型過程中的「測試工具」、「測試管理」與「測試平臺」三個方面做探討,介紹 Visual Studio 2015 各項前端工具,如何與 Team Foundation Server 2015 密切集成,在開發與測試的階段中實現雙向協作、跟蹤與管理。對於整合測試,最流行的方式莫過於運用雲計算的力量,藉由雲端虛擬實驗室的佈置,實現測試環境的標準管理、快速佈署與自動化運行。此外,本議程還將首次在台演示,如何運用最新發佈的 Linux 遠端除錯功能,結合 Red Hat Linux 的 Azure 雲端虛擬環境,進行跨平臺整合測試

微軟 DevOps 開發平台架構的最新進化

        推動 DevOps 實現研發團隊的加速轉型、價值的即時交付,必須打通目前在軟體發展環節上多個障礙與難點,包括:專案管理與開發團隊之間的障礙、開發團隊與測試團隊之間的障礙、開發團隊與運維團隊之間的障礙。本議程將提供一個全景式的展望,說明 Visual Studio 在搭配 Team Foundation Server 2015 及 Azure 雲端平台,如何以 Cloud 與 On-Premises 兩種方式提供端到端無縫整合的 DevOps 自動化開發與管理平臺。我們將特別著重在對於跨平臺開發環境的支援、跨平臺開發專案的管理以及跨平臺解決方案的佈署,為研發團隊推動 DevOps 轉型,提供了關鍵的工具鏈與軍火庫,幫助研發團隊落實一體化的管理架構,並實現夢寐以求的生產力與敏捷性大幅提升

0383.channel-9-logo現代化網站技術分享日

        網站前端開發是由 HTML、CSS、JS 三大原素組成,在挑戰日異嚴峻的時刻,我們必須深入發掘這些原素現代化核心精神與潛力,找出因應對策,藉此提高使用者整體的網站使用體驗,也提升網站的競爭力。
鑒於現代化網站技術的無限可能性,我們隆重打造「現代化網站技術分享日」,邀請在網站前端開發設計的專家前輩,分享新世代網站的技術與寶貴觀點,藉由設計、效能、部署等豐富的主題,期待大家一起進入網站技術的嶄新時代

Modem FrontEndDevops – 104 兒童美術館自動部署上線技術分享

        可透過這堂課學習到一個新的網站 , 如何應用 javascript 相關的 devops 技術 , 並且結合雲端的資源如 : github , travis CI , Azure等 , 做到自動部署的機制。

1. 兒童美術館的專案簡介
2. 使用的開發技術簡介 : front-end : backbone.js , grunt , browserify …等 , back-end : nodejs ,redisDB
3. 部署使用的技術及流程說明 : github , travisCI , mocha , nodejs express , Azure VM , Azure File Storage …

0383.channel-9-logo2015 Global Azure Bootcamp

        本次研討會不再探討該不該上雲,怎麼把 AP 部署到雲端,這次的主軸是上去了!然後呢?從決定上雲的那一刻到實際運作於雲端後的議題都有分享,不單是 Microsoft Azure 使用者, 甚至使用 AWS 的朋友都非常適合

線上遊戲利用 DevOps 開源工具 Chef, Docker, Vagrant 在 Microsoft Azure 的佈署實踐

        本活動從一個簡易線上網頁遊戲範例,解說如何利用 Docker, Vagrant, Chef 等開源工具,結合 Microsoft Azure 提供的 Cross Platform Command Line 的部署工具,來達到所謂的 Infrasctuion as Code,從開發端到線上營運雲端環境的一致性 DevOps 工作流程。

1. 範例內容解說及架構簡介

2. Docker, Vagrant, Chef 是什麼能做什麼

3. Local 開發端環境設定講解

4. Azure 雲端環境部署說明及示範

 

0383.channel-9-logoVisual Studio Team Services 與敏捷開發 ALM 實戰關鍵報告

        Visual Studio Team Services ( VSTS ) 是位於雲端版本的軟體生命週期管理 ( ALM ) 軟體服務,透過VSTS,你可以進行版本控管、工作項目維護、Features 和 Bugs的 tracking,雲端的自動化建置與測試,乃至於 CI (持續整合)與 CD (持續部署)、以及最近廣受重視的 DevOps

DevOps 的利器 – Application Insights

        我們在談 DevOps,其中非常重要的一個關鍵是透明度。專案的透明度,我們透過 Scrum、配合 VSTS 數位儀表板等機制,已經能夠全面掌控,但當網站、應用程式 (或 Mobile App) 一但上線,開放用戶使用之後,我們要如何監測應用程式的狀況,多少人使用?是否有當機?發生哪些 Exception ?買了幾本書?按了幾次按鈕?要怎麼知道這些呢?

        Application Insights 將是最好的答案。

        透過 Application Insights,你可以監測網站的所有資訊 (如同 Google Analytics ),但遠遠不僅如此,透過 Application Insights 我們還可以監測網站的可用性,定時執行錄製好的操作步驟測試腳本,讓 Application Insights 在雲端為你每隔數分鐘,從全球各地的資料中心,對你的網站進行測試。如此一來,再也不怕改壞網站不小心上線之後,自己卻不知道,反而被用戶發現。

        不僅僅網站,Application Insights 還可以透過客製化的方式,讓開發人員輕易的紀錄各種 Log,Exception 的狀況,並且以圖表的方式呈現,Application Insights 能有效的讓你的開發團隊,在系統的監測向前跨一大步。


欲觀看更多精彩課程請至>>Channel 9 免費課程平台

🔥歡迎關注 MSDN 台灣 粉絲專頁,鎖定每日最新的好文分享及精選課程喔!


微軟年度開發者技術盛會 Connect(); 11月16日登場;MSDN 台灣粉絲頁晚間 10:45 準時同步開播

$
0
0

微軟年度開發者技術盛會 Connect(); 將於 11月16日登場

MSDN 台灣粉絲頁晚間 10:45 準時同步開播

一次蒐羅端到端雲端應用、Visual Studio 開發平台、Azure PaaS 服務、 SQL Server、機器學習最新技術

微軟年度最受歡迎開發者技術盛會Connect(); 2016即將於11月16-18日連續三天於紐約登場,微軟全球雲端平台事業負責人 Scott Guthrie 、首席專案經理 Scott Hanselman  以及其他產業創新者,將以開發者為中心 (developer-focused)、智慧 (intelligence) 與開放與彈性 (open & flexible) 三大方向,為全球開發者帶來深度的技術饗宴。

微軟擁抱開放玩真的 Connect();  技術盛會一次裝備技術人員軟硬實力

根據 State of DevOps Report 2016 指出,企業若需達到 IT 與組織營運的高效運維,必須整合開發與營運團隊;透過改良完整的產品開發週期──從初期產品規劃、品質與安全性管理以至於用戶回饋,將加速產品交付能力並能提升品質、安全性與企業營運成果。此外,採用  DevOps  (開發維運一體化) 的開發方式也強化了組織文化與員工的向心力。在此概念下,微軟也揭示了開發者的新世界── 從專注於規劃轉為專注於交付產品;從競爭關係轉為協同合作;從靜態的階層組織轉為流動且彈性的團隊;由強調個人工作力轉向強調集體創造價值;從強調有效率的流程轉為有效的產出;以及從推測轉向實驗、學習與回應,以協助企業從單兵作戰轉向協同合作的 DevOps 新世界。

 connect-pic

秉持「我們不懈地渴望去滿足所有開發人員的需求、在任何平台上建置任何的應用程式,這是我們為您許的承諾」為宗旨,集結微軟開發平台未來藍圖與開發資源精華的 Connect();,則是為了開發人員精心規劃的年度技術盛會,除了精彩的專題演講外, Connect(); 也將提供端到端雲端應用、開發平台  Visual Studio、Azure PaaS 服務、SQL Server、機器學習、進階分析等相關技術議程、互動式問答和沉浸式隨選內容。不同於往年僅只兩天的議程,今年的 Connect(); 特別增加11月18日全天的線上串流內容,提供與開發、部署網站及資料應用或跨平台行動 Apps 開發相關內容。此外,使用者若預先上網註冊 E-mail 接收 Connect();  即時更新訊息,還可獲得 Xamarin University 的 60 天試用版,由行動專家帶領涵蓋 8 種技術主題、超過70堂的線上課程隨選隨看,無須出門即可盡攬微軟創新技術!

繼今年四月宣布開源 Xamarin ,並釋出支援 Android、iOS 及 Mac OS 的 Xamarin SDKs 到  .NET Foundation 上;六月釋出  .NET Core 1.0 讓 Linux、OS X (Mac OS)  等平台開發商可以使用  .NET 框架進行程式開發;九月更於號稱「程式設計師的臉書」與現今開源世界存放開源專案原始碼中心的 GitHub 上,成為貢獻程式碼至開源專案最多的公司,微軟戮力實踐微軟執行長 Satya Nadella  「擁抱開放」的企業宗旨,以一系列的開源與開放計畫,致力為開發者創造更易上手、多元的軟體平台。

微軟年度開發者技術盛事 Connect();  1116日登場 MSDN 台灣粉絲頁線上同步直播解說

企業開發者技術盛會  Connect (); 將於2016月11月16日至11月18日舉行,歡迎於 2016 年 11 月 16 日晚上 10:45 (台灣時間),一起加入線上無時差直播,收看「我們的好朋友 – 微軟資深技術傳教士 上官林傑 Eric」最新、最即時的微軟開發技術藍圖,詳情請參 Connect(); //2016 官網:https://connectevent.microsoft.com/ 與 MSDN 台灣粉絲頁:https://www.facebook.com/msdn.taiwan

Visual Studio ‘15’ Preview 3 中 C# 和 Visual Basic 的新功能

$
0
0

在 Visual Studio ’15’ 的主要重點之一就是提高開發人員的效率。我們的目標是只要透過點擊滑鼠就能實現自動化,好讓你可以集中於邏輯上而並非語法等問題。你可能已經注意到每一個 Visual Studio ’15’ 版本都增強了現有的體驗來為你節省更多的時間和精力,來使 build 速度更快。

C#7

在 Visual Studio 中 ’15’ 中,C# 語言本身的效率有了很大提升, C# 7 功能如下 :

  • Tuples 允許傳遞一組值。當我們想要一個沒有使用 out 參數的方法中返回多個值時,這就非常方便了。 C# 7 tuples 可以用作字典中的鍵。例如:很容易組合多個值成單一的鍵(注:C#7 編譯器生成高效的 Equals 和 GetHashCode 方法並且是值類型,C#7 元組比 System.Tuple 內存效率更高,從而減少內存分配)。
  • Pattern-matching 可以測試類型和值的內容,同時提取數據到變量。這形成更多的測試表達類型和 switch 語句。
  • 局部函數,ref 返回,二進位文件等等。

 

下面的例子演示了多個 C#7 的功能 (包含以上所提)。

01

Visual Basic 15

Visual Basic ( VB ) 語言的下一個版本也在 in Visual Studio ’15’ 中得到提升,我們正在努力完成最新版本並且期望在Visual Studio ’15’ pre 的下一個發行版本中體現出來。

  • Visual Basic 的元組和 C# 相同,直觀也真正符合 VB 的設計理念。

02

  • 二進制轉換是 VB 中另一個強大的新功能,在此之前,程式設計師不得不自己在腦海中進行十進制與十六進制的轉換。因此很快你就可以很方便地在 VB 中體現這些計算機編程的基本概念,為了支持這一功能,我們還增加了將下劃線作為數字分隔符的功能,這些字符只是用來裝飾的,但是它幫助我們更方便去讀取二進製文件和其他大文件。

03

智能感知提升

在 Preview 3 這個版本中,我們增強了智能感知,讓你在遇到大型 solution 或新的程式碼時能更輕鬆、簡單去工作。在這個版本中,我們已經添加了 icon tray 幫助你通過類型(方法,屬性,類別等)智能篩選你想要的組成列表,每個篩選器切換有一個相關聯的鍵盤快捷方式,這個快捷方式你可以通過滑鼠停在該圖標上發現。

intellisense

要啟用這個功能,通過Tools > Options > Text Editor > [C# | Visual Basic] > IntelliSense,然後確認反白和篩選選項。

更多快捷操作和重構

我們添加了下列重構和代碼執行操作,以協助你寫代碼:

  • 添加大括號(僅限C#)。允許你在 if-else 語句正文中添加大括號,可以讓你單擊一下就可以快速將單行 if 語句轉換成多行語句。

addbraces

  • 將屬性轉換成方法(C# 和 VB)。有時候屬性會作用到函數中執行邏輯,這些重構會讓你將這些強邏輯屬性轉換成為方法。

property2method

  • 添加缺少的 switch / Select case(C# 和 VB)語句。這個操作可以幫你分清楚在你的 switch/Select 中你缺了哪些 case,並且幫你添加。

missingswitch

為了實現重構或程式碼執行操作,請將滑鼠放在表達式中,使用鍵盤快捷方式 Ctrl + 或者點擊右鍵進行選擇快速執行和重構。

今天就試用 Visual Studio ’15’ Preview 3 中 C# 7 和其他功能吧!

(本文出自於:Visual Studio ‘15’ Preview 3 里 C# 和Visual Basic的新功能


Microsoft-logo相關文章:

觀看更多最新資訊與課程,歡迎至 >> MSDN 台灣 與 Channel 9 免費課程平台

 

Connect(); // 2016 資源總整理

$
0
0

        微軟一年一度的開發者技術大會 Connect(); 2016 於 11 月 16-18 日連續三天在紐約盛大舉行,為全球開發者帶來深度的技術饗宴,MSDN 小幫手為大家整理了在 Connect(); 2016 大會上發布的資源,包含多篇文章與多部課程影片:

Microsoft-logo 目錄

精選文章

  • 微軟揭曉 Visual Studio 2017 對應 Mac 平台、提供更便利開發環境
  • 微軟擁抱開放玩真的,已經是目前 GitHub 數量最大的貢獻者、並宣佈加入 Linux 基金會白金會員
  • Visual Studio — Team Foundation Server 與 Team Services
  • Microsoft Connect(); 2016 — 關於 Xamarin 平台
  • Announcing .NET Core 1.1

Channel 9 課程平台影片

  • Visual Studio 相關影片
  • .Net / ASP.Net 相關影片
  • C# / C++ 相關影片
  • Xamarin 相關影片
  • Introducing Visual Studio for Mac
  • What’s new for Desktop Developers in Visual Studio 2017
  • Live Q & A:Xamarin Platform with Nat Friedman & Miguel
  • .NET Productivity Improvements

中文旁白直播

 

Microsoft-logo 精選文章

微軟揭曉 Visual Studio 2017 對應 Mac 平台、提供更便利開發環境

        微軟在 Connect(); 2016 期間證實推出Visual Studio 2017,並且確認對應 Mac OS X 作業系統環境使用,讓開發者能更進一步藉由此項開發工具編寫對應不同平台的應用服務,甚至可配合 Xamarin、Visual Studio Mobile Center 等功能輕易打造 iOS 或 Android 等行動裝置應用服務,同時可立即進行測試、驗證,開發者也無須針對不同平台多次編寫程式內容。

微軟擁抱開放玩真的,已經是目前 GitHub 數量最大的貢獻者、並宣佈加入 Linux 基金會白金會員

        微軟於 Connect(); 2016大會發表與軟體開發、雲端應用等最新的技術內容。在這次的大會上,微軟還是強調了行動為先、雲端為先的宗旨,表示透過過去 Azure 的技術,開發者現在開發的程式將不限於 Windows,可以直達每一個人的手機、平板甚至 Linux 平台上。

Visual Studio — Team Foundation Server 與 Team Services 

        在紐約舉行的 Connect(); 2016 大會上,我們宣布了許多非常酷炫的新東西,而本篇文章將專注於 Team Foundation Server 與 Team Services 相關的資訊上。

Microsoft Connect(); 2016 — 關於 Xamarin 平台

        除了 Connect(); 2016 的現場參與者,還有數十萬開發者在 Channel 9 免費課程平台上觀看直播。在主題演講期間,微軟在雲端、數據與開發工具及服務上都有重大宣布。本文將詳細地整理了對 Xamarin 開發者來說最重要的資訊。

Announcing .NET Core 1.1

        我們很高興地宣布 .NET Core 1.1 RTM 的發布, 您可以立即開始在 Visual Studio 2015、Visual Studio 2017 RC、Visual Studio Code 與 Visual Studio for the Mac 中建立 .NET Core 1.1 應用程式。

 

Microsoft-logo Channel 9 課程平台影片

         What’s new for Desktop Developers in Visual Studio 2017

Microsoft-logo 中文旁白直播

1-2


🌟 更多最新文章及資訊 >> MSDN 台灣部落格 & MSDN 台灣粉絲專頁

🌟 更多熱門課程影片 >> Channel 9 免費課程平台

MSDN 論壇精選 ( 10/01 – 11/15 )

$
0
0

msdn-blog_1001-1115banner-01  MSDN 論壇  是一個可以讓開發人員自由提出問題、尋找資訊的好地方,歡迎大家多多利用,與社群中的同好們一同分享 Microsoft 技術資訊。我們會不定期整理論壇精選給大家,希望對您的學習有所幫助!

  以下為 2016 10/01 – 2016 11/15 的論壇精選,感謝 MSDN 小幫手的協助。本期論壇根據觀看數討論數,精選出 15 個熱門話題,並搭配相關影片及文章,幫助大家更容易解決問題及蒐集資訊。

 Channel 9 相關影片

 精選文章


熱門話題 

Q 1:Excel 轉 PDF 的問題

目前使用者提出需求,匯出的功能要增加一個 PDF 格式。本身作法是將匯出的 Excel 直接再轉成 PDF,但是電腦中並無安裝 Office,所以不能使用 Microsoft Office 的 library,請問可以如何將 Excel 檔轉成 PDF 呢?

Q 2:DataGridView 效能問題

目前前台系統中使用 DataGridView 顯示商品,但當商品數量多時 (以 100 筆為例),發現 SQL 搜尋不到 0.5 秒,但前端的 DataGridView 元件顯示約需花1秒,這是什麼問題呢?

Q 3:IE11 指令碼錯誤的訊息

【網際網路選項】->【進階】,已將【停用指令碼偵錯】打勾了,但依然會跳出【指令碼錯誤】的訊息,請問還需要設定什麼?

Q 4:Universal Windows Platform Release 版本出現錯誤 

Visual Studio 2015 update 3 之後才出現 ILT0005 的錯誤訊息,無法 complier Release 版本。

Q 5:列舉 Telephone Number Mapping 名稱來尋找問題

在一個類別裡有 2 個 ENUM,是否有辦法可以得知特定類別裡有 2 個列舉,並在之後取出設定值?

Q 6:Visual Basic 2008 版本的 WinMessage 應用

客戶端自行開發一個程式,希望利用 WinMessage 的方式由我方區域取得一些資訊,找到範例之後,可以直接寫到記事本,但若改由寫到範例程式測試,則會遇到一些問題。

Q 7:Visual Basic 暫停與停止問題 

在暫停程式跟停止程式上找不到合適的指令,像是,是否有指令可以在隨時想停的時間點停止程式?

Q 8:DataGridView 中 Checkbox 選取問題 

自己寫的選取事件執行後,卻有一個很奇怪的問題:就是最後勾選的那一個 Checkbox 都不會變。

Q 9:SQL Data Source 的選擇性命令代換參數值後的結果

想要得到一個可以立刻貼到 SQL Server Management Studio 中測試的字串,該怎麼做呢?

Q 10:編譯 Windows Form 專案成可執行的 exe 檔且不用安裝

Windows form開發好了之後,會在 \bin\debug\下有個同專案名的 exe 檔,但是把它 copy 到別的沒安裝 Visual Studio 的電腦上時並不能執行。

Q 11:Web App 卡住問題

有一個 ASP.NET Web App 發行至 Azure 的 Virtual Machine,可是當上網人數超過大約 15 人,其他人就無法再登入此系統。

Q 12:怎樣根據資料庫結構產生 UnTypedDataSet?

加入新資料來源時,能不能選資料表,但產生的是 UnTypedDataSet 而不是 TypedDataSet?即 UnTypedDataSet 不是以手工輸入的方式產生,而是抓資料庫結構產生的。

Q 13:開啟新專案時出現的錯誤訊息

當遇到「無法載入檔案、組件或其相依性的其中之一。系統找不到指定的檔案。」,該如何解決?

Q 14:textBox_Leave() 中改變欄位內容的問題

DataTable 新增一列後,只要在 tbUserId_Leave() 用程式碼改變 DataTable 任何一個欄位的內容,DataTable 就不接受 tbUserId 輸入的文字。

Q 15:陣列存值相關問題

有很多個陣列想要存入 A 陣列的值,定義一個陣列,將所有要存入的陣列名稱存進去,該怎麼將 DataName (0) 的值 " ID “,寫成 ID (i) 呢

 

 

0383.channel-9-logo Channel 9 課程平台影片 

維護與升級 Internet Explorer 11 的技術工具與資源 (上)

維護與升級 Internet Explorer 11 的技術工具與資源 (下)

  我們邀請到台灣微軟 Global Business Support 技術支援副理 沈志豪 來為大家說明 IE 11 的維護以及升級,此單元針對企業內部應用程式升級至 IE 11 相關說明

 

Windows10dev UWP , Visual Studio 2015 Cordova Tool

  本課程是在 2015/6/6 舉辦的 Build Mini 研討會的下半場議程, Windows 10 是微軟即將發佈上市的新一代作業系統,其整體涵蓋了各項裝置,例如手機、平版、Xbox、IoT 等等,對於開發人員來說實現一個 one dev、one store 是一個非常重要的目標,在這堂課程中,我們將針對Windows 10 從開發角度做一個 overview 的介紹,另外在 Visual Studio 2015  跨平台開發上,我們也為大家介紹即將內建於 Visual Studio 2015 的 Cordova 專案來進行跨平台開發

 

VSTS實戰(01) – 申請帳號並建立專案

  Visual Studio Team Services ( VSTS ) 是位於雲端版本的軟體生命週期管理 A ( ALM ) 軟體服務,透過 VSO,你可以進行版本控管、工作項目維護、 Features 和 Bugs 的 tracking,雲端的自動化建置與測試…乃至於 CI (持續整合)與 CD (持續部署)、以及最近廣受重視的 DevOps。

  如今,要達成這一切的技術與工具現在都已經齊備,配合敏捷開發 Agile Development 和 Scrum 框架,我們將有能力在這個需求快速更迭的時代,達成用戶所需要的不中斷上版、自動化測試與建置、自動化 Code Review、將 bugs 的修復與功能更新從幾個月縮短到以天為單位。

  這一切,就從微軟免費提供的 Visual Studio Online ( VSO ) 服務開始。這一系列的第一支影片,我們將為您介紹如何申請 VSO 帳戶,並且建立第一個專案,踏入自動化軟體生命週期管控與 DevOps 的世界。

 


欲觀看更多精彩課程請至 >> Channel 9 免費課程平台  MSDN 台灣部落格

🔥也歡迎加入 MSDN 台灣 粉絲專頁,鎖定每日最新的好文分享及精選課程喔!

2017 潛在開發力量,挖掘 ChatBot 無限商機!

$
0
0

        本篇文章除了分享 ChatBot 的相關資訊,還挑選了「Cognitive Services 實作系列」與「Microsoft Bot Framework 開發系列」的文章推薦給大家,讓您有更多收穫!

imgres

對應用開發者而言,無論是行動裝置、桌面應用還是網站開發,今後都應將把聊天機器人作為新的介面,這是一種人類語言介面,不再是傳統的使用介面。” – Satya Nadella

Microsoft Bot Framework 開發系列文章
        目前光是 Facebook Messenger 及 WhatsApp 的使用者便已超過 17 億人,而使用者每天有超過 90% 以上的時間花在使用聊天軟體及平台上。在後 Mobile 時代,越來越多的使用者開始減少手機內的 App 數量,只留下少數黏著度高的服務,例如聊天通訊軟體。所以當你打算建立一個新的商業服務或應用時,應該要建立在使用者最多的地方,也就是聊天通訊平台!去年 Facebook 已開始與 Uber 合作,讓使用者可以透過 Messenger 叫車、追蹤路程及付款;Messenger 也跟熱門音樂串流軟體 Spotify 開啟類似合作,讓用戶在 Messenger 中快速和朋友分享喜愛的音樂;而日本達美樂披薩在 Line 的官方帳號推出訂購機器人服務,正式上線四個月後,透過聊天機器人成交的訂單業績超過 1 億日圓。
        綜合以上,對於有自己 Facebook 客服的電商們,應該立即跨出這一步,開始提供不同的體驗給使用者們,進一步的幫助自己事業提升;而目前還在提供 Web/App 服務,或是正準備開創新服務的公司團隊們,都應該開始認真思考把 ChatBot 列為服務提供選項之一,好以面對即將到來的新訊息經濟時代!
        然而所有開發人員在撰寫 Bot 時都會遇到相同的問題:Bot 需要基礎 I/O、需要具備語言及對話能力、必須能應對各種語言等。 Microsoft Bot Framework 將協助開發人員解決這些問題,更棒的是,開發人員可以為 Bot 添加強大的 Cognitive Services (像是理解語意的 LUIS、能夠自動翻譯超過 30 種語言的 Translation,及情緒便是、人臉辨識等有趣的 API 應用)。而我們也將於 10/22 開設第一場 ChatBot 實戰開發課程!除了帶您了解各平台 ChatBot 開發 (LINE, FB Messenger, Skype, Web 等),另外也會帶您實際運用 Microsoft Bot Framework & Cognitive Services 辨識服務,協助您打造出您的第一個 ChatBot!(註:本課程將實作 ChatBot on Facebook Messenger,另外也會介紹 LINE 的部分如何開發串接)

Microsoft-logo Cognitive Services 實作系列文章

使用 Computer Vision API 辨識人臉

        Computer Vision 可以幫助你識別照片,例如幫影像加上 Tag 來分類、辨識照片中的人臉性別與歲數,或自動判斷這張照片是否為不雅照等等,用途非常廣泛。以人臉識別來說,雖然 Cognitive Services 中有另一組 Face API 可以幫你做到判斷照片中的人是誰等更細緻的功能,但若你只是簡單的想找出照片中有多少人, Computer Vision API 可以輕易幫你做到。

使用 Vision API 進行 OCR

        除了辨識圖片或找到照片中的人臉,Vision API 還可以幫你達成 OCR 的功能。實際測試後發現對印刷體文字辨識率不錯,且支援多種語文,包含中文。在同一個圖檔中,有多行不同角度傾斜的文字,在一定的範圍內 Vision API 可以辨識出來,而且程式寫起來並不複雜。

在你的 app 中直接加入語音辨識

        語音辨識不是新玩意兒了,微軟在幾年前已經推出過 text/speech 間的轉換工具。現在 Cognitive Services 中的 Speech Recognition 不僅僅辨識率高,也支援中文,還有提供C#、Android、iOS、Javascript…等等的 SDK,不用真的是對不起自己!

使用 Speech API 讓你的電腦說話

        在早期 WP 7.x 的時代,我們就寫過程式碼讓手機說話,適當的採用語音輸出,對於用戶來說是不錯的互動體驗。透過 Cognitive Services 中的 Speech API 讓電腦說話,可以直接在雲端為你產生指定的語音,並將語音檔案 binary 傳回用戶端,用起來也相當簡單

Microsoft-logo Microsoft Bot Framework 實作系列文章

建立一個最基本的 bot (v3新版)

        前陣子,微軟將 Bot Framework 稍做簡化,主要的調整是 Bot Connector 這一段,連同註冊頁面整個都做了調整。現在,如果你要建立一個新的 Bot,依舊可以用自己的 Microsoft Account 操作!

使用 LUIS,讓你的 bot 理解用戶輸入文字的意義

        Language Understanding Intelligent Services 是一個提供語句理解能力的服務,並非分析語句,而是嘗試理解一個句子的意義,找出用戶的企圖 (Intents) 與相關聯的 Entities,這個功能對我們的 Chatting Bot 非常重要。由於文字 Bot 的輸入介面,無法限制用戶輸入內容,因此就對談機器人來說,首要目標之一就是理解用戶輸入的內容,而 LUIS 是實現這個功能的重點服務

透過 .net SDK 使用 LUIS

        知道 LUIS 的功能後,我們來看看如何透過程式碼叫用 LUIS。LUIS 是一個服務,且用的通訊方式是 http 與 JSON,因此可以透典型的 http get 來抓取,並把 JSON 轉成  js 或 c# 看得懂的類別來操作。如果你使用 VS2015、寫 C#或 VB,以前沒有適合的 Nuget Package 可用,現在可以直接從 Nuget 上使用以下這個套件,來呼叫 LUIS 的功能

如何分辨 WebChat 用戶並保護 Secret key

        好不容易透過 Bot Framework 建立好了一個 Bot,要讓用戶和我們的 Bot Chatting,最簡單的方式當然就是透過內建的 Web Chat。在後台的管理畫面上,有一個內建的 Web Chat,要啟動該 Web Chat,只需要點選上圖中的 Edit,並且產生一個 Secret Key 即可

新版 Line@ Messaging API 使用心得 (Line Bot v2)

        如果你對開發 Line Bot 有興趣,你得先知道原本的 Line bot API 改版了,新版叫做 Messaging API。這改版有何影響? 首先,你如果原本有寫好的 Line Bot 可以暫時不要動它,因為新版 v2 的 Messaging API 和舊版並不相容。其次,新版的 Bot 是透過申請一個 Line@ 帳號開始的,和以前申請一個 Line bot 帳號不同。

Microsoft-logo 2017 開課資訊

挖掘 ChatBot 商機 – 建置擁有人工智慧的 ChatBot(智能聊天機器人)>> 立即報名!

MSDN 台灣粉絲專頁報名後私訊粉專,就可以折價 500 元!

時間:2016/1/7,9:00 AM – 5:00 PM

地點:台北資策會 (台北市大安區復興南路一段 390 號 2 樓)

面對即將到來的新訊息經濟時代,使用者眾多的聊天通訊平台是建立新的商業服務或應用的好選擇, 聰明的團隊該認真思考把 ChatBot 列為服務提供選項囉!本次課程將帶你了解各平台 ChatBot 開發介紹,更將透過微軟提供的 Microsoft Bot Framework 及 Cognitive Services 辨識服務,帶你打造專屬的 ChatBot on Facebook Messenger !

blog-01-01-01

 


更多最新文章 >> MSDN 台灣部落格

相關熱門影片 >> Channel 9 免費課程平台

Viewing all 136 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>