精選影片 -【請珍惜愛用 Visual Studio 的宅宅】

MSDN Blog 小編將嘗試全新課程組合,搶先主打【請珍惜愛用 Visual Studio 的宅宅】 身為開發人員的你,怎麼能錯過這次的 Visual Studio 課程錦囊呢? 使用 MAC 的朋友我們提供免費的 Visual Studio Code 讓您體驗,使用 Windows 的朋友請免費下載 Visual Studio Community 版本,快來搶鮮體驗地表最強開發工具!

0

MSDN 論壇精選 (02/23 – 04/11)

MSDN 論壇  是一個可以讓開發人員自由提出問題、尋找資訊的好地方,歡迎大家多多利用,與社群中的同好們一同分享 Microsoft 技術資訊。 而我們會不定期整理論壇精選給大家,希望對您的學習有所幫助!以下為 2016 02/23 – 2016 04/11  的論壇精選,大家在閱讀時有疑問也可以直接加入論壇中討論喔。

0

Connect(); 2015 隆重登場

本文翻譯自 News and Announcements at Connect(); //2015 今天我們在美國紐約舉行了 Connect(); 2015 的線上研討會,在這次的會議中我們宣佈了一些正在進行中的一些產品及新功能,在這篇文章中,我們會做重點整理,當然您也可以在 http://www.visualstudio.com/connect2015 中收看更多教學影片。 Visual Studio Code 釋出 Beta 版本,在這個 Beta 版本中,我們加入了以下幾個新功能: 加入對擴充套件的支援,並且一併釋出了一些程式碼風格指引、範例程式、以及相關的開發工具供開發社群製作更多擴充套件。 推出結合應用程式以及可透過 Web 操作的擴充套件庫,方便您安裝及尋找擴充套件。 與開發社群合作推出超過 60 個全新的擴充套件,包括了程式語言、檢查工具、佈景主題、程式碼片段、除錯器等等族繁不及備載。 將 Visual Studio Code 的程式碼開放在 GitHub 上,成為一個開源專案。 想要瞭解更多關於 VS Code 的新消息,請參考 VS Code 部落格。   .NET Core 5 RC 以及 ASP.NET 5 RC with Go-Live 授權。這次 .NET Core…

0

微軟開發部門 DevOps 經驗談 (四) – 從使用者經驗中學習

本文接續: 微軟開發部⾨ DevOps 經驗談 (一) – 從 Agile 邁向 DevOps 微軟開發部門 DevOps 經驗談 (二) – 從經驗中學習 微軟開發部門 DevOps 經驗談 (三) – 為 DevOps 量身打造的系統 今天要來談的是如何從使用者經驗中學習。 從使用者經驗中學習 我們盡可能讓所有開發的功能,都能提供良好的使用者體驗,就算這是件相當困難的事。舉例來說,我們花了很多功夫讓服務達到 99.9% 的服務可靠度 (SLA, Service-level agreement),但我們並不因此而滿足。 我們的目標並不僅僅只是 SLA,而是希望提供 100% 完全沒有缺點的服務。這也代表著我們必須要對發生機率是 0.001% 的例外狀況斤斤計較。由於異常狀況經常會隱藏在監控的數據之中,我們甚至為此改寫了三次計算 SLA 的演算法,來讓我們的監控標準更加的嚴謹。參考下圖一,在一開始,我們使用外部進入測試,來判斷服務是否正常運行,如圖表中的虛線所示,我們的第二個演算法是觀察所有使用者進行的操作指令中,失敗和執行緩慢的數量比例,來判斷是否有功能發生異常,你可以參考圖表中的失敗和緩慢指令數量。在服務成長之後,由於使用者數量過多,也可能會讓問題被隱藏在相對大的系統數字之中,目前我們的作法是計算每分鐘遇到問題的使用者數量相對於每分鐘所有使用者數量,作為判斷系統是否有異常的指標,如圖中黑色現所示。 圖一、呈現了計算SLA的三種演算法,外部進入測試沒有找到任何的異常,追蹤指令執行狀況呈現了有一小時發生執行緩慢的狀況,而在使用者異常相對比例中更反映了有三小時的執行緩慢情形發生。 如同你所看見的,在四個小時的週期中,第一條虛線顯示沒有異常,第二條線顯示大約有一小時的異常,而第三條線卻顯示了有三個小時服務的效能是十分糟糕的。其實我們沒有必要這麼嚴格的設定線上數據觀察的機制,但我們為了提供給使用者更好的服務品質,對每一個數據都會更嚴格的要求自己。 注重安全性 在我們服務的其中一個安全標準中,要求了我們必須確保服務能夠保護使用者隱私,確保資料安全,在提供穩定服務的同時維持安全品質。以前我們開發地端版本的軟體提供給客戶使用時,就曾經在軟體的安全性上下了不少苦工,甚至會假設如果服務被入侵時,要怎麼自動偵測或判斷服務的安全受到了威脅。 除此之外,我們使用擴展單元來部署服務的方式帶來了一些額外好處,SU0 除了作為我們服務的第一個部署單元之外,還可以透過它來進行安全演習,強化驗證並我們服務的安全性。我們會使用這個擴展單元來舉辦一些類似“遊戲日”的活動,例如在內部舉辦安全性比賽,看看服務是否能夠抵禦入侵,而使用 SU0 更大的好處是不會影響正在使用我們服務的使用者們! 不同的部署方式 在我們開發地端版本提供給客戶使用的軟體時,我們花了十分多的精力調整開發系統和流程,想辦法讓客戶使用軟體遇到異常的時間降低,換句話說,由於產品提供給客戶之後,萬一客戶在使用時發生任何的異常或問題,要處理的成本都會變得十分的高,所以我們必須要在提供給客戶前就盡可能的降低問題發生的機率,避免我們常常要發行修正更新給客戶來解決異常,也避免造成客戶對我們的軟體有不好的印象。 DevOps 以及服務的雲端化改變了我們的思維,我們要考慮如何盡可能降低修復問題和重新部署到線上服務的時間,這也讓我們有了不一樣的目標,同時必須還要考慮修復問題、發現問題、找到原因以及學習改善根本原因的時間。 我們還想到在設計時必須多為了彈性做考量。線上服務可能會因為周邊相關的系統中斷而導致異常,尤其是在使用量尖峰時段很容易發生,但既然是線上服務,就必須將使用上的影響降到最低,並搭配對應的重試機制,例如使用 Circuit Breaker…

