原创 動態代理及java演示

代理模式的理解     首先代理二字的含義,程序中代理與字面意思的代理並無區別。比如現實生活中辦理車輛審車,我們經常會聽說花錢找代理(又稱黃牛)辦手續,即辦手續這個事,不是我們親自執行,而是通過代理(即黃牛)去車管所辦理。再比如聯繫明星商業

原创 C#中使用protobuf-net進行序列化

前一篇文章我們看到使用Google.Protobuf有諸多不便(參考《如何在C#中使用Google.Protobuf工具》),這次我們來看看另一個工具的使用體驗。 相關資料、鏈接: github項目:https://github.com/

原创 如何在C#中使用Google.Protobuf工具

  protobuf是一個語言無關、平臺無關的序列化協議,由谷歌開源提供。再加上其高性能、存儲佔用更小等特點,在雲原生的應用中越來越廣泛。 在C#中主要有兩種方法來使用protobuf協議,nuget包分別爲Google.Protobuf和

原创 kafka消息存儲機制理解、總結

本文記錄了閱讀《深入理解kafka核心設計與實踐原理》第5章日誌存儲的相關知識點和理解總結。 關於消息存儲的文件夾佈局規則 在學習與理解了topic分區、broker的前提下,我們知道分區會被分配到特定的broker中。這裏繼續展開說明,分

原创 TCP連接時動態端口的相關問題說明

最近在線上遇到一個TCP動態端口相關的問題,之前沒有留意過此類問題,做個筆記記錄在這裏,希望也能給大家提供個參考。 簡單介紹下問題的場景:Windows服務器上,部署了網關程序SG和RPC進程,其中RPC進程監聽本地8003端口。問題發生在

原创 技巧:如何區分dll程序集的編譯目標平臺(同樣適用於查看程序集的其它依賴)

我們在進行net core遷移過程中,有時候需要區分一個dll是針對netstandard平臺還是net framework。 本文提供一個技巧來快速區分:通過工具dnSpy打開目標dll,按照如下截圖查看依賴的程序集信息,結果一目瞭然。

原创 探究:nuget工具對不再使用的dll文件的處理策略

背景介紹 nuget是.net平臺有效的包管理工具,相信每個C#開發者對它都不陌生。 本文我們來探究一下nuget對不再使用的dll文件的處理策略,分爲如下2個場景: 場景A:包A1.0原來包含Newtonsoft.Json.dll,後

原创 .net core遷移實踐:項目文件csproj的轉換

隨着net core的不斷更新和生產可用,越來越多的人把現有的應用遷移和部署到net core平臺。本文將分享遷移過程中的一個環節,給大家做一下參考。 背景說明 先來介紹一下什麼是SDK樣式的文件結構。關注net core發展的同學應該對早

原创 nuget使用經驗:複雜依賴關係下的包版本問題

背景 之前同事問到過1個關於nuget包被多層引用後,最終生效的版本的問題。當時通過在項目中重新安裝了一次nuget包解決了。 現在來重新覆盤一下當時的場景,順便把這種場景下nuget處理邏輯分享給大家。 常見的引用關係進行梳理: 其中M

原创 rsyslog學習和使用記錄

rsyslog介紹 官方原文:RSYSLOG is the rocket-fast system for log processing. rsyslog可以理解爲是syslog的升級版。 主要的特點有: Multi-threading T

原创 docker build到底是怎麼構建出鏡像的?--以構建一個asp.net core應用爲例說明

通常我們使用docker構建鏡像的步驟是這樣的: 編寫Dockerfile文件 執行docker build 命令  執行以上兩部就可以得到構建好的鏡像,這也是docker帶給我們的便利。但是以上步驟背後執行了哪些操作?Dockerfi

原创 數據庫死鎖分析和說明:select和update死鎖場景舉例

背景說明: 表結構和索引情況:           select操作語句和執行計劃如下: select  [DL_ID] ,[Name],Age from TT_DeadLock where Name ='xxxxxxxx'       u

原创 百度錢包、百付寶、baifubao接入支付的常見問題

 【5004:參數非法,請檢查輸入參數後重試。】:檢查是否缺少了其它必要的參數,我當時是缺少了order_no  【5804,抱歉,訂單創建失敗,請聯繫客服處理】:即驗證簽名失敗,這個只能參考文檔進行處理 可能的原因:最後拼接URL時

原创 .net程序的pdb文件到底是什麼?附1份完整的pdb內容

標準的定義:Pdb文件是program database的縮寫,意思爲程序數據庫,即程序的調試信息。它從編譯器的角度描述了一個程序的組成,例如源代碼,函數,變量,行號等信息。 pdb的知識點:  一般我們不用直接跟PDB文件打交道,都是調

原创 docker內運行asp.net core 3.1程序的操作記錄

docker版本:    異常標題:  異常標題:  異常標題: