3月 04

クラスとは?
オブジェクト思考をやるときに必ず分けが分からなくなるのが
・クラスとは?
・メソッドとは?
・メンバー変数は?
でしょう。

これらの単語を聞くだけで???が浮かぶかもしれませんが
小学生で習う円の円周と面積の求め方を利用して
これらの意味を理解していきましょう。

まず円周の求め方は
2x半径x3.14=円周

そして円の面積は
半径x半径x3.14=面積

です。

ではさっそく、
クラスについて説明します。

ずばり、これらの公式を1つまとめたオブジェクトです
例えば円周と円の面積を求めるための公式を円というクラスにまとめると、
円のクラスには、円周を求めるメソッドと、面積を求めるメソッド、半径というインスタンスがある

Tagged with:
3月 04

クラスのメソッドとは?
オブジェクト思考をやるときに必ず分けが分からなくなるのが
・クラスとは?
・メソッドとは?
・メンバー変数は?
でしょう。

これらの単語を聞くだけで???が浮かぶかもしれませんが
小学生で習う円の円周と面積の求め方を利用して
これらの意味を理解していきましょう。

まず円周の求め方は
2x半径x3.14=円周

そして円の面積は
半径x半径x3.14=面積

です。

ではさっそく、
クラスのメソッドについて説明します。

ずばり、円の求め方であれば公式(求めるための手順、アルゴリズム)がメソッドに相当します。
半径という変数に円周のメソッドを利用すると円周が得られ、
同様に半径という変数に円の面積のメソッドでは面積が得られます。

よってメソッドとはクラスで利用されている定義された関数です。

Tagged with:
3月 04

クラスのメンバー変数とは?
オブジェクト思考をやるときに必ず分けが分からなくなるのが
・クラスとは?
・メソッドとは?
・メンバー変数は?
でしょう。

これらの単語を聞くだけで???が浮かぶかもしれませんが
小学生で習う円の円周と面積の求め方を利用して
これらの意味を理解していきましょう。

まず円周の求め方は
2x半径x3.14=円周

そして円の面積は
半径x半径x3.14=面積

です。

ではさっそく、
クラスのメンバー変数について説明します。

ずばり、円の求め方であれば半径がメンバー変数に相当します。
円周でも面積でも両方に半径が利用されており、
かつ半径という値を持つ変数である(固定された数ではない)

つまり、半径の値を変化させると円周や面積の値が変化します。
よってメンバー変数とはクラスで利用されている定義された変数のことです。

Tagged with:
3月 02

お願いランキングで
なんとドラクエの1にはカタカナが20文字しか使われていないということで、
イ・カ・キ・コ・シ・ス・タ・ト・ヘ・ホ・マ・ミ・ム・メ・ラ・リ・ル・レ・ロ・ン
それと”濁点とーおんびきの計22文字しかないらしい。

いやぁなんというか開発者として尊敬してしまう。

Tagged with:
3月 01

ああ。。後1ヶ月で社会人

さよなら学生だった自分。

長かった22年間。

ここまで育ててくれたお父さんお母さんありがとう。

20日に大学の卒業式。
今月中にCiscoのCCNAとりたい。

2月 25

いやー今日来たよ。
今まで、fc13のsrc.rpmをrpmbuildでfc12用に再構築していたけど。
今日から正式にfc12で4.6.2.rpmが配布された模様。
またqtcreatorも1.3.1に更新されてる。

Tagged with:
2月 25

まずパッケージで必要なものをダウンロード
Fedora

yum install libnetfilter-queue-dev libnfnetlink-dev libnetfilter-queue1 libnfnetlink0 git git-core python python-dev

Debian

apt-get install libnetfilter-queue-dev libnfnetlink-dev libnetfilter-queue1 libnfnetlink0 git git-core python python-dev

カレントディレクトリーは

/usr/local/src/

で作業します。

libnetworkdをgitからダウンロードしてインストールします。

cd /usr/local/src/
mkdir libnetworkd
cd libnetworkd
git init
git remote add origin http://git.mwcollect.org/libnetworkd/
git pull origin master

autoreconf -v -i
./configure –prefix=/opt/libnetworkd/
make -j8
sudo make install

つぎにlibemuをインストールします。

cd /usr/local/src/
mkdir libemu-git
cd libemu-git
git init
git remote add origin http://git.mwcollect.org/libemu
git pull origin master

autoreconf -v -i
./configure –prefix=/opt/libemu/
make -j8
sudo make install

pythonをbindingする場合一度通常でインストールしてから以下を実行する。

./configure –prefix=/opt/libemu/ –enable-python-bindings
cp bindings/python/setup.py bindings/python/setup.py.orig
sed -e ‘s/${prefix}/opt\/libemu/’ bindings/python/setup.py > bindings/python/setup.py.tmp
sed -e ‘s/${exec_prefix}/\/opt\/libemu/’ bindings/python/setup.py.tmp > bindings/python/setup.py
rm -f binfings/python/setup.py.tmp
make -j8
sudo make install

