Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[.Net Core 與 .Net Standard 實戰教學][Lab][03-1]現有.Net Framework Lib 改成 .Net Standard

image
圖片來源:https://pixabay.com/en/workshop-rustic-hammer-wrench-tool-2608390/

在前兩個lab 2裡面([Lab2-1]了解Framework Dependent Deployment(FDD)執行(發佈)模式[Lab2-2]了解Self Contained Deployment(SCD)執行(發佈)模式)了解了.Net Core和.Net Framework 不同執行模式以後。

在lab 3將會切換到另外一個很重要的部分,.Net Standard 2.0的到來。

這個lab將會介紹如何移轉現有target .net Framework的程式改成.Net Standard以達到多runtime使用重複邏輯。

一般來說會先port test程式碼,在port實際的業務程式碼,不過做法都類似,以這個範例就直接port業務程式碼。

看全文>>


[.Net Core 與 .Net Standard 實戰教學][Lab][02-2]了解Self Contained Deployment(SCD)執行(發佈)模式

image
圖片來源:https://pixabay.com/en/workshop-rustic-hammer-wrench-tool-2608390/

在上一個Lab:了解Framework Dependent Deployment(FDD)執行(發佈)模式建立了一個.Net Core Console程式, 並且用發佈看產出的結果 - 最後得到的是FDD的執行模式。

在這一個lab將會沿用上一個lab的Solution接下去建立另外一種執行模式,Self Contained Deployment (SCD)。

上個lab的最後成果的程式碼可以再github看到:https://github.com/alantsai-samples/2017-10-14-net-core-workshop

git標籤:lab2/1-fdd-finish

兩種方式取得:

  1. 用git clone然後在checkout到lab2/1-fdd-finish
  2. 從github release下載:下載鏈接

看全文>>


[.Net Core 與 .Net Standard 實戰教學][Lab][02-1]了解Framework Dependent Deployment(FDD)執行(發佈)模式

image
圖片來源:https://pixabay.com/en/workshop-rustic-hammer-wrench-tool-2608390/

在上個Lab:[01]準備環境準備好環境之後,接下來就是建立一個.Net Core Console的Hello World範例程式。

建立出來之後,了解.Net Core在發佈出來的成果為 Framework Dependent Deployment(FDD)類型並且了解這個和以前.Net Framework的有何不同。

看全文>>


[.Net Core 與 .Net Standard 實戰教學][Lab][01]準備環境

image
圖片來源:https://pixabay.com/en/workshop-rustic-hammer-wrench-tool-2608390/

要開始開發.Net Core程式之前,一定需要先把環境準備好。

這篇lab主要介紹如何以VS 2017為主的開發模式來準備需要的環境。

看全文>>


[jquery]jquery ajax post能夠正確Model Bind到Asp .net Mvc網站 - 三種不同情境的建議做法

image
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

Model Binding是Asp .net Mvc裡面用來處理表單送出(Form Post)資料自動轉成強型別的機制。

一般來說,如果用HtmlHelper產生的html內容,在Post back的時候Model Binding基本上不會遇到什麼問題。

不過為了網站responsive更好,很多時候會希望Form Post是透過ajax來做。

這個時候依據不同做法,就很容易造成form post到asp .net mvc的時候Model Binding不到。

這篇將會建議不同情境的時候應該如何寫正確的Jquery Form post寫法,避免Model Binding不到的問題。

這篇文章相關的範例程式碼在:https://github.com/alantsai-samples/aspnetmvc-jquery-post-model-binding-sample,有用tag標註每一個不同的情境。

看全文>>


[iis]每個Server都應該做的資安防護 - 使用IIS Crypto一鍵設定該啟用和停用的SChannel (如SSL 3.0)和Cipher Suite (如MD5)

image
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

資安是最需要注意也最容易忽視掉的一環,尤其是當有些資安是和系統設定有關的時候。

作為開發人員,程式開發上面的資安注意事項是一定要知道的,但是Server上面就不一定,但是有時候會需要開發者來管理Server,這時候知道一些Server資安要注意的設定就變得非常重要。

在這一篇將會提到一個Server常被忽視的地方,就是設定IIS https裡面可以使用的SChannel和Cipher Suite。如何透過IIS Crypto設定最佳建議的設定。

看全文>>


[git]repo、branch和tag取名建議和注意事項 - 怎麼取名比較不會有問題

image
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

最近在和同事協同開發的時候,發生了一件事情:

由於我們還沒啟用CD(自動部署)但是更新測試機器又不一定是同一個人,為了好管控目前程式碼和目前測試機器上面的版本,我們使用了一個標籤叫做TestServer來記錄。

不過當我同事更新的時候,他使用了testserver作為標籤,結果我這邊發生了雖然local只有一個tagtestserver,但是在remote上面其實有兩個標籤:TestServertestserver

為什麼會發生這個事情呢?如果不處理,未來在看的時候非常混亂,這讓我想起來一直想要寫的一篇文章,為git repo、tag和branch取名的時候應該要注意什麼比較不會有問題,因此兩篇一起寫,算是不好好naming會帶來什麼問題的use case範例。

搜索關鍵字:naming guidance for git repo, tag and branch.

看全文>>