2010-12-01から1ヶ月間の記事一覧

Boostデビュー

してみました。 MinGW環境への導入がよくわかんなかったので、ドキュメントを大して読まずに、 "boost_1_45_0\boost"を、"mingw\lib\gcc\mingw32\4.5.0\include\c++" にboostディレクトリごとに放り込んだら動いてくれました。 コレだけで導入と言えるか怪し…

スマートポインタ

お勉強がてらに参照カウンタを持ったスマートポインタを実装してみました。

暗黙の型変換のトラブル

暗黙の型変換は便利ですが、ちょっと理解が足りないと原因特定がめんどうな困ったチャンです。 #include <iostream> #include <string> void function(const bool arg){ std::cout << "boolean: " << arg << std::endl; } void function(const std::string &arg){ std::cout <<</string></iostream>…

セキュリティ&プログラミングキャンプ2010実施報告会 を見て聞いて

12月18日土曜日にセキュリティ&プログラミングキャンプ2010実施報告会がありまして、 僕は午前が私用で忙しかったので参加できませんでしたが、中継配信は少し眺めてました。 配信が不調だったのもありあまり把握してはいませんが、参加者の呟きや日記から…

QtのQJsonを使えるようにする

QJson http://qjson.sourceforge.net/ JSONパーサのQJsonをWindowsで使うまでの過程をメモ。 1から実装すると大変だからこういうのはあるものを使わないとね!!

JSONパーサ

perlでお試しで再帰使ったら結構簡単に実装できた!と思ったらまだ色々穴がありそう。 数値をキーにできたりしたので、DIGITかSTRINGとかぐらいの区別が出来ないとダメね。 構文解析器は苦手だなぁ。

純粋仮想デストラクタの必要性

C++でなんでそんなもんが必要なのか、と疑問に思ってたけど、解決したのでメモ。 純粋仮想関数って何というところから純粋仮想デストラクタの必要な場面を考えてみた。

userstreamapi おまけ

前の続き。 LWP::UserAgentを眺めていたら http://perldoc.jp/docs/modules/libwww-perl-5.813/LWP/UserAgent.pod#item__ua__gt_get___url__ :content_cb オプションでコールバック関数が指定されると、 レスポンスの内容の塊ををサーバから受信する毎にこの…

userstreamapi

twitterのUser Stream APIをPerlで叩いて見た。 テスト用のアカウントを用意してメインアカウントをフォローさせてメインアカウントの発言を拾う実験。 Perlで実装しようとしたら、SSL通信したほうがいいよみたいなdenpaを受信したので、SSL通信に対応させよ…

TwitterのOAuth認証を通過してTLを取得

OAuth認証を通過してTwitterの自分のアカウントのTLを取得するプログラムをPerlで書いてみた。 色々間違っていそうだけど、とりあえずTLを取得できたので、その流れをメモ。 Net::OAuthとか使うんだろwwwwとか思ってた人、ごめんなさい。 ほぼ標準で入っ…

よくあるDLLを使ったプラグインのような動作をしてみたかった

プラグインは概念はわかってるんだけど、プログラムにするときどうすりゃいいの?って思ったので調べた。 C++の方が継承を使ってそれっぽく出来るので、C++で設計。 クラスの設計むずかしい;w; 作り方がわかればいいので、Windows環境前提でちまちま作った。…

HMAC + 何か

HMAC - Wikipedia http://ja.wikipedia.org/wiki/HMACRFC2104 - HMAC: Keyed-Hashing for Message Authentication http://tools.ietf.org/html/rfc2104 要するに、データをキーでハッシュします。これによりデータを認証できます。 Perlで簡単に実装できるの…

文字列と排他的論理和

Perlで文字列に対して排他的論理和(xor)などのビット演算が使える事を知りました。

Base64エンコード/デコード

http://ja.wikipedia.org/wiki/Base64 Wikipediaを見て理解余裕でした。言われたことを素直にごり押し。 エンコードではループ中の条件分岐判定を減らすために小細工してみた。