2003年02月03日(月) スペースシャトルコロンビア爆発
■ 会社
- (8:25)出社。タイムカード点ける文化が身に付いていないので早速忘れた。
- (8:30〜9:15)部会など。発表された。
- (昼)誘いなし。なんだよ。
- (13:30〜14:30)打ち合わせ。スケジュール表がちゃんとあるので話は進んだ。
- (15:30〜15:35)上席執行役員とお話。どうということはなく意思の確認のみ。
- ひたすらドキュメント作成。ただいま10ページ。苦手だ。
- (18:00)退出。帰れるときに帰らないと。
■ [db] PowerGres
PostgreSQLのWindows版のβ版が公開されています。pgsql-ja MLより。48000円なのですね。OracleやSQL Serverに比べればダントツ安いですが。
■ [tdiary] tDiary-users
今のところWikiとメイリングリストがあるようです。Asumi日記より。メイリングリストに入ろうかな。
2005年02月03日(木)
- おかしな動きをするので調査調査調査。デバッガをうまく使えずprintfに頼る。結局元々のコードのバグや設定ミスが原因で、おれのコードを直すことはなかった。もの凄く疲れた。
- 部屋が寒すぎ。だからみんな風邪ひくんだよ。
■ [dev] 「研究業績」 (野中ゼミ)
大学の先生の論文がいくつか置いてある。「画面仕様書に基づく対話型ソフトウェアの複雑度重みつき機能規模の測定技法」「設計・ソースコードを対象とした個人レビュー手法の比較実験」「並行・反復型開発プロセスにおける工程品質を考慮したソフトウェア提供期間予測モデル」とかそういうの。oosquare MLより。
■ やること
- リンク元のスリム化
- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- 確定申告書作成
- 蛍光灯買う
- ブラウンの安い電動歯ブラシ買う
2006年02月03日(金)
- 今日も三時半になってしまった。明日は休みだからいいけど。
■ [soft][dev] 「Internet Explorer 自動運転ツール ROBO-IE」
ROBO-IEは、Microsoft Internet Explorer専用ではありますが、もっとわかりやすく、簡単に全自動UIテストコードを書くためのフレームワークです。
いろんな所より。IEをグリグリ動かすコードをJScriptで書いてテストさせるもののようだ。ここが作者の人のブログみたい。IeUnitというものもあると。
サンプルスクリプトを動かしてみたら、IEの情報バーが出てきてアクティブコンテンツの表示が制限された旨表示された。が、サンプルのスクリプトは動作し続けるようでIEのウィンドウがどんどんポップアップしてくる。
SKGMが作っているのもこういうやつなのかな。
■ やること
- 決算
- カレンダーを買う
- ドライヤーを買う
- 書留を受け取る
2009年02月03日(火)
- 初めてLinuxでVMWare Playerを使ったが、設定方法がよく分からない。Windowsだとvmnetcfg.exeでネットワークの設定ができるけど、Linuxだとどうすればいいのか。
■ [java] Cobertura でカバレッジを測定した
昨日のJMockitでは十分な結果を得られなかったので、Coberturaを使ってみることにした。こちらは素直に動いた。
インストール
Cobertura 1.9のアーカイブをダウンロードして展開するとトップディレクトリに cobertura.jar というファイルがあり、libディレクトリにもいくつかjarファイルがある。これら全てをクラスパスに含めれば使用できる。
Antに組み込んでカバレッジを測る
junitタスクを既に使っているとして、その前に cobertura-instrument タスクを実行し、junitタスクが完了したら cobertura-report タスクを実行すればいい。次のような感じ。ドキュメントにある通りにすればよい。
<target name="coverage" depends="..."> <delete file="cobertura.ser" /> <!-- 削除が必要みたい --> <path id="cobertura.classpath"> <fileset dir="..."> <include name="cobertura.jar"/> <include name="lib/**/*.jar"/> </fileset> </path> <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/> <cobertura-instrument todir="..."> <fileset dir="..." includes="**/*.class"/> </cobertura-instrument> <junit fork="yes"> <formatter type="plain" usefile="no"/> <classpath> <pathelement location="..."/> <pathelement location="..."/> <pathelement location="..."/> </classpath> <batchtest fork="yes"> <fileset dir="..."> <include name="**/*Test.java"/> </fileset> </batchtest> </junit> <cobertura-report destdir="..."> <fileset dir="nantoka/src/src" includes="**/*.java"/> <fileset dir="kantoka/src" includes="**/*.java"/> </cobertura-report> </target>
2023年02月03日(金)
■ [shell][unix] nohupは必要
以前、Bashがデフォルトではログアウト時にSIGHUPシグナルをジョブへ送らないことをメモした。
だから、Bash使用時にnohupコマンドを使う必要はないと思っていたが、そうではなかった。nohupは必要だ。
単にログアウトした時にはSIGHUPは送られないのだけれど、ログインした状態で端末ソフト(自分の環境だとWindows Terminal)を終了するとSIGHUPは送られるようで、このときバックグラウンドプロセスは終了してしまう。
nohupは指定したコマンドがSIGHUPを無視するようにしてくれるので、使っているシェルの挙動とは無関係にSIGHUPによるプロセス終了を避けられる。ただし、SIGHUP以外のシグナルを受けてプロセスが終了してしまうことはあることに注意。
次のページが参考になるのでメモ。
自分でも試しておく。
huponexitオフでログアウトした場合
Bashのデフォルトの設定だと、ログアウトしてもバックグランドプロセスは終了しない。
% bash --login $ shopt huponexit huponexit off $ sleep 200 & [1] 9224 $ nohup sleep 100 &> /dev/null & [2] 9225 $ exit logout
% ps u -C sleep USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND kenichi 9224 0.0 0.0 5364 560 pts/16 S 18:18 0:00 sleep 200 kenichi 9225 0.0 0.0 5364 560 pts/16 S 18:19 0:00 sleep 100
huponexitオンでログアウトした場合
huponexitを有効にすると、nohupを使っていないバックグランドプロセスは終了する。
% bash --login $ shopt -s huponexit $ shopt huponexit huponexit on $ sleep 200 & [1] 9233 $ nohup sleep 100 &> /dev/null & [2] 9234 $ exit logout
% ps u -C sleep USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND kenichi 9234 0.0 0.0 5364 560 pts/16 S 18:21 0:00 sleep 100
huponexitオフで端末ソフトを終了した場合
huponexitが無効であっても、ログイン状態で端末ソフトを終了するとnohupを使っていないバックグランドプロセスは終了する。
% bash --login $ shopt huponexit huponexit off $ sleep 200 & [1] 9241 $ nohup sleep 100 &> /dev/null & [2] 9242 $ (この状態で端末ソフトを終了する)
% ps u -C sleep USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND kenichi 9242 0.0 0.0 5364 496 ? S 18:23 0:00 sleep 100