原创 搭建openssh服務器

安裝ssh服務器 sudo apt install openssh-server 配置ssh服務器 sudo vi /etc/ssh/ssh_config 賬戶密碼登錄:PasswordAuthentication yes 允許r

原创 定時器Timer和週期性定時器Ticker

單次定時器Timer 創建timer : = time.NewTimer(d duration) 該函數返回一個*Timer類型 Timer類型如下: type Timer struct { C <-chan Time r

原创 FastDFS安裝、配置、啓動、檢測

FastDFS安裝 依賴: libeven :c語言消息傳輸庫 libfastcommon :fast插件 安裝FastDFS依賴包 解壓縮libfastcommon-master.zip 進入到libfastcommon-ma

原创 TCP連接狀態轉換

什麼是TCP TCP是面向連接的可靠的數據包傳遞。針對不穩定的網絡層做完全彌補,藉助回執,丟包重傳。 TCP三次握手 主動建立請求連接(客戶端),發送SYN標誌位,攜帶序號n 被動接受連接請求端(服務器),接收SYN標誌位,回發

原创 直接插入排序

直接插入排序 它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。原理像撲克牌抓牌動作一樣,牌堆是無序的,手中的牌有序的,從牌堆中抓牌,並將牌根據手牌大小插入到手牌相應的位置。 算法

原创 二分查找go實現

二分查找 二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須採用順序存儲結構,而且表中元素按關鍵字有序排列。 O(log2n) go實現 這裏是升序情況 遞歸實現 1. 與

原创 快速排序

快速排序 算法 初始化基準值遊標,首尾遊標,首遊標爲第二個元素 首遊標與基準值比較,大於時尾遊標和首遊標交換,尾遊標向前移動。 小於則首遊標與基準值交換,首遊標和基準值遊標向後移動。 重複2和3步,直到首遊標遇到尾遊標(注意有等

原创 計數排序

計數排序 計數排序的核心在於將輸入的數據值轉化爲鍵存儲在額外開闢的數組空間中。作爲一種線性時間複雜度的排序,計數排序要求輸入的數據必須是有確定範圍的整數。 場景:10萬個數,每個數取值0-999區間內 go實現 藉助slice實

原创 堆排序

堆排序 堆排序(Heapsort)是指利用堆這種數據結構所設計的一種排序算法。堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。堆排序可以說是一種利用堆的概念來排序的選擇排序

原创 mysql 事務隔離

髒讀 事務A更新了數據但是並未提交,事務B查詢到事務A更新的數據,事務A此時執行回滾操作,事務B讀到的數據是髒數據。 不可重複讀 事務A多次讀取同一數據。事務B在事務A多次讀取的過程中,對數據作了更新並提交,導致事務A多次讀取同一

原创 UTF-8

UTF-8編碼 變長編碼,每個文字符號用1~4個字節表示。 編碼規則: 0xxxxxxx //文字符號0~127(ASCII) 110xxxxx 10xxxxxx //128~2

原创 面向抽象層依賴倒轉

依賴倒轉原則 設計系統時將模塊分爲3個層次,抽象層、實現層、業務邏輯層。 那麼,我們首先將抽象層的模塊和接口定義出來,這裏就需要了interface 接口的設計,然後我們依照抽象層,依次實現每個實現層的模塊,在我們寫實現層代碼的

原创 希爾排序

希爾排序 又稱爲縮小增量排序。希爾排序沒有快速排序算法快 O(n(logn)),因此中等大小規模表現良好,對規模非常大的數據排序不是最優選擇。但是比O(n^2 )複雜度的算法快得多。並且希爾排序非常容易實現,算法代碼短而簡單。 此

原创 搭建slurm

文章目錄搭建slurm本地環境配置centos環境配置網卡開機自啓,以及DNS關閉防火牆,包括firewalld和selinux配置ssh免密登錄克隆機器、配置ip、hostname、hosts配置NFS環境服務端部分客戶端部分配

原创 gc機制

gc機制 引用計數法 三色標記法 目標是爲了縮短STW(stop the world)時間,提高程序時序性。 引用計數法基本原理 內存小於32kb 有使用引用時 計數+1 釋放、置nil計數-1 當引用計數0時,垃圾回收工作。