フィーチャー開発から ホールプロダクト開発へ ~ 顧客価値へ向き合い続ける挑戦 ~ @itohiro73 #開発生産性con_findy
フィーチャー開発から ホールプロダクト開発へ ~ 顧客価値へ向き合い続ける挑戦 ~ @itohiro73 #開発生産性con_findy
私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ
「Ruby / Ruby on Rails ビギナーズ勉強会 第9回」での発表内容です。 Ruby on Railsに搭載されているコンポーネント「Active Job」を利用して非同期処理を実装するデモを行っています。 ■イベントページはこちらです。 https://manage.doorkeeper.jp/groups/coedo-rails/events/33769/edit ============================================================= 「CoEdo.rb」が運営する「Ruby / Ruby on Railsビギナーズ勉強会」Ruby、Ruby on Railsなどで開発したい、触りたいための初心者勉強会&もくもく会です。 開催の連絡は以下の方法で受け取ることができます。 ## DoorKeeperグループ イベント申し込
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) RubyKaigiで寿司が出るなら行けば良かったと思ったみなさんこんにちは。 最近登壇した際に使ったスライドはSlideshareやSpeakerdeckではなく自作のスライド公開用Webサイト(https://slide.meguro.ryuzee.com/)で公開しています。 それについては以前の記事で書いた通りなのですが、最近時間がある(察してください…)ので、CakePHPで作った初期バージョンを勉強がてらRuby on Rails4で作りなおしてみました。 いままでRuby自体はChefのCookbookを書いたり、Serverspecのコードを書いたり、使い捨てプログラムを書いたりしていたのですが、初めてのRai
Ginza.rb.第8回を開催しました。今回は参加者の方に事前にGemfileをアップして頂き、使用しているgemについて説明をして頂く形式で実施。 Gemfileの置き場は[こちら](https://github.com/ginzarb/meetups/issues/6)。 話に上がったgemについて以下にずらずらと。 ### [gon](https://github.com/gazay/gon) Rails側の変数をJavaScriptに渡す事が出来るgem。 controllerから大量のデータをJavaScriptに渡す必要がある場合に便利。 詳細は[RailsCast](http://railscasts.com/episodes/324-passing-data-to-javascript?language=ja&view=asciicast)参照。 ### [Better E
Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基本と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド
一部の方への見本誌等はすでに届いているものと思いますが、標題の通り、連載の記事としてRuby 2.0について書きました。 WEB+DB PRESS Vol.73 著者/訳者:設樂 洋爾 白土 慧 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 出版社:技術評論社( 2013-02-23 ) 大型本 ( 192 ページ ) まつもとさんも取り上げていた、 キーワード引数 Enumerator::Lazy Module#prepend Refinement の4点を中心に取り上げています。サンプルコードはなるべくオリジナルを目指して頑張りました(特にprependのやつは編集さんに褒めてもらえた)。若干の「移行の手引き」的な内
オフィスでGoogle AnalyticsとかMixpanelとかlogentriesとかディスプレイに表示させてたんですが、適当じゃなくてそろそろちゃんとした指標(ユーザー増加率とか)を出して共有したいなと思いました。自分で作るのは面倒なので探していたらTeam Dashboardがrails + backborne.jsで出来てて手頃そう。(qnypさんのブログで知りました) $ git clone git://github.com/fdietz/team_dashboard.git $ bundle $ cp config/database.example.yml config/database.yml $ rake db:create && rake db:migrate $ rake populate $ rails s デフォルトはmysqlなのでherokuで動かしたい場合は
追記: Gem化されたよ!! カオティックなViewを修正する場合、ここの記述を直したいけどどのpartial見ればいいんだってことがたまによくあるのです。
class ApplicationController < ActionController::Base before_filter :profile_for_admins # ... def authorize if Rails.env.development? || current_user.try(:staff?) Rack::MiniProfiler.authorize_request end end end 左上に各リクエスト(XHRなど)でかかった時間が表示される.発行されたSQLごとの処理時間も見られる. 参考リンク: #368 MiniProfiler - RailsCasts SQLをざっと見てみて,明らかに無駄なSQLを排除していく. かかった時間ごとにSQLをソートしてくれたらいいのに… flyerhzm/bullet N+1クエリ問題や不要なeager loadin
■ [Book] Rails View を読んだ pragprog で発売中の Rails View をやっと読み終わった。 この本の前半は assets であるとか、erb や haml、scss の紹介をしているので既に Rails で開発をしている人は読み飛ばしても良いと思う。一方でデザイナーの人とかが始めて Rails を触るというような時にはちょうど良いかもね。 後半はがらっと内容が変わって、プレゼンターを作ってどうやって View に Model のデータを渡すのかであるとか、Email をビューとして扱ったときの注意点、パフォーマンス改善をやるには何から調べれば良いのかというわりと本気な内容となっている。 前半をそういうものなんだーと読んだ人が後半もそういうものなんだーと行けるかどうかは怪しいけど、プレゼンターの当たりは昨今盛り上がっている fat model の解決策の一つ
Hyperion で学ぶ Ruby on Rails & GitHub 以下の手順は、基本的には Linux を対象としています。(インフラエンジニアを想定して書いてるので。)Mac でも適用できる部分は多いですが、必要なライブラリや MySQL まわりなどは、自力で解決してください。(または誰かドキュメント追加して。) 今回は Hyperion を動かすまでの手順を紹介します。 rbenv による Ruby のインストール rbenv 概要 rbenv とは、複数の Ruby バージョンをお手軽に切り替えることができるコマンドラインツールです。システム標準の Ruby に影響を与えることなく、また、自分のホームディレクトリ配下に Ruby をインストールすることができるので、Ruby で何か試してみたい、という場合に、うってつけなツールです。 必要なパッケージのインストール(Linux)
半年ほど前に書いた「コーディング規約をまとめてみた (Ruby編)」に引き続き、Railsのコーディング規約もまとめてみました。前回と同じように、できるだけ理由を併記するよう努めました (主観的なものも含まれていますが…)。 気に入らない規約や、この記事に書かれている規約以外にも気をつけていることなどありましたら、コメントなどで教えてもらえると嬉しいです (理由も合わせて書いてくれると助かります)。 Railsのコーディング規約は以下のページを参考にまとめています。 http://guides.rubyonrails.org/contributingtorubyonrails.html#follow-the-coding-conventions https://github.com/bbatsov/rails-style-guide 前提 コード例は「コーディング規約をまとめてみた (Ru
Railsのバージョンは3.2.8時点のものです。(2012/8/21追記) 前回の冒頭で書いてたので、Rails版も書いてみようと思う。 要は、困ったらリファレンスマニュアルのそれっぽいところ見れば、 Ruby/Railsは大体解決してくれるよ(しかもスマートに)って感じなので、 悩んだらハマる前に一回公式に帰るのもいい手段だと思ってます。 でも、RailsのAPIリファレンスどこに何書いてるか分かりづらいと思う。 例えば、has_many関連には、実は:after_addとか:before_removeとか、 その手のコールバックをProcで渡せるんだけど、メソッドの説明の所に書いてないんよね。 上の方のクラス全体の説明の所にAssociation Callbackって項目があって、 そこで地味に説明されてたりとか。 この辺、もしかしてpull request候補かな。 メインはAct
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く