もしmakeで以下が出る場合は、ほとんど
libemu/bindings/python/setup.pyの

include_dirs = [‘/opt/libemu/include’],
library_dirs = [‘/opt/libemu/lib’],

のinclude_dirsとlibrary_dirsのエラーです。

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I${prefix}/include -I/usr/include/python2.5 -c libemu_module.c -o build/temp.linux-i686-2.5/libemu_module.o
libemu_module.c:29:20: error: Python.h: そのようなファイルやディレクトリはありません
libemu_module.c:30:21: error: emu/emu.h: そのようなファイルやディレクトリはありません
libemu_module.c:31:31: error: emu/emu_shellcode.h: そのようなファイルやディレクトリはありません
libemu_module.c:38: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
libemu_module.c:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
libemu_module.c: In function ‘libemu_Emulator_dealloc’:
libemu_module.c:68: error: ‘libemu_EmulatorObject’ has no member named ‘emulator’
libemu_module.c:70: warning: implicit declaration of function ‘emu_free’
libemu_module.c:70: error: ‘libemu_EmulatorObject’ has no member named ‘emulator’
libemu_module.c:71: error: ‘libemu_EmulatorObject’ has no member named ‘emulator’
libemu_module.c:74: error: ‘libemu_EmulatorObject’ has no member named ‘ob_type’
libemu_module.c:74: error: ‘PyObject’ undeclared (first use in this function)
libemu_module.c:74: error: (Each undeclared identifier is reported only once
libemu_module.c:74: error: for each function it appears in.)
libemu_module.c:74: error: expected expression before ‘)’ token
libemu_module.c: At top level:
libemu_module.c:77: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
libemu_module.c:99: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘libemu_EmulatorMethods’
libemu_module.c:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘libemu_EmulatorType’
libemu_module.c:148: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘LibemuMethods’
libemu_module.c:152: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘initlibemu’
error: command ‘gcc’ failed with exit status 1
make[3]: *** [all] エラー 1
make[3]: ディレクトリ `/home/kog/libemu-git/bindings/python’ から出ます
make[2]: *** [all-recursive] エラー 1
make[2]: ディレクトリ `/home/kog/libemu-git/bindings’ から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/kog/libemu-git’ から出ます
make: *** [all] エラー 2

最後にmwcollectdのインストール

cd /usr/local/src/
mkdir mwcollectd-git
cd mwcollectd-git
git init
git remote add origin http://git.mwcollect.org/mwcollectd/
git pull origin master

autoreconf -v -i
./configure –prefix=/opt/mwcollectd –with-libnetworkd=/opt/libnetworkd –with-libemu=/opt/libemu
make -j8
sudo make install

以上でインストール終了です

iptables -A INPUT -p tcp -j NFQUEUE
sudo /opt/mwcollected/sbin/mwcollectd -l

で起動できます。

Tagged with:
2月 25

mkdir /usr/local/src/python3
cd /usr/local/src/python3
wget http://www.python.org/ftp/python/3.1.1/Python-3.1.1.tgz
tar xvfz Python-3.1.1.tgz
cd Python-3.1.1
./configure –prefix=/opt/python3
make -j8
sudo make install

/opt/python3/の配下にインストールされます。
必要に応じてパスを通してください。

ln -s /opt/python3/bin/python3-config /usr/bin/python3-config

Tagged with:
2月 23

どうやら、19以降ivtv-i2c.cの630行目あたりにある

	/* Instantiate the IR receiver device, if present */
	if (retval == 0) {
		struct i2c_board_info info;
		/* The external IR receiver is at i2c address 0x34 (0x35 for
		   reads).  Future Hauppauge cards will have an internal
		   receiver at 0x30 (0x31 for reads).  In theory, both can be
		   fitted, and Hauppauge suggest an external overrides an
		   internal.

		   That's why we probe 0x1a (~0x34) first. CB
		*/
		const unsigned short addr_list[] = {
			//0x1a,	/* Hauppauge IR external */
			0x18,	/* Hauppauge IR internal */
			0x71,	/* Hauppauge IR (PVR150) */
			0x64,	/* Pixelview IR */
			0x30,	/* KNC ONE IR */
			0x6b,	/* Adaptec IR */
			I2C_CLIENT_END
		};

とコメントアウトされているようになった。
これで、カーネルアップデートごとに再コンパイルしていた手間が省ける。

(2.6.31.12-174.2.19以下ではここをコメントアウトしないと音がでません。)

2月 15

MSからのXPセキュリティパッチMS10-015を適用すると
起動->シャットダウン->起動->シャットダウンを繰り返すようだ。

現在このパッチは配布が停止されているが、
こういうパッチを平気で出すMSは考え物だ

ただでさえこういうことがある為に、WindowsUpdateの停止してしまい
ウイルスにかかる率が多くなるのに、

MS08-067が典型的な例だし、Nepenthesを利用するとゴロゴロウイルスが飛んでくる。

こういう自体があるからLinuxは安心だと思ってしまう。

preload preload preload