2009-01-01から1年間の記事一覧

インナークラスからアウタークラスのprivateメンバにアクセス出来る。

C++

class Hoge { public: class Fuga; private: static void PrivateFunc() { } }; class Hoge::Fuga { public: class Piyo; private: static void PrivateFunc() { // インナークラスからアウタークラスのprivateメンバにアクセス出来る Hoge::PrivateFunc(); …

tracのチケット一覧にカラムを追加する。

テンプレートかPythonスクリプトいじれば出来るんでしょ?とか 思っていたら意外と大変だった。 tracのチケット一覧取得は、それ用のクエリ文がtrac環境初期化時に DBに突っ込まれていて、一覧ページにアクセスをしたらDBから まずそのクエリを取り出し、更…

tracインストールメモ。2

Apacheの設定 ちなみにApacheのバージョンは2.2.14(Win32)。 2.2からhttpd.confの設定が結構変わるとか変わらないとか? mod_python ここのWin32 Binariesからmod_python-3.3.1.win32-py2.5-Apache2.2.exeをダウンロードしてインストール。 Apacheのディレク…

SSHの不正アクセス見方メモ。

ぴゃー大量にアクセスされていたお! /var/log/secureここにsshdの認証のログがある。 以下のよーなコマンドで成功のログを見る。 # cd /var/log/ # grep "Accepted" secure*以下例。 secure-20091025:Oct 24 22:00:00 localhost sshd[24407]: Accepted pass…

tracインストールメモ。

Windowsで入れるのめんどい。 1. Pythonインストール ClierSilverの都合で2.5をインストール。とりあえず2.6に変更。 ここのpython-2.5.4.msi(For x86 processors: python-2.5.4.msi)。 ここのpython-2.6.3.msi(Windows x86 MSI Installer (2.6.3))。 ※なん…

constメンバ関数内で呼べるメンバ関数。

C++

class Hoge { public: void Echo() { std::cout << "echo 'Hoge'" << std::endl; } void ConstEcho() const { std::cout << "const echo 'Hoge'" << std::endl; } }; class Moke { Hoge _hoge; public: void Echo() { std::cout << "echo 'Moke'" << std::en…

PoderosaでCygwin接続がうまくいかなかった

会社のVistaマシンで、表題の件がうまくいかなかったので動くようにしたメモ。 Vistaが原因なのかは不明。 最近Cygwinがレジストリに保存しなくなったとかなんとか?よくわからんけど。 とりあえず以下の様なエラーダイアログが出る。 レジストリキーSOFTWAR…

ローカルファンクタはgccではfor_eachに指定出来ない。

#include <iostream> #include <vector> #include <algorithm> /* // 関数内じゃなければ、gccでもOK(当たり前だけど)。 struct Proc { void operator () (int val) { std::cout << val << std::endl; } }; */ int main() { // ローカルファンクタクラス struct Proc { void operator ()</algorithm></vector></iostream>…

2つ目買ってしまった。

前回のは仕事用に会社へ持ってったのですが、だんだんキー配置にも慣れてきて、 逆に自宅のキーボードでスカったりする事が頻発したので購入踏み切り。 5万の出費は痛いなぁああ!PS3買えちゃうよ。 そっち買っても良かったけども。 でもキータッチ感がホン…

vectorのコピーよりswapのが早そう。

コピー元のデータ(vector)が壊れてもいい場合(コピー元が一時バッファの様な場合)、 vectorの要素コピーはoperator = ()よりswap()のが早そう。 以下チョーいい加減な検証プログラム。 #include <cstdio> #include <cstdlib> #include <string> #include <vector> typedef std::vector<std::string> Strings</std::string></vector></string></cstdlib></cstdio>…

HHKProJP買っちゃたー

Happy Hacking Keyboard | HHKB Professional JP | PFU キータイプ時のことこと感、キーの吸い付くような手触り、シックな墨色、 チョーいいです(*´ω`) 問題は、普通ののキーボードとはキー配置が微妙に違うところぐらいかな。 ファンクションには慣れてき…

参照の初期化と初期値代入を一行で。

C++

int value; int& ref = value = 0; // 一行で。 refをvalueで初期化したあと、refの指す値を0にセット。 int& ref = value; ref = 0; と書きたくないだけです。 もしかしたら嫌われる書き方かもしれない。 なんせ書いてる自分もちょい怪しい気分なので…でも…

vectorで表現するstring。

vectorで表現するstringを、vstringと呼んでみるテスト。 typedef std::vector<char> vstring; コレで何がしたいのかと言うと、C文字列を表現したいのです。 ヌル文字で終端するアレ。 何故かと言えばやっぱり、可変長配列だから。 ほとんどの(凡人)プログラマがst</char>…

Lua〜

スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELOPER)作者: 浜中誠出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/09/27メディア: 大型本購入: 13人 クリック: 322回この商品を含むブログ (40件) を見るイベントスクリ…

構造体名と関数名に同じ名前を使う。

C++

そもそも宣言や定義時は何も考えず同じ名前で書ける模様。 構造体の方は、structキーワードで修飾すれば変数の宣言や定義が出来る。 #include <iostream> // Hoge構造体 struct Hoge { Hoge() { std::cout << "Constructor Hoge" << std::endl; } }; // Hoge関数 void </iostream>…

実数の角度を0〜360度に収める。

#include <iostream> #include <cmath> // for fmod float roundDegree(float x) { if (x >= 0.f) { return fmod(x, 360.f); } else { return 360.f - fmod(-x, 360.f); } return x; } int main() { std::cout << roundDegree(10.f) << std::endl << roundDegree(120.30f) << </cmath></iostream>…

読み終わった書籍をつらつら書いて行こうかと。

ゲーム、ラノベ同様に技術書も積み本する人ですが、最近崩し始めました。Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者: スコット・メイヤーズ,小林健一郎出版社/メーカー: ピアソン・エデュケーション発売日: 2006/04/29メ…

private継承

C++

private継承の振る舞いメモ。 // 基底クラス class Base { public: int _publicData; void PublicFunc() {} protected: int _protectedData; void ProtectedFunc() {} private: int _privateData; void PrivateFunc() {} }; // private継承したクラス class …

テンプレートに文字列を渡してみる。

C++

テンプレートパラメータに指定できるもの - Faith and Brave - C++で遊ぼう にある通り、テンプレートにはポインタが渡せると言う事で、 以下の様に文字列等を渡してみる。 #include <iostream> // 文字列 (char*) char hoge[] = "hoge"; static char fuga[] = "fuga";</iostream>…

クラステンプレートのメンバ関数テンプレートを外部で定義する。

C++

// 元のHogeクラステンプレート。 template <class T> struct Hoge { // メンバ関数テンプレートを宣言する。 template <class U> void Fuga(U val); }; // 定義。templateを二つ重ねて指定する! template <class T> template <class U> void Hoge<T>::Fuga(U val) { std::cout << "fuga;" << val <</t></class></class></class></class>…

静的リンク。

殴り書き。 適当にパスの通ってるところ/hoge/lib/にlibhoge.aとlibhoge.soがあった時、 gcc ... -lhoge と書いてリンクさせると、libhoge.soがダイナミックリンクされるっぽい。 静的リンクさせるには、 gcc ... /hoge/lib/libhoge.a と書くと、静的リンク…

mapの内部型とか、for_eachする時のファンクタ定義とか。

どれがどの型を指すやらわかりづらいんです。 typedef std::map<int, std::string> Map; Map::key_type key; // キーの型。int。 Map::mapped_type val; // マップされた値の型。std::string。 Map::value_type ele; // 要素(?)型。std::pair<const Map::Key_type, Map::mapped_type>。 // for_each用のファンクタ。 Ma</const></int,>…

fuppesでDLNA鯖を立ててXbox360と繋いで音楽再生したりしたいメモ。

前回の記事でNASの音楽をリモートで〜って話を書いたんですけど、 今回はそれをXbox360で認識させて再生したいなーと思い立っての記事。 NASにもDLNA機能があるので、そのまま認識してくれりゃ万々歳だったんですけど、 Xbox360のDLNAは独自仕様らしく(;´д`…

外からLAN内のNASにアクセスしてiTunesでほげほげメモ。

このNASを買ったので、音楽とかガッと突っ込んで、 LAN内ならもちろんのこと、外からアクセスして聴けないかなと 思ってやってみた各アプローチのメモ。 その1:ルータにSambaのポートマッピングをしてみる(×) 下記のサイトなどを参考にして、 ルータのポ…