原创 FTL(Fishjam Template Library)簡介

相信各位程序員在軟件開發的過程中,爲了方便學習和開發,大多都設計、實現或使用過各種Utility庫。我也曾經將常用的代碼開發成Dll形式的庫,但後來發現維護起來實在太困難。主要的問題是使用時需要區分各種版本(Debug/Release,

原创 編譯器選項檢測文件 -- ftlConfigDetect.h

在編譯時,IDE中往往有各種設置,經常會因爲各個項目之間的配置不兼容造成問題,而檢查起來還比較麻煩。 因此製作了對IDE的各種配置進行檢查的 ftlConfigDetect.h 文件,只要在 stdafx.cpp 等文件中包含,就可以檢測

原创 程序化的設計模式學習

編寫了一個程序,將設計模式的學習信息採用程序的方式進行顯示,並且可以方便的增加新的學習筆記。 其程序界面主要分爲四個部分:   1. 模式列表 -- 列出了常用的23個設計模式,通過單擊,可以在其他部分顯示詳細信息;   2. UML 圖

原创 使用CSTD技術輕鬆編寫0 Bug的代碼

前言 軟件開發,在很多人的眼裏是一件艱苦、困難的事情,在軟件開發中發生諸多問題,如: 1.“改一出兩”或客戶處發生但開發環境下不再現的Bug; 2.客戶“隨心所欲”的更改要求,而現有的設計又無法滿足。 3.進行新項目開發時,由於沒有一個好

原创 擴展的find算法 -- find_nearest(查詢最接近的數據)

通常使用需要快速查找定位的數據時,會通過 set/map 等保存數據,然後使用find等算法進行查找。 但有時想查找的數據不能完全匹配,而是查找一個最接近的值(比如,在兩個不同的數據結構中,想匹配出ID相同,且發生時間最接近的數據)時,S

原创 用於刪除map中new出來的Key/Value 的PairDeleter

  一般對於 vector/list/set 等中 new出來的數據,在最後都會用 for_each(begin(),end(), ObjectDelete()) 一類的寫法進行刪除,但對於map中new出來的數據,則沒有比較方便的刪除方

原创 JavaScript調試的小工具(jsTrace)

前段時間寫一個JavaScript的程序,根據用戶鼠標的操作進行控件的拖放。感覺用 alter 或 斷點跟蹤調試的方法太難受了。就仿照MFC的TRACE功能寫了如下的小代碼(trace.js)。 擁有的功能如下:  trace(str)

原创 一次"Connection Reset"的根因和修改方式調查

文章目錄標題1. 背景2. 問題確認3. 初步調查4. 深入調查4.1. 調查目的4.2. 背景知識介紹4.2.1. TCP Keep-Alive Vs. HTTP Keep-Alive4.2.2. netstat 的 -o |

原创 ssh免密碼登錄的最佳實踐(Ubuntu 16.4 + CentOs 6 中驗證通過)

背景介紹 在進行Hadoop分佈式的配置時,需要設置ssh免密碼登錄,網上有很多資料(度娘一搜一大堆),基本流程的介紹都是如下: ssh-keygen 生成密鑰對 將 本機的 ~/.ssh/id_rsa.pub 文件通過scp拷貝到目標

原创 開源:通用的日誌分析工具(LogViewer)

工具介紹 本工具最早是製作出來查看我的 FTL(Fast Trace Log) 二進制日誌文件的, 後來因爲去做Java後臺,經常看 SpringBoot, Tomcat 等的日誌, 就簡單重構了一下, 從而支持通過正則來通用的分析日誌.

原创 搜索jar包(binary和sources)中的代碼

背景介紹        有的時候, 我們調試運行一個帶了很多 jar 包的Java程序時,通過日誌等方式發現一些感興趣的信息,但無法定位具體的代碼位置。比如我在維護一個轉交過來的老項目代碼(原有開發者都找不到了。。。)時遇到如下情況:xw

原创 服務程序性能優化之另闢蹊徑

前言:     很久沒寫文章了,因爲最近和朋友討論問題時說到了性能優化這個話題,特將我之前解決一個linux下服務器性能問題的思路和方式共享一下。 背景:     基本需求如下:在Linux下,有一臺數據處理服務器,需要從網絡上的很多節點

原创 COM接口中的信息獲取

大家都知道,作爲客戶端使用COM服務時,需要通過 QueryInterface 獲取到組件支持的COM接口,然後再調用其提供的各種方法來完成功能。但各種COM服務都支持哪些接口呢?這個信息一般比較難直接獲取到,通常是到處查找資料,參看人家

原创 軟件流水線--多核時代的高性能編程

1.  前言 流水線技術是把一件任務分解爲若干順序執行的子任務,不同的子任務由不同的執行機構負責執行,而這些機構可以並行工作。在任一時刻,任一任務只佔用其中一個執行機構,這樣就可以實現多個任務的重疊執行,以提高工作效率。自從福特汽車在工

原创 使用SWT+WinBuilder製作JavaDemo程序

(代碼下載地址:http://download.csdn.net/detail/fishjam/9407273 ) 最近在學習Java相關的知識,按照我學習的一貫做法,都是通過 UT + Demo 的方式來學習、測試和記錄筆記。因此,希