はてなキーワード: ruby on railsとは
Pythonではなぜ string.len() でなく len() なのか?
string = MyString("Hello world")
class String def len self.length end end print "Ruby on Rails".len #=> 13
前の60行テンプレートエンジンを改良して、レイアウトテンプレート機能を追加してみた(それでも全部で90行)。
レイアウトテンプレート機能とは、例えば個別のテンプレートが<table>...</table>を出力して、それをレイアウトテンプレートが<html><body>...</body></html>で囲って出力するとかそんなの。
詳しくは終わりの方のサンプルをみてくれ。
これは Ruby on Rails(とその仲間たち)にある便利機能のひとつ。
ついでにいうとSmartyにはない機能のひとつ。
今まで知らなかった人はぜひ試してくれ。チョー便利だから。
前回はたくさんのブックマークありがと。
コメントで「男前テンプレート」と名前がついてたので、勝手に採用。
あと、これ以上の機能追加はしないので、各自勝手に改造して使ってくれ(そのためにコメントをつけてるから)。何でも人任せにするな。
コード:
<?php /* * OtokomaeTemplate.php -- レイアウトテンプレートに対応した90行のテンプレートエンジン * * - レイアウトテンプレート中で echo $_content; とすると中身が表示される。 * - テンプレート中で設定した変数をレイアウトテンプレートで使うことが可能。 * - レイアウトテンプレート名をテンプレート側で指定することも可能。 * - 使い方: * require_once('OtokomaeTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $LAYOUT_TEMPLATE = 'layout.php'; // 省略可 * $context = array('title'=>'Example', * 'list'=>array(10,'<A&B>',NULL)); * include_template('template.php', $context); * - 要 PHP 5.1 or later * - ライセンス: public domain (自由に改造してね) */ /* * 設定用のグローバル変数 */ $TEMPLATE_DIR = NULL; /* テンプレートを探すディレクトリ */ $LAYOUT_TEMPLATE = NULL; /* レイアウトテンプレートのファイル名 */ /* * テンプレートを読み込んで実行する。 * $_context は変数名をキー、値を要素とする連想配列。 * $_layout はレイアウトテンプレートのファイル名。 * - NULL または省略した場合は $LAYOUT_TEMPLATE を使う。 * - FALSE ならレイアウトテンプレートを使わない。 * - $_context['_layout'] = '...'; とすればテンプレート側でも指定可能。 */ function include_template($_filename, $_context, $_layout=NULL) { global $LAYOUT_TEMPLATE; $_content = render_template($_filename, $_context); if (@$_context['_layout'] !== NULL) // テンプレート側で指定された場合は $_layout = $_context['_layout']; // それを使う。 elseif ($_layout === NULL) // 引数で指定されなかった場合は $_layout = $LAYOUT_TEMPLATE; // デフォルトのファイル名を使う。 if ($_layout) { $_context['_content'] = $_content; // レイアウトテンプレート中で使う変数 $_content = render_template($_layout, $_context); } echo $_content; // or return $_content; } /* * テンプレートを読み込んで実行し、その結果を文字列で返す。 * include_template() の実体。 */ function render_template($_filename, &$_context) { $_cachename = convert_template($_filename); extract($_context); // 連想配列をローカル変数に展開 ob_start(); include($_cachename); // テンプレートを読み込んで実行 return ob_get_clean(); } /* * テンプレートファイルを読み込み、convert_string() で置換してから * キャッシュファイルに書き込む。読み込み時のロックは省略。 * (file_get_contents() もファイルロックできるようにしてほしいなあ。) */ function convert_template($filename) { global $TEMPLATE_DIR; if (! file_exists($filename) && $TEMPLATE_DIR) $filename = "$TEMPLATE_DIR/$filename"; $cachename = $filename . '.cache'; if (! file_exists($cachename) || filemtime($cachename) < filemtime($filename)) { $s = file_get_contents($filename); $s = convert_string($s); file_put_contents($cachename, $s, LOCK_EX); // LOCK_EX サポートは 5.1.0 から } return $cachename; } /* * テンプレートの中身を置換する。 * - '#{...}' を 'echo ...;' に置換 * - '%{...}' を 'echo htmlspecialchars(...);' に置換 * - ついでにXML宣言も置換 */ function convert_string($s) { $s = preg_replace('/^<\?xml/', '<<?php ?>?xml', $s); $s = preg_replace('/#\{(.*?)\}/', '<?php echo $1; ?>', $s); $s = preg_replace('/%\{(.*?)\}/', '<?php echo htmlspecialchars($1); ?>', $s); return $s; } ?>
<?php require_once('OtokomaeTemplate.php'); $TEMPLATE_DIR = 'templates'; $LAYOUT_TEMPLATE = 'layout.php'; $context = array('list'=>array(10,'<A&B>',NULL)); include_template('template.php', $context); ?>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <body> <h1>%{$title}</h1> <div id="maincontent"> <!-- テンプレートの内容 --> <?php echo $_content; ?> <!-- /テンプレートの内容 --> </div> </body> </html>
<?php // レイアウトテンプレート名をテンプレート中で指定する場合 ?> <?php //$_context['_layout'] = 'mylayout.php'; ?> <?php // レイアウトで使用する変数をテンプレート中で指定する場合 ?> <?php $_context['title'] = 'レイアウトのサンプル'; ?> <table> <?php foreach ($list as $i=>$item): ?> <tr bgcolor="#{$i % 2 ? '#FFCCCC' : '#CCCCFF'}"> <td>#{$i}</td> <td>%{$item}</td> </tr> <?php endforeach ?> </table>
出力例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <body> <h1>レイアウトのサンプル</h1> <div id="maincontent"> <!-- テンプレートの内容 --> <table> <tr bgcolor="#CCCCFF"> <td>0</td> <td>10</td> </tr> <tr bgcolor="#FFCCCC"> <td>1</td> <td><A&B></td> </tr> <tr bgcolor="#CCCCFF"> <td>2</td> <td></td> </tr> </table> <!-- /テンプレートの内容 --> </div> </body> </html>
いくつか補足:
翻訳 - Ruby on Rails: David Heinemeier Hanssonへのインタビュー
しばらくは自己弁解モードでした。Rubyに変更しないための理由を作っていました。
一日経つと「Rubyが本当に好き」になり、一週間経つと「PHPには戻れない」状況になりました。
小飼弾のアルファギークに逢いたい♥:#2 Ruby on Rails作者 David Heinemeier Hansson(前編) RubyでRailsを書いたわけ|gihyo.jp … 技術評論社
DHH:PHPは今でも,ほとんどの部分がスタティック(静的)で,
一部だけ,たとえばフッタとか,バナーとかダイナミック(動的)なものがあるシステムに関してはとってもいい言語だと思います。
????????m - DeepBurner WinShot(Windows95/98/Me / 画像&サウンド)
ウノウラボ Unoh Labs: VMwareとCentOSでウェブ開発の環境をさっさと整える手順書(前編)
VMWare上のUbunutu 7.10 Gutsy Gibbon上にRails環境 - clickyourstyle.comのサテライト
FreeBSD : PowerEdge SC430にFreeBSD 6.1をインストールする : コンピュータも夢を見る
Home | Ubuntu Japanese Team Ubuntu - Wikipedia 日本語ローカライズ | Ubuntu Japanese Team
ウノウラボ Unoh Labs: RackでWebアプリのWebサーバー依存を無くす
Ruby on Rails のサーバプロセスを把握する - hetimaの日記
BlogFish: Scaling Rails with Apache 2.2, mod_proxy_balancer and Mongrel
FastCGI インストール - Rails で行こう! - Ruby on Rails を学ぶ
rails で apache + fastcgi (マルッと!)
CentOS で構築する自宅サーバ : Apache + lighttpd で Rails を動かす
Fedora Core 3で Ruby on Rails:Goodpic
InstantRails で 簡単 Ruby on Rails 体験 RubyForge: Instant Rails: Project Filelist
Ruby on Rails[その他技術] -TECHSCORE- Ruby on Rails[その他技術] -TECHSCORE-
ruby script/generate model Item
ここでの規約は
「モデル名にはテーブル名と同一の単語の単数形を用いる」
「'_' などの記号は用いない」
TWTR: Summary for Twitter, Inc. Common Stock- Yahoo! Finance
Twitterの株式公開初日。株価は74%上昇して45.10ドル。時価総額は318億ドル | TechCrunch Japan
Twitter、今年6月にユーザー5億人超か―ブラジル急成長、ツイート数では日本語が依然英語に次いで2位 | TechCrunch Japan
GOOG: Summary for Alphabet Inc.- Yahoo! Finance
Railsにある20%のソリューションで問題の80%を解決できるようにしています。
http://www.atmarkit.co.jp/news/200711/16/twitter.html
ウィリアム氏がOdeo内で始めた小さなプロジェクトが「Twitter」だ。
Ruby on Railsを使って2週間で最初の動くバージョンを 作り上げた
はてなブックマーク - Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介
Ruby on Railsで10分で作るTwitterもどき
Ruby on Railsをすぐ使う - Ruby on Rails 2.0アプリを1分で作る:ITpro
Ruby on Rails 2.0アプリを10秒で作る2.0
katoy: cocolog: Rails 2.0.2 は 5 行でアプリ雛形作成/起動ができる!
Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう - Michael Hartl (マイケル・ハートル)
クックパッド株式会社 に行ってきた! - 941::blog
Ruby on Railsで1億PVのサイトの開発が出来て、エンジニアは5人しかいない
クックパッド(株)【2193】:株式/株価 - Yahoo!ファイナンス
ウォンテッドリー株式会社 に行ってきた! - 941::blog
ココロオドル仕事を見つける方法 | 仲 暁子 | 本 | Amazon.co.jp
Wantedly 航海日誌 — 私のようなの素人のためのHacker Way
はてなブックマーク - アイディアに価値はない by 仲 暁子
http://anond.hatelabo.jp/20130101082333
Focus on Technology:Ruby on Railsとエンタープライズを結び付ける「Merb」 (1/2) - ITmedia エンタープライズ
「Rubyに恋をし、Rubyが長きにわたって存在すると感じた人はたくさんいる。そして彼らはもっと強力なものを求めたのだ」
Merb 1.0 リリース記念に、Merb がどんだけすごいのかを紹介した海外の記事を翻訳してみた
速報: Merb と Rails が統合 - kwatchの日記
http://www.google.com/webhp?hl=en
http://www.google.com/search?hl=en&q=ruby&btnG=Google+Search
ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies
ブラウザでRails開発が完了する衝撃の簡単さ - builder by ZDNet Japan
CやPerl、Python、Rubyをブラウザ上で実行できる「codepad」:phpspot開発日誌
C言語をブラウザで実行、Ruby/Python/Perlも然り | マイナビニュース
Odeo内で始めた小さなプロジェクトが「Twitter」だ。Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。
Ruby on Railsで1億PVのサイトの開発が出来て、エンジニアは5人しかいない
http://blog.kushii.net/archives/1350951.html
http://d.hatena.ne.jp/gamella/20081027/1225119262
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。
Gregg PollackとScaling Railsのハウツー
1つには、Railsアプリケーションをうまくスケーリングするために必要なすべての情報をRails開発者に与えること。
しかし、できれば、開発者がビデオを見て、何百万人の同時ユーザーを扱うRailsアプリケーションを
作成できます、とクライアントに言える自信を持ってもらいたいのです。
2番目に、Railsアプリケーションをスケーリングすることがどれほど簡単かを、他の言語の開発者に示すこと。
http://www.infoq.com/jp/articles/gregg-pollack-scaling-rails
Ruby on Railsで10分で作るTwitterもどき - ZDNet Japan
http://japan.zdnet.com/video/screencast/story/0,3800079413,20354695,00.htm
Rails 2.0.2 は 5 行でアプリ雛形作成/起動ができる!: katoy: cocolog
http://youichi-kato.cocolog-nifty.com/blog/2008/01/rails_202_5_9198.html
Ruby on Rails 2.0アプリを1分で作る - Ruby on Railsをすぐ使う:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20080606/306873/
30分で Rails youtubeアプリ - 脱・下流エンジニア (仮)
hp12c - Railsでブログを作ろう!(Creating a Weblog in 15 minutes)
Ruby on Railsで10分で作るTwitterもどき - ZDNet Japan
Rails Pocket Reference (Pocket Reference (O'Reilly)): Eric Berry: 0636920520702: Amazon.com: Books
http://127.0.0.1/phpmyadmin/ http://127.0.0.1/mysql/
http://127.0.0.1:3000 http://localhost:3000/entries/
http://127.0.0.1/cgi-bin/c.cgi
C:\InstantRails\cgi-bin\c.cgi
キーワード「ruby」を含む新着エントリー Ruby Inside: The Ruby Blog
Ruby関連MLの自動翻訳サイトが公開 - JRubyのNutter氏に触発 | マイナビニュース
Rails Forum - the ultimate Ruby on Rails community
gem install hpricot
gem install mechanize
タコについては以下を参照。
http://www.linux.or.jp/readme.html#tako
問題はRailsがリプレース案件にはまるで向かないってことなんだよね。
”なんでもできる”と今までより効率があがるかというと別だとおもうんだ。
そもそも「リプレース案件」って言葉に関係者が引きずられてる仕事はやる意味ないよ。「遅い」って理由ならハードとOS入れ替えて動作検証だけやっとけ、って話だし。わざわざ新規開発するなら業務とシステムの両基盤を見直すってことで、それは要件定義からやり直しだろっ!ってことだし。
「入れ替えだから簡単だよね」とかいうスーツは無知で無能でクズ。アホでバカ。低脳でワーキングプア。
DBがらみが複雑なものでRuby on Railsを採用したらいままでより工数が増えるとおもうんだけどどうなのよ?
その「複雑」が、業務フローがDBにガチコーディングされてる、みたいなのはそうね。Rails標準構造じゃないだろうし。
Railsは「仕事のやりかたも開発する人間も変わっていくんだから、オレオレ仕様の複雑なDBはやめなよ」って思想。それから外れてりゃダメに決まってる。
ただシステム規模の大小にかかわらず、Rubyで楽しくプログラミングできるというのはデカイ。
C++で高低水準処理が混じったコードの保守とか、Javaで自動生成コードの海に溺れるとか、そういうのが精神的にいかにキツイものか。Rubyを知って自覚した。
タコってなに?
Rubyの10分でほにゃららできるは煽りすぎだとおもうけど、そういう風に耳目を集めていくしかないのかなと思うよ。
実際素人でもなぞるだけならアプリっぽいものがスグできるからまずはそれででもいいから実際に触ってみて欲しい。
if-elseの連続でもポインタを理解していなくてもまったく問題ない。
そこからはじめてくれればいいだけだとおもうよ。
でも、Rubyが”10分でできる”という幻想をもったまま流行ると物凄く大変なことになる。
問題はRailsがリプレース案件にはまるで向かないってことなんだよね。
”なんでもできる”と今までより効率があがるかというと別だとおもうんだ。
DBがらみが複雑なものでRuby on Railsを採用したらいままでより工数が増えるとおもうんだけどどうなのよ?
勉強からはじめ10日間ぐらいでひとつのRubyアプリケーションをつくった。
キャッチコピー道場 CatchCopyHacks
ドリコムの運営さんにDBのキャラをLatin1からutf8に変えてもらってようやく日本語が動くようになったので一応公開。
これをつくるまでの詳細な過程は[Ruby]のタグをひいてみてほしい。
http://anond.hatelabo.jp/c/Ruby
RonRに触ってみて思ったことをいくつか書いておきます。
0から作る分には正直それほど生産性は高くないと思う。
ただ、既存プロジェクトの焼き直しやプラグインを活用できるようなケースに限って言えばほぼ設定変更だけで対応できる。10分でつくる***みたいなものは既存のものをナゾルというバッチスクリプティングというような作業。(プログラミングという所作からは遠いかもしれない。)
Ruby on RailsはDRY:繰り返さないことを標榜しているがあれはウソだと思う。
プラグインなどをオーバーライドさせて再帰的に繰り返していくことこそがこの言語の特性だとおもう。
過去のプロジェクトなどの繰り返し。これこそがRailsの本領ではないのだろうか。
プラグインを自作してストックできる体制ができあがったら物凄く生産性をあげることができる。
敷いたレールのうえを突っ走らせるのはものすごく簡単だ。
だが、レールに分岐をつくったり、既存のレールから少しでも外れたことをやろうとすると他の言語よりも苦労をする。
とくにO/Rマッピングは設計から頭を悩ませることになる。
逆にO/Rで何ができるんだという発想から辿らないと設計できなかった。
もし既存のシステムからのリプレイスであったら困難を極めるだろう。
システム会社がRonRを生産性が高いだの、国産だのとの流行で取り入れて、
リプレース案件を請け負ってデスマーチに陥る姿がありありと目にうかんだ。
find_by_sqlを連発せざるをえないシステム。少し想像するだけで怖い。
RailsのMVCは賞賛にあたいすべきものであるが、もしRonRをチームで取り組んだときには担当分担は非常に頭を悩ませることになると思う。Vの部分は分業容易だが、特にCの部分は設計が担当できるレベルのPGが必要になる。
コンシューマ向けサービスのように自らの要件と仕様が近いようであれば回避できるかもしれないが、
客先都合で変更が入った場合RonRのその特性が仇になる可能性が高い。
チームに目的地まできちんとレールをひける人が居ないと間違いなく地獄に落ちる。
その目的地に案内することを客先にきちんとコミットできる人が居ないと間違いなく地獄に落ちる。
まだ1、2年ぐらいはないなという思いを強くした。
コンシューマー向けのサービスをRonRで展開することはできても、人月仕事をRonRでやるにはまだ無謀すぎる。
現状では、やれたとしても単票、マスメン系が限界だ。10人を超える案件にはまだ向かないとおもう。
言語としての難易度は他とそれほどかわらないが、方言というレベルでは収まらないので、
3、4年生レベルのイキのよさそうなところに勉強会にでてもらうとかアンテナ立てておいてもらうより無いのではないか。お金になるのはもういっぽ先だ。
スラッシュドット ジャパン | Ruby on Railsは万能薬ではない
はてなブックマーク - スラッシュドット ジャパン | Ruby on Railsは万能薬ではない
PHPプログラムを始めてみたい、難しいと思っている人の為に*ホームページを作る人のネタ帳
アフィリエイトは儲かんないってば:PHP初心者によるPHP入門 - livedoor Blog(ブログ)
PHPの車輪はバカに出来ない。使うに留めず使いこなしてからが面白い。*ホームページを作る人のネタ帳
service_YouTubeというPEARモジュールを使うと、YouTubeAPIを活用して驚くほど簡単に動画サイトが作れます。
指定したタグがついているすべての画像の一覧表示をいうのをservice_YouTubeを使うと以下の様な文で構築できます。
CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社
Shane's Brain Extension: A Ruby Interface to the YouTube API
YouTubeのAPIを使ってみる。 - t-imaizumiのMacとかのはなし
Flickrの画像をはてなに貼り付けるためのHTMLを取得するスクリプト。 - t-imaizumiのMacとかのはなし
InstantRails で 簡単 Ruby on Rails 体験
10分で作るRailsアプリ for Windows - masuidrive
ITmedia エンタープライズ:第1回 Instant Railsで始めるWindows環境のRails (1/2)
Scaling Twitter: Making Twitter 10000 Percent Faster | High Scalability
【特選フリーソフト】生産性の高いWeb開発環境 Ruby on Rails:ITpro
37signalsのBasecampはXeon 2.4GHz dual,メモリー2Gのサーバー2台で40万リクエスト/日を処理している。
他にも43Things.comでも20万リクエスト/日の処理
Basecampはデュアル2.4GHz Xeon、2MBメモリのマシン上で15個のFastCGIプロセスと
50から100個のApache 1.3.xプロセスが動作している2つのWeb/アプリケーションサーバによって、
1日約40万リクエストを処理している。しかし、マシンのロードは通常0.5から1.5程度。
MySQLのサーバは他の2つのアプリケーション(Ta-da ListとBackpack)で共有されていて、最大50万行のテーブルを持っている。
このMySQLは3つのアプリケーションから利用されているが、ロードは0.1から0.3の間で、ボトルネックにはなっていない。
Part2 Rubyに学ぶ「Ruby on Railsの正体」:ITpro
1.day.ago # 現在時刻から1日前を表すTimeオブジェクト
10.years.from_now # 現在時刻から10年後を表すTimeオブジェクト
1.kilobyte # 1024
●productsテーブルからnameが'book',priceが2079であるようなProductオブジェクトを読み取り,存在しなかった場合はデータベースにレコードを新規作成する処理
book = Product.find_or_create_by_name_and_price('book', 2079)
Ruby/Ruby on Rails/model/5分でわかるActiveRecord - PukiWiki
$ irb
irb(main):001:0> a = [ 'dog', 'cat', 'sheep', 'horse' ]
["dog", "cat", "sheep", "horse"]
アルファベット順に並べ変えたいときは
irb(main):004:0> a.sort
["cat", "dog", "horse", "sheep"]
順序を逆にしたいときは
irb(main):005:0> a.reverse
["horse", "sheep", "cat", "dog"]
アルファベット順に並べて、順序を逆にしたいときは
irb(main):006:0> a.sort.reverse
["sheep", "horse", "dog", "cat"]
正直どれもあまり役にたたなそうだなと立ち読みしながら思った。
Perlと同じぐらいの書籍がおいてあるのに書籍のレベルが総じて低い。期待値と未成熟さが同居している。
本を買っただけで、他にはなにもしなかった。
Railsでソーシャルブックマークを作ってみようか(第2回)
http://d.hatena.ne.jp/PoohKid/20070220/p1
これをちろりとやってみた。
ログインしたらIn the Caboose.なるポエムが表示されて変なプラグインいれちゃったのかとかなり反省。
よくわからない。
どうもしくじったようだ……。
とおもったら、できてたみたい。
views/account/index.rhtmlに記述されてた内容がそのまま表示されていたようです。
「エラーが発生しました。詳細についてはエラー・ログを参照してください。」
なんとなく構成はわかったから、そろそろコーディングしてみるか。
昨日買った本を読みながらやっていたのだが、この本がなかなかいい。
少なくとも最初に買った
とは大違い。実用書は現物をある程度見てから買わないとダメだと痛感した。
もし、この本を本屋で立ち読みしてからだったら買わなかっただろう。
やっぱSEはやるなー。秀和ははずすとほんとに本の趣旨がわからなくなる。
engines:なんだろう
Login engine:なんだろう
サンプルとかをみていると変数前に$、@がつく。なんだろう?スコープかな。
$→グローバル
サンプル突っ込んでいわれるがまま設定して500だと不慣れだとどうしていいかわからないよ。
せめて行とかでないものか、どこで設定するのだろうか。
探したがみつからなかった。
Rake Tasksの画面で
db:migrate:enginesと呼び出すところを候補がでないので、
db:migrateでメソッドをenginesにしてしまいなんで失敗するのかわからなかった。
にしてもまいった。こんな時間までがんばってみたが、本当にコーディングにも入れないまま終わりそうだ。
あれ、まだ成果物につながるようなコードを一行も書いていない。
予定では今日形にはなっていないとまにあわないのに。
後で本でも読むか。
http://anond.hatelabo.jp/20070919192802
mySQLやApacheのサービスからぬっころしても100MBもあかない。
閑話。
そういえば昨日のセミナーの会社はDBはPostgreSQLがメインだったっていってた。
確かに数年前までmySQLは複問合わせもできないおもちゃだったからビジネス判断としては正しいのかも。
http://anond.hatelabo.jp/20070921082153
Ruby界隈うろうろしててみつけただけだよ。マルチポストされてたし。
こんどは有償(といっても3000円)で講師を招いてまたやるみたいだよ。
情報まで。
トピックを見ると、なんかちょっと内容に既視感を覚えちゃうので、自分は行く予定ないけど。
あと、おまけ情報。今日の日経37面に出てたけど(つかコピーを貰った:東京・首都圏ニュースだからみれないのかな?)
NaClとまちづくり三鷹が、日本初!プログラム言語Ruby及びRuby on Rails講師養成講座を開講
http://www.value-press.com/pressrelease.php?article_id=17586
こんなんもあるよ。こっちは少し内情知っているのだけど業者向けかな。
確か受講料20万ぐらいで数日かけてやるような講習会だった記憶がある。
あら、31万だった。
関係者から受けなよ言われてるんだけど、講師業をやるつもりはないのでお断りするZE!
だいたい30万を稼ぐのにどれだけタンポポのせなきゃいけないんだぜ
http://1945.sin5.net/flash/tanpopogame.html
http://1945.sin5.net/flash/tanpoporashi.jpg
まあ講師業をやるなら今の時期に参入すりゃ30万ぐらいはもとはとれるだろうけど。
ざっと流し見てみた。
Railsでソーシャルブックマークを作ってみようか(第2回)
http://d.hatena.ne.jp/PoohKid/20070220/p1
初期導入から纏まっている。ざっと見デザインまでやらなければ30分もかからなさそうなので後でやってみようと思う。
以上、まだサイトを見るのは途中。
今日はあまりできなかった。
その代わり、夕方からRuby on Railセミナーにいってきた。
http://www.web-career.com/seminar/ruby_on_rails.html
残念ながら「美人ですね。」っていうような受付の人はいなかった。というか男だったので自重した。
一部のWebアプリを作ろう!みたいなコーナーはオーソドックス。
前知識がないひとにはとても役にたつだろう。
二部のパッケージ開発手法、テスト、品質管理はRubyを実務につかっている会社の話しは聞けないので、なかなかあつかった。疑問に思っていたことにも触れられたのでよかったなと思いましたとさ。
具体的にはプラグインの有効性、開発規模や体制なんかを聞けてよかったざます。
その後に軽い懇親会みたいなのもあったので、なかなか貴重なセミナーだった。
セミナーの主がKBMJグループとかいうので、相当立派なビルにはいってるので、帰ってきてから調べ驚いた。
株★魔人の人の会社気が付いたらこんな規模になってるのかよ!!
時代の流れは恐ろしいものだなと感じるとともに己が身を振り返りふがいなさ満点。
RonRは既存のプロジェクトや、中規模レベルの開発には向いていないような気がする。
あと、これプログラムいうよりはシェルとかバッチを書いているような錯覚に陥る。
シェルの先にあるものを自作するほど開発工数さける規模でやるか数人でちょこちょこカスタマイズで食っていくかしかないのではとおもった。
だが既存のビジネスの代替ラインにはのらない気がするな。
Ruby on Rails: ログイン機能を作る (acts as authenticated 編)
Safe ERB (Rails Plugin)
http://d.hatena.ne.jp/kstn/20060708/1152345246
Rails のアプリケーションで DB や HTTP リクエストから取ってきた文字列を rhtml で出力するときに h メソッドなどでエスケープしないとエラーを出すというプラグインを作ってみました。
Eclipse経由を諦めてAptana IDEをそのまま使うようにした。
なんかこれは、まんまEclioseなのかもしれない。同じコードから作られてるのかな?
使いやすいよ。
昨日の続きでこれをやった。
Windowsで簡単にRuby on Rails:Instant Rails+Aptana
http://japan.zdnet.com/sp/report/story/0,2000056431,20352478-3,00.htm
まずは、図11のようにテーブル名の単数形である「category」、「recipe」でそれぞれモデルを作成する。「GO」ボタンをクリックするだけだ。
まったくもって何を言っているのかわからない。
そして図11なる画面をどこで呼び出すのかもわからない。
「みちこさん?パソコンを立ち上げるっていうのは縦に置けばいいのかいのぉ・・・?」
つまりはそういう感じだ。
うりうり探してたら、初期表示画面の画面下部のタグにGenerators画面があった。
scaffoldって絞首とか処刑とかそういう意味じゃなかったっけ?
で、なんなんだ!?
なんだかよくわからないまま連載終了。・・・くっ。
Aptana Eclipseプラグインで始めるRuby on Rails
http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php
前にも見たことがあるこれにもどってきた。
現段階の環境構成でAptana IDE経由でRubyのHello Worldを試す。さくさく。
おー。
この一連のコラムが、いままでの中で一番わかりやすかった。(目次はわかり難い)
http://blog.codezine.jp/editor/2007/08/ruby_on_railsscaffold_1.php
Aptana IDEのブラウザ内臓ってどこから呼び出すんだろ?
→下部WindowにあるServerタグのところにアイコンでLunchBrowserというのがあった。
設定ついでにワークスペースにエンコードの設定の欄を発見。utf-8に変換した。
(エンコードの状態をステータスバーなどに表示させておく方法はないのだろうか?探したが見つけられなかった。)
Generatorsタグが消えてしまった。
→パースペクティブがRubyになってた。これをRuby on Railsに。
Rake tasksを実行したりするとGeneratorsのプルダウンが出なくなる。なんでだろう?
なんとかならないものか。
http://blog.codezine.jp/editor/2007/06/ruby_on_rails_migration1.php
RailsではmodelファイルはDBのテーブルと対になります。
いわゆるO/Rマッピングというやつです。
へーーー!!そういう意味だったのか。
IDE系統でメモリ食ってるのかな?落とすと300MB近くあく…。
1Gまでもっていかれちゃうと終了もままならなくなるので注意が必要そう。
Hello worldレベルでこんなんなってちゃ世話ない。
複数を組込むにはどうしたらいいのだろうか。
さすがにheader/detailでDB参照したい。
追記:なんか少し調べたけどもしかしてRuby on RailsってO/Rマッピングオンリー…?
そんなまさか…。いや、いくらなんでも…。
http://www.web-career.com/seminar/ruby_on_rails.html
作る内容をもっとシンプルなアイディア勝負なヤツに変えようとおもう。
昨日立ち上がらなくなったEclipseは、RDT0.9.0を上書きしなおしたらEclipseが起動するようにはなった。ただ、Rubyの開発でEclipseの導入は諦めた。Javaの環境をこれ以上壊したくない。
Railsがなんだかよくわかっていないので、
【特選フリーソフト】生産性の高いWeb開発環境 Ruby on Rails
http://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/?P=3&ST=lin-server
ここらへんをやる。いうとおりにやったら出来なかった。
ruby script/generateでエラー吐いてますよ。
一年前の記事が役にたたないなんて…。
細かいレベルで違うのは合わせられるけどlibレベルでio syntaxとか吐かれると、追う気がなかなかおきない。
Rails 1.2.3、Ruby 1.8.6は相性悪いのかな??
困ったな。このレベルでの導入障害は予想外。
http://japan.zdnet.com/video/screencast/story/0,3800079413,20354695,00.htm
これを見てて思った。この秒読みのおねーちゃん萌え。というのは冗談で、
何かRuby on RailsってColdFusionっぽくない?言語体型というより基本コンセプトというか、そういうのが。
Railsについて新しい記事を探すことにした。
http://japan.zdnet.com/sp/report/story/0,2000056431,20352478,00.htm
なんだ知らないのがいっぱいあるぞ。
Instant Rails http://rubyforge.org/frs/?group_id=904
MySQL/Ruby 2.7.3 (native driver)
Mongrel 1.0.1
ここらへんなんだろ?
さっそく上から追ってみる。
起動させるとWarnigが出て、プロセス強制終了させてもループに入っちゃって消えない。
なんだこれ><
OKボタンだけの無限ループ警告って一番やっちゃいけなよ・・・。
普段400MB程度しかつかってないマシンなんだけどアプリ起動していない状態で800越してる。
もうかなり萎えてます。
素の開発環境立てればよかった…。何かぶつかってるのかな。
昨日の増田。
とりたてて特殊なルールも何をみるというポイントもかかれていないようだ。
協賛企業をみても系列一色だ。
求人情報が併載されているところをみると、もしかしたらそちらがメインのコンテストなのかもしれない。
締め切りは25日。これまでにサービスインをさせなければいけないらしい。
逆算しても23日にはローカル鯖で動いている必要があるだろう。
23日は誕生日だ。よって作業をするつもりは殆どない。
でも、誰も相手をしてくれない気がするので作業をしてしまうかもしれない。
23日までまる5日しかない。
唯一、ドリコム賞というのがComet/ShootingStarを使うことを前提としている。
Cometをメインに据えてあと5日でどうこするのは見通しが立たない。
余裕があったら追ってみよう。
積読していた本をひっぱりだす。
なにがなんだかわからないがRails言うからにはRailsが必要なのだろう。
検索してあれこれをダウンロードしてみる。
初期設定でまとめられたのないかなと再度検索。
Windows環境での Ruby on Rails (開発環境構築)
http://www.syssupo.co.jp/net_hal/ror.html
こういうのをみつけた。便利!!感謝!!最初からここから辿ればよかった。
httpd.confいじくってapache再起動掛けたらスタートできない。
困った。
見直してみたらRubyForApacheのインスコでしくじったよう。
再度設定。
HelloWorldをさっそく。
コマンドラインなら成功するのだが、rbファイルを配置してのブラウザベースの起動のさせかたがわからない。
ruby -e'puts("Hello The World!!WRyyy!!!")'
あ、、なんだ、拡張子をrbで作ったのがいけないのか。拡張子をcgiにしたら動いた。
#!ruby puts("Hello,The world!")
RailsのHello, world!はなにやらさらに違うようだ。
Railsというのはなにやらスケルトンのフレームワークなのだろうか?
http://blog.codezine.jp/editor/2007/06/ruby_on_railshello_world_1.php
ここを見ながら自分の環境にあうように書いてみたがうまくいかなかった。
開発環境もまだきめていなかったので、Eclipseをつかおうかな。何かお奨めのある?
とりあえず今日はここまで。
明日は・・・
3000系のテストサーバーの意味とか構成がさっぱりわからないのでそこら辺を弄ってみるのと、実際にRailsを触ってみるところ。あと開発環境構築かな。
http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php
ここみながら、aptana関連をなにやらわからないままいれて見たのだけど、
要求された操作は現在の構成には無効であるため、実行できません。 詳しくは詳細を参照してください。
Aptana Editor Infrastructure (0.2.9.16696) 必須: プラグイン "org.eclipse.core.filesystem"。
Ruby Development Tools (0.9.0.707021729NGT) 必須: プラグイン "org.eclipse.core.filesystem"。
filesystemプラグインがないってどういうこっちゃ。
これかな?
後で入れてみよう。
おなかがすいたので今日はここまで!
「No」ではなく、「No. Because ・・・, So ・・・」と言うべきです。プランの無いNoでは何も変わりません。日本人全員がNoと言えばインド人と中国人とベトナム人がYesと言うだけです。
SEとして働いていた4年間、ずっと同じような事を考えていました。
上司だって、役員だって、こんな仕事のやり方をいつまでも続けたい訳じゃないですし、プロセスやエンジニアリングをいくらカイゼンしようがどこまで行っても追いつかれる宿命にあることだって(余程おめでたくなければ)気づいています。どこかでビジネスの舵を大きく切らなきゃいけない。でも、社員に給料を支払える様な体制は維持しなければなりません。
だから、本当は誰かが思い切って舵を切ってくれるのを待っています。
あなたにビジネスに関心の強いメンターや同僚に恵まれているのなら、今の会社の事業ドメインを活用した新しい事業立ち上げのための勉強会を有志でやるのがいいでしょう。あなた自身に発言力が無くても、ある程度人数が集まって練られたプランであれば、上の人間も目を通そうかという気になります。
あなたに自分が気軽に話せて社内での発言権の高い上司がいるなら、会話の中で問題意識とプランについて、曖昧でもいいから頻繁に相談すべきでしょう。話を重ねる毎にプランをブラッシュアップして提示してゆけば、上司も動きやすくなります。
会社は社則や組織体系が動かしてるのではありません。人が動かしているのです。いくら大きかろうが、人を説得できるだけのプランと機会があれば、部分的にでも変えることはできます。(時間はかかりますけどね)
・・・え?ビジネスに興味のあるメンターも同僚も発言権があって相談できる上司もいないけど、どうしたらいいって?
会社を辞めましたよ、僕は・・・。
>>追記
こういう蛇足はあまり好まないのですが、はてブコメントが連続して文章中のどうでもいい所で釣れているようなので。なんでだ?
どうも「日本人全員がNoと言えばインド人と中国人とベトナム人がYesと言うだけです。」のくだりのせいで「国際競争のせいで無理しないと全部人件費の安い海外に仕事もっていかれちゃうよ?」と言っている様に勘違いされてしまっているようですね。別に海外に限らず、開発のマネジメントやエンジニアリングを改善し、より少ない工数で仕事しようとしている方々が既にいるじゃないですか。アジャイルとかPMBOKとかなんとか。そういう人たちのやり方が他の企業に真似できないとでも?彼らの努力が結実して他社より安い価格で開発を請け負えば、当然ながらそれに追従する企業は出てきます。そういう競争がただ延々と続き、同時に請けられる価格も開発にかかる時間相応になる、そういうことが元増田の閉塞感なんじゃないですか、そもそも。
それに、それだけじゃない。バズワードを並べてまたそれだけを拾い読みされるのは嫌だけど、Ruby on RailsもSOA/SaaSもEODもグリッドコンピューティングも。君たちが味方だと思っているものは君たちの価値を殺すものでもあるんだ。そういう事に一体どれだけの人が気づいてるんでしょうか?システムを作ることが、凝ったエクセルやパワポを書くのと同じレベルになる日はどんどん近づいています。理想的な情報サービスが提供される世界に、SIerの居場所なんてどこにも無いんじゃないでしょうか?
僕はそんな風に考えて、開発の力を売るのではなく、開発の力を使ってビジネスをしなきゃいけないことを誰かに伝えようとして、結局ほんの僅かの賛同者しか得られずに会社を去りました。当時の僕はずっと一人でオンサイトの仕事を続けていたせいで社内に知り合いが数えるほどしかおらず、またビジネス面での未熟さゆえにプランを具体化するだけの力もありませんでした。多分僕が今と同じ程度に政治的に振舞い協力してくれる仲間を集めることが出来ていれば、きっと会社を去らなくても粘り強く続けられたはずだとは思っていますが、結局まぁ若さってのは短気でもあるってことです。退職届叩き付けた後で役員と大喧嘩する羽目になるとはね。ハハハハハ・・・。
まぁそんな訳で、結局僕が元増田に伝えたかったのは、そんなに絶望的な状況じゃないけど、抜け出すにはちょっとしんどいぜ?ってことなんです。ええ。今もまだ結構しんどいですよ?
増田さんじゃないよっと。
impressでは
Webアプリケーションの開発フレームワーク「Ruby on Rails」で開発を行ない、Ruby on Railsによるアプリケーション構築や書籍の執筆を手がける増井雄一郎氏が開発に協力した。
http://internet.watch.impress.co.jp/cda/news/2007/05/17/15740.html
とあり、itmediaでは
同社のエンジニア数人とオープンソースプログラマーの増井俊之さんが協力し、約2カ月半で完成させた。増井さんは、北海道からチャットで開発に参加したという。
とある。
増井雄一郎氏?増井俊之さん?
どっちやねん。
あとで見たら、itmediaのほうにお詫びと訂正が入っていた。
rubyとは - はてなダイアリー Rubyとは - はてなダイアリー
RubyForge: One-Click Ruby Installer: Project Info
RDE(Ruby Development Environment) - Ruby??J??????????
#!/usr/bin/ruby -Ks
# print "Content-Type: text/html;charset=UTF-8\n\n"
p "表示"
http://127.0.0.1:3000/ http://127.0.0.1:3000/recipe/list
http://127.0.0.1:3001/ http://127.0.0.1:3001/recipe/list
http://127.0.0.1:3001/account/signup http://127.0.0.1:3001/test
Hot Chips (delete) Snacks 2004-11-11
Ice Water (delete) Beverages 2004-11-11
Killer Mushrooms (delete) Snacks 2005-09-13
満足せる豚。眠たげなポチ。:Rolling with Ruby on Rails - Japanese Translation - p1
満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p5
ITmedia エンタープライズ:第1回 Instant Railsで始めるWindows環境のRails (1/2)
DROP TABLE IF EXISTS `items`;
CREATE TABLE items (
id int(11) NOT NULL auto_increment,
login varchar(80) default NULL,
password varchar(40) default NULL,
);
えぇてるのぉと:Railsでログイン認証 - livedoor Blog(ブログ)
8 app/views/test/index.rhtmlの編集
Welcom <%= @session['user'].login %>!
Login Generator (1) - Nowhere Near
config/environment.rb に以下の行を追加する。
module LoginEngine
config :salt, "your-salt-here"
end
Engines.start :login
パパブログ: RoR : login_generator : login中のユーザ情報の取得
@session['user'].login
で、idやloginが取得できる。
ちなみにidはActiveRecordおなじみのidで、
;C:\nonidata\InstantRails\ruby\bin;
cd C:\nonidata\InstantRails\ruby\bin
C:\nonidata\InstantRails\ruby\bin>gem install login_generator
Successfully installed login_generator-1.2.2
C:\nonidata\InstantRails>cd C:\nonidata\InstantRails\rails_apps\cookbook
C:\nonidata\InstantRails\rails_apps\cookbook>ruby script/generate login Account
create lib/login_system.rb
C:\nonidata\InstantRails\rails_apps>cd C:\nonidata\InstantRails\rails_apps\cookbook
C:\nonidata\InstantRails\rails_apps\cookbook>ruby script/generate controller test
exists app/controllers/
[Ruby] Rails(ActiveRecord)の多対多関連 - yuum3のお仕事日記
has_one
has_many
belongs_to
has_and_belongs_to_many
habtm と has_many :through (ActiveRecord)
ActiveRecord の歩き方 - Association 編(1) - Rails で行こう! - Ruby on Rails を学ぶ has_many :comments
developerWorks Japan has_one :address
Rubyist Magazine - RubyOnRails を使ってみる 【第 3 回】 ActiveRecord
create メソッドを使うこともできます。create は new したあと save (DB に格納) します。
Rubyist Magazine - RubyOnRails を使ってみる 【第 4 回】 ActionPack
find(:all, :conditions => ["user_name = ?", user_name])
find_all(["user_name = ?", user_name])
find_all_by_user_name(user_name)
Part2 Rubyに学ぶ「Ruby on Railsの正体」:ITpro
book = Product.find_or_create_by_name_and_price('book', 2079)
リスト7●productsテーブルからnameが'book',priceが2079であるようなProductオブジェクトを読み取り,存在しなかった場合はデータベースにレコードを新規作成する処理
RoR Wiki 翻訳 Wiki - HowToUseLegacySchemas
恣意的で複雑なクエリや、主キーを持たないテーブルにはfind_by_sqlを使う
テーブルが論理的な主キーを持たないなら、
find_by_sqlを使えば主キーを全く指定しない曖昧で複雑なクエリを実行も実行できる。
Post.find_by_sql ["SELECT * FROM posts WHERE author = ? AND created > ?", author_id, start_date]
エディタ utf8
チュートリアルを動かしてみる - 肩書「シニアコンサルタント」のつぶやき
Railsでソーシャルブックマークを作ってみようか(第1回) - 坊やがゆく
ようこそ<%= @session['user'].login %>さん
Railsでソーシャルブックマークを作ってみようか(第2回) - 坊やがゆく
Railsでお馴染み37signalsのURLが凄い件について:TKMR.blog.show
URLにキーワードを含めことでSEO対策になるかも、でもそれだけ:TKMR.blog.show
http://127.0.0.1:3001/recipe/list
tetraの外部記憶箱 - Instant Railsのインストール , 追記:phpMyAdminの日本語環境設定 , 未踏ソフト記事
Flashデモあたり作ってみたらいいのにとか思った。Ruby on Railsみたいに。