PHP カンファレンスに行く予定で、事前登録もしてて、参加確認メールも印刷してあって、準備万端だったのよ、、、昨日までは。結局、やることがいろいろ増えて、今日は仕事。
ということで、バスで出社。土日はバス通勤を認めてるのだ、自分的に。バスには、プリペイドカードの「バス共通カード」(ネーミングはなんとかならなかったのか?)を使って乗っているんだけど、プリペイドカードって、なんだかお金を使った気にならないね。本当はお金使ってるのに。あんまり積極的にプリペイドカードを持つ方ではないんだけど、電車に乗るときに僕だけカードを持っていなくて「なんでカード持ってないの?」と言われたこと数回、、、それからいくつか買うようにした。でも、まだスイカは持っていない。。。あー、本題はそれじゃなく、もしも「プリペイドカードで乗車するときにはお金を使った気がしない」というのが世間一般常識的考察だとしたら、この仕組み、うまくできてるなぁと。「お金を使った気がしない」=「気軽に乗車する(使う)」ので利用率が伸びるのかなぁとか。まぁ、実際のところは、「小銭を持たずにうんぬん」を隠れみのにして、「使われても(買われても)いないモノに対して売り上げる術」だということはわかっとりますです、ハイ。
仕事しながら何か聴くものはないか?と CD を物色してたら攻殻機動隊のサントラが出てきたので持ってきて聴いている。ちなみに映画じゃなくてプレステゲームのサントラの方ね。
「○○○」と「○○○ん」と「○○○さん」が出てくるようだなぁ。使い分けの基準を調べてみよう。
バスで家に戻って荷物を持って、今度は自転車で黒蜥蜴まで。会社の同僚が来たり(来させたり)して、その相手をしていたため、散歩部関係とはあまり話せず。なつめさんと初めてまともに会ったけど、結局ろくに話をせずお別れといった感じ。
閉店間際におっしーが初来店。その後、一旦家に帰っていた ohsamu も戻ってきて、駄目出しバーにマルホ堂全員が初めて揃った。店を閉めたあと、全員で「ウインド・トーカーズ」のレイトショーを観に。監督がジョン・ウーなので、アレを期待して。ま、特別良くも悪くもなくというところかな。でも、人が死ぬシーンが多くてヤな感じはする。戦争映画だからしかたないんだけどさ。。。
自宅近所で、AM4:00 までやってるらしいステーキ屋を目指すが、お盆だからなのか閉っていて入れず。結局、4人で味噌一へ。なんかこのパターンで定着しそうだなぁ。。。
しばらく前に「あれ?こんなん買ったっけ?」と、まるっきり記憶の無い「むしむし天国 / PUGS」なんて CD を発見した。その時は、んー、んー、としばらく悩んで、そのまま放ったらかしに。
昨日、ふとアクセスした PINK Web を見て、自分で買った事実を思い出した(笑)。PUGS は、PINK のメンバーだった岡野ハジメ、ホッピー神山、スティーブ衛藤が在籍しているってことで、かなり期待して購入したんだった。
でも、CD も記憶もお蔵入りしてた。期待した音楽と違ってたんだな。聴いて分かったよ(笑)
ユリちゃんが大阪から遊びに来てくれたので、お堂で一緒に夕飯を。その間、ず〜っと thk のストリーミングを聴いていて、ある意味幸せな気分にさせてもらった(笑)
しかし、人って意外なところで繋がってるもんだなぁ。世間は狭い。
「かの香織プロデュースによるセルフユニット」が cocu* らしいのだが、「かの香織って誰?」状態で購入。目当てはかの香織ではなく、共同プロデュースしている福岡ユタカの方だったりする。
Mac OS X で稼働する Cocoa アプリの標準キーバインドを変更する方法が解説されている。基本的に Emacs ライクなので、僕は標準のままで OK なのだが。
Safari で ACCESSKEY= のモディファイキーが Ctrl になっているのを変えたいのだが、次回で触れてくれると良いんだけどなぁ。。。
「ページ埋め込み型 RSS リーダ」だそうだ。「JavaScript を使って」と書いてあったので、「Javascript だけで作られてるんか!」と思ったのだが早とちり。本体は Perl で書かれていて、Javascript で表示を制御ということらしい。
これってもしかして tDiary プラグインで RSS リーダを作れば同様のことが実現可能なのでわっ?と思ったんだが、作るスキルも暇もなし、、、と、いじけていたら既に rss-recent.rb が存在するではないか。
自分でも意味がわからんけど、なんだか悔しいぞ。
ネタ元はARTIFACT。
5月頃、モスのCMに出ていた初季ちゃん。なんで今頃また話題に出すかと言うと、家族の方からツッコミが入ったのだ。
本当か?とも思ったのだけれど、メールアドレスも普通っぽいし、どうも本物のご家族の模様。
ノロケ気味なツッコミありがとうございました。
この前、超大盛・ペヤングソースやきそばを某Yさんに作ってもらったのだが、その途中で「『かやく』は麺の下に入れなきゃダメだろ!」と ohsamu と一緒にツッコんでしまった(笑)
麺の上に広げてしまうとお湯を切るときに、ちっこいキャベツとかが湯切り口から逃げてしまうので、あえて下に入れる。これって常識だよね?
▽ おが [ruby で ping サーバなんてあるといいなぁ....ボソボソ]
月曜日に購入して、水曜日に到着。なかなか優秀な配送システムで。
水に溶かして飲むものだと勝手に思い込んでいたら「水などと一緒にそのままお飲みください」と書いてあった。あ、でも「おいしい召し上がり方」には、溶かして飲んでも良いって書いてあるな。これが頭の中に残っていたのだろう。
さて、ではノーマルにそのまま飲んでみよう。。。
口の中にサーっと流し込んでみた。結構細かな顆粒で、舌の上で溶けて行く感じ。もっとザラつくのかと思ってたけどそうでもないな。これなら水ナシでも飲めるな。味の方もしっかりグレープフルーツっぽくて、なかなか良い。クスリっぽさもあまり感じないので、毎日飲むとしても苦にはならないだろう。
あとは、明日の朝の調子がどうか、かな。まーでも、1本飲んだだけで、いきなり効果を感じられるのかどうかは疑問だけど。
以前から目を付けていたアルティザン&アーティストの GDR-211C をポチってみた。
楽天の中では「レモン社オンラインショップ」が一番安くて、、、というか、ここだけ定価じゃなく販売している感じで、さらに他の店では在庫が無いところも多いので、なんだかホントに買えるのかが不安。
まぁ、在庫に関しては、明日あたりショップから連絡が来るだろうから、それ待ちかな。
昨日の日記の続き。
ERT の実行結果が表示されているバッファには、いくつかのキーバインドが設定されていてる。単に結果表示の場所ではなく、テスト実行やデバッグのためのインターフェイスを兼ねているイメージ。
キーバインド | 機能 |
---|---|
TAB / S-TAB |
プログレスバー / テスト結果間の移動 |
RET |
プログレスバー上から結果へ、テスト名から定義箇所へジャンプ |
r |
カーソル位置に近いテストの再実行 |
d |
デバッグモードを ON にしてテストを再実行 |
. |
テストケースの定義箇所へジャンプ |
b |
失敗したテストケース上で入力するとバックトレース表示 |
l |
should のテストのリスト表示 |
m |
テストケース内での message 結果を表示(print debug) |
昨日もちょっと書いたけど Selector
についての詳細。いろいろな指定をして実行するテストケースを選択(絞り込み)ができる。
Selector 名 | 選択内容 |
---|---|
nil |
なにも選択しない |
t |
全てのテストケースを選択 |
:new |
未実行のテストケースを選択 |
:failed |
失敗したテストケースを選択 |
:passed |
成功したテストケースを選択 |
:expected |
成功を期待するテストケースを選択(?よくわからない) |
:unexpected |
失敗を期待するテストケースを選択(?よくわからない) |
"正規表現" | 正規表現とマッチするテストケースを実行 |
テスト | 指定したテスト(ert-test オブジェクト)のみ実行 |
シンボル | 指定したシンボルのテストケースを選択 |
これらの他にも (member TESTS...)
や (eql TEST)
、(and SELECTORS)
、(or SELECTORS)
、(not SELECTORS)
、(tag TAG)
、(satisfies PREDICATE)
などがマニュアルには記載されているんだけど、ERT のインタラクティブモードでは使えないようだ。バッチモードで使うのかな。
アサーション用のキーワード(マクロ)についてもいくつか用意されている。
アサーション名 | 内容 |
---|---|
should |
成功を期待 |
should-not |
失敗を期待 |
should-error |
エラーが発生することを期待(エラータイプを指定) |
should-not-error |
エラーが発生しないことを期待(暗黙に設定されている) |
known bug などで「今のところ失敗することが分かっているけど、まだ直せていない動作」をテストとして書いておくこともできるようだ。この場合は、:expected-result :failed
と定義すれば良いようだ。
この場合「失敗することが分かっている失敗」については、プログレスバーの表示が小文字の「f」かつ緑色で表示される。失敗を意味する赤い大文字の「F」とは別の表記になる。
Selector のところの :expected
と関連ありそうなんだけど、ちょっと動作について理解しきれていない。
条件によってテストをスキップすることもできる。この場合はテストケース内に (skip-unless ...)
と条件を記載すると良いようだ。
せっかく手元に PostgreSQL 環境を作ったし、Emacs も新しくしたし、そろそろまともに sql-mode を使ってみようかなと思って試してみたのでちょっとまとめた。
このあたりの記事を参考にした。
とは言え、自分の設定は上の記事に書かれているものよりだいぶシンプル。あとで必要なら足せばいいかなくらいの感じ。
(eval-after-load "sql"
'(load-library "sql-indent"))
(defun sql-mode-hooks()
(setq sql-indent-offset 2)
(setq indent-tabs-mode nil)
(sql-set-product "postgres"))
(add-hook 'sql-mode-hook 'sql-mode-hooks)
これだけだと SQL 構文のハイライトとかにしかならないので、インタラクティブにクエリを実行するための設定をしてやる。本当は設定ファイルに書いたりするわけだけど、今回は手動で接続情報を入力する。
M-x sql-set-sqli-buffer
これを実行すると、ミニバッファで PostgreSQL の接続ユーザーやデータベース名、サーバ名が聞かれてくるのでそれぞれ答えると、次のような画面が開かれる。
*SQL*
というバッファを見て分かるとおり、これは psql コマンドのプロントそのもの。このバッファに直接入力することで、クエリの実行ができる。
ちなみに赤いカーソルのように見えているのは「行末のホワイトスペース」。グローバル設定で「行末のホワイトスペースは赤く表示する」というのを入れているので、それがこのバッファにも適用されてしまっている。
そして今回の本題。SQL を書いているバッファで C-c C-b
(sql-send-buffer) を入力すると、*SQL*
バッファにクエリが送信され、実行される。
これで「SQL をちょっと修正して、すぐに実行して試す」という流れが Emacs から離れずにスムーズに行える。気持ちいい。
ちょっとした注意点としては、(この sql-mode に限らないけど)大量の結果が返ってくるクエリには LIMIT 句を付けたほうが良い。付け忘れると、延々と *SQL*
バッファに結果が追記されていってなかなか戻ってこない。そんな時、PostgreSQL の場合は *SQL*
バッファへ移動して、C-c
でインタラプトすることができる。これはおそらく sql-mode の機能ではなく、psql コマンドがもともと持っている機能だと思う。
先ほどの C-c C-b
はバッファ内の全てのクエリを実行するコマンドなのだけど、バッファ内の一部のクエリだけを実行したい場合などは、別のコマンドで実現できる。クエリ実行まわりのコマンドには次のものがある。実行したい内容に応じて使い分ければ良さそうだ。
キーバインド | コマンド | 内容 |
---|---|---|
C-c C-b | sql-send-buffer | バッファ内の全てのクエリを送信・実行 |
C-c C-c | sql-send-paragraph | カーソル位置のクエリを送信・実行 |
C-c C-r | sql-send-region | リージョン(範囲)内のクエリを送信・実行 |
C-c C-s | sql-send-string | ミニバッファでクエリ入力し実行 |
C-c C-z | sql-show-sqli-buffer | インタラクティブバッファを表示 |
今回は PostgreSQL の例だけど、MySQL や SQLite でも同じように使える。(sql-set-product "postgres")
の部分を mysql とか sqlite にしてやればいい。これは M-x sql-set-product
でも設定できる。
オレとしては、最近多用している Hive でこれが使えると嬉しいのだけど、sql-mode 本体には Hive 用の処理が組み込まれていない。
ちょっと調べたところだと、hive-el を組み込めば、Hive が使えそうな雰囲気がある。でも、いま使っている Hive は接続方法がちょっと特殊なので、組み込んでも使えそうにないんだよなぁ。
何度かお店の前を通って、気になっていた Game Stop へ会社帰りに寄ってみた。外にはストーム・トゥルーパーが飾ってあったりしたので、それなりに期待してお店へ入った。
店内は、ビデオゲームのソフト中心で、グッズ系のあれこれは少なかった。Xbox のソフトがそれなりに充実していることの他は、日本の家電量販店でのゲームコーナーと似た感じ。
その後は、またデパ地下みたいなところでロブスターサンド。
ちょっとお高めだけど、美味しい。
今日のドリンクコーナーは、ロイヤルクラウン・コーラ
コカコーラもペプシもなければこれでもいい。
▽ ユリ [母方も父方も高血圧の人が多くて、私はその両方の血を受け継いだサラブレッド(笑)なので気をつけているんですけど、どうに..]
▽ すずき [まぁ、ほどほどにね〜。「入院しちゃうよ」は冗談ではなく経験談なので(笑)]
▽ 双月 [聴きたい〜!<攻殻]