2012/05/08(火)2点という大量援護
【東北楽天 vs 埼玉西武 第5回戦】 (2012年5月8日:日本製紙クリネックススタジアム宮城) 埼玉西武 0 0 0 0 1 1 0 0 0 2 東北楽天 0 0 1 0 0 0 0 0 0 1 [勝] 牧田 2勝3敗0S [敗] 辛島 1勝1敗0S
今日のライオンズ先発の牧田対策でしょう。イーグルスは4番のフェルナンデスを除いて、スタメン8人が左バッターとスイッチヒッターを並べてきました。15年ほど前、サウスポーが登板するたびに1番清水、2番原井という素敵オーダーを見せつけられたライオンズファンからすると、こういうオーダーの組み替えにどれだけ効果があるかは疑問が残りますが、ある意味予告先発を上手く活用していると言えると思います。
ただ、今日の牧田はそれをものともしませんでした。3回に聖沢のタイムリーで先制を許したものの、134球の熱投で1失点完投勝利。普段の牧田の当番日からは考えられない2点もの援護に支えられていたとはいえ、実に素晴らしいピッチングでした。
しかし、これだけの球数になったのに、9回に涌井を使わなかったのは何か理由があるのでしょうか。今日のような場面こそクローザーの力が必要な展開だと思うのですが……。
2012/05/07(月)Djangoアプリケーションの運用時とテスト時で認証バックエンドを切り替える
仰々しいタイトルをつけるほどのテクニックでもないんですが、メモ書きとして残しておきます。
私は今、DjangoにTwingo *1 という自作の認証バックエンドを乗せてシステムを構築している最中なのですが、単体テスト時にDjango本体のテストが通らない事象が発生しました。最初は私のsetting.pyの書き方が悪かったのかと思ったのですが、調べてみると、どうもDjango本体のテストコードが標準のバックエンド以外のことを考慮していないのが原因のようです。
#13394 (django.contrib.auth.tests fail with custom Authentication Backends) – Django
https://code.djangoproject.com/ticket/13394
パッチファイルもあるにはあるんですが、以前のバージョンに対するものなので、1.4には上手く当たってくれません。これは困ったなぁ……と思ったものの、冷静に考えてみればsetting.pyは単なる設定ファイルというよりはPythonプログラムです。じゃあif文で分岐させればいいんじゃね?
if not 'test' in sys.argv: AUTHENTICATION_BACKENDS = ( 'twingo.backends.TwitterBackend', )
本当は引数をきっちりチェックしたほうがいいんでしょうが、設定ファイルにあまり長いロジックを書きたくないのでこんな手抜きな感じで。アプリケーション名がtestだったりしない限りはこれで大丈夫なはずです。
こういう設定にすることにより、ログインが必要なページのテストがやりやすくなるという副産物もあります。通常の実行時は独自のバックエンドを動かすとしても、テスト時はあくまでも通常の認証方式なので、認証行為そのものはテストユーザーを突っ込んでself.client.login()を呼ぶだけで良くなります。
class AuthTest(TestCase): def test_auth(self): User.objects.create_user('user', 'user@example.com', 'user-password') self.client.login(username='user', password='user-password') response = self.client.get('/auth/') # 以下assert文が続く
テストコード中でTwitter連携をした上で認証するのは至難の業なので、これでずいぶん楽にテストができるようになりました。
*1:https://github.com/7pairs/Twingo
2012/05/06(日)両チーム決め手を欠いてドロー
【埼玉西武 vs 千葉ロッテ 第7回戦】 (2012年5月6日:西武ドーム) 千葉ロッテ 0 4 0 0 0 0 0 0 0 4 埼玉西武 1 0 0 3 0 0 0 0 0 4 (9回規定により引き分け) [花火] 2回表 清田 1号 3ラン (西口)
連休最後のゲームということで、スカッと勝って明日からの活力をもらいたいところでしたが、4-4で9回時間切れ引き分けに終わりました。というわけで働きたくないでござる。
今日の先発西口は、出来としては今シーズン最悪だったように見えました。失点は2回だけですが、中盤は立ち直ったというよりはマリーンズの拙攻に助けられたといった印象です。普段は無条件で西口さんに肩入れしている当ブログではありますが、今日は「負けがつかなくて良かったよね」という感想になってしまいます。それくらい悪かった。
打線は5回以降ノーヒットに抑えられたものの、その間も6つのフォアボールを選んでいますので、マリーンズ以上に拙攻だったと言えるでしょう。やっぱり中村がなー。中村は第1打席こそ軽打してタイムリーを打ちましたが、それ以降は内野フライが3つ。ちょっと重傷かもしれません。
2012/05/05(土)確か賢者七段くらいだった人のQMA日記
2012/05/05(土)大石プロ初登板
【埼玉西武 vs 千葉ロッテ 第6回戦】 (2012年5月5日:西武ドーム) 千葉ロッテ 0 2 0 0 2 0 0 0 0 4 埼玉西武 1 1 0 0 0 0 0 0 0 2 [勝] 唐川 5勝1敗0S [S] 薮田 0勝2敗9S [敗] 野上 1勝2敗0S
初回こそ三者凡退に抑えた野上ですが、2回以降は制球が定まらず、5回途中4失点でノックアウト。初回を見たときは「今日は行ける」と思ったんですが、2回先頭のサブローにフォアボールを与えてからリズムが崩れたように見えました。
2番手の木村が2回1/3をパーフェクトに抑えると、3番手にはプロ初登板の大石が登板。サブローにピッチャー返しの内野安打を許したものの、2回を投げて1安打1四球とまずまずのデビュー戦だったと思います。で、結局大石は先発じゃなくてリリーフで使うの?
打つほうはヘルマンが4打数4安打と大活躍。ようやく眠りから覚めてくれそうです。あとは中村と浅村だよなぁ……。