2006-11-01から1ヶ月間の記事一覧

ホスト名、ドメイン名

ホスト名を変更するには、 hostnameファイルを変更 hostname.shで反映 が必要 % sudo vim /etc/hostname --- myhostname --- % sudo /etc/init.d/hostname.shドメイン名を変更するには、 自分のホスト名をDNSサーバに問い合わせないようにする設定 ホスト名…

my_print_defaults

設定ファイル(/etc/mysql/my.cnf など)で設定された値を確認する。 % my_print_defaults mysqld

マイグレーション その2

productionのデータベースを作るには、 rake environment RAILS_ENV=production migrate

poundのsslとの併用

poundでsslを使った場合でも、railsからはpoundがhttpでアクセスしてくるように見えるので、 redirect_toやurl_forが生成するURLのプロトコルはhttpになってしまう。 プロトコルを変更するには、コントロールでdefault_url_optionsをオーバーライドする。 de…

rcスクリプト その2

rcスクリプトのスケルトンは、 /etc/init.d/skeltonrcスクリプトの登録方法 skeltonをもとにファイルを作成し、/etc/init.d/に置く。 # update-rc.d rcスクリプトファイル名 defaults (起動番号 (終了番号)) rcスクリプトファイル名は、ディレクトリ名を指定…

公開鍵/秘密鍵

証明書(certificate) 公開鍵と認証局(CA)の署名 署名(signature) ダイジェストを秘密鍵で暗号化したもの 検証 署名を復号化し、ダイジェストをチェックすること パスフレーズ 秘密鍵を暗号化/復号化するときのパスワード。秘密鍵は普通、DES3などで暗号化さ…

ファイルの検証 GnuPG(gpg)またはMD5(md5sum)

そのユーザで一度もgpgを使ったことがない場合は、 gpg --list-keys とすると、.gnupg/ ができる。 .gnupg/にはGPGキーリング(公開鍵、秘密鍵を保管するファイル、pubring.gpg/secring.gpg)が作成される。相手の公開鍵をキーリングに登録するには、 % gpg --…

pound

ログは /var/log/syslogログをstdoutに出しつつ、設定ファイル(/etc/pound/pound.cfg)をチェックするには、 # pound -v -c

mongrel

コマンドの一覧 mongrel_rails help 各コマンドのヘルプ mongrel_rails コマンド -h

gem

gem

コマンドの一覧 gem help commands コマンドのデフォルトオプションを調べるには、 gem help コマンド または gem コマンド -hよく使うコマンド インストール/アンインストール/更新 install uninstall update インストール済みまたはリモートサーバから探す…

アーカイブ名とコードネーム

アーカイブ名、コードネームは、apt-lineのReleaseファイルに記述される。アーカイブ名 = Debianバージョン(stable, testing, unstable) コードネーム = woody, sarge, etch, sid ..aptツールで使われるのは、アーカイブ名(Debianバージョン)なので、 # apt-…

autoconf, automake

configure.in ---> (autoconf) ---> configure (automake) ---> Makefile.in ---> (configure) ---> Makefile

render と render_component

render :action => "demo"↑ demoアクションで使うテンプレートをレンダリングするが、demoメソッドは実行されない。 render_compoent :action => "demo"↑ demoアクションが実際に実行される。demoメソッドは実行される。 レスポンスは生成されるので、render…

コンポーネント

コンポーネントとは、コントロールとテンプレートのセットのこと。 コンポーネントを汎用的に使うためには、componentsディレクトリにモジュール名をつけて、 コントロールとテンプレートを置く。 components/my_test/abc_controller.rb components/my_test/…

部分テンプレート

部分テンプレートのファイル名の先頭はアンダーバー。 部分テンプレートとのやりとりはローカル変数で行う。 ローカル変数は部分テンプレートの名前で定義される。 ローカル変数に値を渡すには、 コントローラで、テンプレートの名前でインスタンス変数を定…

レイアウト

レイアウトの指定 class AbcController < ApplicationController layout "xyz" # <--レイアウトの名前 layout :determine_layout # <--レイアウトの名前を返すインスタンスメソッド def xxx # レイアウトの名前は、app/views をルートとして考える render :l…

フィールドのヘルパー

フィールドのヘルパーの最初の2つのパラメータは共通 1つめ、インスタンス変数(通常は、モデルオブジェクト)の名前 2つめ、インスタンス変数のアトリビュートの名前 この設定は、フィールドに値を充填するときと、フォームを送信するときに使われる。 名前は…

AssetTagHelper

Assetは素材(画像、スタイルシート、スクリプト)のこと。 <%= img_tag "img1" %> 生成されるURLは、asset_host + プレフィックス + 指定したパス + デフォルトの拡張子 asset_hostは、config.action_controller.assert_host プレフィックスは/images, /style…

対応関係

オブザーバ ---> モデル <===> コントローラ <===> ビュー <--- ヘルパー スイーパ | | アクション テンプレートコントローラは、 ヘルパーをビューにincludeする (helper) オブザーバをモデルに織り込む (observer) スイーパをアクティブにする (cache_swee…

マイグレーション

rails demo config/database.yml development: adapter: mysql database: demo_development username: hoge password: host: localhost encoding: utf8 socket: /var/run/mysqld/mysqld.sock config/environment.rb $KCODE = 'UTF8' app/controllers/applica…

設定

rails の設定は、ほとんどベースクラスのクラスメソッドで行う。 設定する場所は config/environment.rb クラス定義のとき config/environment.rb では、config(Rails::Configuration)オブジェクトを使う。 config . action_controller は、ActionController…

バリデーション

ActionController のバリデーション ActionController のバリデーションエラーは、フラッシュに保存する。 class HogeController < ApplicationController verify :only => :アクション名, :session => :セッションキー, :add_flash => { :notice => '何かメ…

ActionController のフィルタ

実装の仕方 メソッドシンボル class HogeController < ApplicationController before_filter :foobar private def foobar end end ブロック class HogeController < ApplicationController before_filter do |controller| end end クラス class HogeFilter d…

ActiveRecord のコールバック

実装の仕方 インスタンスメソッドを定義 class Hoge < ActiveRecord::Base def before_save end end ブロック class Hoge < ActiveRecord::Base before_save do |model| end end メソッドシンボル class Hoge < ActiveRecord::Base before_save :foobar prot…

コントローラの動き

対応するアクションが見つからない場合 method_missing が定義されている場合 method_missing を呼び出す レスポンスが生成されていない場合、テンプレートを呼び出す テンプレートが見つからなければ、'Template is missing' method_missing が定義されてい…

config/routes.rb

URL <===> config/routes.rb <===> パラメータ(@params) パターンコンポーネント :パラメータ名 *パラメータ名 (※配列) / (※コンポーネントの区切り) :controller (※モジュールに含まれるコントローラは'/'で区切られる) リクエストURLからパラメータを取得 …

ActiveRecord のアトリビュート

ActiveRecord::Base#attributes は、クエリの選択列のこと ActiveRecord::Base.columns は、マッピングしているスキーマの列のこと create table my_hoges ( id int not null auto_increment, aaa varchar(30) not null, bbb varchar(30) not null, primary …

super

オーバーライドしたとき、親クラスのメソッドを呼ぶには super

falseとnil

rubyの「真」は、falseとnil以外 (数値の 0 は true)

フレームとブロック

フレームはオブジェクト(self((メタクラス、クラス/モジュール、インスタンス 'すべてがオブジェクト'))と定義のある場所((self.classとは限らない))cbase)をもつ ブロックは関数本体(body)とローカル変数(scope)と定義の属す場所*1(klass)をもつ フレームが…