ソフトウェアエンジニア現役続行

雑多なことを綴ります

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

シリコンバレーに行ってきた

年末の休暇を使って、アメリカのカリフォルニア州に旅行してきました。サンフランシスコを観光したり、ヨセミテ国立公園でのんびりしたり。そんな中で、一番、印象に残っているのは、シリコンバレーを訪れ、そこにある半導体企業で働いている知り合いと、話…

fflushとfsyncとfdatasync

どれもバッファリングされているデータをフラッシュする関数ですが、それぞれの違いを再確認しました。 int fflush(FILE *stream); Cライブラリが与えているユーザー空間のバッファしかフラッシュしない。データが物理的にディスクに保存されることを保証し…

「はじめて読む486」が素晴らしい

Linuxカーネル2.6解読室を読み進めているのですが、割り込みやメモリ管理(仮想記憶、ページングなど)など、OSに関するある程度の前提知識が必要で、読んでて理解できないところも少なくありませんでした。仮想記憶、ページングなどは、Windowsはなぜ動くの…

ndiswrapper-1.56 と kernel-2.6.35

ndiswrapperはカーネルが上がるたびに自分で再コンパイルして、カーネルモジュールをインストールしなくてはなりません。fedora14が出たので、13から上げてみました。kernelのバージョンは2.6.35です。構造体のメンバーが変わったようで、コンパイルでエラー…

関数のスタック使用量を計算する方法

POSIXが使える環境でC言語のプログラムを書いていて、特定の関数が使用するスタックの量を調べる必要がありました。別スレッドを生成してその特定の関数を実行させることで、スタックの使用量を調べることができます。あらかじめ別スレッドのためのスタック…

Jolt Productivity Award: Testing and Debugging

昨日(2010年12月1日)、Jolt Productivity Award: Testing and Debuggingが発表されていました。 Jolt Productivity Award #1: Test and Debugging - QA Wizard Pro 2011 (Seapine Software) Jolt Productivity Award #2: Testing and Debugging - Sonar Jo…

Fedora14にMozcをインストール

FedoraにデフォルトでインストールされているAnthyというIMEはあまり優秀ではありません。特に長い文字を変換しようとするとうまく行かないようです。 例: ゆいがどくそん → 湯意が独尊 すみとみしんたくぎんこう → 隅とも信託銀行 しゅかいせん → 首魁せん…

メディアマーカーを始めました

アプレンティスシップ・パターンを読みましたで紹介したとおり、アプレンティスシップ・パターンは具体的な行動まで記載されていて良いです。僕がすぐに始めてみようと思ったことの一つが、読書リストを作ることです。アプレンティスシップ・パターンでは、…

ダイバーシティ

ダイバーシティという本を読みました。 きっかけは、自分の部署に外国人が来て、そのときに上司から「ダイバーシティ・マネジメント」という言葉を聞いて、興味を持ったからです。ダイバーシティとは英語で「多様性」のことです。読みやすくて、そしてとても…

ファイルサーバのためのユーザ

Linuxでファイルサーバを立ち上げるとき、クライアントPCがWindowsであることを考えると、Sambaによる共有フォルダ機能を使う方法と、Ftpサーバを使う方法があります。Sambaの場合、ログインできないユーザを作って、クライアントからはそのユーザで認証して…

F10キーでファイルメニューが開かれるのを無効にする

全角モードで文字を入力してからF10キーを押して、入力した文字を半角化するショートカットはとても便利です。しかし、fedoraやUbuntuでgedit(エディタ)やpidgin(チャット)を使っていてF10キーを押すと、半角化されずにファイルメニューが開かれてしまい…

アプレンティスシップ・パターンを読みました

先週(2010-07-08)に発売されたアプレンティスシップ・パターンを読みました。 アプレンティスシップとは「師弟制度」のことで、この本は指導者のための本ではなく、「ソフトウェア開発を経験したことがあり、卓越したソフトウェア開発者になることを切望し…

プロセスを再起動せずにログを削除するにはtruncate

Linuxサーバーで、sambaが大量のログを出力してパーティションがフルになってしまうトラブルが発生しました。 /var/log/samba/ディレクトリのログファイルを削除しても、改善されずにパーティションはフルのまま。これは、削除したファイルのファイルディス…

rootになったらプロンプトの色を変える

