タグ

ブックマーク / mattn.kaoriya.net (6)

  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
    kaorun55
    kaorun55 2011/04/02
  • Big Sky :: boost::asioとcryptoppを使ってGNTP Growlする。

    以前、Growl For Windowsの紹介記事でgntp-sendという単純なCのプログラム(パスワードハッシュのみサポート)を書きました。その後、GNTPプロトコルの仕様に合わせパスワードハッシュ以外にもAES/DES/3DESな暗号化通信もサポートしたPerlモジュール、Growl::GNTPを書きました。 C/C++言語から暗号モジュールを扱う上でcryptライブラリはライセンス制約がありますが、public domainCrypto++を使えばな制約もなくなります。 久々boostを触ってみようとリハビリがてらboost::asioとcrypto++を使って、暗号化通信をサポートしたGNTP Growlプログラムを書いてみた。 crypto++には、ハッシュアルゴリズムや暗号アルゴリズムがごった煮で含まれており、フィルタとして使ったりCBCモードで使ったりと、かなり便利になっ

    Big Sky :: boost::asioとcryptoppを使ってGNTP Growlする。
    kaorun55
    kaorun55 2010/06/10
  • Big Sky :: C++で簡素なXMLRPCライブラリ書いた。

    ずいぶん前からXMLRPCC++で扱うのに小さいライブラリないかなーと思ってました。 書いたといっても結構前からあったのですが、いらん所を削ぎ落として簡素なXMLRPCライブラリとして仕立て上げました。 簡素とは言えど、一般的な物ならば色々動きます。 例えば、ブログに一気に、しかも機械的にポストしたい場合とか おれは今すぐXMLRPCしたいんだ!そしてどうしてもC++でXMLRPCしたいんだー! って事ないですか?MovablebTypeをインストールしたけど、XMLRPCするのにC++コンパイラは入ってるけど、PerlRubyPythonは入ってない...とか悲しすぎます。 今回紹介する"tinyxmlrpc"はそんな、小さい様で大きな問題を解決出来るかもしれないライブラリです。 mattn's tinyxmlrpc at master - GitHub tiny xmlrpc l

    Big Sky :: C++で簡素なXMLRPCライブラリ書いた。
    kaorun55
    kaorun55 2010/04/06
    RPC][c++]
  • Big Sky :: mod_perliteがWindowsでも動くようになったよ。

    apacheでperlを扱うなら、CGI/FCGI/mod_perlといった選択肢があるのですが、mod_perliteという軽量なapacheモジュールも存在します。 sodabrew's mod_perlite at master - GitHub A lightweight Apache module for Perl scripts http://github.com/sodabrew/mod_perlite/ mod_perlは結構複雑ですが、mod_perliteは仕組みも簡素で分かりやすく速度パフォーマンスもそこそこあるという代物になっています。 mod_perliteについてはhidekさんの紹介記事を見ていただくと分かるかと思います。実はこのmod_perlite、絶賛の声はあれどPOSTメソッドが動かないという重大なバグを持ったまま今日に至ります。 先日からWindow

    Big Sky :: mod_perliteがWindowsでも動くようになったよ。
  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
    kaorun55
    kaorun55 2009/07/30
  • Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

    kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!
    kaorun55
    kaorun55 2009/07/05
  • 1