2002年03月06日(水) 勉強行き忘れた日
■ 会社
- 11:20 清水さんのCLIEだけ記入画面2ページ目で必ずクラッシュする。なんでだー。
- 11:45 やっとわかった。FrmGetObjectPtr()の2番目の引数にインデックスではなくIDを指定していたためだ。清水さんの所でしか再現しなかったので手間取った。
- 14:00 グレースケールの扱い方は去年参考にしたページよりこっちの方がいいかも。
- 19:40 バージョン画面を作っているところ。明日にしようかなあ。
■ テレビ/本
- 日経オープンシステム2月号。
2003年03月06日(木) ロス銃撃事件で三浦和義被告無罪確定
■ 生活
- (12:00)起床。今日も会社を休む。それ程飲んでいないはずだが頭が痛い。寝方が悪かったのかも。
- あっという間に夜。全然地球の自転についていけていない。
- 会社から吸い出してきたメイルのデータを家のPCに吐き出した。ふう。
- 会社のメイルアドレスで登録していたMLへ一斉に退会メイルを送信。疲れる。ウェブで退会できる所の方が楽だ。ついでにmoz-usersとPASJJのMLには入り直した。
- (25:25)就床。いかんいかん。
-システム障害 対応中-
ただ今システムに深刻なディスク障害が発生しております。
スタッフ一同、復旧作業に全力をあげております。
ご利用の皆様には大変ご迷惑をおかけいたしております事をお詫び申し上げます。
だって。ブックマークしたいときにできないと落ち着かない。
■ [link] ハンズノート
東急ハンズに置いてあるやつのオンライン版かな。安藤日記より。見返すことはないのにハンズで見かけると貰いたくなってしまうものなので、オンライン版があれば安心して放っておける。
■ [dev] Web工房ねぽる主催:原田 洋子さん
Sun Developer NEWS内のインタビュー記事。コード読みたくてもなかなか読めない。
■ [java] Eclipseインストール
これだけはやらねばとEclipseのインストールをした。eclipse-SDK-2.0.2-win32.zipとeclipse-nls-SDK-2.0.x.zipをダウンロードして展開するだけ。インストーラーはない。何の問題もなく日本語メニューで起動した。以下のサイトをちらちら見たけど、使うのは後日だ。
■ やること
Eclipseインストール- ハブ&LANケーブル購入
CDR入手→Linuxインストール→tDiary1.5.3インストール- 手帳購入
MLからの退会ドコモのメイルを削除→携帯&PHSを返す- ThinkPadを返す
- 退職後の手続きをまとめる
- アントレを返す
2004年03月06日(土)
- Adobe Acrobat Reader 5.1にセキュリティ・ホール ってことなので、6.0.1をインストールした。
■ [java] 実践Java - 追加情報 (アスキー)
書籍 実践Java に収録しきれなかったという文章がPDFで公開されていた。Ant、Javadoc、JDBC、JUnitの4編。artonさんの著書目録より。
■ [dev] SCRUM: 超生産的ソフトウェア開発のための拡張パターン言語 (eXtreme Programming Online)
スクラムに関する文章の翻訳。2001年に翻訳されたもの。長くて読めない。橋本の正徳日記より。
■ [windows] W32Time サービスのレジストリ エントリ (マイクロソフト)
Windows 2000のTimeサービスの裏仕様。一昨年 悩んだ疑問の答えが載っていた。
LocalNTP : REG_DWORD
SNTP サーバーの起動に使用されます。
0 = コンピュータがドメイン コントローラではない場合、SNTP サーバーを起動しません。[デフォルト]
1 = 常に SNTP サーバーを起動します。
やっぱりドメインコントローラじゃないとSNTPサービス提供できないようになっていたのか。2003にはUIがあるのかな?void GraphicWizardsLair( void ); //より。
■ やること
- 決算
- 歯ブラシ買う
2005年03月06日(日)
- 何もしてない。
■ [work][soft] 「フリー財務会計」
無料の会計ソフト。帳票機能もちゃんとあるようなのでいいかも。スクリーンショットを公開していないのがもったいない。データの保存にFirebirdを利用している。はてなより。
■ [web] 「CSS記述規則「プロパティ別整理法」の提案」 (蓄積多趣味人)
大中規模なCSSの記述作業において、不確かな拠り所に依存した記述方法から脱却し、CSSのメンテナンス作業を円滑にするためにこの「プロパティ別整理法」を提案します。
CSSの書き方の話。よく読んでない。Hatena::agendaより。
■ やること
- リンク元のスリム化
- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
2008年03月06日(木)
- NTTコミュニケーションズから葉書が来ていて、電話番号が変わったらNTTコミュニケーションズにも連絡してくれと書いてあった。でも理由が書かれていない。電話する必要はなさそうに思う。
■ [dev][web] XPathを使う
XPathを使う必要がある。XPathは過去に何度か勉強したがすぐに忘れてしまい身に付かない。身に付かないのはメモしないからなので、今回はメモする。
RubyのREXMLを使って次のスクリプトを書いた。
#!/usr/bin/ruby
require "rexml/document"
xml = <<EOF
<root>
<momo>
<buka>
<name>hideyoshi</name>
<type>saru</type>
<weapon>panchi</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>taro</name>
<type>inu</type>
<weapon>kick</weapon>
</buka>
</momo>
<momo>
<buka>
<name>jiro</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>unknown</name>
<type>kiji</type>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
</buka>
</momo>
</root>
EOF
doc = REXML::Document.new(xml)
xpaths = [
["/root/momo/buka/type", "/root/momo/buka/type"],
["//buka", "buka全て"],
["//type", "type全て"],
["//type/text()", "typeの内容全て"],
["//type[text()='inu']", "内容がinuのtype全て"],
["//momo[buka/type/text()='inu']", "内容がinuのtypeを持つmomo全て"],
["//momo[buka[type/text()='inu']]", "これでもいいみたい"],
["//momo[buka[type/text()='inu'][count(weapon)>=4]]",
"内容がinuのtypeを持ち、weaponの数が4つ以上のmomo全て"],
["//momo[buka[type/text()='inu'][count(weapon[text()='kamituki'])>=3]]",
"内容がinuのtypeを持ち、内容がkamitukiのweaponの数が4つ以上のmomo全て"],
["//momo[buka[type/text()='inu' and count(weapon[text()='kamituki'])>=3]]",
"それともこう書くのかな"],
["//*[local-name()='momo']" +
"[*[" +
"[*[local-name()='type'][text()='inu']]" +
"[count(*[local-name()='weapon'][text()='kamituki'])>=3]" +
"]]",
"訳あってlocal-nameだけを使って頑張って書く。合っているかわからん。"],
]
xpaths.each {|x, text|
puts "-" * 40
puts text
puts "XPath: #{x}"
puts "-" * 40
puts REXML::XPath.match(doc, x)
puts
}
実行結果は次の通り。
----------------------------------------
/root/momo/buka/type
XPath: /root/momo/buka/type
----------------------------------------
<type>saru</type>
<type>inu</type>
<type>inu</type>
<type>inu</type>
<type>kiji</type>
----------------------------------------
buka全て
XPath: //buka
----------------------------------------
<buka>
<name>hideyoshi</name>
<type>saru</type>
<weapon>panchi</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
<buka>
<name>taro</name>
<type>inu</type>
<weapon>kick</weapon>
</buka>
<buka>
<name>jiro</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
<buka>
<name>unknown</name>
<type>kiji</type>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
<weapon>tutuki</weapon>
</buka>
----------------------------------------
type全て
XPath: //type
----------------------------------------
<type>saru</type>
<type>inu</type>
<type>inu</type>
<type>inu</type>
<type>kiji</type>
----------------------------------------
typeの内容全て
XPath: //type/text()
----------------------------------------
saru
inu
inu
inu
kiji
----------------------------------------
内容がinuのtype全て
XPath: //type[text()='inu']
----------------------------------------
<type>inu</type>
<type>inu</type>
<type>inu</type>
----------------------------------------
内容がinuのtypeを持つmomo全て
XPath: //momo[buka/type/text()='inu']
----------------------------------------
<momo>
<buka>
<name>taro</name>
<type>inu</type>
<weapon>kick</weapon>
</buka>
</momo>
<momo>
<buka>
<name>jiro</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
----------------------------------------
これでもいいみたい
XPath: //momo[buka[type/text()='inu']]
----------------------------------------
<momo>
<buka>
<name>taro</name>
<type>inu</type>
<weapon>kick</weapon>
</buka>
</momo>
<momo>
<buka>
<name>jiro</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
----------------------------------------
内容がinuのtypeを持ち、weaponの数が4つ以上のmomo全て
XPath: //momo[buka[type/text()='inu'][count(weapon)>=4]]
----------------------------------------
<momo>
<buka>
<name>jiro</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
----------------------------------------
内容がinuのtypeを持ち、内容がkamitukiのweaponの数が4つ以上のmomo全て
XPath: //momo[buka[type/text()='inu'][count(weapon[text()='kamituki'])>=3]]
----------------------------------------
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
----------------------------------------
それともこう書くのかな
XPath: //momo[buka[type/text()='inu' and count(weapon[text()='kamituki'])>=3]]
----------------------------------------
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
----------------------------------------
訳あってlocal-nameだけを使って頑張って書く。合っているかわからん。
XPath: //*[local-name()='momo'][*[[*[local-name()='type'][text()='inu']][count(*[local-name()='weapon'][text()='kamituki'])>=3]]]
----------------------------------------
<momo>
<buka>
<name>otosan</name>
<type>inu</type>
<weapon>kick</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
<weapon>kamituki</weapon>
</buka>
</momo>
本当は名前空間も使う必要があって、その場合はまだよくわかってない。REXMLは名前空間をきちんと扱えないらしいしな。
参考
■ やること
- クレジットカード
- 新税務署
- ダンボール
2014年03月06日(木)
■ [work][life] 確定申告に行く 2014
寒い中税務署へ。最近はずっとすいていた(と思っていたけど、確認したら2年前も並んでいた[追記])のに、今日は20人くらい並んでいた。
今年から復興特別所得税が課税されるみたいで、申告書にもその欄が追加されており、その記載漏れが多いらしく、そのせいで提出作業が滞っていたのかもしれない。あるいは単に晴れていたからかもしれない。
相変わらず年寄りだらけ。申告書と一緒に3cmくらいの厚さの紙の束を提出しているおじいさんがいたけれど、何の資料なのか。色々な紙が入っているような封筒を提出している人もいた。領収書を提出しているのか?
申告書を出して帰るとき、横の方にも出入り口があることを知った。そっちを利用したほうがプレハブまでが近い。来年はそちらの出入り口を利用したい。

● 相澤 [ゆえに「半落ち」なんだと言う口の悪い人もいます。]
● 小川 [そうだわな。途中までがとても面白いから落ちに大いに期待しちゃうんだよなー。]