タグ

ブックマーク / aligach.net (5)

  • rsync -C で除外されるバージョン管理関連のファイル

    rsync の -C オプションは CVS と似たアルゴリズムで同期対象からファイルを除外してくれる。 $HOME/.cvsignoreCVSIGNORE 環境変数各 SRC ディレクトリの .cvsignoreを参照してくれるが、それ以外にもデフォルトで除外してくれるパターンもある。 少なくとも rsync 3.0.7 では -C, --cvs-exclude This is a useful shorthand for excluding a broad range of files that you often don't want to transfer between systems. It uses a similar algorithm to CVS to determine if a file should be ignored. The exclude list is i

  • 今さらRails3メモ - その5: Model Association -

    まずは設計以前の話から。(というか設計は語れません。) あと、Rails ガイド読むならこのエントリ要らない。 Ruby on Rails Guides: A Guide to Active Record Associations 基概念用語DBMS 用語としては entity の relation だと思うんだけど、Rails 的には クラスベース OOP の用語をそのまま拝借して Model(クラス)の association と呼ぶらしい。 DBMSの制約はただの約束外部キー制約 = リレーションシップではないDBMS はこの制約を無視して構わないリレーションシップはテーブル設計を開発者が「そう決めた」からリレーションシップを設定するのが外部キー制約ではないことに注意してください。外部キー制約は、列の値がターゲットテーブルの既知のキーを参照するかどうかチェックすべきことを、データベ

  • tramp で sshx で multihop, Be My Last ヘビーローテ

    ;;「で」が multihop. 実は何度も何度も試してみていたんだけど、どうにも sshx で multihop できないなぁと悩んでいた。どうも sshx は multihop に使えるメソッドとして登録されていないっぽい。 各ホップは ホップメソッド 指定、つまりユーザ名とホスト名から成ります。ホップメソッドはインラインメソッドのみになり得ます。以下のホップメソッドが(今のところ)利用可能です: telnetrshsshsusudo※ 各メソッドの説明は省略しています。 ということでマニュアルの sshxお分かりのように、これは ssh とちょっと違った類似物です。 ssh がリモートホストで通常の対話的シェルを開くのに対し、このオプションは `ssh -t -t host -l user /bin/sh' を使って接続を行ないます。この方法は、通常のログインシェルが、ログインの際に

  • cron ジョブに複雑な条件を与えやすくする

    つーことで『cron, crontab, and more』でちまちま悩んでいましたが、思いついたのはまた Ruby ですが以下のものです。やってることは簡単で、要は 複雑な条件はお気に入りの言語で記述する ってことです。そのために 条件の名前と実行するプログラムを与えるだけのスクリプトを用意条件の名前はそのまま(この場合は Ruby の)実行するメソッド名に該当するcron には(例えば)以下のように書く という方法にしてみました。以下のスクリプトでは RULE は省略可能で、その場合は `default' を指定したものとみなしています。 ※ 比較的最近の Web アプリでよくあるプラグインと基的には同じアイディア、だと思ってます。 呼び出すメソッド(つまり判定条件)に引き数を与えることはできません。一瞬悩みましたが必要ないだろうと思いますし、引き数を与えられるようにすると実行時のパ

  • Capistrano は思ったよりシンプルで思ったよりすごい - あーありがち (2008-12-18)

    システム管理者のみなさん、こんにちは。今日は Rails アプリの deploy ツールとして有名な(らしい)Capistrano についてです。紹介? いえいえ。紹介はすでに有名な人たちによってなされています。ワタシがしたいのは検討。こいつはどこにどのように使えそうか。 Capistrano: Home システム管理の話なのになんで Puppet じゃないの?と思うかもしれません。それは、以前 Puppet の OSX 対応があまりよくなかったことと、また自分の環境が PPC Mac だったため、仮想マシンを使って他の OS を動かすのも現実的でなく、面倒になってしまっていたからです。 で、巡り巡って Capistrano って実は deploy 以外にも結構使えそうじゃない?と思えましたよというお話。想定しているバージョンは Capistrano 2.5.3 です。 なお、例によって嘘

  • 1