Railsがバージョン1.2で確実に参加するようになったRESTfulリソースの世界では、当然のことながらXMLを共通言語として使用します。しかし、多言語となり得ない理由はひとつもなく、さらにRailsの万能性のおかげで、RESTfulなアプリケーションではXMLと並んで他の標準を簡単にサポートでき、よりたくさんのオーディエンスへアプリケーションを開放し、また、バンド幅要件の緩和に...
『 「Javaをはじめとするモダンなプログラミング言語では、いろいろな言語のいいところを混ぜていって、だんだんごちゃごちゃした言語になっているが、ほかの言語からあまり持ってくる必要はない。」/そこでSchemeです。 』
Railsの便利な機能の一つが、DBのマイグレーション機能だろう。RDBMSは便利な反面、プログラム言語と溝があり、扱いが面倒な時があった。そのため、O/Rマッピングのようなツールが作られ、状態のバージョン管理としてマイグレーションがとても便利だった。 開発しているシステムのDB構造が手軽に閲覧できる マイグレーションによってDBの構造や中身をあまり意識せずとも開...
『 いろんな言語の人の意見が聞けて面白かった。ついつい見ちゃった80分。質疑応答で竹迫さんがC薦めたところの流れがウケタw 』
@yugui 初めてのRubyのサンプルコードにtypoを見つけました。一部表記が「yapoo」となっていますが、これは「yappo」の誤りではないでしょうか。というわけで、先日はトークセッションおつかれさまでした。
Ruby にはリファレンスマニュアルはありますが、あれは、例えばPython の ドキュメントのように、まったくの初心者が読める物ではなく、ある程度 Ruby を知っていないと読めないもので初心者には向いていない 初めてのRuby を読んだ後にどうすればいいか 結論から言えば、「リファレンスマニュアルを読め!」です。 私は Ruby という言語の勉強のために参照したRuby本は実は1つも ...
Amazon.co.jp: 初めてのRuby: Yugui: 本 yugui wiki - 『初めてのRuby』サポートページ この手の系図には間違いがつきものなのですが、「プログラム言語の系譜で、Lisp→Smalltalkの線を引いてるのはこの本だけ!」と言われてしまうとつい反応したくなるのが人情というものでして…汗。 ▼ Pascal → Simula !? '70 → '67(SIMULA 67 の場合。SIMULA I なら '66) というのは時系...
『 人生はプログラミングだ。人生はゲームだhttp://fromdusktildawn.g.hatena.ne.jp/fromdusktildawn/20060719/1153306583、人生は神ゲーだhttp://anond.hatelabo.jp/20070303100408 』
Rails2.0の頃から出来たようなのだが、つい最近まで自分は知らなかった...ということがたくさんある。ずいぶん損をしていた気がする。断片的な知識が増えてきたので、サンプルコードを作りながらの自分用のメモ。サンプルコードは前回に引き続きQandAプロジェクト。 リスト表示する時のforループは「render :partial=>...」で置き換えることができる 「app/views/answers/index.html.erb」のfor...
第1引数でテンプレートディレクトリからのテンプレートファイルの相対パス、第2引数で生成されるファイルのRAILS_ROOTからの相対パスを指定します。 air_maintenance_generator.rb class AirMaintenanceGenerator < Rails::Generator::NamedBase def manifest record do |m| # Check for class naming collisions. m.class_collisions class_path, "#{class_name}" # API and test directories. m.directory File.join('air-source', class_path, class_name) # 一...
RailsのXMLのレンダリングが遅い。 これは、String#to_xsが遅いのが原因らしい。 そこで、これを高速化するためのライブラリfast_xsを使うと、 XMLのレンダリングが速くなります (手元の環境で試したところでは、若干速くなったような気がしました。) Rails-2.0以降では、fast_xsがインストールされている場合に、 自動的にそれを利用するようになっています。 [Changeset 7774] Reference curren...
『 GoogleGearsのオフライン機能を利用できるようにするRailsプラグイン。MITライセンス。 』
tDiaryのコードでRubyの勉強をしてはいけないという話 急にtDiaryというキーワードでひっかかる記事が増えたので(当然エゴサーチくらいしてますよ)、何かと思ったらYuguiが今日のジュンク堂のトークセッションで「読んではいけないコード」の例としてtDiaryとRailsをあげたからのようだ。両極端の例をあげるあたりがYuguiらしい(笑)。 Railsに関しては知らないが、tDiaryについては(現時...
Ruby Snippets (http://bendiken.net/snippets/ruby) rubyではこんな感じで簡単にカッコよく書けるよという7つ文例集です。 それぞれ10行程度の短いコードなのですが、こんな書き方があるんだと感心してしまいました。 例えばRSSをパースするコード def fetch_rss_items(url, max_items = nil) %w{open-uri rss/0.9 rss/1.0 rss/2.0 rss/parser}.each do |lib| require(lib) end rss = RSS::Parser.parse(open(url).read) rss.items[0...(max_items ? max_ite...
RubyKaigi2008メインセッション、サブセッション、およびRejectKaigi、RejectRejectKaigi 全ての動画公開の準備ができました。 動画は Ogg Theora形式のダウンロード または ニコニコ動画 からご覧いただけます。
『 そこで、初めてのRubyですよ!これ読んで、あとはリファレス読んで、自分の足で歩いて行けα(゚Д゚) 』
scaffoldはモデル同士の関連は無視して((と思っている。もし、モデル同士の関連も踏まえてコードを展開してくれたら、相当嬉しい。))、最も基本的なwebアプリケーションとしての骨格を生成してくれる。自分ではそれをお手本に、少しずつ拡張していくことが多い。しかし、モデル同士が無関係という状況はほとんどなく、ほとんど例外なくモデルにhas_manyやhas_one、belongs_toと書い...
その中でも直近の大規模なオープンソースプロダクトである Plagger はまさに Perl Hacker の教科書とも言えるべき存在だ。 「Plaggerのソース嫁」の真意 - TokuLog 改めB日記 ということで、Perl では「Plagger」が お手本となるソースとしてお勧めされているようなのだけど、 Ruby には Plagger のようなお手本となるソースはないのだろうか? 先日行われた Yugui さんと角谷さんのトークセッシ...
Railsは遅いと言われる。確かに富豪的なフレームワークであり、そのままの使い方では動作が重たい。そのため、解決手段としてmemcachedをはじめとしたキャッシュ技術を利用することが多い。 ログを解析して一覧してくれる だが、フレームワークの問題ではなく、プログラム側の問題もあるかも知れない。その解決のためにはまず、現状分析からはじめてみよう。 今回紹介す...
『 いい話。/id:gan2http://doc.loveruby.net/wiki/BitClust.html 』