原创 我感覺我要學GO之一
要學一下GO了,工作中要用到。 第一步我不怎麼關心語法啊什麼的,我而是關心一個GO工程的目錄結構是怎麼樣的。通過學習這篇文章《理解Golang包導入》,我大體初步瞭解了一個Go工程的基本結構。 以下在windows下使用LiteIDE進行
原创 dup和dup2
閱讀一些C或者C++第三方庫開源源碼的時候,有些源碼中會使用dup和dup2這兩個函數,由於在工作中基本上用不到這兩個函數,所以它們對閱讀源代碼提升了一些難度。雖然當時看過相關博文後能理解,不過過了一段時間就又忘了,今天不算總結,就把這兩
原创 linux動態庫so的運用
so文件的運用在C和C++變成中運用的非常廣泛,以下博文是我的使用心得。 一.so的靜態加載 在gcc(或者g++)中使用-l 參數在編譯器加載so文件。這樣的使用場景,應用程序必須要有於so一同發佈的h文件,因爲h文件就是so的一個符號
原创 python 閱讀github上某項目所得總結
有如下例子程序 a = [1, 2, 3] b = (1, 2, 3) if isinstance(a, (list, tuple)): print('1.ok') else: print('1.error') if isinst
原创 python 構建一個回調函數2
class Test: def __init__(self): self.f_list = [] def register(self, function): if function in self.f_list: p
原创 python 構建一個回調函數
在工作中,回調函數使用的場景是非常多的,下面的例子程序利用了python的屬性機制構建了一個回調函數 class Callback: def __init__(self, instance, function_name): self
原创 python 生成器和lambda的故事
今天在思考python表推導的語法的時候,很好奇這樣的結果: a = [ x for x in [1, 2, 3] ] b = ( x for x in [1, 2, 3] ) print('a type: {}'.format(typ
原创 linux下把log4cxx封裝成so動態庫文件(一)
這是一個經常遇到的問題,在軟件開發過程中,需要將某些功能封裝成一個獨立的模塊,這樣維護升級也很方便。現在我們就要把開源日誌庫log4cxx封裝成so動態加載庫文件。 在上一篇文章《log4cxx日誌庫RedHat下安裝》中,我們已經將lo
原创 python 那些待深入理解的東西
class Father:#2.7版本的老式類 def __init__(self): pass def function(self): print(type(self)) print(isinstance(self,
原创 Linux命令之tr
tr '[0*4]' '*' < data.txt 若data.txt中的任意行中出現了連續4個0,就是4個****替換。必須是[0*4]形式,不能是0*4,否則數字4會被替換成*,原因是[0*4]是tr的語法[CHAR*REPEAT],