Qt4 Sequential Container
這篇是看 Qt4 Container 相關網頁的筆記,包含三種 Sequential Container:QVector、QList、QLinkedList。PS:Qt 已經出到 5。(2014/4/21)
這篇是看 Qt4 Container 相關網頁的筆記,包含三種 Sequential Container:QVector、QList、QLinkedList。PS:Qt 已經出到 5。(2014/4/21)
libcurl 是處理收送網路 request、response 的 library,可用來收送 HTTP 的 request 及 response。
libcurl 收到 response 時會 call callback function,由 callback function 處理收到的資料。callback function 可自行撰寫,其 prototype 如下:
1 | size_t func(void *ptr, size_t size, size_t nmemb, void *userdata) |
libcurl 的 callback function 分成處理 header 跟 data,用 curl_easy_setopt()
指定處理的 callback function。如果沒有指定 callback function,預設上 data 會被印出來,header 則不處理。
1. Initialize
1 | #include <curl/curl.h> |
2. Set HTTP header data
設 HTTP header,如指定 Content-type:
1 | struct curl_slist* headers; |
call curl_slist_append()
會不斷加資訊到 headers 這個資料結構中。
3. Set options
1 | curl_easy_setopt(curl, CURLOPT_POST, 1); // 以 POST 傳送資料 |
4. 傳送 request
1 | curl_easy_perform(curl); |
以 blocking 的方式傳送 request。
5. clean up
1 | curl_slist_free_all(headers); // 清掉 headers 裡的東西 |
官方網站:http://phpexcel.codeplex.com/
用來讀取、產生 Excel 的 PHP class。
下載回來後解壓縮 Classes,在要使用的 PHP 檔案中 include。
1 | // include PHPExcel 相關檔案 |
1 | include('includes/PHPExcel/IOFactory.php'); |
列出設計一新 class 時需要注意的問題跟與其相關的東西:
真的需要一個新 class 嗎?(我覺得這最重要)
使用既有 class 是否能達成需求?
如何產生及銷毀新 class 的 object?
與 constructor、destructor、new、new[]、delete、delete[] 有關
物件的 initialization 跟 assignment 有何區別?
與 constructor、assignment operator 的行為有關
如果以 pass by value 的方式傳遞新 class 的 object 時是什麼意思?
與 copy constructor 有關
新 class 的合法值為何?
需維護的條件、member function(如 constructor、assignment operator、setter)所做的錯誤檢查、exception、exception specification
新 class 是否繼承某個繼承架構?
base class 的 non-virtual 及 virtual function
virtual distructor
新 class 需要那些轉型?
轉型 function
那些 operator、function 對此 class 來說是合法的?
牽涉到要宣告那些 function?是否為 member?
不想使用哪些 compiler 會自動生成的 function(如 constructor)?
如果不使用,將它宣告成 private。
誰可以使用新 class 的 memeber?
public、protected、private、friend
新 class 的 undeclared interface 是?
這個 class 需要多 general?
class template
供 C++ 使用的 MySQL library。
in Fedora
1 | $ sudo yum install mysql mysql-devel mysql++-devel |
in Ubuntu
1 | $ sudo apt-get install libmysql++-dev |
include file and namespace
1 | #include <mysql++.h> |
compile
1 | g++ -o <obj file> <source file> -I/usr/include/mysql++ -I/usr/include/mysql -lmysqlpp -lmysqlclient |
昨天晚上在慵懶的狀態下寫今年 Google Code Jam 資格賽。
A 跟 B 很簡單,A 就照著算一下,B 簡單 Greedy,看到過 C 的比例比較低先跳過,看 D 覺得要想一下,可是已經在想睡覺……丟了一次很爛的 algo 上去果然 WA,放棄收工了,只要 B 的 large input 有對也是會過,阿要是沒對就 GG 了!XD
遙想我每次玩 Code Jam 都只有過資格賽……Orz……看今年會不會有鬥志一點,至少兩次時間可以參加的 Round 1 都去玩一下。
貼這種 code 出來好像在丟人現眼
簡單針對 code 檢討一下好了,algo 沒什麼好檢討的,因為寫的兩題太簡單。
Octopress 的後端就是自己的電腦,有多台電腦時需要在其他電腦再建立 Octopress 的撰寫環境,並且拿 Github 上面的 repos 下來繼續寫。
基本環境:Git for Windows、RubyInstaller 1.9.3、Ruby Development kit。如果用到 code highlight,要裝 Python 2,否則 rake generate
會生出空白頁。安裝完 Ruby 跟 Python 要在環境變數 PATH 加入 Ruby 的 bin 資料夾路徑以及 Python 的安裝路徑,如 C:\Ruby193\bin
及 C:\Python27
。
1 | $ git clone -b source https://github.com/[username]/[username].github.io octopress |
Octopress 將 master branch 放在 _deploy/
。
1 | $ gem install bundler |
最後一個指令會要求輸入 Github 的 repository URL。
有多台電腦編輯時,開始前要記得將 local repository 更新到最新。
1 | $ git pull origin source |
用想放空的假期把寫在 Dokuwiki 上的筆記搬到 Octopress 來。原本因為可以自己任意編排,加上寫給自己看的筆記是用 Dokuwiki,就繼續沿用 Dokuwiki。漸漸發現要找資料的時候都直接用搜尋功能,沒怎麼在用原本的分類頁。越來越覺得那樣編排可能沒有必要,似乎有搜尋跟標籤就可以了。
好一陣子前 survey 過 Octopress,當時好像因為不習慣網頁上沒有管理的功能,暫且不用。可能最近有點轉性,覺得網頁上沒管理功能好像也還好。本來就喜歡用 Notepad++ 寫東西,配合 Git Bash 讓我覺得在 Windows 上用 command line 沒那麼卡,再加上有 Github 可以放,乾脆搬來了。
目前讓我比較困擾的是這 blog 的 repos 只有在我的桌機上,所以只能從桌機寫,之後要看怎麼在另一台電腦上建立同樣的環境。這是網頁不直接提供管理功能的缺點,可是我在用的電腦就那幾台,也不太可能用手機寫這類的文章,只要幾個環境架起來之後應該還好。
這 blog 主要拿來放 Computer Science 的筆記,之後慢慢寫些小程式應該也會把相關的東西放上來吧。
一邊搬筆記一邊稍微看一下,真心覺得我有些用句很怪,看起來有點像英文文法的中文。XD
在該頁面網址後面加上
1 | ?purge=true |
1 | #!/bin/bash |
使用方式:
1 | $ ./cleanwiki.sh <path of dokuwiki>/data <天數> |
Eclipse 編輯區預設背景是白色的,對於用慣 vim、console 這種底都黑黑的我來說實在是有點不舒服,理所當然的就要來找找 theme。
發現一個 plugin:Eclipse Color Themes
官網:http://eclipsecolorthemes.org/
update site:http://eclipse-color-theme.github.com/update/
Help → Install New Software 將 update site 加進去,就可以選 Eclipse Color Themes 來裝。
theme 可以到官網抓 EPF 格式,File → Import → Preference 套用。