免費加入 Visual Studio Dev Essentials 計劃,取得免費微軟開發工具與平台

在 Microsoft Connect(); //2015 大會結束後,微軟宣佈了一個 Visual Studio Dev Essentials 的計劃,任何人都可以用 Microsoft 帳號(Windows Live ID, MSN 帳號等)免費登入加入計劃,而加入計劃後便能夠透過這個帳號下載免費的微軟軟體開發工具,以及一些雲端平台或第三方服務的軟體折扣或是免費使用額度。 提供什麼 登入您的 Microsoft 帳號之後,會進入一個個人專屬的管理後台,而這個畫面也就呈現了所有您可以存取、下載或兌換的軟體及服務。 而所有陳列的內容都是免費的,它們分別有以下幾個類別: 開發工具 首先,除了像是 Visual Studio Community 版本,這是功能相當於 Visual Studio Professional(專業版)的 IDE;以及著重在輕巧、高生產力的程式碼編輯器 Visual Studio Code 之外,這個部份提供的是在開發各種應用程式可能會需要的服務與平台: Visual Studio Team Services 就是過去的 Visual Studio Online,它提供了像是版本管控(支援 Team Foundation 以及 Git)、自動化建置部署(可整合多種第三方套件)、軟體開發流程工具(Agile, Scrum, Kanban 等)、負載測試、發行管理的線上服務,五人以下的小團隊使用也是完全免費。 用來分析行動應用程式使用者行為的 HockeyApp 以及 Application Insights…

0

Vorlon.js: 同時測試多瀏覽器網頁呈現的好工具

VorlonJS 是由微軟的開發體驗推廣部門所開發的一個測試及偵錯網頁在不同瀏覽器狀況的工具,網頁開發人員可以使用這個工具在同一處同時測試及除錯網頁(過去您可以需要每個瀏覽器各自開啟開發工具,甚至平板或行動裝置的除錯工具不方便操作等),這套工具全以 JavaScript 寫成,除了具有跨平台(Windows, Linux 及 Mac OSX)執行的能力之外,可透過 npm 來安裝,而這套工具也完全開源在 GitHub 上。 如何使用 首先是安裝 VorlonJS,只要直接使用 npm 來安裝即可。(系統裡必須先安裝 Python 2.7) npm i -g vorlon 安裝完成後,直接執行 vorlon 指令就可以讓它執行起一個小的網頁伺服器跑 VorlonJS 的相關工具,而它預設會跑在 port 1337,如果要更換就設定 PORT 這個環境變數即可,像 Windows 下要使用 port 3000 的話就這樣執行: C:\> set PORT=3000 & vorlon 若順利執行起來,開啟瀏覽器到 http://localhost:1337/ (如果沒有更改 port 值的話)就可以開始使用 VorlonJS 的工具,會看到這樣的畫面: 同時,還要在你要除錯的網頁中加入一行 <script src="http://localhost:1337/vorlon.js"></script> 讓 VorlonJS 的工具可以與這網頁溝通,所以你可以把 VorlonJS 工具縮小,然後把網頁以不同的瀏覽器開啟,應該就會看到…

0

TACO: 由 Microsoft 開發的 Apache Cordova 開發工具

2013 年 5 月份時,Microsoft 宣佈了在 Visual Studio 上做了一個支援 Apache Cordova 的開發工具,經過一年多不斷地改良,這個工具不但直接內建在 Visual Studio 2015 的安裝功能清單中、微軟也開發了許多 Cordova plugin 來簡化應用程式連結 Microsoft 服務的開發,也做了結合在 Mac 上建置 / 在 Visual Studio 中偵錯的遠端工具,而最近也將這些開發成果,重新包裝並開源成一組跨平台的套件:TACO – Tools for Apache COrdova,可以透過 npm -g install taco-cli 的指令安裝。 TACO 這組套件主要是以 TypeScript 寫成,並且主要是命令列工具(完全相容於 Apache Cordova 官方的 Cordova CLI),用來產生 Cordova 專案(透過 cordova-cli)、設定及建置專案、以及執行測試建置好的應用程式,而在最新的 Visual Studio 整合的 Apache Cordova 開發工具中也直接整合…