0

Team Foundation Server 2015 正式發行

好消息!微軟正式發行了 Team Foundation Server 2015 的最終版本,Team Foundation Server 2015 是對任何開發團隊提供之地端的應用程式生命週期管理與開發維運整合解決方案,且包含對提升Team Foundation Server 深度與廣度能力的大量更新,Team Foundation Server 2015 使開發團隊更易於分享程式,追蹤工作與交付軟體。此篇文章您將看到: 開發維運整合與敏捷度 工作規劃 開發維運整合與測試 組建與發行 結論 開發維運整合與敏捷度 現今的開發團隊首要專注於敏捷開發,對思考如何建立一個敏捷的團隊與流程的開發團隊而言,擁抱開發維運整合方式,逐漸成為了主流 Team Foundation Server 2015 與 Visual Studio Online 提供了完整的開發維運整合服務,讓團隊能夠持續交付,持續監控與持續學習,便於最佳化團隊敏捷度,在 Team Foundation Server 2015 與雲端的 Visual Studio Online 服務之間,我們提供了全面的開發維運整合能力。 多年來, Team Foundation Server 已成為 .NET 開發團隊的絕佳工具,但近幾年,Team Foundation Server 與 Visual Studio Online…

0

微軟開發部門 DevOps 經驗談 (三) – 為 DevOps 量身打造的系統

本文接續: 微軟開發部⾨ DevOps 經驗談 (一) – 從 Agile 邁向 DevOps 微軟開發部門 DevOps 經驗談 (二) – 從經驗中學習 今天要來談的是如何為 DevOps 量身打造系統。 Visual Studio Online 是一個全球性的服務,必須提供 24x7x365 服務不中斷,也保證擁有 99% 的可靠度,甚至還有財務擔保。雖然這些 SLA 上的保證並不是我們產品的最終目標,但為了要讓我們的使用者更安心的使用我們的服務,我們必須至少要提供這樣的穩定性。Visual Studio Online 並不會因為需要維護而有任何的停機時間,也不會發生任何需要重新安裝設定的事情,所有的新功能都是透過更新的方式上線的,過程也是全自動化。這也代表我們服務架構必須要是低耦合性,明確定義服務與服務之間的邊界、溝通方式,以及準確的控制要更新程式碼的版本。為了能夠瞭解客戶的需求,Visual Studio Online 也是運行在 Azure 上,我們完全透過 Azure 所提供的功能來建立這項服務。 自動化部署 我們的開發部門中有一個叫做服務部署 (Service Delivery) 的小團隊,專門處理網站部署工作,以及維持我們服務穩定運行,這個團隊簡稱為 SD。在每個 Sprint 結束後的星期一,SD 會使用 Visual Studio Release Management 來進行部署 (參考圖 1)。通常我們會在上班時間進行新版本的發行,這是因為上線後我們必須要觀察線上運作是否正常,萬一有問題也能即時發現並修正。由於…

