2018年8月7日 星期二

在 ASP.NET Core 2.1 的 docker image 裡安裝 Node.js

這算是比較特殊的情境,但因為現在的應用程式除了跨平台之外,程式本身有時候也會需要跨越使用。目前手上一個專案就是這樣的情況,使用 ASP.NET Core 2.1 開發,之後正式運作是要使用 docker 運行,而應用程式會在執行某項功能時去使用某個 NPM 來產出結果。

面對這樣的需求(這需求還是我自己想的)原本覺得應該不是什麼大問題,但就在第一步就遇到了狀況,而這篇文章就記錄幾個安裝的方式。


2018年7月8日 星期日

ASP.NET Core 使用 NLog 將 Log 寫到 Elasticsearch

前一篇「Docker-Compose 建立 Elasticsearch 與 Kibana 服務」說明了使用 Docker-Compose 建立了 Elasticsearch 和 Kibana 以及相關的服務,這一篇接續說明在 ASP.NET Core 網站裡使用 NLog 將 Log 寫到 Elasticsearch。



2018年7月1日 星期日

Docker-Compose 建立 Elasticsearch 與 Kibana 服務

這邊簡單記錄一下使用 docker-compose 於開發環境建立 Elasticsearch 與 Kibana 服務,除了這兩個主要的服務之外也會一同建立幾個常見於操作管理 Elasticsearch 服務。

2018年1月27日 星期六

測試 - 使用 AutoFixture 產生指定範圍的隨機數值

這一篇的內容是取自課程「實務專案的測試」內容的一小部分,在寫測試程式時我會使用 AutoFixture 產生一個 Collection 的測試資料, AutoFixture 會依據類別裡屬性的各個型別隨機產生內容,但有時候會想要某些屬性的值要在一定的範圍內,這時候可以使用一些設定方法讓 AutoFixture 可以在指定的範圍裡隨機產生資料。



2018年1月16日 星期二

[練習題] ASP.NET Core WebAPI - 台北市 YouBike 公開資料

這算是個練習的題目,原本覺得應該是個簡單的應用,沒想到實做下去遇到了幾個進階的操作,還蠻有趣的,用的是 ASP.NET Core WebAPI,但如果要用在 ASP.NET WebAPI 專案裡也是可以的,程式的部分並不會有多大的差異。寫程式的過程中還發想出不少的延伸應用情境,所以之後會有幾篇文章跟這篇的內容有所關連。

這篇文章會提到的內容:GZipStream, JsonConvert, AutoMapper



2018年1月7日 星期日

Visual Studio 2017 擴充功能 - EF Core Power Tools

對於很多開發者與團隊、公司來說,以往開發 ASP.NET 專案要使用 Entity Framework 的 Code First 都各自有需要面對的問題與難度,所以很多人還是比較選擇使用 Database First 或是「來自資料庫的 Code First」,而在 ASP.NET Core 專案裡要使用 Entity Framework 就只有 Entity Framework Core 這麼一個選項,而且預設只能使用 Code First,對於已經對於 Code First 完全不熟的開發者來說,難道就只能硬著頭皮去使用 Code First,而資料庫管理比較嚴謹的團隊、公司就無法在 ASP.NET Core 專案使用 EF 了嗎?

Visual Studio Extension「Entity Framework 6 Power Tools」的作者「Erik Ejlskov Jensen」製作了對應 Entity Framework Core 的擴充功能「EF Core Power Tools」,讓我們在開發 ASP.NET Core 專案時也可以有個操作介面功能可以建立、管理專案的 EF Core 模型。



2017年6月4日 星期日

Visual Studio 2017 - 從 JSON 產生 C# 類別檔案

在過去使用 Visual Studio 2013,2015 時,先將 JSON 內容複製起來後,然後使用 Visual Studio 裡的「選擇性貼上」功能就可以產生相對映 JSON 結構的 C# 類別檔,這功能相當方便,我在之前的文章裡也曾經有介紹過「ASP.NET MVC 使用政府公開資料 Part.1」。

