Ryan

不務正業 全端 開發記事

Design Pattern - Proxy Pattern (代理模式)

Proxy Pattern (代理模式) Proxy Pattern 是一種結構化的 Pattern,他能夠控制對原始物件的操作,你可以在這其中加入一些其他的動作。 在 .NET 裡面使用代理模式最顯著的例子就屬 EntityFramework,他可以讓 EF 替原本什麼特殊功能都沒有的 POCO 加上變更偵測的功能,原因就是他使用代理的方式,在原有的類別上再加上了一些功能。 情境 當你有一......

Design Pattern - Adapter Pattern (橋接器模式)

Adapter Pattern (橋接器模式) Adapter 模式實際上是一種結構型的模式,讓不相容的物件彼此能夠進行溝通。 試想你正在建立一個期貨市場的監看應用程式,這個應用程式會從各種不同的資料來源取得期貨的資料,讓這些資料可以透過漂亮的圖表呈現在使用者面前。 在某些原因下,你決定透過第三方的 Library 來精進這個應用程式,不過有個但書,這個三方 Library 只能支援 JSO......

如何在本機端的開發環境建立 .net core SSL 開發憑證

環境 macOS Mojave 10.14.5 Rider 2019.1.2 前情提要 今天會提到這篇,主要是因為之前有一次使用 Rider 建立新的專案時,都會跑出錯誤,雖然不影響開發,但就是覺得有點煩,所以就乾脆研究一下怎樣產生這個 ssl 本機開發憑證。 步驟 首先建立一個新的 API 專案,然後這邊的 .net core 版本是 2.2.107 Rider 其實蠻用心的,建立完......

如何實作 Angular 的內容投影 - Content Projection

緣起 今天會講這個主題,主要是之前看到很多框架的元件裡面都會有這樣的做法 以下範例取自 ngx-admin 的 nebular 專案,有興趣的讀者可以去看一下它的專案 12345678<nb-tabset> <nb-tab tabTitle="Simple Tab #1"> Tab content 1 </nb-tab> &......

如何透過 Angular CLI 製作自己的 Library

前言 很多公司在開發產品時,都會習慣建立一套自己的 Library,而現在製作 Library 這件事情在 Angular 當中變得非常容易做到,以下將會介紹怎樣透過內建的 CLI 工具製作自己的 Library 環境 本文章此次所使用的 CLI 環境如下 Angular CLI 7.1.2 Node 10.14.1 Yarn 1.12.3 / NPM 6.4.1 建立一個新的專案 我們......

C# Polymorphism - Compile Time Polymorphism

上一篇文章介紹了所謂的執行時期的多型,第二篇要來講的就是編譯時期的多型 在理解這個概念之前,我們要先知道 virtual, abstract 這幾個關鍵字的作用 virtual 表示衍生類別能夠覆寫基底類別的方法 abstract class 無法拿來建立物件的實體 需要類別去繼承它 (和 sealed 相反,sealed 是防止其它類別繼承某個類別) 衍生類別要包含所有抽象方法......

C# Polymorphism - Runtime Polymorphism

緣起 學習物件導向的時候,會常常聽到 封裝、繼承、多型 三個詞,又尤其 多型 這個詞有點難以想像,所以寫個筆記紀錄一下概念,避免忘記多型的特性。 多型的類型 之前在學多型的時候,都覺得只有一種概念,但看了官方的文件之後,多型其實有分成兩種 執行時期的多型 (靜態多型) 編譯時期的多型 (動態多型) 首先來看一下什麼是 Runtime 的多型 基本上函式的多載、運算子的多載都可以是一種多型......

使用 .NET Core 製作 Windows Service

上次的文章介紹了 TopShelf 這個框架,能夠幫助我們使用很簡單的方式建構出一個 Windows Service,這次我們要使用 .NET Core 內建的功能,並搭配 Service Control (sc.exe) 來幫我們把 Application 註冊到 Windows Service 當中 環境 Windows 10 Rider 2018.2.3 .NET Core 2.1 ......

TopShelf 讓你輕鬆的做 Windows Service

以往我們都是透過 Windows Service 的專案來包裝 Windows Service,但這篇要介紹怎麼樣使用 TopShelf 框架,讓我們可以很簡便的使用 TopShelf 包裝好的功能進行 安裝、移除 等等的操作,讓我們可以更專心的處理實際運行的商業邏輯。 環境 Windows 10 .NET Framework 4.7.1 Rider 2018.2.3 專案準備 Con......

Angular Animation 應用 - Blink 效果

這篇文章的標題真的很難下,因為主要是搭配以下兩種技術來實作 socket.io (其實可以直接用 rxjs 的 interval 來跑,這個不是必要的技術) angular 6 大家一定都常常看到某些看股票的網頁,如果上升和下降都會閃爍一下,表示有變化 但今天這篇文章要再進階一點,如果數字上升,就會閃一下綠色,反之就會閃一下紅色 環境 Windows 10 Pro Webstorm 2......