データベース・リファクタリング

スコット W.アンブラー、ピラモド・サダラージ著

Amazonの貼り方忘れたw

データベースもアジャイルにというお話。

感想

  1. 前半でリファクタリングプロセス全体の話をしているけど、60ページ程度なので読みやすい。
  2. 後半は実際のリファクタリングにおけるベストプラクティスの集まりって感じなので、リファレンスによさそう。
  3. 既存のデータベースにはテストスクリプトがないから、回帰テスト用のテストスクリプト作成がネックになりそう。

mysqlのデータベーススキーマからテストスクリプト起こせるツールがあるとココがかなり楽になる。参照整合性のテストスクリプトをいちいち書くのとか嫌だ。。

データベースのテストスクリプトやテストデータ作成スクリプトとかも構成管理下にって言うのが興味深い。
先日初めてrailsをいじってみてデータベースのスキームが変更管理されていて便利だなーと思っていたところだったので、非常に納得がいく。
データベースってなんだかんだで機能追加するたびにテーブルやらカラムやら変更入れるけど、そのプロセス論って学んだことないし。

問題は、実践する機会がない。。。最近データベースはチューニングとかレプリケーションとかしかやってないからなー。
プライベートでもDB設計しないし。。。

メンテ放棄されてる某社内ツールに手を出そうかなー。機能追加したいし。

ApacheでWindows の統合認証ができるっぽい

http://d.hatena.ne.jp/dayflower/20070711/1184141979
これは便利かも。
検証しよー

NTLM⇒LDAP⇒htpasswdとフォールバックもできるとベスト

http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/README
を見たところ

# to enable 'NTLM+Negotiate' authentication too:

<Directory "/srv/www/auth">
  AuthName "NTLM Authentication thingy"
  NTLMAuth on
  NegotiateAuth on
  NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
  NegotiateAuthHelper "/usr/bin/ntlm_auth --helper-protocol=gss-spnego"
  NTLMBasicAuthoritative on
  AuthType NTLM
  AuthType Negotiate
  require valid-user
</Directory>

ってことは、複数のauthtypeを使えるのかも。
NTLM or LDAPもできそうな気がする。優先順位のつけ方がよく分からないので、フォールバックになるかは不明だけど。
要検証