2001年08月07日(火) 夏休み後
■ 会社など
- 昨日は忙しかったな。
- 今日も忙しいよう。メモる暇もない。
- 世界陸上開催中。室伏銀メダル。朝原は準決勝で敗退。
- ツールドフランスはアームストロングが3連覇。
2002年08月07日(水) ネクタイの日
■ 会社
- 12:10 日経コンピュータと日経Windowsプロの送付先を以前の部から今の部へ変更した。
■ Iプロジェクト
- 10:00〜11:30 兒玉くんと作成機能について打ち合わせ。難しいなあ。
- 13:00〜15:30 &&&社へ行って帰ってきた。みずほ銀行が二つありビルを見つけられなかった。金曜日に向こうからこちらにきてプログラムをインストールしてくれることになった。
- 17:40〜 サーバの設定中。Windows2000、SP2、SRP1、IIS停止、LANへ接続、WindowsUpdateへ、とやろうかなと思っている。SP3が早くでてくれればよかったのに。
- 〜22:10 サイボウズの設定と同時進行。まだ終わってなくて、ドメインに参加できていない。それは明日やろう。とても疲れた。
■ Kプロジェクト
- 16:00〜17:30 AECと打ち合わせ。目黒さんだけ頼もしい。
2004年08月07日(土)
■ [サッカー] アジアカップ決勝 日本vs中国
TV観戦。日本の先発は川口宮本中澤田中福西中田加地三都主中村鈴木玉田。中澤はずっと調子がよい。鈴木がシュートまでいく所をやっと見れた。加地はもういいんじゃないか。
■ [java] 「Collected Java Practices」
TECHMemoより。Javaのイディオムが沢山あるみたいで便利そう。カテゴリは、Servlets and JSPs | Swing | Exceptions | Input-Output | Databases | Collections | Overriding Object Methods | Common Tasks | Common Design Patterns | Common Practices | Inheritance | More Common Practices | Assertions | Constructors | Serialization | Code Generators | Threads 。
■ やること
- プリンタ処分
- リンク元のスリム化
2006年08月07日(月)
- 再開。
- 夕方まで体調不良だった。すごく眠いし。夕方から元気になった。早く帰ろうと思っていたのに、元気になったら色々おかしな所を見つけてしまい帰れなくなってしまった。
- 今日の行数:9963
■ [life] 新幹線の切符を買う
えきねっとに会員登録してウェブから指定席を予約してみた。会員になる際にはクレジットカードの番号を登録する必要がある。
ウェブで予約した後、駅の券売機で切符を受け取ろうとしたがうまくいかない。クレジットカードを挿入して暗証番号を入力するのだけれど、番号が違うらしく3回入力し直したが認証OKにならなかった。クレジットカードの暗証番号なんてずっと使っていなかったのであまり自信がない。
切符を入手できず困ってまごまごしていたが、とりあえず窓口の列に並んだ。20人待ちくらいの所に窓口の担当者は3人で、40分くらい待たされた。長い。みんな何を話し込んでおるのか。やっと番になり窓口で切符の受け取りを頼むと、暗証番号の入力はせずに済み署名だけで大丈夫だった。無事切符を入手できてよかった。
なんで暗証番号合わなかったのかなあ。切符の受け取りに窓口へ並ばなきゃいけないのだと全然便利じゃない。
■ やること
- デザイン変更
- 保険
- ツールのDVDを観る
- 単4乾電池
2011年08月07日(日)
■ [vim][dev] Pyclewnを使ってVimからGDBを操作
GDBは--tuiオプションを使って使用していたのだけれど、PyclewnというPythonスクリプトを使うと、Vim上でGDBを操作できるようになることを知った。Vimにパッチを当てる必要もなく、GVim必須でもなくて素晴らしい。使い方などをメモ。
インストール
現在の最新バージョンは1.6。インストーラがあるのでそれでインストール。ドキュメントの通り、
% vimdir=$HOME/.vim python setup.py install --force --home=$HOME
を実行し、ホームディレクトリへインストールした。これで、pyclewnコマンドやVimのPyclewnプラグインが使えるようになる。
Pyclewnの起動と終了
Pyclewnは、Vimから「:Pyclewn」を実行して起動する方法と、pyclewnコマンドの子プロセスとしてVimを実行する方法の2通りの実行方法がある。後者の方が使いやすく感じた。後者の場合、
% pyclewn -e vim --cargs '-S ~/.pyclewn_mapping.vim' --args デバッグ対象プログラム名
のようにして実行できる。オプションの意味は次の通り。
- -e vim
- 使用するエディタプログラムを指定。gvimではなくvimを使いたいために指定した。
- --cargs '-S ~/.pyclewn_mapping.vim'
- Vimへのオプションを指定。~/.pyclewn_mapping.vimに、Pyclewn使用時だけ有効にしたいVimのキーマッピングを定義している(後述)。
Vimを終了すればPyclewnも終了する。
GDBの操作
GDBのほとんどのコマンドを、Vimのコマンドラインモードで「C」の後に続ければ使用できる。例えば、
:Cbreak main
とすれば、デバッグ対象プログラムの関数mainが表示され、そこにブレイクポイントが設定される。
その後「:Crun」して「:Cnext」して「:Cprint」してという風に、通常のGDBと同じように操作ができる。が、これだけだといつもより2文字多く打つ必要があり不便なので、キーマッピングを定義したい。
キーマッピングの設定例
Pyclewnには「:Cmapkeys」とすることでキーマッピングを定義する機能があり、このマッピング内容を設定ファイルでカスタマイズする機能もある。けれども、このカスタマイズ機能はVimのmapコマンドとは異なる方法でマッピングを定義していて、やりたいマッピングを定義できなかった(具体的には、カーソル位置の単語を取得することができそうになかった)。
なので、この機能は使わず、上に書いたように、~/.pyclewn_mapping.vim にmapコマンドでマッピングを定義して、Pyclewn起動時にこのファイルを読み込ませるようにした。今の ~/.pyclewn_mapping.vim の内容は次の通り。Pyclewn使用中は編集操作はしないと割り切って、いくつかの編集コマンド(編集以外もだけど)は上書きしている。まだ試行錯誤中なので注意。
cnoremap <expr> <SID>lineno line(".") " カーソル行にブレイクポイント設定/取消 nnoremap <script> BB :Cbreak <C-R><C-%>:<SID>lineno<CR> nnoremap <script> BC :Cclear <C-R><C-%>:<SID>lineno<CR> nnoremap R :Crun nnoremap S :Cstep<CR> nnoremap N :Cnext<CR> nnoremap F :Cfinish nnoremap U :Cuntil nnoremap C :Ccontinue nnoremap <C-U> :Cup<CR> nnoremap <C-D> :Cdown<CR> " カーソル位置の変数の値表示 nnoremap PP :Cprint <C-R><C-W> nnoremap PO :Cprint *<C-R><C-W> " カーソル位置の変数をwatch変数バッファに追加 nnoremap P` :Cdbgvar <C-R><C-W> " watch変数バッファのカーソル行の折り畳みを開く/閉じる nnoremap <script> ZZ :Cfoldvar <SID>lineno<CR> " watch変数バッファのカーソル位置の情報を削除 nnoremap ZD :Cdelvar <C-R><C-W>
watch変数バッファ
上のマッピングで使っているが、Pyclewnにはwatched variables bufferというバッファがあって、watchしたい変数をそのバッファに次のコマンドで登録できる。
:Cdbgvar 変数名
変数の型が構造体などの場合は折り畳まれて表示され、折り畳みの展開は次のようにして行う。
:Cfoldvar watch変数バッファの行番号
また、
:Cdelvar watch変数バッファ上での名前
でバッファから変数を削除できる。指定する名前はバッファ上で「var1」などと表示されている名前。
ブレイクポイント設定時の補完
「:Cbreak」コマンドでブレイクポイントを設定するとき、デフォルトでは関数名の補完が効かない。
:Csymcompletion
を実行すると、GDBが保持するシンボル情報を補完に利用できるようになる。
2012年08月07日(火)
■ [サッカー] ロンドンオリンピック 男子 準決勝 日本vsメキシコ (ロンドン)
卓球女子団体決勝日本vs中国を観ていたのでこの試合の最初は観ていない。福原vs李暁霞、石川vs丁寧、石川平野vs李暁霞郭躍。日本選手の出来はよかった。
日本の先発は前の試合と同じ。怪我をしていた永井も出場している。
前半10分過ぎ、大津がコール正面やや左からゴール右隅にレーザービームミドルシュートを決めた。すごいシュートだった。日本はパスがよく回り強い。山口の姿勢がよい。しかし30分にコーナーキックから決められたー。これが今大会初失点。メキシコも強い。メキシコペースで前半終了。
後半もメキシコ優勢。20分、スロー再生中に扇原がゴール前でボールを奪われてしまい、そこからゴール上隅へゴールを決められてしまった。初めて追う展開に。こうなったときのオプションで、東に代えて杉本を、清武に代えて宇佐美を投入。しかし日本は形を作れない。東清武不在は大きいか。更に扇原に代え斎藤。吉田を前線に上げてパワープレー。が、ロスタイムに逆にメキシコに左サイドを突破され得点されてしまった。