0

為網站相容性最佳化做好準備

現在要開發網站應用程式,隨著網頁新技術不斷演進、瀏覽器功能不斷強化,網站開發人員開發網站用的技術也愈來愈多元,大多數經營較久的網站可能就會累積許多「歷史陳跡」——有些程式是多年前寫的,有些是採用最新技術塞入的(還有一些是從網路上找來的片段複製貼上),所幸目前的現代化的瀏覽器行為及標準逐漸一致,所以現在正是一個簡化網站程式碼、優化網站相容性的時刻,以下針對幾個簡單的方法說明提升網頁相容性其實是非常容易的。 TechDays 2015 UWP302 演講 1. 使用新的 HTML 標準標籤 <!DOCTYPE> 文件標準宣告 時至今日,還是許多網站沒有在頁面的開頭宣告頁面所使用的 HTML 標準,因為在 W3C 的 HTML 4.01 標準(已經是西元 1999 年的事了)出來之前,沒有特別定義網頁元素繪製的方式,各家瀏覽器自行定義及實作,後來為了統一所有瀏覽器的行為,W3C 的標準中建議在網頁開頭以 <!DOCTYPE …> 的語法宣告這份網頁用到的 HTML/XHTML 的標準版本,所以各家瀏覽器看到這樣的宣告字樣,就會以一致的行為來繪製網頁元素,同樣地,如果發現網頁沒有標示這樣的宣告,就會視為這個網頁是用標準出來前的模式(Quirks 模式)來繪製網頁。(TODO: 看比較) 依照現在的瀏覽器市佔情形,網頁標準的宣告只需要使用這個語法(大小寫字母皆可): <!DOCTYPE html> 這樣就好了,比起過去在 HTML4.01 還是 XHTML 1.0 時都簡化了非常多,只要網頁的第一行有這段宣告,就可以確保網頁瀏覽器是以(HTML5 的)標準模式來繪製頁面。 避免使用相容性模式 許多網頁開發人員會在網頁中加入一個 <meta> 標籤設定 X-UA-Compatible 的標頭,強制要求瀏覽器以某個版本的瀏覽器(以 Internet Explorer 居多)的行為來呈現,像下面這個例子是強迫(IE)瀏覽器以 IE7 的行為來呈現: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7″ > 這樣的作法,會導致即使用戶是使用了較新版本的…

0

使用 Azure 機器學習服務執行您使用 Python 建立好的智慧模型

Azure 機器學習服務(以下簡稱 Azure ML)是 Microsoft 所推出的一個雲端服務,它讓您能夠使用易於操作的圖形化介面,進行資料整理以及機器學習的運算,您可以在這個服務上從 0 開始,搭配這服務上不斷推出的各種學習演算法,建立一個完整的學習模型,並且將學習後的智慧模型變成 Web 服務,便能透過 Web API 的方式結合,為您的應用程式加入智慧。(詳情可以見我之前寫過的文章) 如同其它的 Azure 服務一樣,Azure ML 也提供了可以操作它的 REST API,而 Azure 團隊也開發了一個 Python 的 Azure ML 用戶端函式庫,讓使用 Python 的開發人員或資料科學家便能輕易與 Azure ML 的各種服務結合。這篇文章介紹如何將您自己 Python 程式建立好的智慧模式,讓它透過 Azure ML 來提供服務。 建立模型 當然一開始您一定要有一個 Azure ML 的 workspace: 若您已經有 Azure 訂閱(沒有的話也可以免費註冊一個),直接在管理後台建立一個機器學習的工作區(workspace)。 若您尚未有 Azure 訂閱,也可以到 Azure ML Studio 中,用 Microsoft 帳號免費登入使用,這與已經有…

0

解決使用 Python Tools for Visual Studio 時編譯套件的問題