但是在 Visual Studio 2017 裡怎麼好像這個功能不見了… 怎麼找都找不到要怎麼把這功能恢復的方法,最後乾脆就直接找其他的擴充功能來取代,這邊就介紹一個我用起來還不錯的給大家。



2017年4月30日 星期日

twMVC #24 - 開發團隊的敏捷之路(未完成)

這一場的發表日期是在 2016-10-01,距今已經是七個月前的事情了,原本應該是在活動之後就會整理一篇文章說明,但因為工作繁忙以及懶惰的緣故,所以一直拖到今天才寫出來,這期間的 twMVC 研討會都已經來到 #27 了,然後在下個月(2017-05-13)也即將舉辦第 28 場囉。

關於講題名稱,一開始公開的時候是有很多人誤會,所謂的「未完成」並不是說要講的內容尚未完成,而是在說明一個團隊的敏捷之路並沒有所謂的「完成」,敏捷是一直持續進行並且是持續改善的,沒有完成的一天,而我是以工作團隊在過去一年當中所帶領推動的一系列改變來做說明,希望可以作為其他團隊的借鑑。

 


2017年4月23日 星期日

關於「面試」…

三個多月沒有寫文章了,這段時間都把專注於公司的專案開發上,雖然現在專案仍然持續開發中(還看不到結束的那條線),但持續將近一年維持高張力的開發,開始發覺到已經逐漸往崩潰邊緣前去,所以必須做一些調節,而以前調節情緒與壓力的方式就是寫文章。

先來寫一篇有關「面試」的主題,目前的工作內容除了在專案的開發之外,也會一起協同面試,主要是看前來面試者的技術,以及當面與面試者一起會談,藉這篇文章整理一下這段時間所看到的一些事情。

 


2017年1月24日 星期二

Visual Studio 2015 Professional 測試的程式碼涵蓋範圍 - 使用 AxoCover

上一篇「Visual Studio 2015 Professional 測試的程式碼涵蓋範圍 - 使用 OpenCover 和 OpenCover UI」說明的是在 VS2015 Professional 裡使用 OpenCover UI 去執行 OpenCover 以得到測試涵蓋範圍的結果,但因為 OpenCover UI 的功能與操作有些陽春,另外在執行時會出現錯誤的狀況,讓我在使用上總是覺得不順手,不過另外一個擴充功能可以使用,那就是這篇要介紹的「AxoCover」。

 


2017年1月23日 星期一

Visual Studio 2015 Professional 測試的程式碼涵蓋範圍 - 使用 OpenCover 和 OpenCover UI

相信很多人都會直覺認為在 Visual Studio 裡能夠使用到「程式碼涵蓋範圍」這個功能是很正常也不會覺得有任何異常的狀況,不管是之前的 VS2012, VS2013 或 VS2015,有寫測試的開發人員都會對於使用「程式碼涵蓋範圍」是日常開發工作理會經常去使用到的,但你們可知道正在使用的 Visual Studio 授權版本為何呢?

一開始會這麼問各位,這是因為 Visual Studio 裡的「分析程式碼涵蓋範圍」功能是只有在 Ultimate 與 Enterprise 版本才有的,而如果使用的是 Professional 或 Community 版本則是沒有的,那麼使用 Professional 版本的開發者在寫測試時要如何知道測試程式的涵蓋範圍呢?

 


2016年11月28日 星期一

使用 CodeTrack 分析你的 .NET 應用程式

在 twMVC#15 時,我以「開發的效能和效率」這個題目分享了幾個追蹤分析以及效能監控的工具,有些功能是 Visual Studio 本身就有提供,但是只有在 Ultimate 或 Enterprise 才有提供,而有些則是需要付費購買的第三方套件,看起來好像都需要先付出一筆費用之後才有辦法去做到詳細追蹤分析的事情,不過也並不是這樣,因為有很多人既使給他們用了最高開發等級的 Visual Studio,也還是有一堆功能根本不會用,而且可能還不知道有這些功能。

