Programming

MongoDB を PHP から操作する

前回の記事でMongoDBをインストールできたので、PHPからMongoDBにアクセスできるように設定をした。 PHPの拡張モジュールのインストール PHPからMongoDBにアクセスするために必要な拡張モジュールをインストールする。 $ sudo yum install php-pear $ sudo p…

MongoDBのインストール

Fedora 12にMongoDBをインストールしたときのメモ。 $ sudo yum install mongodb mongodb-devel mongodb-serverサーバの起動 $ sudo /etc/init.d/mongod start動作確認 $ mongo MongoDB shell version: 1.6.3 connecting to: test > db.foo.save({a:1}) > db…

最長共通部分系列長(LCS)を求めるJavaプログラム

素朴に実装。LCS長が何たるかは別のページを参照してください。LCSのアルゴリズムは、系列Xのi番目をxi、系列Yのj番目をyjとすると、 i = 0 または j = 0 のとき、 LCS(i, j) = 0 i, j > 0 かつ xi == yj のとき、 LCS(i, j) = LCS(i-1, j-1) + 1 i, j > 0 …

off-by-one

ループの境界条件のエラーをoff-by-oneエラーと言うそうな。初めて知りました。境界条件のエラーとは、 for (int i = 0; i < 100; i++) みたいなのを、 for (int i = 0; i <= 100; i++) のように書いてしまうこと。

pthread_tの値

pthreadでのマルチスレッドプログラミングでわからない事があったのでメモ。pthread_self()を使うと自分のスレッドIDをpthread_t型で取得できますが、これをprintfするときの変換書式ってunsigned intで良いのかな。ググってみると大抵%dで出力してますが、…

入力された終端指示子EOFをクリアする

fgetsの入力待ちの先頭でCtrl-Dを入力すると、EOFが送信されてそれ以上読めなくなります。このとき、clearerr(stdin)を使うと、EOFをクリアして再度標準入力から読み込むことができます。とりいそぎメモ

シェルスクリプトを学ぶ

今までは複数のコマンドを入力する手間を省く為だけにシェルスクリプトを使ってきました。その位ならウェブでちょろっと検索した知識で事足りていたんですが、どうやら研究室で多用することになりそうなんで、本腰入れて勉強することにしました。使う本は↓ …

複数の実行ファイルを生成するMakefileの書き方

課題で学んだことを一つメモ。今まで複数の実行ファイルを一気に生成するMakefileの書き方が分からなかったのですが、その方法が分かりました。普通は↓のようにMakefileを書いてから、 #Makefile TARGET1: hoge.c gcc -o TARGET1 -Wall hoge.c TARGET2: moge…

Visual C++ 2008 Express Edition と OpenCV

大学で動画像処理の実験をしているのですが、実験時間内に終わるか不安になってきたので、家で環境を構築することにしてみました。大学で使っているのはVisual Studio C++ とOpen CV。幸いにもVisual StudioにはExpress Editionというユーザー登録さえすれば…

シェルを作ろう! - (1)シェルプログラムの基本的な流れ

シェルプログラムの基本的な流れを理解してなきゃ作れないので、簡単にまとめてみました。 プロンプトを表示し、コマンド入力があるまで待機させる コマンドを入力 コマンドを切り出して、配列に格納(関数getargs()) fork()して子プロセスでコマンドをexec…

シェルを作ろう!

課題でオリジナルのシェルを作成したのですが、それがかなり勉強になったので自分なりにまとめていこうと思います。あくまで自分用の備忘録なので、親切な説明をするつもりはありません。間違いやもっと効率的なやり方があれば、コメント欄で指摘してくださ…

自作シェルでcdが動かない

シェルを作成する課題でつまづいたので、メモ。課題の概要は、fork()して子プロセスを生成し、そこでexec()してコマンドを実行するシェルを作るというものです。pwdとかlsは正常に実行されるのですが、cdが実行されずにつまりました^^;調べてみると、カレン…