取得GPU Video Memory Usage - Windows 10 1709 only

  最近的Windows 10 Fall Creators Update更新中,提供了一樣以往被視為是難以取得的的資訊,那就是GPU的使用率及記憶體用量,這以往都要靠特定的工具才能查看,例如GPU-Z或是Riva Tuner,如果是NVIDIA那就還好,NVIDIA會在資源監視器中添加幾個計數器,所以取得其實不困難,但如果是ATI/AMD甚至是Intel HD,沒有特定的通道與知識是很難達到取得這些資訊的,尤其是記憶體(Video Memory)用量,在這次的更新後,這一切都變得非常簡單了。

...繼續閱讀 »

談C# 編譯器編譯前的程式碼擴展行為 (2017年續 上)

這是2011年 談C# 編譯器編譯前的程式碼擴展行為 的續篇,當年該文章由C# 1.0討論到4.0,中間也過了好多年,今年終於興起來寫個續篇了,如果你沒看過前篇,建議看這篇前先瀏覽一下,該文中提及的東西至今仍然未過時,語言的東西不比特定技術,很少會發生Breaking Changes或是整個Feature移除,頂多只是改善。

...繼續閱讀 »

設計簡單的Script Engine

軟體需求總是不停地在改變,有些時候需求帶著UI,有些時候需求則可以排除UI,端看使用者的角色而定。會有這篇文章的原因是最近收到了一個很特別的需求,這個需求的受眾,也就是使用者其實是公司內部的PM、工程師,所以UI不一定需要很複雜,甚至不太需要UI,因為牽扯到實際商業行為,以下我便用類似的假想型需求來呈現。

...繼續閱讀 »

Build Desktop Application with Electron (4) - Call to .NET

憑藉著Node.JS豐富的資源,傳統Desktop Application能做的事,Electron幾乎都做得到,前提是你能找到適用的套件,但總有些時候,能找到的套件雖然能達到你要的目的,但卻附帶一些不想要的後果,例如複雜的使用架構,或是效能不符需求,相依性過大等等,這時Electron Edge這類可以橋接.NET Library的機制就很有用。

...繼續閱讀 »

防堵SQL Injection

年前,一次全面性的SQL Injection攻擊,導致數千個網站受害,霎時間,讓所有人領教到看似方便的網路世界,也有其陰暗的一面。SQL Injection是一種著床於程式設計師的慣性及惰性上的害蟲,只要有程式設計師持續提供其養份

...繼續閱讀 »

.NET Core – The Beginning

隨著Microsoft擁抱開源的口號,.NET Framework也正式登上了其他平台,其中包含了Linux與OSX,與以往的3rd Party Mono不同,新的.NET Core具備官方的支援及完整的Roadmap。

為了登上其他舞台,.NET Core可以說從根源開始重新打造,在早期版本中Linux、OSX上仍是使用Mono Runtime,隨著時間的推移,現在的1.1 RTM中Mono的身影已經完全消失了,取而代之的是Native Platform Runtime,這代表著.NET平台新時代的來臨,也意味著Microsoft正走在一個Java曾走過的道路,Cross Platform、Write once,Run Anywhere。

...繼續閱讀 »

版控的下一步-Build System – Private Nuget Server

  • 424
  • 0
  • 2016-03-01

前篇文章提及,VSTS其實可以自動透過Nuget Restore來取得專案所使用的套件,這樣不僅可以避免直接在專案中硬性加入參考,也可以解決套件散亂難以管理的問題,當然,專案中許多套件是屬於自行研發,也不打算放上Public Nuget Server給外部人使用的,這時候就需要自行架構Nuget Server。

...繼續閱讀 »

版控的下一步 – Build Automation System

  • 296
  • 0
  • 2016-03-01

版本控制系統(Version Control)是近代軟體工程必要的一部份,只要是專注於軟體開發的公司或是部門,都必定擁有這一環,   當建置好版本控制系統後,接著要思考的是下一步,通常這指的就是建置系統(Build System),也稱為自動建置系統(Build Automation  System)

...繼續閱讀 »

The Windows Azure Role Startup Task



在Windows Azure所提供的Cloud Services服務裡主要分成兩種Role,一是許多人都熟知的Web Role,用於開發可Host於IIS的Web應用程式,例如ASP.NET及PHP等類。另一類是Worker Role,

用於開發不可Host於IIS的應用程式,例如自行開發的TCP Server或是Java/Node.js等類。

...繼續閱讀 »

The Windows Azure Toolkits – Integrated ACS with iOS、Windows Phone、Android and Windows 8

隨著Windows Azure Platform的發展,其支援的平台及語言也越來越多,行動裝置自然也是重點之一,從去年開始,Windows Azure Toolkit for Windows Phone率先推出,
緊接著for iOS與Android版本也釋出了。10個月後的今天,這些Windows Azure Toolkits隨著Windows Azure Platform的發展逐步演進

...繼續閱讀 »

談C# 編譯器編譯前的程式碼擴展行為

從2000年C#誕生以來,至今已經過了11年多了,C#的版本號也來到了4.0,在筆者所接觸的語言中,C#算是一個相當具有活力的程式語言,設計者Anders Hejlsberg的大膽且創新的特質充分的反映在這個語言上,

其每次的改版都會出現許多大膽的嘗試,目的是為了讓程式設計師能更快速、簡潔的運用C#來完成一些過去看來很複雜的動作,當然!所謂的大膽及創新的嘗試,通常也會引起正反兩面的意見。

本文列出一些C#中可以減少程式設計師撰寫程式碼數量的特色(語法、指令),其中有些是大家已經耳熟能詳的

...繼續閱讀 »