Ubuntu Linux 安裝 OpenCV 入門教學、C++ 與 Python 範例程式碼

這裡介紹如何在 Ubuntu Linux 中安裝 OpenCV 影像處理與電腦視覺函式庫,並且使用 C/C++ 或 Python 開發 OpenCV 的影像處理與電腦視覺應用程式。 安裝 OpenCV 函式庫 在 Ubuntu Linux 我們可以使用 apt 安裝套件庫中已經編譯好的 OpenCV 函式庫: ...

January 19, 2017 · G. T. Wang

C 語言 #pragma pack 預處理指令的意義、用法教學與範例程式碼

這裡介紹 C 語言預處理指令 #pragma pack 所代表的意思,並以實際範例說明其使用上的效果與不使用的差異。 C 語言的 #pragma pack 是用來指定 struct 結構內部資料的儲存對齊方式的預處理指令,會直接影響 struct 結構所使用的記憶體空間大小,以及每個內部變數的放置位置,在處理低階資料結構(例如網路封包)時時常會需要使用到這個語法,以下是使用教學與實際範例。 ...

January 18, 2017 · G. T. Wang

Mac OS 在 Finder 的目前目錄中開啟終端機

這裡介紹幾種 Mac OS X 在 Finder 目前目錄中打開終端機的技巧,省去打一堆 cd 指令的時間。 在 Mac OS X 系統中開發程式時,有時候會需要打開終端機來執行一些指令,像我最常用的就是 Perl 與 Bash 指令稿以及 Linux 的指令,不過每次打開終端機時,要先切換到自己目前的工作目錄之下,才能繼續執行指令的工作,如果工作目錄在家目錄之下好幾層,執行 cd 指令來切換目錄就會需要打很多字,很浪費時間。 ...

January 17, 2017 · G. T. Wang

Vim 搭配 xxd 指令作為 16 進位編輯器教學

這裡介紹如何使用 Vim 結合 xxd 指令,將資料以 16 進位的方式表示,編輯二進位檔案。 Vim 編輯器除了可以編輯文字檔之外,也可以作為 16 進位編輯器(hex editor),編輯二進位(binary)的檔案,只不過在編輯二進位檔案時,要配合 xxd 這個外部指令將資料轉換為 16 進位的排版格式,以下是利用 Vim 編輯一個二進位執行檔的操作步驟。 ...

January 17, 2017 · G. T. Wang

Linode 網頁伺服器遭受攻擊紀錄,用 CloudFlare 快取解決

本篇文章是我的 Smooth Jazz 網站(已關站)所使用的 Linode VPS 虛擬主機遭受到惡意攻擊的紀錄。 這個禮拜日放假在家,突然收到來自於 Linode 的 Email 警告通知訊息,告知我的 VPS 虛擬主機網路流量有異常,檢查之後發現是有無聊人士故意從網站上重複下載大檔案,似乎想灌爆伺服器的流量或頻寬,以下是整個處理過程的記錄。 ...

January 16, 2017 · G. T. Wang