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

可変長データを含むUDPソケット通信のやり方

可変長のデータを含むUDPソケット通信のやり方が分からず、色々思考錯誤した結果をまとめてみます。間違いやもっと効率的なやり方があれば教えてください!(2009/03/27)コード例の一部が間違っていました。指摘してくれたsatsumaさん、ありがとうございま…

off-by-one

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

ループにおいて初期化を忘れた場合

内部仕様が分からない関数hoge()があり、それを次のプログラムのように使用する場合を考えます。 struct arg1 { int a; char b; }; int arg2; void hoge(int *arg1, arg2); init_arg1(&arg1); init_arg2(&arg2); while (1) { hoge(&arg1, arg2); } ここでバ…

自分をデバッグする

プログラムを書いていてバグに遭遇したとき、「そういや前も同じようなバグがあったなぁ」って思うこと、たくさんありませんか?私はいつも同じようなバグばかり出しています。おまけにそういうバグってなかなか取れない。取り方を覚えていない。そういうわ…

我が家にサーバーが誕生しました

家のデスクトップが一台空いたので、Ubuntu 8.10 Serverをインストールしてみました。実は今まで家にサーバー専用マシンがなかったんです。これでいろいろできる!楽しみ!!

インクルードガード(include guard)

プログラムの規模が大きくなると、誤ってヘッダーファイルを多重にインクルードしてしまうことがあります。これを防ぐのがインクルードガードです。次のプログラムを参照。 <original.h内> #ifndef INCLUDED_ORIGINAL_H #define INCLUDED_ORIGINAL_H struct hoge { int hog</original.h内>…

2009年3月の目標

こんな感じで。2月目標の達成度は・・・ blog 自作シェルはもう気が向いたら書くってことで^^; 読書 例解UNIXプログラミング教室は一通り読んだので、今後はリファレンスとして活用。 今はSICPや詳解シェルスクリプトを中心に読んでます。 経済学 基本的な用…

気が向いたので

C++の勉強をはじめてみました。CもJavaも使えるので、その二つとの差異に気をつけながら勉強をしています。デストラクタとかスコープ解決演算子::とか、Javaとはちょっと違った概念があって面白い。春休み中には一通りの文法を叩き込んでやるぞー。

Gauche導入メモ

更新日:2009年3月1日 環境 Fedora 10 Gaucheの読み方 ゴーシュ インストール # yum install gauche Gaucheの端末上での起動 # gosh Emacs上で実行 .emacsに以下を追加 (setq scheme-program-name "gosh -i")Emacs上で、M-x run-schemeと入力すれば、Gauche…

pthread_tの値

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

データベーススペシャリストの問題集を買った

かなりしんどそうだ・・・がんばろう!

VistaにVMware Server 2.0を入れました

ThinkPad X200(Vista)にVMware Server 2.0を入れました。今までは、1.x系を使っていたんですが、仮想マシン起動時にホストOSごと10分間以上固まる現象に見舞われて、使い物にならない状態でした。ネットに出回ってる回避策(vmxファイルに1〜2行書き加える…

研修終わった

研究室の研修が終わりました。ひたすらシステムプログラミングと輪講な毎日。けど楽しかったです。課題ももりもり出されたので、4月まで頑張るぞー!あと、情報処理技術者試験のデータベーススペシャリスト試験に申し込みました。データベースは苦手だけど、…

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

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

シェルスクリプトを学ぶ

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

仕事量と活力の関係

仕事量と活力の関係について、id:Wakiさんが面白いことを書いていたので紹介。 仕事量が少なすぎると活力がなくなっていきます 仕事量が多すぎると活力がなくなっていきます 仕事量が丁度良いとものすごい活力で働きます my image ltd. -TOSHISM- リンク先に…

2009年2月の目標

2月に入ったので、1月の目標達成度を振り返りつつ、新しい目標を立ててみる。ちなみに1月に「今年の目標」として掲げたのは次のマインドマップです。2009年目標 - sternhellerの日記 1月を振り返って 知的活動 blogはそこそこ書いたが、自作シェルのまとめと…

勉強するときに気をつけるべきこと

私自身が気をつけなきゃいけないことをまとめておきます(永遠に書きかけ)。更新:2009年6月8日 未整理 やるかやらないか迷うのはだめ 全体を掴んでから、細部を勉強 過去問の有効性 いつかやりたいはダメ 今すぐやりなさい 生産性の鍵:ただ始めること 時…

分かった気になってしまう

本当は理解できていないのに、自分をだまして分かったふりをする事。そのまま読み進め最後までたどり着き、自分はこの本を読んだと勘違いしてしまう事。技術書を読むときにやってはいけない、たった1つの事 - higepon blog まさに俺ですね^^;「内容を理解す…

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

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

日記書いてないや

課題や期末試験に忙殺されて、全然日記書いてませんでした。今週が山場なので、それを乗り越えたら色々書きたいと思います。ちなみに今は擬似DHCPサーバを作ってます。これのせいでまともに試験勉強できない・・・orz

Windows 7(ベータ版)を入れてみた

VMware Serverを使って、Windows 7のベータ版をインストールしてみた。やたら青いです。パッと使ってみた感じ、操作感はVistaと同じですね。Vista使ってた人は違和感なく移行できそう。仮想マシンのメモリを512Mにしたので、動作が若干もっさりしてます。時…

zshを使ってみる

インストールしたFedora 10にzshを入れてみました。TABでオプションなんかも補完してくれるんですね。特にTARとかZIPのオプションを一覧表示してくれるのは助かる!!Ubuntuの方もzshに乗り換えるかー。 参考 http://journal.mycom.co.jp/column/zsh/index.h…

Fedora 10 インストール

使う予定もないのにVMwareにFedora 10をインストールしてみました。ついでに初めて仮想マシンも作ってみたり(Ubuntu 8.04は仮想マシンごとダウンロードした)。まずはソフトウェアのバージョン・・・ Host OS : Vista SP1 (ThinkPad X200) Guest OS : Fedor…

Visual C++ 2008 Express Edition と OpenCV

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

解禁

大好きなbeatmania IIDXの一部解禁日ってわけで、早速ゲーセンに行ってきた!(以下、興味がない人は読まないことをおすすめします)3y3s難しいね!One Moreの時に正規Hardは不可能って分かってたから、乱Hardかけて必死こいてやったけど、序盤の2重螺旋+皿…

「まとめ記事」ボックスの追加

左側のメニューバーに「まとめ記事」というボックスを作ってみた。まとめ記事や後から見直したいメモなどをこっからリンクしていこうと思います。今更だけど、はてなダイアリーって自由度高いんですね。はてなモジュールの構造を学べば、色々できそう。

川崎大師に初詣

昨日の話ですが、川崎大師に初めて行きました(いつもは明治神宮)。三が日過ぎたけど、日曜だからかなりの混雑。参拝までに30〜40分くらい待った。んー、デジカメ忘れたのが悔やまれる。

インターネット接続が安定しない

X200(Vista)を買ってからの話。我が家のインターネット接続が勝手に切断されたり、マシンを認識しなかったり、と安定せず。なんでなんだろうと悶々としてたんですが、ようやく解決しました!どうやらルーターのファームウェアがVistaに対応してなかったみ…

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

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