原创 eax, ebx, ecx, edx, esi, edi, ebp, esp

  eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 彙編語言中CPU上的通用寄存器的名稱,是32位的寄存器。如果用C語言來解釋,可以把這些寄存器當作變量看待。 比方說:add eax,-2 ;

原创 未定義行爲

  很多地方出現未定義行爲,可每每當它出現時,我們都不知道它是一個未定義行爲,或者只是單純的理解成一個錯誤。使用未定義行爲直接帶來的後果是:編譯器碰

原创 send()函數的理解和recv()函數

  int send( SOCKET s,      const char FAR *buf,      int len,      int fla

原创 最近看操作系統寫個Dijkstra銀行家算法

#pragma warning(disable:4786)#include <iostream>#include <string>#include <list>#include <map>using namespace std;typed

原创 c代碼反彙編研究初探

 c代碼反彙編研究初探(1),DEBUG篇。 Author:xue23 email:[email protected] 下面是原代碼。我在vc6.0中對這段代碼進行完全的反彙編,以研究c語言在機器碼級 的運行狀態。這一部分研究DEBUG下的情況。

原创 javascript“關聯數組”澄清

所謂“關聯數組”指以名字作爲下標的數組,比如: var a = []; a['key'] = 'value';   其實javascript中根本就沒有“關聯數組”,javascript的數組只能以數字作爲下標,以名字作爲下標訪問的叫作對

原创 neo4j browser中定義參數變量

概念 在neo4j browser網頁中調試cypher語句時,使用預先定義的變量會更方便且增加代碼的可讀性,類似於SQL語句中的參數。 參數對當前會話有效,網頁刷新變量消失。變量爲一個kv的鍵值對。 定義的語法是 :param a:1,

原创 力引導圖

原创 安裝networkx

安裝python(Anaconda)networkx使用純python實現,因此需要先安裝python的環境,我使用Anaconda因爲它內置了很多機器學習算法常用的庫,不用逐個去安裝相當方便。去https://www.anaconda.

原创 networkx源碼解析-無權圖最短路徑

    在項目中如果我們不關注邊的定量關係的話就可以用無權圖,比如我們的圖譜中保存的是朋友關係,我們一般只是關注兩者之間是否是朋友而不太關注它們之間的定量關係-比如親疏。我們可以假設無權圖的邊的權重都爲1。    相較於有權圖,計算無權圖

原创 使用clion

覺得jetbrains的自動完成、代碼規範警告做得不錯,於是使用clion來寫c++試下:1 安裝cygwin,選擇包的時候要選上Devl,這樣纔會有g++等開發工具;2 安裝clion;3 新建工程,設置cygwin爲其編譯器;4 書寫

原创 linux sort命令優化提高速度

我們經常使用sort來對文本文件進行排序,因爲排序是很多操作的基礎。甚至會使用-u選項來清除重複行。因此排序的效率往往是瓶頸所在,要優化sort的效率,可以試下下面的方法: LC_ALL=C sort -S 80% -o output.

原创 力引導算法深入理解及其在d3.js中實現的源碼分析

    中學時最喜歡的學科是物理,大學誤打誤撞讀了計算機。最近在做圖計算的相關工作,圖的可視化中有一個非常重要的算法:“力引導算法”,這個算法的原理居然就是最簡單的粒子間的作用力,真是沒想到我喜愛的兩個東西在這裏結合起來了,也有一個感慨:

原创 neo4j使用嵌入方式示例

操作系統:windows 7開發環境:IntelliJ IDEA 2016.1JAVA:1.81 打開 IDEA,新建一個Maven的空工程2 找到pom.xml加入所需的neo4j的maven庫依賴,maven在編譯時會自動去下載相關文

原创 壓力測試遇到的坑

    今天對圖譜系統做壓力測試,沒有用ab或loadrunner測試工具,自己寫的python,因爲會取一些不同的公司id。方法是先將所有待測試公司的id取出來,劃分成N等份,然後起N個進程(因爲python的多線程有GIL的限制),每