Rubyの勉強、はじめました。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Rails Ajax サンプル

ゆっくりとだけど、Railsの勉強すすめてます。
Ajax on Railsてな記事を発見したので、
今日はちょっと寄り道して、Ajaxをごにょごにょしてみました。
簡略化した手順ですが、公開しておきます。

1.新規にRailsアプリ&コントローラ「Demo」を作成。
[~/work]$ rails ajax_demo
[~/work]$ cd ajax_demo
[~/work/ajax_demo]$ ruby script/generate controller Demo index

2.ビューを修正
app/views/demo/index.rhtml
<html>
  <head>
    <title>Ajax Demo</title>
    <%= javascript_include_tag "prototype" %>
  </head>
  <body>
    <h1>What time is it?</h1>
    <div id="time_div">
      I don't have the time, but
      <%= link_to_remote("click here",
        :update => "time_div",
        :url => { :action => :say_when },
        :position => "after") %>
      and I will look it up.
    </div>
  </body>
</html>
javascript_include_tag() は、Prototype JavaScriptライブラリをインクルードします。このライブラリは全てのRailsに含まれているものです。
link_to_remote() はその場所にシンプルなフォームを作成します。以下、引数の説明。
 1. 表示する文字列。この例では、"click here"。
 2. クリック後の実行結果と置き換わる内容を含むDOM要素のID。この例では、"time_div"。
 3. サーバーサイドでの動作を呼ぶURL。この例では、"say_when"を呼んでいる。
 4. クリック後の実行結果の出現場所を制御。省略すると、2番目の引数が置き換えられる。
 設定できる値は、top/bottom/after/before。

3.コントローラを修正
app/controller/demo_controller.rb
class DemoController < ApplicationController
  def index
  end
  
  def say_when
    render_text "<p>The time is <b>" + DateTime.now.to_s + "</b></p>"
  end
end


4.動作確認
[~/work/ajax_demo]$ ruby script/server
でWEBrickを動かして、localhost:3000/Demo にアクセス。

ajax_demo

"click here"をクリックする度に、画面遷移することなく、現在時刻が挿入されていきます。
ajax_demo_2


そんだけ。
スポンサーサイト


色眼鏡は外したか

遅読なもので、3週間くらいかかって
ようやく「ハッカーと画家」を読み終えました。
ハッカーと画家 コンピュータ時代の創造者たち ハッカーと画家 コンピュータ時代の創造者たち
ポール グレアム (2005/01)
オーム社

この商品の詳細を見る

内容的には、世間一般の話とIT全般の話(ベンチャーなど)とプログラミングの話が1対1対1という配分。
プログラミングの話は正直よくわからないところもあったが、他の2つについては、ビジネスをされている方なら理解なり反駁なりできる刺激的な内容。その独特の視点からの主張を読むと「挑発的」と評されるのもよくわかる。

そして、これを読んで僕が痛烈に感じたこと。
やっぱり自分はハッカーなんだと(悪い意味のハッカーではなく)。
いや、ハッカーと言えるまでに未だ至ってはいないのは重々承知しておりますが(´・ω・`)

でも、そのモノの捉え方にすごく共感を抱く自分がいる。
無駄なものを全部削ぎ落として本質的な部分のみを鋭くえぐりだしてくる。
ある種突飛ではある。常識人から見たら間違いなく変わり者。
でも極めて実践的。ゾクリと思うことがたびたびあった。

例えば、
何をアウトソースすべきで、何をすべきでないかは、会社にとってしばしば問題となる。競争的なプレッシャーに晒されていない職種をすべてアウトソースする。アウトソースすることで、そういう職種も競争的なプレッシャーに晒すことができる。
第5章 もうひとつの未来への道 欄外」より
(僕はなぜか本文よりも欄外の文章に多く惹きつけられてしまった。
要点だけが簡潔にまとまっているからだろうか。)
だいぶ乱暴に聞こえるかもしれないが、そう主張するに十分たる論理と実際の効果が予想できる。
変な例えになるかもしれないけど、中国の孫子とかもこんな考え方してたんじゃないかなぁと。
(その時代の)常識から考えたら、悪とも捉えられる考え方であっても、論理づけがあり、かつ実践にまで至る。

自分に知らず知らずかかってしまっている色眼鏡を外す。
それは、IT業界に関わらず重要な資質なのだと思う。
新しい価値ややり方を創造できる人はそうゆう人なんじゃないだろうか。

世の中に対する違う視点を知りたい人、IT業界やらプログラマやらがよくわからない人、そしてソフトウェア業界で働くすべての人(PGMもSEもコンサルも経営者も)にオススメできる本です。


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。