メモの日々


2001年11月26日(月) 今日はネジの独白があるはず

会社

  • 10:20 部会終わってだいぶ経ったところ。やること山積みだ。一つずつこなすしかない。SFAが一番悩ましい。とりあえず掲示板に拡張子なしのファイルを添付したときの動作を確認するのだ。
  • 14:45 なんだよー、フルバックアップ取れてないじゃんかよー。BackupExec嫌いだ。本所へ行かねば。
  • 14:55 なんだよー、気付いたらバックアップ開始してんじゃんかよー。どうしてだよー。分からん。
  • サンイーピー450はアドレス変わるだけでこのまま使えそうなので大丈夫です。でも万が一駄目な場合はHPを使わせてもらいたいかも。でもそれってちゃんとLAN上にあるのでしょうか。
  • 15:40 今日は腰が痛い。
  • 16:20 本所に行ってテープを交換してきた。特に問題なし。帰りにJavaWorldを買ってきた。あー、家賃を払わねば。金おろさねば。
  • 16:40 社内報を見てみると内定者の方々が載っている。なんと瀬田くんの名前が見つからない。佐伯さんはいたので少し持ち直す。瀬田くんなんでだー。
  • 18:50 oomtgmのユーザデータを各社へメイルで送った。とても大変。こんなの手作業でやるもんではない。もう7時だ。ちぇ。
  • 19:50 土曜日書きかけだったメイルをやっと出せたところ。もう皆帰った。えーい、今日は大残業だー。
  • 20:50 拡張子なしファイル問題の原因がわかった。ソースを見せてもらえれば皆分かるのだよ。直してもらえるだろうか。

テレビ

  • キャノンボール2。途中だけを見た。話の流れがさっぱり分からなかった。ジャッキーチェンはまだ線が細くてそんなに強くない。
  • ちびまる子ちゃん。さくらさん佐々木小次郎役で卑怯者が宮本武蔵役になったところ。後編へ続く。
  • ガキの使いやあらへんで。大喜利。あまり面白くない。来週も大喜利だ。

2002年11月26日(火) 避難訓練の日

[dev] 河童

ユニットテストツール河童のWebサイト。XP-jp MLより。Zopeで構築しているようだ。Zopeって何ができるのだ?

[mobile] KPilo V1 の公開場所

PiloWebの後継者になれるかKPilo。PalmFanより。求めていたソフトだがβ版なのとPiloWebからのデータ移行の面倒さが気になってインストールに踏み切れず。

[java][web] 「J2EEアプリの開発をもっと簡単にしたい」---Strutsの開発者McClanahan氏に聞く

Struts開発者のインタビュー。struts-user MLより。どうということはないが今後のロードマップが分かる。

Cプロジェクト

  • 機能設計書は書いた。たった2ページだが。

Kプロジェクト

  • 20:00〜21:00 SSL更新作業。ベリサインの書いている手順書通りに実施し特に問題なし。やっとやることリストの項目を1つ減らせた。

その他

  • 13:50〜14:25 避難訓練の一環で119の仕方と消火栓の使い方を勉強。119は向こうの質問に答えればいいのだ。消火栓は危ないから手を離してはいけないのだ。
  • 14:40 続いて避難訓練。外へ出て消防署の人の話を聞いた。消防隊は大変な仕事だろうなあ。
  • 18:40 Axisは大体分かったつもり。説明できんが。クライアント側にもAxisのライブラリが必要なのが少し面倒。CLASSPATHの設定とかも。あとjavaは長い文字をコマンドラインで入力しなければならないのが面倒だなあ。IDEがないとつらいかも。
  • 19:25 なんとエニックスとスクウェアが合併だそうで。スクウェアは資金繰りに苦しんでいたのか。ゲーム業界も大変だ。
  • 21:40 もうこんな時間かよ。

2004年11月26日(金)

[howto] CVSで変更・追加したファイル一覧を得る

ソース一式を入手→一式をCVSへ登録→独自の改造を加える、とした場合に、独自の改造を加えたファイルの一覧を得たかった。

cvs diff --brief -r1.1.1.1 | grep Index

とすると

cvs diff: Diffing ディレクトリパス

という余計な行が出力されてしまう。標準エラー出力をリダイレクトして(tcshを使っている)

cvs diff --brief -r1.1.1.1 |& grep Index

としてうまくいったと思ったら、これだと変更したファイルの一覧は出力されているが追加したファイルは出力されていなかった。後から追加したファイルにはリビジョン1.1.1.1が振られておらず、標準エラーに

cvs diff: tag 1.1.1.1 is not in file ファイルパス

という出力がなされていた。

cvs diff --brief -r1.1 |& grep Index

とすればいいかと思ったが、これだと変更していないファイルも出力されてしまう。それではと

cvs diff --brief -r1.1.1.1 |& grep 'Index\|is not in file'

としたら一応一覧を得られた。grep中の正規表現のor指定は「\|」とエスケープする必要があるみたい。で、このままだと出力がかっこ悪いので、覚えられないawkの使い方を調べながら

cvs diff --brief -r1.1.1.1 |& awk '/^Index|^cvs diff: tag 1.1.1.1 is not in file/ {print $NF}'

とした(正規表現も直した)。これでOK。awkのときは「|」にエスケープ要らないみたい。

もっと素直にできるやり方あるのかな。

(追記)

F先生からcvs updateでできるのでは、と言われたけど、

cvs -n update -r 1.1

だと変更していないファイルにもUマークが付いてしまい、

cvs -n update -r 1.1.1.1

だと後から追加したファイルに対して

cvs update: ファイルパス is no longer in the repository

のように出力されてしまうのでやっぱりawkなどで頑張る必要がある。

やること

  • プリンタ処分
  • リンク元のスリム化
  • ナンバーアナウンス解約
  • スーツをクリーニングへ
  • tDiaryバージョンアップ
  • FSWikiバージョンアップ
  • AVGバージョンアップ
  • バックアップ
  • JREバージョンアップ
本日のツッコミ(全3件) [ツッコミを入れる]

にしうら [cvs diffのオプションで、-N(Treat absent files as empty)というのがあるので、 ..]

小川 [なるほど、awkってそうやって使えるのですか。こちらの方がいいですね。 ところで、diffのオプションの「-d」の意..]

にしうら [私もよく知りません。なんとなく付けてみただけです。 Change the algorithm to perhaps ..]


2013年11月26日(火)

[java] JOptionPaneが閉じる前に処理をしたい

JOptionPaneで表示できるダイアログはボタンを押すと必ず閉じてしまうので、閉じる前にテキストフィールドの値をチェックしたりすることができない。

ダイアログが閉じる前に処理をする方法を調べていて、

が参考になったのでメモ。

  • JDialog.html#setContentPane()でJOptionPaneのインスタンスを設定すると、JOptionPaneが作るのとほぼ同じダイアログを作れる。
  • JOptionPaneのインスタンスにPropertyChangeListenerをセットすると、ダイアログ上のどのボタンが押されたのかを調べることができる。JOptionPaneのドキュメントに「 選択が変更されると、setValue が呼び出され、PropertyChangeEvent が生成されます。JOptionPane がすべての入力 setWantsInput に設定されている場合、バウンドプロパティーの JOptionPane.INPUT_VALUE_PROPERTY を待機することによっても、ユーザーが値を入力または選択した時点を判定することができます。 」とあるのがその説明だと思う。