原创 第一次嘗試鴻蒙開發

我一直有個夢想,就是自己開發App,運行在自己的手機上。但是選什麼語言呢?C#,Java或者其它? 我想,既然我已經用華爲的手機,擁有鴻蒙系統,爲什麼不嘗試一下鴻蒙開發呢?說幹就幹,找到官網,一步一步操作。首先是裝好開發環境:  按照官方

原创 .netcore全局異常處理

一、背景 某天,應用程序進程無緣無故退出,也就是我們通常說的崩潰。通常情況下,windows事件會記錄一條消息。但是有時候,我們發現這樣的信息,對於查找問題,還是遠遠不夠的,因爲它說RunTime報錯。這時,我就想能不能自己捕獲全局未處理的

原创 c#中容易被忽視的foreach

有句俗語:百姓日用而不知。我們c#程序員很喜歡,也非常習慣地用foreach。今天呢,我就帶大家一起探索foreach,走,開始我們的旅程。 一、for語句用的好好的,爲什麼要提供一個foreach? for (var i = 0;

原创 RSA算法之學習

一、RSA算法 RSA是非對稱加密算法中的代表,它的重要性不言而喻,爲了弄清楚RSA算法,我們一起來完成一項任務: 背景:現在是疫情時代,假如小明和女朋友被迫在兩個城市,小明爲了表達感情,想發給對方一句蜜語,但是不能讓其他任何人知道。 蜜語

原创 壓縮算法一覽

做了zip壓縮的功能後,突然對背後的原理和算法想了解下,於是學習總結如下:       具體的算法,可以先忽略,把每種算法的原理以及基本的數學知識先了解一遍,有興趣的話,然後對每一種算法再詳細學習和了解,甚至用程序去實現。 MD5 加密原

原创 上傳——斷點續傳之實踐篇(1)

在上一篇中,主要介紹了客戶端的斷點續傳的處理,這一篇,主要補充下服務端的斷點續傳。 服務端單線程斷點續傳 1、獲取上次傳輸的斷點 var filePath = Path.Combine(rootFolderPath, document.

原创 上傳——斷點續傳之實踐篇

單線程普通上傳 1、用流打開文件 var item = new FileInfo(filePath); FileStream stream = item.OpenRead();   2、讀取到字節 var fs=stream;

原创 上傳——斷點續傳之理論篇

一、流與緩存區   1.1  如何理解流?           流是一種連接,一種管道,它建立了與物理文件或網絡相關聯的機制,方便讀寫文件或者網絡。當然還有其它類型的流。         1.2  流的操作         讀取:將數據從流

原创 面向對象的基本原則

一、可維護性 高內聚、低耦合 高內聚,是針對一個組件(類)內部而言,如果一個組件幹了好幾件不相關的事情,那麼組件內部就比較散,出問題是遲早的事情。中原大戰之後,蔣介石表面上統一了各個軍閥,實際上,他們內部之間不夠內聚,一盤散沙。 低耦合,是

原创 軟件架構基礎

做開發工作十年了,去公司面試,面試官問:“你今後的職業規劃是啥?” 我本無規劃,如果非要問我規劃,那就是朝着技術方向繼續發展,技術方向發展的路線是什麼? 1、程序員-高級程序員-架構師-cto 2、程序員-高級程序員-技術專家 這個只是我自

原创 迭代器模式隨想

一、什麼是迭代器模式? 定義:提供一種順序訪問集合的方法,而不暴露集合內部的表示 順序訪問,one by one(挨個訪問),不暴露集合內部表示,反映了面向對象程序中的封裝性。可以這麼理解,一組模特從後臺出場,一個接着一個,但是先出場的模特

原创 數據挖掘之KMeans算法應用與簡單理解

一、背景 煤礦地磅產生了一系列數據:   我想從這些數據中,取出最能反映當前車輛重量的數據(有很多數據是車輛上磅過程中產生的數據)。我於是想到了聚類算法KMeans,該算法思想比較簡單。 二、算法步驟 1、從樣本中隨機取出k個值,作爲初始

原创 徹底搞清楚c#中的委託和事件

一、什麼是委託呢? 聽着名字挺抽象,確實不好理解。面試官最喜歡考察這個,而且更喜歡問:“委託和事件有何異同?”。如果對一些知識點沒有想明白,那麼很容易被繞進去。研究任何事物,我們不妨從它的定義開始,委託也不例外。那麼先來看c#中的委託定義,

原创 .NET面試題總結

1、c#垃圾回收機制      從以下方面入手展開:  1、壓縮合並算法   2、代的機制  3、GC調用終結器 2、委託和事件      先說它的定義:委託的本質是類,類型安全的指針,然後從用途上考慮,事件是包裝的委託,但事件不是委託 3

原创 淺談c#垃圾回收機制(GC)

寫了一個window服務,循環更新sqlite記錄,內存一點點穩步增長。三天後,內存溢出。於是,我從自己的代碼入手,查找到底哪兒佔用內存釋放不掉,最終明確是調用servicestack.ormlite更新sqlite數據庫造成的。至於是不是