原创 C# 反射詳解二

一些常用的ORM大家都應該知道,像微軟的EF、國內的SqlSugar等...... 其實他們的底層也都是基於ado.net,只不過在ado.net上加以封裝。一般大公司都有自己的一套ORM,可以說這個東西咱不能不學,必須得造造輪子。😀 傳統

原创 C#中Attribute的使用

解讀:首先特性是一個類,它繼承於Attribute。它對程序中的元素進行標註,如類型、字段、方法和屬性等。 Attribute是程序代碼的一部分,它不會被編譯器丟棄,而且還會被編譯器編譯進程序集(Assembly)的元數據(Metadata

原创 .Net Core使用Consul+Ocelot搭建簡易微服務項目

時代在變,技術也在更新迭代。從傳統的單體應用架構到現在的分佈式集羣架構,在技術的學習上真的是一點都不能鬆懈。 網上關於微服務與Consul的話題太多了,我在這裏不做過多描述。 其實就是在微服務中我們可以利用Consul可以實現服務的發現、治

原创 RabbitMQ鞏固學習一

說起RabbitMQ大家第一時間應該想到的就是異步隊列,關於異步隊列的話題簡直太多了,各位同學在園子裏一搜便知。我第一次聽異步隊列這個名詞感覺非常高大上😀,想到這項技術必須要學。但是學習的任何一門技術沒經過項目的洗禮,都似乎少了點什麼。嗯。

原创 C# 反射詳解一

首先反射是基於System.Reflection命名空間下,.Net框架提供的幫助類庫,可以讀取並使用metadata(元數據:描述對象信息的數據). 我們再來看下代碼生成編譯的總過程。 編譯器編譯(一次編譯):類庫生成的都是dll,控制檯

原创 C# 委託淺析

C# 中的委託(Delegate)類似於 C 或 C++ 中函數的指針。委託(Delegate) 是存有對某個方法的引用的一種引用類型變量。引用可在運行時被改變。 委託(Delegate)特別用於實現事件和回調方法。所有的委託(Delega

原创 分佈式文件存儲庫MinIO可還行?

在傳統的單體應用架構中,一個應用程序對應一臺服務器,提供單進程服務。 但是隨着業務的升級,技術的更新迭代,分佈式、集羣架構、微服務等現已儼然成爲主流。 幾乎所有的項目都會與文件掛鉤,例如OA系統的報表文件,電商系統的商品圖片等等... 我們

原创 .Net Core中使用Dapper構建泛型倉儲

前言:Dapper是.NET的簡單對象映射器,在速度方面擁有ORM之王的稱號,與使用原始ADO.NET讀取數據一樣快。ORM是對象關係映射器,它負責數據庫和編程語言之間的映射。 倉儲主要是用來解耦業務邏輯層與數據訪問層,降低耦合,使得程序在

原创 .Net Core MVC 基於Cookie進行用戶認證

在打代碼之前先說一下思路。 登錄的的時候服務端生成加密的字符串(用戶名、id、當前時間)並且存入客戶端cookie中,服務端的緩存中。對客戶端的每次請求進行攔截,解密保存在cookie中的加密字符串。查看是否已過期,如果已過期跳轉到登錄頁,

原创 .Net Core項目中整合Serilog

前言:Serilog是.NET應用程序的診斷日誌記錄庫。它易於設置,具有簡潔的API,並且可以在所有最新的.NET平臺上運行。儘管即使在最簡單的應用程序中它也很有用,但當對複雜的,分佈式的和異步的應用程序和系統進行檢測時,Serilog對結

原创 Go語言中的數據類型轉換

在go語言中,不同類型的變量之間賦值需要顯示轉換。 語法:T t=T(e) var i int=1 //將i轉換爲float類型 var j float32=float32(i) 基本數據類型轉string 方法

原创 對稱可逆加密Des

加密後能解密回原文,但是需要一個key 加密key與解密key是一樣的(對稱) 但是key的安全性問題一定要得到保證 code: //key可以寫在配置文件中 //加密key static

原创 MD5不可逆加密

MD5公開的算法,任何語言實現後都一樣,通用的; 不可逆加密:原文--加密--密文,密文無法解密出原文; 相同原文加密的結果是一樣的; 不同長度的內容加密後都是32位; 不管文件多大,都能產生32位長度摘要; 用途: 1.防篡改(比對密文,

原创 非對稱可逆加密RSA

加密key與解密key不是一個,而是一對 加密key與解密key是不能互相推導的,有密文,沒有解密key也推導不出來原文 加密解密速度慢,但是安全性好 特點: 公開解密key,保證數據的安全傳遞 公開機密key,保證數據的不可抵賴 code

原创 .Net Core 發送郵件

之前做過一個業務,就是發送郵件。 這裏算是做一下回顧吧,今天再寫一次。 可用於的業務場景: 1.提醒消息,例如會員到期、降價通知; 2.驗證登錄,發送code; ... ... 首先要拿到我們的客戶端授權碼 QQ:先進入QQ郵箱,點擊設置