原创 Host ‘xxx‘ is not allowed to connect to this MySQL server

解決辦法:命令行進入Mysql所在服務器中,執行下面三行語句: 效果如圖所示 END

原创 常用指令Linux

總核數 = 物理CPU個數 X 每顆物理CPU的核數 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數 查看物理CPU個數 cat /proc/cpuinfo| grep “physical id”| s

原创 淺談KCP

什麼是KCP?爲什麼要使用KCP? KCP是一個快速可靠協議。它主要的設計目的是爲了解決在網絡擁堵的情況下TCP協議網絡速度慢的問題,增大網絡傳輸速率,但相當於TCP而言,會相應的犧牲一部分帶寬。 kcp沒有規定下層傳輸協議,一般

原创 windows下面的運行的CMD程序,怎樣防止過段時間後自己自動掛起(假死)

在windows server 上面運行的服務器程序,經常會遇到這樣的問題。 運行在CMD中的服務器程序, 過段時間會自動掛起, 產生假死, 不再響應客服端 需要按一下鍵盤,才能繼續。 處理方案:如圖所示 右鍵CMD 》 屬性 》

原创 linux netstat下面的 IP表示方法與意義

127.0.0.1:xxxx 環回測試地址,代表本機IP地址,訪問127.0.0.1:80表示本機的80號端口,且僅表示內網局域網訪問, 外網不能訪問 0.0.0.0 網絡地址,0.0.0.0:80也表示本機IP地址,以外網的方式

原创 排序算法中的穩定性理解

假定在待排序的記錄序列中, 存在多個具有相同關鍵字的記錄, 若經過排序, 這些記錄的相對次序保持不變 即:在原序列中, a=b, 且a在b之前, 而排序後, a仍在b之前, 則稱爲這種排序算法是穩定的, 否則稱爲不穩定的. 如1,

原创 MMO中的時間輪概念

時間輪這個東西,這個東西並不是爲MMO所設計的。它的由來也就是爲了優化傳統的定時器效率低下的問題。 在開發高性能服務器中,定時器總是不可或缺的 傳統的定時器實現思想。 分兩種 1.最LOW的一種, 只有一個定時器。 需要遍歷所有的

原创 MD5加密的一般使用場景

1.密碼 可以當做密碼驗證,爲了保證密碼不在cmd5網站上破譯,最好加鹽及亂序,也可以只取一半md5的長度。md5是不可逆算法,只要保證算法不變,就能和數據庫中的md5相匹配。關於MD5加密!有什麼用途呢?比如一個password

原创 寶塔Linux

1.使用xshell 連接LINUX 注意使用Centos7.x系統 2.安裝寶塔 yum install -y wget && wget -O install.sh http://download.bt.cn/install/

原创 二叉樹 的前中後序遍歷

先上圖: 二叉樹遍歷分爲三種:前序、中序、後序,其中序遍歷最爲重要。爲啥叫這個名字?是根據根節點的順序命名的。 比如上圖正常的一個滿節點,A:根節點、B:左節點、C:右節點,前序順序是ABC(根節點排最先,然後同級先左後右);中

原创 NodeJS,通過Express + multer 接受上傳文件

SERVER code: “use strict” const ExpressLib = require(“express”); const Multer = require(“multer”); const Fs = requi

原创 Windows 版 TeamViewer,進行遠程桌面訪問和協作

可以方便的穿透內部網絡。方便在公司控制家裏的電腦, 也可以方便家裏控制公司裏面的電腦。 需要兩邊的電腦都要安裝TeamViewer 並提供給對方自己的ID和密碼。如圖: 連接後, 就可以方便的控制對方的電腦 END

原创 REST中的:GET POST PUT PATCH DELETE OPTIONS HEAD TRACE

目前互聯網公司的應用架構基本都是前後端分離,後端的接口也基本上都是採用restful架構了,接下來就說說restful的使用。 使用restful架構最主要的是遵循rest的思想:“統一資源接口“。 REST全稱:Represen

原创 golang GO111MODULE是用來幹什麼的?

再沒有 GO111MODULE時, go編譯程序的查找依賴的順序 go path > goroot , 有了GO111MODULE後,會讀取當前項目的go.mod.文件, 在go.mod文件中會記錄有哪些依賴 Go Modules

原创 位操作相關算法

異或法:可以完成對整型變量的交換。 交換a, b的值: a = a^b; b = a^b; a = a^b; 不使用±運算符計算a + b的值 遞歸法: function add(a, b) { let tmp = a ^ b;