最近は技術書を読まずに小説ばかり読んでいるのだが、読みたいテクい本はたまってきているので整理するために書き出した。というか、僕のdeliciousのbookタグは雑然としすぎていると思った。
Archive for 8月, 2010
読みたい本@2010年8月末現在
8月 31
Time to Read
30分
ゴール
Nginxを、PassengerとSSLを有効にした状態でコンパイルし、配備する。いっしょに、自分CAで署名したSSL証明書も作って準備してみる。
Nginxを、SSL、passenger込みでコンパイルする
Nginx+Passengerであれば、通常 passenger-install-nginx-module を利用すると思うが、何も考えていないとSSLが有効化されないでコンパイルされる。今回、SSLを有功にしてコンパイルする手順をメモした。
子要素を再帰的に取ってくるストアドプロシージャ
8月 21
Time to Read
10分
なぜ
MySQLは、WITH RECURSIVE文をサポートしていないため、たとえば以下のような自己参照テーブル “comments”
+------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | parent_id | int(11) | YES | | NULL | | | body | varchar(255) | YES | | NULL | | | created_at | datetime | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+
において、あるレコードを起点とした、その子/孫レコードすべてを取ってくる、ということがSQL一回ではしづらい。
Ruby on Railsなら acts_as_tree 等を用いることができそうだが、何度もSQLを投げるため、よりパフォーマンスを上げたいのであれば、例えばストアドプロシージャに頼る等が考えられる。