透過 Python Tools for Visual Studio (PTVS) 這個免費且開源的工具(免費的 Visual Studio Community 版就可以安裝,而且 2015 還直接成為安裝時可以勾選的選擇性安裝項目),就可以用 Visual Studio 做為開發 Python 相關應用程式的 IDE(當然,你得先到 Python 官網上下載 Windows 版的 Python 程式),而且還支援像是 Django, Flask 這些開發框架的開發工作,與 Microsoft Azure 的結合也很容易,甚至還能開發 Windows IoT 相關的專案。 而透過 PTVS 的 Python 方案,也可以有 GUI 整合的建立 Virtual Environment: 以及 pip, easy_install 等套件安裝工具: 問題 不過如果安裝到需要使用 C++ 編譯器來編譯的套件(如:NumPy 等),會發現它找不到 Microsoft Visual C++ 10.0 編譯器的錯誤訊息(訊息中會說找不到 vcvarsall.bat 這個設定環境的批次指令檔),這是因為在…

0

從 Python 開發人員(Pythonist)的角度看 Microsoft Azure

文章更新日期:2015/06/05 Microsoft Azure (以下簡稱 Azure)是微軟的公有雲端平台,這個平台除了有三、四十種不同的雲端服務之外(不只是虛擬機器而已),還支援許多不同的平台與技術。這篇文章主要以 Python 使用者的角度來看可以怎麼使用 Azure。 目錄 網站應用程式 虛擬機器與 Docker 機器學習 Azure SDK for Python 網站應用程式 如果你使用 Python 做為開發網站的主要語言,Microsoft Azure App Service – Web Apps 提供了一個可以迅速部署、高度延展並且能運用於關鍵任務(mission critical)的網站運作平台,您不必架設或管理虛擬機器、作業系統甚至是網站伺服器軟體(而且天生就是 HA – High Availability 的架構,不必煩惱服務中斷的問題),只要將寫好的 Python Web 應用程式(即便是使用 Bottle、Django 或 Flask 等開發框架)透過 FTP、Git 等方式進行部署,很快就能將網站上線,並且可以根據需求彈性調整網站平台的運算資源,以應付更大的流量及用戶。關於 Azure Web Apps 的詳細介紹可以參考這篇文章。 目前 Azure Web Apps 上是以 WSGI (PEP 3333)的方式來執行 Python…

0

完整看 //Build/ 2015 Keynote – 第一天

//Build/ 是 Microsoft 一年一度的開發者大會(從 1991 年開始,//Build/ 的前身是 Microsoft PDC (Professional Developer Conference) ),今年 //Build/ 2015 依然選在許多大公司經常辦開發者大會的 San Francisco 舉辦,目前課程已經全部錄影(含課程投影片)上線到 Channel9 平台上,如果有興趣看看或複習課程,都可以從這一頁開始。按照往例活動前兩天的上午各有一場 Keynote,宣佈 Microsoft 的新佈局、以及與各個開發社群、夥伴合作的進展,內容非常豐富,接下來我用兩篇文章各自完整探討 Keynote 上宣佈的內容及其意義。 索引 開場及 Microsoft 的使命 打造智慧雲端平台(Build the intelligent cloud) 發展進度及平台多元 高生產力的平台服務與開發工具 宣佈 Azure 新功能與增強 重新定義生產力及商業流程(Reinvent productivity & business process) Office 擴充性 Office Graph API 及 SDK 建立更加個人化運算平台(Create more personal computing)…

0

Microsoft 的 IoT 世界觀:建立「你的」物聯網