root権限になりたいとき、「$ su -」でrootになると、パスワードを入力が手間だったり、一般ユーザで使っていたときの環境変数がクリアされてしまいます。 「$ sudo bash」でrootになると、パスワードの入力を省略できるし(visudoでNOPASSWDを設定しておく…

世界の女性の現状とマイクロファイナンスの可能性

昨日、世界の女性の現状とマイクロファイナンスの可能性というイベントに参加してきました。マイクロファイナンスとは、貧困者向けの「小口(マイクロ)金融(ファイナンス)の総称です。貧困緩和と事業収益の両方を追求していることが特徴です。物乞いにお…

tomcat上で動かすプログラムの配置と実行

linuxマシンにtomcatとjdkを入れてjavaプログラムをサーブレット上で動かす方法です。 バージョンはtomcat6とjdk1.6.0です。 手順概要 tomcatへのサーブレットプログラムの配置と実行の手順は次のようになります。 サーブレットプログラムを作成・コンパイル…

ザワザワしているほうが気が散らない

昨日は読みたい本があって、図書館の自習室で読んでましたが、あまり集中できませんでした。とても静かでシンとしているからこそ、他人が鼻水をズルズル吸い上げる音や、咳や、職員の話し声が気になってしまいました。その後、ファミレスに行って本を読みま…

「国民の、ITによる、日本復活」を読んで

「国民の、ITによる、日本復活」書き起こし 孫正義&三木谷浩史を読みました。今回も、書き起こしをしてくれた方には本当に感謝です。日本に住む全ての人が光回線でインターネットを利用できるようにしたいという、とても壮大なビジョンを掲げています。僕が…

icalendar形式のファイルをgoogleカレンダーと同期する

うちの会社はグループウェアとしてサイボウズを使っています。サイボウズサーバがイントラネット上にあるため、社外からはアクセスすることができません。確かに安全ですが、社外からアクセスできないと不便なこともあります。そこで次のような方法で、サイ…

異なるHDDでデュアルブート

WindowsとLinuxのデュアルブートというと、単一のHDDをパーティション分割して、それぞれのOSを入れるのが一般的だと思いますが、HDDを二つ用意して、それぞれにWindowsとLinuxを入れてデュアルブートする方法もあります。 単一のHDDでデュアルブート 次のよ…

ApacheでユーザごとのhtmlとCGIを公開させる

CGIをnobodyで実行するのではなくユーザー権限で実行したいときがあります。そのときは次のようにします。 /etc/httpd/conf/httpd.confを編集する 次のようにUserDirを定義します。 #UserDir disabled (←コメントアウト) UserDir public_html (←コメント…

Process.destroy()の前に必ずすべてのストリームをcloseすること

次のような間違いを含んだコードがあります。 // 同じようなことがRuntime.exec(...)でも起こる ProcessBuilder pb = new ProcessBuilder(args); Process proc = pb.start(); InputStream in = proc.getInputStream(); // ・・・ここでスレッドのストリーム…

消費者と企業

購読している宋文洲さんのメルマガ。今週の内容は「嘘、消費者が企業を育てる」でした。宋文洲のメルマガの「読者広場」: 嘘、消費者が企業を育てる次の段落が印象的でした。 最近よく思うのですが、「消費者が企業を育てる」という言い方は本質を間違えてい…

孫正義 LIVE 2011

ソフトバンクの孫正義社長による、「孫正義 LIVE 2011」と題した講演会がすごく良かったと評判で、書き起こしがあったので読みました。全部読むのはかなり時間がかかりますが、その価値があると思います。書き起こしてくれた方に、心から感謝いたします。孫…

header競合

asm/statfs.h と sys/statfs.h を両方インクルードすると、headerがコンフリクト(競合)してコンパイルできません。次のように asm/statfs.h と sys/statfs.h をインクルードして・・・、 [Oswald@fedora tmp]$ cat conflict_headers.c #include #include i…

rpmスペックファイルの%config

RedHat系のLinuxディストリビューションではRPMでパッケージ管理を行います。RPMスペックファイルで、%configをつけるとそのファイルは設定ファイルとして認識されます。%configでは、noreplaceとmissingokを指定することができます。第5章 SPECファイルの記…

LinuxにJDKをインストール

LinuxにJDKがデフォルトでインストールされていない場合、Sunのサイトからダウンロードしてこないとダメなようです。他の言語のようにyumで簡単にインストールできるのかと探しまわったのですが、見つけることが出来ませんでした。 参考 ここの説明がとても…

情報セキュリティスペシャリスト試験を受けました

昨日(2010年4月18日)に、IPAの情報処理試験の情報セキュリティスペシャリスト試験を受けました。手応えがあったので、おそらく合格したと思います。合格発表は6/25(金)正午予定です。午前問題はすでに解答が出ています。午前1は免除でした。午前2は80点…

iPhotoはleopardのDVDから

MAC

MacBookにsnow leopardをクリーンインストールしたら、今まで使っていたiPhotoがなくなっていました。WebサイトからダウンロードしようとしてもiLifeとセットで有料のものしかなく、iPhotoを使うのを諦めたままでした。それから早9ヶ月、やっとiPhotoを無料…

仮想マシンのGuestOSでルータを構築する

仮想マシンを使って、GuestOS(ゲストOS)をルータとして使うことができます。複数のインタフェースを設定できる仮想マシンであれば構築できます。ユースケースとしては、Linuxルータを作って仕組みを理解したいが、物理的なマシンや追加NICを用意するのが面…