0

跨平台開發首部曲:iOS 的 ABCs

  今年,基於微軟對於跨平台開發的強調及重視,我們推出了 Visual Studio 2015 、Visual Studio Online (VSO)  和 Visual Studio Code 等工具,讓開發人員能夠打造絕佳的 iOS 應用程式。 除了在 C# / Xamarin 和 C+ + 中的 Visual Studio 2015 支援跨平台開發,開發人員現在也能使用 Apache Cordova 進行開發、 偵錯以及部署應用標準 JavaScript 語言的 iOS 應用程式。更棒的是,在 Visual Studio 2015 的 Cordova project 結構會反映檔案系統,這意味著您創建的 Cordova project 都能利用 Windows 或 Mac 上的 Visual Studio Code 來進行編輯與維護 。同一份專案,同一份程式碼,您可以混合命令列公用程式,特別是針對 Ionic 或 Monaca 的 JavaScript…

0

微軟開發部門 DevOps 經驗談 (二) – 從經驗中學習

本文接續 微軟開發部⾨ DevOps 經驗談 (一) – 從 Agile 邁向 DevOps,今天要來談的是從經驗中我們學習到什麼。 適度控管分支讓開發更快速 在 2008 年,我們開發團隊剛開始使用 Agile 時,我們認為可以透過程式碼品質控管,以及版本控制系統所提供的分支 (branch) 功能等方式,讓程式碼維持高品質。剛開始的時候,我們版本控制系統中的分支都是經過精心規劃設計的,工程師開發完成後,必須要從主幹 (trunk) 取得最新的程式碼,將自己所開發的程式碼與主幹的程式碼合併,透過系統建置並且通過所有程式碼品質的檢查,確保開發的程式碼符合我們的規範之後,才能算是開發完成,可以把程式碼簽入 (check in) 到版本控制系統中。 但我們沒有預料到的是,過度的使用分支可能會造成開發流程上無謂的浪費。我們進行新功能的開發時,可能會因為在開發上遇到阻礙開發的事情,所花費的時間超過原本預期,導致開發中程式碼與主幹 (trunk) 太久沒有進行合併 (merge),讓程式碼落差越來越大。這個現象也產生了相當嚴重的合併 (merge) 債務,我們在不同分支的工作好不容易完成之後,卻發現原本主幹中的程式碼與建立分支時有相當大的落差,這是由於其他人在我們的工作進行時,也不斷的把所開發的程式碼加入到主幹之中,所以當我們開發完成要合併程式碼回主幹的時候,就會有大量的合併衝突 (merge conflics) 必須要解決。隨著我們的組織越龐大,分支越繁雜,這樣的情況也會越來越嚴重。 因此在 2010 年時,我們開始針對程式碼分支的規劃進行了改變,我們大量刪減了原本過於繁瑣的程式碼分支架構,只留下了少數幾個分支,而這些分支通常也只是暫時存在。我們同時明確的針對程式碼開發流程進行了改善,減少程式碼從主幹切出分支進行開發到合併回主幹讓其他人可以使用的時間。接著我們嘗試轉換目前所使用的版本控制系統,雖然我們大部分的客戶和合作伙伴都是使用中央化的版本控制系統,但我們仍然決定改為使用分散式的版本控制系統 (例如 Git),當然,Visual Studio Online 和 TFS 都有支援這兩種版本控制系統。使用 Git 的好處是它相當的輕量,並且由於分散式系統的特性,可以很輕鬆的在本地端建立暫時性的分支結構,不會影響原本遠端的分支,所以我們可以在任何需要的時候開啟新的分支,當完成工作並將程式碼合併回主幹後就把這個分支刪除,讓分支不會過多,管理起來更容易。 同時再搭配發送 pull-request 的工作流程,讓 Code Review 和程式碼品質控管可以同時完成,當 pull-request 中的程式碼內容被審核人員確認無誤之後,就會立即的合併回主要分支 (Master Branch),也就是原本的主幹之中,這讓我們程式碼開發流程是順暢且嚴謹的,而且由於每一個分支相當輕量,就比較不容易發生因為在分支上開發過久,開發人員必須花費相當大的精力保持與主幹的程式碼同步。 搭配這套流程可以把開發人員的工作週期相對的縮短,由原本冗長的開發時程,轉變為一個一個短週期的工作項目,也讓完成工作項目變得更加容易,並且隨時可以合併回主要分支中,達到一個更容易持續整合的循環,分支也不會因為離開主要分支過久,而有許多合併衝突要解決,一旦我們完成工作合併回主要分支後,所建立出來的分支隨時都可以刪除,讓分支的管理工作更容易進行。…