隨著愈來愈多人談論創客(maker)精神,以及巨量資料的議題,物聯網(Internet of Things,以下簡稱 IoT)的題材也跟著熱門起來 —— 這些可以寫程式控制的硬體、裝置,在接上網路之後,除了可以將裝置上蒐集的資料往某個地方(也許是所謂的 “cloud")傳遞儲存之外,這些裝置設備可能還會透過網路接收到一些「訊息」來調整它的運作邏輯。試想家中的空調設備若也是一個連接網路的設備,它蒐集了你使用空調的各種數據,往一個智慧系統傳送,接著這個智慧系統建立了一個預測你習慣的模型,根據這樣的模型把預測什麼時候要調高調低溫度的「訊息」送回給空調設備,如此一來,空調設備的自動調節運作也許會更符合你的使用習慣(當然你還是可以手動調整)。 在上面的例子,我們看到了有設備(物,things)以及網路傳輸(網,internet),再加上資料及智慧系統,建造出一種理想的物聯網情境應用,而在這些情境應用中,最重要的部份其實就是處理資料以及從資料中學習的智慧系統。Microsoft 希望與客戶或合作夥伴的合作方式,並不一定要跳脫原本的核心事業,刻意地去做一個新的裝置或設備,而是能在原本的核心事業中加入 IoT 的思維,不論前端的設備用什麼樣的平台或技術打造,都可以結合 Microsoft 的智慧系統來提升效率、啟發創新以及協助商業轉型。 接下來,我們可以來探討 Microsoft Azure 上的服務如何來幫助各行各業導入 IoT 思維。 提升效率 如果不是從頭開始,要在既有的各種設備上蒐集資料、或是加上網路傳輸的功能,首先就要處理眾多異質平台,以及設備數量(直接影響資料數量)等等的問題,但是透過 Azure Event Hubs 的服務,不論前端是什麼樣的設備,透過官方提供的 SDK、或是照著 AMQP 或 HTTPS 的方式進行傳輸,都可以很輕易地將資料傳輸到雲端,更重要的是,Azure Event Hubs 天生就是為了處理即時巨量資料所設計的服務基礎所設計,所以也不必煩惱短時間湧入的大量資料要如何處理的問題。這些問題解決了,也將更容易及輕鬆實現蒐集巨量資料的目標,並且這些都可以是自動化操作,不必擔心後端蒐集資料的平台無法處理的問題。 除了能處理大量的即時資料之外,Azure 上的 Storage 或是 HDInsight 服務上的 HBase 因為有異地備援的特性,可以安全地儲存這些珍貴的資料,而且 Azure HDInsight 就是完整移植了 Apache Hadoop 的生態系,所以處理巨量資料操作的問題也解決了,當這個系統已經幫助您建構好眾多的基礎建設時,效率還不提升嗎? 啟發創新 如果辛辛苦苦蒐集了一大堆的資料,結果必須要隔一段時間才能分析或是操作資料,那反應就比其它的競爭對手或是合作夥伴慢了幾拍,更別提資料的來源可能還有好幾個,那還談什麼創新呢?所以 Azure Stream Analytics 服務以及基於上述提到的 Azure HDInsight…

0

.NET Core CLR 釋出原始碼

在去年年底(2014/11)時,Connect() 2014 研討會上宣佈了 .NET Core 開源的計劃,我也在之前的文章提過這個計劃,當時釋出了 .NET Core 的核心函式庫的原始碼,而今天 .NET team 再釋出 .NET Core CLR 的原始碼,讓整個 .NET Core 開源計劃又再往前進了一大步。 .NET Core 的展望 在原本 .NET 的世界裡,聽到開發人員說:「我這個程式是基於 .NET Framework 4.0 所寫成的。」這句話隱含了這個程式用到了 .NET Framework 4.0 相關的函式庫,所以這個程式必須在 .NET Framework 4.0 的 CLR 上才能執行或是被引用。而這套 .NET Framework 發展至今包山包海,不僅用在桌面應用程式的開發,也在伺服器上的應用程式(如:ASP.NET 等)被廣泛使用,但是發展得太龐大就會衍生出其它的問題,舉例來說,.NET team 要推出在瀏覽器上做一個 client app 的環境,.NET Framework 顯然太龐大了,於是當時就弄出了一個精簡 .NET Framework 的東西叫作 Silverlight,它讓 .NET…

0