【C#】Logger 內建日誌使用方式
LoggerASP.NET Core 內建日誌使用方式(Logger)是一個非常方便的功能,可以幫助我們在開發過程中更容易的追蹤問題,這篇文章會介紹如何使用 ASP.NET Core 內建日誌使用方式(Logger)。
一、logger 階層在進入如何使用 Logger 之前,我們先來看看 Logger 的階層,Logger 階層分為以下幾個階層:
1-1 階層定義下方內容我已經定義各個階層的用途,可以參考下方內容:0. Trace: 用於追蹤應用程式的執行流程,通常用於開發階段。
Debug: 用於除錯應用程式,通常用於開發階段。
Information: 用於追蹤應用程式的執行流程,通常用於PROD環境。
Warning: 用於警告應用程式的執行流程,通常用於PROD環境。
Error: 用於追蹤應用程式的執行流程,通常用於PROD環境。
Critical: 用於追蹤應用程式的執行流程,通常用於PROD環境。
None: 用於關閉日誌記錄。
每個階層向下就是可以顯示的內容,例如:Information 會不會顯示 Debug、Trace 的內容,其他就會顯示。
1-2 ILog ...
【LinqPAD】Snippet、Extensions 使用方式
前言近期稍微認真一下把之前 will 保哥上過的Linqpad 使用方式再重新整理一下,這次主要是針對 Snippet、Extensions 的使用方式,這兩個功能可以讓我們在撰寫程式碼時更加方便,也可以讓我們的程式碼更加簡潔。
LinqPad 使用方式 Snippet、Extensions一、擴充 ExtensionsLinqPad 裡面會一個 My Extensions 的檔案,他可以讓我們自己定義一些常用的方法,這樣在撰寫程式碼時就可以直接使用這些方法,而不用每次都重新撰寫一次。
static class MyExtensions : 從 Code 裡面可以看到有三段地方,原則上會使用 MyExtensions 這個類別,通常是要使用小工具之類加入在這裏面,,這樣就可以在撰寫程式碼時直接使用這些方法。
region Advanced : 這裡面是一些進階的方法,這裡面的方法通常是一些比較複雜的方法,這樣就可以在撰寫程式碼時直接使用這些方法。裡面如果要針對各Framework 有不同的方法,可以使用官方已經自動的 #if 來區分。
使用方式效果如下
1234567891011 ...
【LinqPAD】使用 LinQ (五) - 介面使用方式
前言最近使用 LinqPad 發現有極大的發揮空間,對於每個 .NET 工程師來說是一個很好的工具,可以快速的測試 LINQ 的使用方式,也可以快速的查詢資料庫的資料,更重要是他的版本會更新到最新的 .NET Framework 版本,讓我們可以快速的測試新的功能。
一、LinQpad這工具是一套免費軟體。建議使用付費版本,主要原因是第一次接觸的時候,會有很多的功能需要使用,像是 code snippets, autocompletion, smart tags, code outlining, .NET Reflector integration 等等功能,這些功能在付費版本都有提供。優惠碼管道可以關注 台灣 .NET 技術愛好者俱樂部中的管理員,他們會不定期的提供優惠碼給大家使用。
1-1 介面LinqPad 左邊兩個區塊第一個是連線資料庫、第二個是查詢(Queries),右邊則是查詢結果。
連線資料庫:
功能是利用 Entity Framework 自動創建 models
可以使用 dll 檔案連線資料庫
models 內容不能改變,所以請使用自動產出來的 models 進 ...
【筆記】Windows Command 剪貼簿效果
Clip 命令windows 有提供很方便的剪貼簿語法,可以透過 clip 來將指令或檔案輸出結果複製到剪貼簿中,這樣就可以直接貼上到其他地方。
12command | CLIPCLIP < filename.txt
範例下方為範例,將 Hello World 輸出到剪貼簿中,或是將 temp.txt 的內容輸出到剪貼簿中。
12echo "Hello World" | clipclip < temp.txt
【筆記】CSV 自動轉換資料問題
前言最近因為專案在處理 csv 轉換過程,每個人都會遇到excel會友自動轉換問題,這邊就來分享一下我們遇到的問題。
一、最近 excel 近況來源 : 微軟終於允許Excel用戶調整自動轉換功能,可以不再自動將連續字母與數字轉成日期
在去年微軟宣布,Excel 將會在 2023 年 4 月之後的版本中,允許用戶調整自動轉換功能,這樣用戶就可以不再自動將連續字母與數字轉成日期。調整方式為 [ 設定 > 資料 > 關閉自動轉換功能 ] 就可以解決。
但缺點就是 excel 要在 2309 版本之後才會有這個功能,所以在這之前還是要注意。
二、CSV 排除方式在處理 csv 檔案時,我們可以透過以下方式來排除自動轉換問題。
1. 使用公式在 Excel 中,我們可以使用公式來強制將數字轉換為文字,這樣就可以避免 Excel 的自動轉換。
1="123456"
唯一缺點就是在.csv用記事本檢視時會多一個 ="" 符號。
2. 使用單引號在 Excel 中,我們可以在數字前加上單引號 ' 來強制將數字轉換為文字,這樣就可以避免 ...
【筆記】Synology NAS 安裝 redis
前言前段時間入購一台 Synology NAS (DS 923+) 發現在套件上面有 redis 可以安裝,因此在這裡紀錄一下安狀方式。⁜本篇引用: How to Install Redis on Your Synology NAS
安裝 redis一、安裝 Container Manager透過 Synology 的 “Package Center” 安裝 Container Manager。如果你正在運行較舊的 DSM 版本(低於 7.2),則搜尋 Container Manager 而非 Docker。
二、建立 File Station 資料夾前往 File Station 並開啟 docker 資料夾。在 docker 資料夾內,創建一個新的資料夾並命名為 redis。請按照下方圖片的指示進行操作。注意:請確保只輸入小寫字母,不要輸入大寫字母。
三、建立排程在 DSM 主頁面上,前往 控制面板 / 任務排程 / 建立 / 排程任務 / 使用者定義的腳本。請按照下方圖片的指示進行操作。
四、設定排程當你點擊使用者定義的腳本後,一個新的 ...
【前端】pnpm 允許安裝版本
前言最近使用 pnpm 時候看了一下官方文件後,驚覺之前寫的 [pnpm vs npm] 有一個錯誤的地方,因此決定來做一個補充。
安裝版本官方有特別指出,Node 版本會依據下面版本決定要安裝的 pnpm 版本,如下:
因此,之前所說只能使用 node 16是錯誤訊息,事實上是可以使用 node 14 以上版本,只是只能使用 pnpm 7 版本。
安裝方式npm 官網 : 點選我
到npm 位置後,選擇你要的板號後,複製指令,如下:(建議自行補一個 -g 來全域安裝)
1npm i pnpm@7.30.0-0 -g
如果使用 nvm 管理 node 版本如果你使用 nvm 來管理 node 版本,可以使用下面指令來安裝 pnpm:
123nvm install 14nvm use 14npm i pnpm@7.30.0-0 -g
【Angular】Angular 架構
一、什麼是 AngularAngular 是一個開源的前端框架,由 Google 開發,用於構建 Web 應用程序。Angular 是一個基於 TypeScript 的前端框架,它的目標是簡化 Web 應用程序的開發和測試。Angular 提供了一個完整的解決方案,包括數據管理、路由、測試、動畫、表單等功能。
二、Angular 特點Angular 具有以下幾個特點:
模塊化:Angular 應用程序是由多個模塊組成的,每個模塊都有自己的功能和職責。這樣可以使代碼更加模塊化,易於維護和擴展。
組件化:Angular 應用程序是由多個組件組成的,每個組件都有自己的模板、邏輯和樣式。這樣可以使代碼更加組件化,易於重用和測試。
雙向數據綁定:Angular 提供了雙向數據綁定功能,可以實現模型和視圖之間的數據同步。這樣可以使應用程序的開發更加高效和方便。
依賴注入:Angular 提供了依賴注入功能,可以實現組件之間的解耦。這樣可以使代碼更加模塊化、可測試和可維護。
路由管理:Angular 提供了路由功能,可以實現單頁應用程序(SPA)的開發。這樣可以使應用程序的性能更好、用戶體驗更好。 ...
【CSS】CDN 與 CSS命名規則
進入網頁世界時候,常常問到什麼是 CDN或者是Reset Css。
1. CDN -內容傳遞網路 (Content delivery network)是指一種透過網際網路互相連接的電腦網路系統,利用最靠近每位使用者的伺服器,更快、更可靠地將音樂、圖片、影片、應用程式及其他檔案傳送給使用者,來提供高效能、可擴展性及低成本的網路內容傳遞給使用者。這是一種內容在網路上傳輸的快取機制。
優點
加速網頁瀏覽效能:因為已經將緩存資料放在最近的機房中,不需要重新像伺服器讀取
有效分流(頻寬):當所有用戶都不再向同一個伺服器讀取資料,大幅降低集中流量
網站穩定度:網站流量分散後,網站的穩定度大幅提高,即使短暫當機也不怕用戶無法使用
安全性增加:因網站透過CDN分散出去,駭客較難直接攻擊網站本體
2. Reset Css在 W3C 制訂 HTML 與 CSS 規格時,並沒有強制規定各家瀏覽器應該怎樣實作每一個 HTML tag 的 CSS 預設樣式,只有提供資訊參考的範例,加上IE 獨霸的時期,那時候還沒有其他瀏覽器, CSS Reset 的需求主要落在 IE 各版本之間的調整,後來 Firefox ...
【Git】使用 git remote、git log 將不同git環境同步程式碼
前言最近因為專案要用 release 資訊,我們這邊做法是利用 commit 來控管 release 版本,以下作法是利用 git log 抓取 commit 資訊。
一、git log1-1 抓取區間 - 日期因為 commit 可能因為版本過多,我們可以透過以下方式處理。
1git log --oneline --pretty=format:"%h %ad | %s%d [%an]" --date=short --since="2024-04-01" --before="2024-04-10"
1-2 抓取區間 - SHA如果是要抓取特定版本,可以透過 SHA 來抓取。
1git log --oneline --pretty=format:"%h %ad | %s%d [%an]" --date=short 1b2e3c4..5a6b7c8
二、補充2-1 online–oneline 是 git log 命令的一個選項,它會將每個提交的輸出縮短為一行。這對於查看項目的提交歷史非常有用,因為它可以 ...