0

Visual Studio Online 新功能:搜尋程式碼 Code Search

2014/11 月的Connect()大會上宣布Code Search 將會是Visual Studio Online 中的一項新功能。提醒大家,這篇文章中的範例主要適用於這次展示中,僅提供先行參考而已,之後功能正式釋出後可能會有差異。 Code Search這項新功能將會新增至Visual Studio Online中而新的搜尋介面會像下面這張圖一樣。 只要在搜尋框中設定搜尋條件就可以在現有的資料庫中搜尋需要的程式碼。現在,試著在程式碼中輸入「todo」當作搜尋關鍵字,右方顏色標註的地方就是現有資料庫中有包括「todo」字元的程式碼。而在最左邊的地方也可以讓你將搜尋範圍設定在特定的項目或資料庫中。 Code Search也提供多項關鍵字搜尋功能,並非限定一次只能搜尋一個關鍵字。舉例來說,像是剛剛的例子,如果在搜尋框中輸入「todo AND path:*.js」,就可以搜尋到出現在JavaScript中的「todo」字元。 也可以指定要搜尋某些特定程式碼像是類別定義。下面這張圖就可以看到,如果指定要搜尋類別定義是「Driver」的例子。    

0

微軟全球資深副總裁潘正磊訪台 開放與敏捷思維邁向創新變革

      微軟公司全球資深副總裁潘正磊女士 (Julia Liuson) 今(19)日訪台,分享微軟公司推動轉型的進程中,以「開放」及「敏捷思維」為主軸,在三個方向的企業文化上徹底進行改造:1. 挑戰者的心態;2. 永遠不斷的學習;3. 極致專注客戶的需求。在微軟公司執行長薩帝亞‧  納德拉先生的新願景帶領之下,已經提供Microsoft Azure 雲服務平台,以及Office 365、Visual Studio Online 等多項基於雲端的服務產品,並且打破成見,積極與Apple、Google等公司合作,將微軟業界領先的軟體產品,發佈在不同平台的版本,展現「擁抱開放、擁抱客戶」的新面目,具體落實「行動優先、雲端至上」的公司策略主軸,再現微軟公司持續創新與成功轉型的競爭力,為客戶及使用者創造最大的價值。 微軟完成雲端轉型的關鍵因素之一:開放 當前,全球商業環境都處在高速變革之中,移動設備和雲服務成為創新中心,這種改變正在影響各行各業的運營模式,使用者選擇以及下一代的場景應用。 面對互聯網時代百家爭鳴的高度競爭環境,微軟公司執行長薩帝亞‧  納德拉先生提出了新的願景:「在這個行動優先、雲端至上的世界裡,微軟的核心競爭力,就是成為一個提供生產力與平台的公司,幫助在這個地球上的每一個人到每一個組織,都能貢獻更多、成就更大。」 「我們必須接受並理解,互聯網時代,就是客戶選擇的時代。」身為微軟公司全球資深副總裁,帶領開發平台事業部,並主導 .NET,Visual Studio開發工具產品開發與Open Source開放原始碼等計畫的潘正磊說:「擁抱開放,實際上就是擁抱客戶的需求。從消費者到企業、政府,使用多種不同的設備,運行多種不同的系統,已經是很普遍的現象,所以與各種不同系統的兼容,提供跨平台的開發與運行的能力,成為微軟必須要走的方向。」 去年的11月,微軟面向全球宣布,將其供軟體運行的核心.NET Framework伺服器端的原始碼全部開放,引起業界高度矚目。在此之前,微軟還與蘋果公司聯合發表在iPAD上運行的Office版本;與三星公司合作將在三星的安卓手機上提供微軟的各種行動與雲端服務;最近在3月5日,微軟更與Google聯合宣布將基於微軟的TypeScript程式語言製作Google下一代的網頁應用程式框架Angular 2。這些令人目不暇給的合縱連橫,不斷的引起全球高度矚目。「微軟的開放與跨平台戰略是玩真的,」潘正磊說:「以我的團隊所負責的.NET開放原始碼計劃為例,對於軟體開發者來說,只用寫一次程式碼,其核心不用做重大修改就能運行在 Windows、Linux、Android、Windows Phone 等多種平臺上運行,這是每個開發者夢寐以求的!一門程式語言既能做桌面APP開發,能做網站開發,又能做移動開發,對於開發者來說,降低了在各個不同平臺和語言上的遷移成本, 從而將時間和精力投入在創造性的設計工作中。我們從發佈以來,全球媒體與分析師都給了我們相當正面的評價,特別是我們的客戶與軟體開發商,迫不及待的希望我們趕快推出正式的版本。儘管各個開發者所從事的領域不盡相同,但是我們在整個行業中看到了一致的動機。開發者希望有能力去構建豐富多樣化的應用程式,他們希望能夠更快速地開發,接觸更多的消費者,他們希望更高效地實現盈利。微軟能夠理解這種動機同時會重點做三件事來幫助開發者獲得成功:提供多樣化的平臺(跨設備和雲服務),使在微軟平臺開發更加容易,為創造贏利提供更多機會。」 除了.NET的開放原始碼計劃,將於稍後正式發佈的微軟開發工具Visual Studio 2015產品系列,也以「更開放、更敏捷、更高效」為目標,進一步提供跨平台開發的能力,讓開發者和合作夥伴能夠在微軟的開發工具上,開發Windows Phone、Android與iOS的Apps,也支援更多不同的程式語言,讓不同語言所開發的專案,都能夠在微軟的軟體專案管理平台上進行集中式、穿透式的敏捷管理。 微軟大力擁抱開源,除了.NET開源與跨平台的開發工具是其中一個重頭戲,微軟的公有雲Azure也積極擁抱開源。 潘正磊也提到:「在Azure上, 不僅支援微軟的產品,也支援非微軟各種開源項目。 例如在支持微軟SQL的同時,也對MySQL開源資料庫大力支持; 微軟已經發佈了支持Apache Cordova的Visual Studio預覽版本。 這些都代表著微軟開始將自己的服務推到全平臺,不再局限於微軟的平臺,微軟也開始為Android 和 iOS 陣營的開發者提供服務,」潘正磊總結了一點她的期望:「藉由這種更開放的態度,我希望,有一天,每一個程式開發者都能使用我們所開發的工具;每一個應用程式或App,都能採用到我們團隊所貢獻的技術。」 微軟完成雲端轉型的關鍵因素之二:敏捷思維 談到微軟轉型的另外一個關鍵因素「敏捷思維」,潘正磊提到,互聯網競爭最核心的一點就是速度。她說:「我們除了要去擁抱客戶真實的需求,我們也必須更快速的提供服務去滿足他們的需求。過去我們開發軟體,一個版本動輒要花上三年五載,但是互聯網的雲端服務是7x24不能中斷的,你完全不能用過去開發軟體的節奏,去應付雲端與互聯網的競爭、壓力與客戶的期待,那是爭分奪秒的,我們的開發團隊必須要往敏捷方向轉型,沒有退路。」 潘正磊的團隊遍佈全球,在她主導之下的敏捷轉型工程,將以往各自為政的程式管理、開發與測試人員,重新編組成一個個8-12人的小團隊一起工作,打破專業與溝通的藩籬,讓規劃、開發與測試、發布上市等環節可以透過緊密溝通,簡化原本的繁複流程並確保計畫執行落實,成功縮短產品更新與上市速度。現在,她更打破傳統的思維,進一步將開發與測試兩種不同的職務合而為一,更能夠加速測試的過程,提昇程式碼的安全性與質量。此外,微軟的開發工具現在也有了雲端服務的產品Visual Studio Online,對於她的開發團隊更是一項巨大的考驗。「過去我們的軟體工程師只需要專注在開發與測試工作,現在還要去管運營維護了,」潘正磊說:「所以我們必須打破開發與系統運維團隊之間的『柏林圍牆』,以最新的DevOps觀念,推動『開發運維一體化』,讓運維階段所發生的問題,能夠快速的、自動的反饋到開發團隊,而開發團隊在迅速修改之後,以自動化的方式進行測試與發佈。我們採用高度自動化的方式,去打破不同團隊、不同職務、不同部門之間的隔閡,提高溝通效率,才能加速整個開發流程的推進。有錯趕快改,客戶有好的意見趕快做,我們才能在雲端贏得客戶的信任與滿意。」 藉由「開放」與「敏捷思維」,微軟確實在這一年來,堆起千疊浪,讓人耳目一新,而世人的肯定也反映在持續走高的股價上。除了正確的策略與技術方向,是什麼樣的力量能讓微軟在短期內進行如此脫胎換骨的改變?身為微軟公司技術決策核心之一的潘正磊談到,企業文化的力量,絕對是驅動變革的最重要因素。她將這段期間內,微軟內部的企業文化革新,歸納成三大方向:1. 挑戰者的心態;2. 永不停止的學習;3….

0