SonicGardenで開発しているグループコラボレーションプラットホーム「youRoom」は Railsを拡張するプラグインや連携するサービスなどたくさんのAdd-onsを利用して運用・開発を行なっています。 今回はyouRoomの開発の経験から得たたくさんの便利なAdd-onsや利用例などを紹介します。
![Rails add ons derails_devcon](https://cdn-ak-scissors.b.st-hatena.com/image/square/018627ba00036a1eaefa1d6f2bc535e78fefa2dd/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Frailsaddonsrailsdevcon-101119220247-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Photo by Riverman72 あとで自分メモを書こうと思うけど、先に一言。 37signalsも使っているといううたい文句に惹かれて試してみた、Railsのパフォーマンス記録ツール/サービスNew Relic RPM(Rails Performance Management)が、すばらしい。 RPMは開発時用のDeveloperと、実機用のProductionのが二つあり、まだ開発時用のDeveloperモードしか試してはいないんだけど、専用の管理画面で、アクションを実行時のメソッド単位の実行時間、生成されるSQL、SQLの実行時間やインデックスの利用状況などが非常に簡単に把握できます。 Railsで開発している人なら、下のムービーを見れば、そのすごさが分かるはず。 RPM developerのデモ動画 | RPM production のデモ動画 いまこれを使って、PhotoS
遠隔地のチョロQ(キューステア)をUSTREAM.TVのストリーミングビデオで見ながら、Webブラウザ上でのキーボード操作で操縦できるWebアプリを作ってみました。以下、その仕組みについて詳しく解説していきます。 チョロQ(キューステア)操縦Webアプリの動画 動作している様子と仕組みの概要については、以下の動画を見るのがてっとりばやいかも。 http://jp.youtube.com/watch?v=-n3XV6GGdWY http://www.nicovideo.jp/watch/sm2432398 チョロQ(キューステア)Webアプリ概要図 ustream.tvustream.tv WebカメラとWebブラウザだけで動画配信できてしまうWebサービスです。今回はこのサービスを動画中継に使用しました。Gainer GAINER.cc USBと電子部品
Railsでアプリを作ったら公開したくなるのが人情ですよね。 だけど、安いホスティングサーバとかだと、使える環境が限られていたり、セットアップが面倒だったり・・・必死こいてセットアップしても、本気で運用するとなると、そんな環境だと不安だらけだし・・・かといって、AmazonEC2で運用するだけの気合いもない。GAE/Jを使って、JRubyってのもな〜・・・ 私もそんな感じでしたが、そんな折に、mat_akiに、Heroku(ハーオークーと読むらしい)を教えてもらいました。 実は、Herokuって、ずいぶん昔に話題になって、知っていたんですが、その時は、「WebブラウザでRailsアプリが開発できる〜」みたいな感じだったんですよね。それだとEmacsで良いよ。と思ってスルーしていたんですが・・・どうやら、サービスの定義?内容?が変ったようです。 今までのWebブラウザRails開発環境は、”
第6回 全文検索を実装したソースコードを読もう 倉貫 義人 松村 章弘 TIS株式会社 SonicGarden 2009/9/3 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) いよいよオープンソースの社内SNS「SKIP」を使ったコードリーディングも最終回となりました。Railsの基本的な構成から、テストコードやRSpecの書き方といった内容に加え、前回はOpenIDをRailsで活用する応用編まで、コードとともに学んできました。 最終回となる今回は、SKIPの目玉機能の1つである全文検索を扱います。最終回にふさわしく、内容も高度なものになっていますが、ここまでおつきあいいただいた読者の皆さまであれば、十分に理解できる内容だと思います。 SKIPにおける全文検索機能では、任意の検索キーワード
昨年末から始めた、Ruby on Rails を使ったある仕事がひと段落したので、ふりかえってみました。 この仕事で作ったWebアプリの詳細は書けませんが、画面数 60、テーブル数 15 と小規模のものでした。システムはところどころに難しい部分はありました、UIは一部に Ajax(JQueryを使用)を導入し使い勝手を高めています。 1. ソースコードが少ない! 書いたRubyコードの行数を合計すると 約3600行 しかありませんでした! 1画面あたり 60行しか書いてない !! ・・・「あんまり仕事してないじゃん!」と思わずつぶやいてしまいまました ^^); やはり、Ruby on Rails は生産性が高いと言われる通りです。 ただし、だらだらとコードを書かないように以下のように注意しました。 共通部分はモジュール化しMix-inで共有 継承による機能の共有は設計が難しくなりますし、委
第5回 “最適な”全文検索システムの選択 水谷 裕生 株式会社Cuon 2009/3/27 Rubyを使った大規模エンタープライズ開発が始まっている。Ruby on Railsでの開発において、インフラやアプリケーションアーキテクチャをどのように構成すべきかを考える(編集部) システムを構築するうえで、アーキテクチャの選択は非常に難しい問題である。 プラットホームはWindowsにするのか、Linuxにするのか。Linuxであれば、CentOSなのか、それともUbuntuなのか。また、開発言語はRubyがいいのか、PHPがいいのか。そして最後には、それらをどう組み合わせていくのかなどなど。 どれが正解なのかは、実際に経験したり、運用したりしてみなくては分からないものだ。しかし、実際の現場では経験がなくても、いろいろと調査したり、実際に試したりしてみて判断をしなくてはいけない場面が存在する。
Web デベロッパーの祭典に行ってきた。今回は、通路沸きに用意された比較的狭いスペースで開催された。 以下、メモと自分の勝手な感想をまとめておく。 クックパッドについて 毎日の料理を楽しみにすることで心からの笑顔を増やす 1998年にオープン 去年のリニューアルのときに Rails で作り直した 使い方 レシピをのせる レシピをさがす 月間ユーザ数 547万人 Rails サイト中世界7位 (from rails 100 wiki)、まさか1位がscribd.comとは 月間 2.8億 PV(PVでは、Rais サイト中世界3位) 登録レシピ数: 47万品 トラフィックは、16-18時くらいがピーク(夕飯を作る前に調べるユーザが多いとのこと) 秋からバレンタインにかけてトラフィックが伸びる(来週はピークだということで、最近はパフォーマンス向上に中心にやっていた) ユーザ数: 547万人(す
Q1: 多くの人々が、パフォーマンスとテクノロジーを同じ問題だとひとくくりにしています。この誤解に対してどう応えますか? Randy: どんな特定の言語やフレームワークにも依存せずに、スケーラビリティの問題を論じる事には多くの価値がある、と言う意見に私は賛成です -- そうしたパターンは同様に、実装の戦略とも無関係です。とはいえまずは、パフォーマンスとスケーラビリティを私たちは区別していると言う事を確かめておきましょう。パフォーマンスは、単一のリクエストを捌くのに使われるリソースの事です。スケーラビリティとは、より多くのリクエストを捌く必要が生じたときにリソース消費量をどのように増やしていくか、についてのものです。 それらは関連していますが、同じ物ではありません :-)。幸運にも、一方を改善するための多くのアプローチが、もう一方をも改善する事がしばしばです。しかし極端な場合、非常に高速なシ
@niftyのウェブサービスの一覧と、@niftyのウェブサービスを使ったみんなのアプリケーションを紹介します。Ruby on Rails(ルビー オン レイルズ)はオープンソースのWebアプリケーション開発フレームワークです。 @niftyのサービスでは@nifty TimeLine、アバウトミー、ツクシィ、いたがきなどがRuby on Railsを用いて開発されています。 Ruby on Rails プラグインとは Ruby on Rails プラグインとは、Ruby on Railsで構築したアプリケーションに独自機能を追加できる機構の名称です。@niftyのポータル/CGMサービス用に開発したRuby on Railsプラグインをオープンソースソフトウェア(MITライセンス)として提供します。 ActiveRecordBrowser テーブルの管理機能を提供するプラグイン
This manual describes common security problems in web applications and how to avoid them with Rails. After reading this guide, you will know: All countermeasures that are highlighted. The concept of sessions in Rails, what to put in there and popular attack methods. How just visiting a site can be a security problem (with CSRF). What you have to pay attention to when working with files or providin
Ruby on Railsで良く取りざたされるのが動作の重さだ。キャッシュを使うなどすれば決して解決できない問題ではないが、開発が手早いだけに動作の重さが評価の足を引っ張ってしまう。 デモの掲示板アプリケーション Ruby on Railsの開発のしやすさに加えてスピードを得られる、そんなフレームワークがこれだ。 今回紹介するオープンソース・ソフトウェアはRuby on Rails Light、軽量版Ruby on Railsだ。 Ruby on Rails LightはRails自体は必要としない。Railsの良さを感じられる各種機能を切り出して実装し直している。そしてコントローラやモデルを軽量化することで低負荷、高速性を生み出している。 プロジェクトサイト サーバ機能がないので、CGIとして動作させるのが基本だ。さらにデータベースはMySQLのみ、マイグレーション機能なし、ルーティング
プロトタイピングツールとしてのLL 佐藤 伸吾 株式会社ケイビーエムジェイ 2008/10/24 「あんなことができたらいいな」と思ったら、とにかくコーディング。軽量プログラミング言語をプロトタイピングツールとして使ってみよう(編集部) 私はプライベートにおいてHacker's Cafeというグループに参加しています。所属組織の枠を超えた緩いつながりの気楽な集まりです。主に土日などの休みを使ってメンバーが集まり、各自好きなコーディングなどを楽しんでいます。 この記事ではHacker's Cafeの活動から生まれたさまざまな成果物の紹介、およびその迅速な開発を可能にした軽量プログラミング言語(LL)のメリットについて解説します。 プロトタイピングツールとしてのLL PCからのハードウェア制御はそれなりの専門知識がないと気軽には試せない分野でした。しかし、現在ではGainerというI/Oモジュ
455万人のユーザーを擁する世界でも有数、日本最大のレシピコミュニティーサイト『COOKPAD(クックパッド)』。これを運営するのが、クックパッドだ。同サイトは、今年10周年を迎え、7月には大規模なリニューアルを実施した。 このリニューアルにあたっては、Rubyを採用、月間2.8億PVの大規模サイトをRuby on Railsに乗せている。Railsサイトとしては世界でも有数の規模だ。シーネットネットワークス エンタープライズ・メディア 統括 兼 ZDNet Japan編集長の大野が、今や日本最大のRailsサイトとなったCOOKPADの佐野社長に、その運営と今後の計画について聞いた。 聞き手:大野晋一、構成:富永恭子(ロビンソン) 大野: そもそも、今回のリニューアルの狙いはどこにあったのでしょうか? 佐野氏(以下、敬称略): 一言でいえば、今後の中長期的な成長を想定しての改善が一番の目
第1回 つらくないケータイWeb開発 設樂 洋爾 2008/10/20 何かと注文の多い日本の携帯電話向けWebサイト構築。jpmobileで、Ruby on Rails流の、つらくない携帯Webサイトを開発しよう(編集部) 本連載では、Ruby on Rails(Rails)をすでに利用されている方を対象に、Rails用プラグインjpmobileを使って携帯向けWebサイトを構築する方法を紹介します。 jpmobileは日本の携帯電話向けのサイトを構築するときに生じる厄介事を、Ruby on Rails流のやり方に倣って解決するためのプラグインです。 Mobile web development that doesn't hurt 日本の携帯電話は「ガラパゴス」と称され、時にやゆされもするように、良くも悪くも独自の進化・発展を遂げてきました。現代人の生活に密着して存在する携帯電話は、位置
グループの新規作成 グループは、ユーザーが自由に作成できるという点がSNSの特徴です。グループの一覧表示の画面で、上部の「グループの新規作成」から行えます。こちらも一覧のときと同様に、URLの「/groups/new」から、groups_controllerのnewメソッドを見ればいいことが分かります。 01 def new 02 @group = Group.new 03 render(:partial => "group/form", :layout => 'layout', :locals => { :action_value => 'create', :submit_value => '作成' } ) 04 end 新規作成画面の表示のソースコードは、実質2行と非常にシンプルです。2行目で新規に作成するグループの変数を用意して、3行目で指定の画面をレンダリングするようにしています。
query-reviewerはRails用のプラグインで、データベースにMySQLを使っている場合に、不適切な検索が行われていないかどうかを非常に簡単に調べることができる。(MySQL以外ではたぶん動かない。)使い方は非常に簡単で、 git clone git://github.com/dsboulder/query_reviewer.git vendor/plugins/query_reviewer するだけ。設定等はまったくいらない。インストールすると、Railsアプリの左上に「SQL DISABLED」というボタンっぽいのが出てくるので、そこをクリックしてENABLEDに変えてからページにアクセスすると、SQLの実行結果を教えてくれる。 スクリーンショットは開発者のブログで見られる。 大体、以下のような情報が得られる。 SQL EXPLAINの結果 SQLの実行時間 どれだけのSQ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く