Archive for 8月, 2010

読みたい本@2010年8月末現在

最近は技術書を読まずに小説ばかり読んでいるのだが、読みたいテクい本はたまってきているので整理するために書き出した。というか、僕のdeliciousのbookタグは雑然としすぎていると思った。

Read the rest of this entry »

 

Nginx+SSL+Passenger-Railsのセットアップ

Time to Read

30分

ゴール

Nginxを、PassengerとSSLを有効にした状態でコンパイルし、配備する。いっしょに、自分CAで署名したSSL証明書も作って準備してみる。

Nginxを、SSL、passenger込みでコンパイルする

Nginx+Passengerであれば、通常 passenger-install-nginx-module を利用すると思うが、何も考えていないとSSLが有効化されないでコンパイルされる。今回、SSLを有功にしてコンパイルする手順をメモした。

Read the rest of this entry »

 

子要素を再帰的に取ってくるストアドプロシージャ

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を投げるため、よりパフォーマンスを上げたいのであれば、例えばストアドプロシージャに頼る等が考えられる。

Read the rest of this entry »

 

GMate – ScreenCast 撮ってみました

Time to Read

3分

 

 

 


 

GMate Screencast(test) from Udzura on Vimeo.

先日の記事では大変分かりにくいかと思いましたので、練習も兼ねてScreenCast撮ってみた。

 

[Ruby on Rails]GMateが熱い件

Time to Read

45分

概要

私、一応職業としては、主にRuby on Railsで開発をしているプログラマなんですが、Railsの開発環境については以下のように変遷してきました。

  • NetBeans for Ruby on Windows
  • NetBeans for Ruby on Ubuntu
  • emacs + Rinari on Ubuntu

開発用マシンのOSはここ一年ぐらいUbuntuでやってます。

UbuntuのGNOME環境では(GNOMEなら他もそうなんでしょうが)、標準で「gedit」というエディタがついてきます。

軽量で、Ruby、PHP、JavaScript、HTML等多くの言語のシンタックスハイライトが最初から用意されていて、Windows風の操作感なので、僕のような「薄い」Linuxユーザにはとても優しい感じなんですね。ちょっとしたファイルの編集には以前からemacsではなくこっちを使っていました。

そういう中、「GMate」というものの存在を知りまして。

これが、本当に便利で、最近の開発は全部「gedit + GMate」でやっています。

主に、以下のような機能があります。僕はTextMateを使ったことが無いんですけど、概ね同じような機能が実装されているんではないかと思います。その上で、最初から日本語使えますし。

  • 大幅なシンタックスハイライトの拡張。cucumberのフィーチャーを色分けしてくれるのって、GMateぐらいじゃないか(w
  • コード補完。大雑把な感じだが、意外と役立つ
  • 各種設定ファイルへのホットキー
  • partialを一発切り分け
  • ファイル内全文検索。それも、あるプロジェクトに含まれるファイルすべてについて
  • 正規表現での文字列置換
  • 文字列操作ユーティリティの追加。行移動、複製など
  • TextMate風のたくさんのテーマ追加
  • その他、細かく、Rails向けに使い勝手を向上している

興味を持った方のための導入手順+詳細は以下。

Read the rest of this entry »