這一篇文章將會介紹一套免費及操作簡便的 .NET 應用程式分析工具「CodeTrack」,希望能夠為各位的開發與系統維護時有所幫助。


2016年11月21日 星期一

Docker for Windows - Microsoft SQL Server on Linux 與 Visual Studio Code 操作

是的,在今年三月的時候微軟就已經宣佈要讓 SQL Server 放在 Linux 系統裡,而在前陣子的 Microsoft Connect(); 2016 大會裡發表了 Microsoft SQL Server for Linux v.Next,雖然離真正可以商業應用的階段可能還要一段時間,但是我想不久的將來微軟應該就可以完成這個目標,畢竟目前 Linux 系統的市佔率是節節升高,微軟以及使用微軟技術的工程師們必須正視這樣的轉變,也必須進早熟悉和因應。

數位時代 配圖

這一篇文章將會簡單的介紹如何以 Docker 的方式讓 MS SQL Server for Linux 運行在 Docker for Windows 上。

 


2016年11月20日 星期日

Docker for Windows 與 ASP.NET Core - Part.2 使用指令碼建立 Image 和 Container

經過上一篇「Docker for Windows 與 ASP.NET Core - Part.1 安裝與使用 Visual Studio 2015」的環境建置與開發環境建立專案和使用 Visual Studio Tools for Docker - Preview 之後,這一次來嘗試使用指令碼的方式建立 ASP.NET Core 的 Image 和 Container 並且運行在 Docker 裡。

 


2016年11月19日 星期六

Docker for Windows 與 ASP.NET Core - Part.1 安裝與使用 Visual Studio 2015

目前容器技術已經成為主流,許多公司的資訊系統架構都已經轉向容器化,以往在 Windows 系統要使用 Docker 都會受到許多技術限制,雖然可以用許多方式來使用 Docker,但使用上還是不太順暢與便利,不過 2016年的下半年陸續由 Docker 發佈了 Docker for Windows 以及 Microsoft 發佈 Windows Container,前者可以讓開發人員可以在 Windows 環境裡架設及使用 Linux 基礎的 Docker,後者則是 Windows 版的 Container 技術,不管是哪一種版本都是開發人員必須要熟悉與認識,因為這是未來的一大趨勢。

此篇文章會先介紹如何安裝 Docker for Windows,另外使用 Visual Studio 2015 建立 ASP.NET Core 專案以及安裝套件,然後使用這個 ASP.NET Core 專案建立 Docker image, container 以及執行。

接下來會有幾篇文章會介紹 Docker for Windows 與 Windows Container 的文章,方便大家可以入門學習。


2016年10月31日 星期一

Repository 測試 - 使用 LocalDB - 範例程式碼 @ Github

將「Repository 測試 - 使用 LocalDB」這系列文章的範例程式碼給發佈到 Github 上面囉,完整的專案程式碼會比文章裡只有提到部分來得清楚(其實文章裡所提供的程式都已經是完整的內容),還是有很多開發者對於文字與部分程式的內容比較沒有感覺,所以有時間就把專案 Clone 一份下來看看。(還是有很多人習慣看程式,都已經把完整的專案公開了,就下載並且執行看看吧)

 


2016年10月30日 星期日

Repository 測試使用 LocalDB - Part.4

本來應該在 Part.3 這一篇就應該做個完結,但還是有一件事情要交代,所以又開了一篇來做說明,這一篇會有關於前陣子所發的文章「準備 Repository 單元測試的測試資料 - 產生匯入資料的 SQL Script」有關,在「Repository 測試使用 LocalDB - Part.3」裡面所使用的是 CSV 匯入測試資料,而接著就會說明使用 Insert SQL Command 的方式匯入測試資料的做法。

 


提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。