タグ

ブックマーク / elm200.hatenadiary.org (16)

  • WWW SQL Designer for Rails - elm200 の日記(旧はてなダイアリー)

    Web で、データベースの ER 図が描ける WWW SQL Designer は便利だ。Rails ユーザの利便性向上のため、次の修正を加えた。 ER 図を Rails のマイグレーションスクリプトとして出力。 テーブル間のリレーションを作るときに、自動的に生成される外部キーの名前を Rails の命名規約に従って、"外部テーブルの単数形"_id とした。 デモ版。(いつ削除するかわからないので、大切なデータは保存しないように) できればダウンロードして使ってほしい。数時間で修正したやっつけの実装なので、不都合を発見したら連絡されたい。 変更の詳細 index.php 修正 「Rails マイグレーション生成」オプション追加 main.js 修正 リレーション生成時の外部キーの名前を Rails 風に。 objects.js 修正 Rails マイグレーション生成イベントハンドラ追加。

    WWW SQL Designer for Rails - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2009/01/19
  • Capistrano に関する個人的まとめ - elm200 の日記(旧はてなダイアリー)

    Capistrano とは、要するに他の複数のサーバのシェルをローカルから一斉に操作できるツール。デプロイに使うのが代表的な用途。 初心者向けの分かりやすい解説サイトは、FFTTというところの Capistranoというエントリ。 % capify (パス名) で(パス名)にある Rails アプリに Capfile と config/deploy.rb というファイルを追加する。これで Rails 向けの Capistrano の機能が使えるようになる。 いちばんハマりやすいのは、deploy.rb の set :repository であるようだ。ここに SVN のレポジトリを指定するのだが、svn+ssh でパスワードありの場合どうなるのかな?

    Capistrano に関する個人的まとめ - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/04/14
  • 行動するために学び考えるということ - elm200 の日記(旧はてなダイアリー)

    お久しぶりです。ご無沙汰していました。 ここ数週間いろんなことを考えてきました。その過程で、私にとって重要な気付きがありました。それは、自分が考えたことをどれくらい実行に移せているのだろう、ということでした。 私は、勉強のよくできる子供でした。子供は、勉強するのが仕事とばかり、何に使うのかもわからないまま、いろんな知識を頭に詰め込んでいきました。頭が知識で満たされるにつれて、自分が単に知っていることと、実際に経験したことや身体を動かしてできることの間の区別があいまいになっていきました。 私がいままで人生を通じて感じてきた根的な不満感は、ここに原因があったように思います。人間は、自分の身体を動かし、人に語りかけ、現実を変えてこそ、生きているという実感を感じることができるのではないでしょうか。ところが、私は知識ばかりが先行して、かえって行動の妨げになっていたような気がします。 たとえば私が、

    行動するために学び考えるということ - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/04/11
  • シリコンバレーに行きます - elm200 の日記(旧はてなダイアリー)

    このたび思うところがあって、シリコンバレーに行く決意をした。12年前に IT 業界に飛び込んで以来、ずっと憧れであった土地・シリコンバレー。向こうの人たちの話を聞くたびにいてもたってもいられない気持ちになった。私がなぜそこまでシリコンバレーに行きたいか、その気持ちはこのブログの読者の方々なら、よくお分かりのことと思う。 海部美知さんはうまいことを言ったものだ。「パラダイス鎖国」。これぞまさに今の日の姿そのものだ。日人たちは、ますます外国に興味を持たなくなってきている。聞くところによれば、日が「飯がうまく、安全で快適な国だから」という。(当にそんなに快適かしら、と私はおもったりもするのだが)若い人たちは、外国に行く意味を見失い、日に閉じこもるようになったと。 だが、日は世界でもっとも閉鎖的な国ではない。日の上を行く「パラダイス鎖国」がある。それがアメリカだ。アメリカ人の多くは、

    シリコンバレーに行きます - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/23
  • プロフェッショナルの条件 - elm200 の日記(旧はてなダイアリー)

    ピーター・ドラッガーが90歳(!)を越えたころ書いたである。あまりに感動的なので、その一部を要約する。 Part 3 自らをマネジメントする - 1章 私の人生を変えた七つの経験 1.目標とビジョンをもって行動する---ヴェルディの教訓 ヴェルディは80歳を超えてオペラ「ファルスタッフ」を書いた。 ヴェルディの言葉「いつも失敗してきた。だから、もう一度挑戦する必要があった」 失敗し続けるに違いなくとも完全を求めていくことの重要性。 2.神々が見ている---フェイディアスの教訓 誰にも見えない彫像の背中・・・しかし「そんなことはない。神々が見ている」 誰にも気づかれなくても完全を求めていくことの重要性。 3.一つのことに集中する---記者時代の決心 一時に一つのことに集中して勉強する。 4.定期的に検証と反省を行う---編集長の教訓 「集中すべきことは何か」「改善すべきことは何か」「勉強す

    プロフェッショナルの条件 - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/18
  • Rails ユーザのための jQuery 情報ソース - elm200 の日記(旧はてなダイアリー)

    趣旨 Rails でアプリケーションを作成すると、もれなくついてくる prototype.js とその仲間たち。prototype.js は Ruby 風の API を備え、その意味では素敵なのだが、老舗な分、設計が古臭く、拡張性に乏しい。私の見るところ、拡張性の高さでは jQuery がよさそうだ。jQuery のメリットは、 DOM 操作が簡単。CSS セレクタで複数の DOM 要素を選択し、それらすべてに同じ操作をする、なんていうことが簡単にできる。 プラグインを作って、機能の拡張が簡単にできる。 グローバル名前空間をほとんど汚さないので、他のライブラリとの共存が楽。 等々いろいろある。プログラマとしては、理屈ぬきで、ソースコードを見たときの「気持ちよさ」がぜんぜん違う、という主観的な理由もある。これは、Rails のソースコードをはじめて読んだときの感動に少し似ている。 気になる

    Rails ユーザのための jQuery 情報ソース - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/14
  • jQuery を用いた in_place_editor_field - elm200 の日記(旧はてなダイアリー)

    趣旨 インプレース編集を可能とする in_place_editor_field。prototype.js 系はアレなので、jQuery 版を作ってみた。といっても、完全互換ではない。mouse hover がらみの処理は省略。みなさんなりの実装をするときの参考にしてもらえれば幸いです。 使い方 下のソースコードを見て config/environment.rb を修正し、public/javascripts/ajax_in_place_editor.js を新たに作る。 コントローラ・ビューを下のように設定する。 コントローラ (app/controllers/blog_controller.rb) class BlogController < ApplicationController in_place_edit_for :post, :title def update_in_place

    jQuery を用いた in_place_editor_field - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/13
  • マッチョたちの時代 - elm200 の日記(旧はてなダイアリー)

    もはや、働かなくてもかなり豊かに暮らせるようになった旧世代のある中年は、 「もはや、私たちの役目は終わった。我々はもう経済を支えなくてもいいんだ。 マッチョたちに任せておけば、日は安泰だ。 金を稼ぐのはマッチョの役割。ゆっくり余生を楽しむのが私たちの役割だ。」 と言いながら、寂しそうに笑った。 分裂君の力作エントリ。彼の未来予測モノはなかなか楽しめる。分裂君自体は、日はこんなふうにならないだろうな、と思いつつ、ウィンプな人々がどんなふうに反応するか探りを入れようと書いたのだろう。なかなか人が悪い。 たしかに、マッチョ主義は大変そうだけど、実はなんていうことはない、アメリカがそんな社会なのだ。もちろん、アメリカには、キリスト教的なセーフティネットがあることは忘れてはならない。(向こうでは、寄付やボランティア活動はごく普通に生活に溶け込んでいる) あともうひとつ。中国がそんな国だ。この国に

    マッチョたちの時代 - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/03
  • 解雇はチャンスかもしれない - elm200 の日記(旧はてなダイアリー)

    それであれば、懐も心が一時的に痛んでも、きっちり辞めてもらった方がお互いの立ち直りは早いのではないでしょうか。全てのケースがそうだというつもりはありませんが、それが出来ている会社ほど経営者も従業員も、そしてOB/OGもいい顔をしているというのが私の手応えです。 弾さんが「人はよいけど、仕事ができない」従業員を事実上解雇したときの話。はてブを見ると、果たして彼に対して批判的なコメントが多い。しかし、この辞めさせられた「いい人」にとって、この解雇がチャンスかもしれない、という視点がなぜないのだろう? どうもこの話を読んだ人たちの前提になっているのは、「この『いい人』は、絶対的に無能であり、弾さんの会社から首を切られたら最後、再就職の口などない」という考えであるようだ。当にそうだろうか?この人は、プログラムは書けなかったかもしれないが、実は営業ならできるのかもしれない。総務ができるのかもしれな

    解雇はチャンスかもしれない - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/03/03
  • 自分は無力だという信念 - elm200 の日記(旧はてなダイアリー)

    なんでも最近、日は格差社会に突入しているそうで、正社員になれず安い賃金で苦しんでいる若者たちが怨嗟の声を上げているらしい。だが、私にはどうも彼らのいっていることは頭では理解できるものの、うまく共感できなかった。 それがどうしてなのか、教えてくれたのが essa さんの最近のエントリ。 戦争と製造業と官僚制のみがリアルというパラダイム essa さんの言うことすべてに納得がいかないという、あるブロガーがこんなことを書いていたそうだ。 今後の社会が個人の才覚で切り抜けられるような社会になるなんて、とんでもない夢物語であって、そんなことを若者に信じさせて、さて彼が40過ぎても何も「価値」生み出せなかったら、誰が面倒をみるのだ? まず、そこのシステム、ベースを作ることがなによりも先だろう。 アンカテの中の人が書いたことは、下手すると完全雇用にあぶれた人にたいして、個人の才覚で、それのみでなんとか

    自分は無力だという信念 - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2008/02/24
  • trac の設定 - elm200 の日記(旧はてなダイアリー)

    自分自身へのメモ trac は基的に BASIC 認証で使う htpasswd ファイルを使ってユーザ管理をしている。(apache の htpasswd コマンドでユーザー追加) apache で上記の htpasswd ファイルを使ってログイン画面へ BASIC 認証を仕掛ける。 英語を面倒がらずに Help を読めばすぐ設定できる。 メールアドレスの登録は各人が Setting タブにおいて行う。 チケット発行時のメール通知を有効にするには、各プロジェクトごとに作られる trac.ini に設定を書く。

    trac の設定 - elm200 の日記(旧はてなダイアリー)
    u-ichi
    u-ichi 2007/11/23
  • Excel ファイルの内容を Ruby を使って高速取得する - Rails で行こう! - Ruby on Rails を学ぶ

    Rails には直接関係ない小ネタをひとつ。 Excel の中身を Ruby のプログラムから参照したいことがある。これは、次のように実現できる。win32/clipboard と win32ole という2つのライブラリを使う。 require 'rubygems' require "win32/clipboard" require 'win32ole' excel = WIN32OLE.new('Excel.Application') excel.visible = false excel.displayAlerts = false excel.workbooks.open 'filename' => 'C:\test1.xls' workbook = excel.workbooks(1) sheet = workbook.sheets(1) sheet.select excel.ce

    Excel ファイルの内容を Ruby を使って高速取得する - Rails で行こう! - Ruby on Rails を学ぶ
    u-ichi
    u-ichi 2007/10/06
  • distance_of_time_in_words 日本語化 - elm200 の日記(旧はてなダイアリー)

    趣旨 Rails には2つの時点の間隔を概数で報告してくれる distance_of_time_in_words というメソッドがある。Rails らしいオシャレなメソッドなのだが、これを日語化してみた。先日公開した DateHelperJa プラグインに追加する形で公開する。 % script/console Loading development environment. >> include ActionView::Helpers::DateHelper => Object >> distance_of_time_in_words(Time.now, Time.now + 29.seconds) => "1分以内" >> distance_of_time_in_words(Time.now, Time.now + 45.seconds) => "1分" >> distance_of

    distance_of_time_in_words 日本語化 - elm200 の日記(旧はてなダイアリー)
  • file_column プラグイン内部構造 - elm200 の日記(旧はてなダイアリー)

    file_column の内部構造についてメモ。 Rails におけるファイルアップロードの仕組みについて。 まず file_column を使わずにどうやってファイルをアップロードするのかというところから始める。 Entry モデルに image というファイル用のカラムがあったとする。アップロード用のフォームは次のような感じ。 <% form_tag({:action => 'create'}, :multipart => true) do %> <%= file_field 'entry', 'image' %></p> <% end %> file_field() は という HTML を生成するヘルパメソッドである。form_tag() で :multipart => true と指定されていることに注意。これがないとアップロードできない。 アップロードされたファイルを受け取るコ

    file_column プラグイン内部構造 - elm200 の日記(旧はてなダイアリー)
  • Ruby-GetText の導入 - elm200 の日記(旧はてなダイアリー)

    趣旨 私の心はいまだに ActiveHeart にはあるものの、世の中の趨勢はどうやら Ruby-GetText に傾きつつある模様。一念発起して Ruby-GetText を使ってみた。 とりあえずやりたいことは、 フォームの Vaildation 時のエラーメッセージの日語化 (カラム名の日語化を含む) である。この目標達成に絞って考える。 Thanks to these websites ネタ元のサイトに感謝の意を表しつつ。 Rails のためのものぐさな Web アプリケーションの国際化手法 私のような怠け者にはぴったり。 Ruby-GetText ご家 包括的である分、初心者にはいささかとっつきにくいかも。 Ruby-GetText の導入 % sudo gem install gettextこれで OK。他にパッケージは特に必要ないようだ。Ruby-GetText はバイ

    Ruby-GetText の導入 - elm200 の日記(旧はてなダイアリー)
  • Generator の歩き方 - elm200 の日記(旧はてなダイアリー)

    趣旨 script/generate はいわずと知れた Rails のコードジェネレータである。 % cd $RAILSAPP % ruby script/generate scaffold MyModelなどとして使う。このコードでは MyModel に関するコードの雛形が生成されるわけだ。 今日は、この script/generate がどのように動作するか、しつこく追いかけてみる。 (コードジェネレータの内部構造については Generatorプラグインの作り方 に簡潔に書かれている。とてもおすすめ。瀧口さん、いつもお世話になります(ペコリ)) コマンドが実行されるまで まずは、$RAILSAPP/script/generate の中身をのぞいてみよう。*1 #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config

    Generator の歩き方 - elm200 の日記(旧はてなダイアリー)
  • 1