Ryan

不務正業 全端 開發記事

Angular Animation 應用 - Blink 效果

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

MongoDB - 比較查詢運算子 Comparison Query Operators

MongoDB - 比較查詢運算子 Comparison Query Operators Bson types 的比較順序 練習 我們將使用 MongoDB 官方提供的一個 restaurants 範例資料庫來進行練習。 為了讓大家有語法的提示可以練習,建議安裝 NoSQL Booster for MongoDB 這套工具 這套工具具有語法高亮、檢查的功能,至少可以讓自己慢慢習慣 Mo......

MongoDB 簡易安裝指南

MongoDB 簡易安裝指南 環境 Windows 10 企業版 (1709) 安裝步驟 MongoDB download center 選擇 Community Server 進行安裝 安裝方式就是一直下一步,就不特別截圖了 安裝完畢之後記得將 C:\Program Files\MongoDB\Server\[DB_VERSION]\bin 加入環境變數 開啟命......

S.O.L.I.D 物件導向設計原則 - 相依反轉原則 Dependency Inversion Principle

S.O.L.I.D 物件導向設計原則 - 相依反轉原則 Dependency Inversion Principle High-level modules should not depend on low-level modules. Both should depend on abstractions. 高層模組不應該依賴低層模組,兩者皆應依賴於抽象。 Abstractions ......

使用 PowerShell 控制 IIS

使用 PowerShell 控制 IIS 以往在能夠碰到機器的情況底下(實體機器、虛擬機器…),我們通常都會選擇使用 IIS 的管理介面來幫助我們設定 IIS 的組態 由於最近在接觸 CI/CD,很多原本可以使用 UI 設定的組態都改用指令的方式來操作,讓我們在不透過任何人工的情況下,操作 IIS。 今天就用簡單的例子來介紹,我們怎樣使用 PowerShell 來幫助我們做到以下的工作。 ......

產生假資料的利器 ObjectFiller.NET

產生假資料的利器 ObjectFiller.NET 緣起 在開發網站的時候,是不是常常會遇到後端有些功能還沒做完,但是要產生假資料顯示在畫面上。大部分的人會選擇自己簡單的建立幾筆資料,再不然就是寫個迴圈將資料後面串上索引,不過這些方法還是讓你的資料看起來沒有什麼真實的感覺,今天這篇文章要介紹這個套件 ObjectFiller.NET 讓你可以透過套件來產生更貼近真實資料的假資料來源,讓你不管......

S.O.L.I.D 物件導向設計原則 - ISP (Interface Segregation Principle)

S.O.L.I.D 物件導向設計原則 - ISP (Interface Segregation Principle) 解釋 The interface-segregation principle (ISP) states that no client should be forced to depend on methods it does not use. 意思就是說一個類別不應該被強......

如何在 FluentValidation 的 Validator 中注入自訂的 Service

如何在 FluentValidation 的 Validator 中注入自訂的 Service 緣起 最近在工作上使用了 FluentValidation 套件幫助我做比較彈性化的模型驗證,不過在自訂模型驗證的時,需要借助其他已經定義好的 Service 來取得一些額外的資訊,剛好專案裡面使用到了 Autofac 作為 DI 的容器。 這篇文章會展示如何在 Validator 中注入其他 S......

S.O.L.I.D 物件導向設計原則 - LSP (Liskov Substitution Principle)

S.O.L.I.D 物件導向設計原則 - LSP (Liskov Substitution Principle) Subtypes must be substitutable for their base types. (出自 Robert C. Martin aka Uncle Bob) 翻譯:基底類別應該要能夠被他的衍生類別給替代而不影響原本的功能 在今天的這個主題裡面我將要用實際例......

S.O.L.I.D 物件導向設計原則 - OCP (Open-Closed Principle)

S.O.L.I.D 物件導向設計原則 - OCP (Open-Closed Principle) 對修改封閉,對擴充開放 接下來講到第二個物件導向的設計原則 OCP 或稱為 開閉原則,以往我們在幫系統加上 Log 的時候,會有檔案類型的Log、資料庫類型Log、甚至只是單純在Debug時呈現在Console的Log。 這些都是儲存 Log 的方式,可是我們要怎麼樣在程式裡面完成這件事情,......