タグ

railsに関するtyamamotoのブックマーク (97)

  • エンジニア1人で4年間プロダクトを開発。ミニマムな体制で効率的な価値検証を行う知見 - what we use(技術スタックデータベース)

    「サービスがPMFするまで、どのような体制で開発を進めるか」というテーマに、わかりやすい正解は存在しません。企業の創業メンバーの内訳や各々のスキル、会社の資金、世の中や他社の動向など、さまざまな変数が「開発組織のあり方」に影響します。CTOやVPoEといった企業の技術リーダーたちは、そうした変数を鑑みつつ自社の方針を決める重要な役割を担っています。 営業活動支援のSaaS事業およびコンサルティング事業を展開するSALESCORE株式会社のCTOを務める成澤克麻さんは、MVP開発開始から4年間は「エンジニア1人でフルスタックにサービス開発すること」を選びました。そして事業が軌道に乗った現在は方針転換をし、人を増やしながらスケール可能な体制作りを目指しているのです。今回は成澤さんに、SALESCOREがこれまで選択してきた開発組織の方針について聞きました。 KPIを可視化し、営業組織の実行力を

    エンジニア1人で4年間プロダクトを開発。ミニマムな体制で効率的な価値検証を行う知見 - what we use(技術スタックデータベース)
  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

    先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
  • 実用期を迎えたRailsの新版を導入する

    Ruby on Rails(以下、Rails)は、Ruby言語で利用できるMVCモデルに基づいたWebアプリケーションフレームワーク(以降、フレームワーク)です。MVC(Model-View-Controller)とは、アプリケーションをその役割ごとにModel(ビジネスロジック)、View(レイアウト)、Controller(ビジネスロジックの呼び出しと、その結果のViewへの引き渡し)とに、明確に分離しようという設計スタイルのことです(図1)。このスタイル自体はRails登場以前からありましたが、Railsではそれに加えて、 DRY(Don’t Repeat Yourself) 同じ記述を繰り返さない CoC(Convention over Configuration) 設定よりも規約 という思想に基づいて、よりシンプルな開発の手法を提唱したことから、多くの人の支持を集めました。後には

    実用期を迎えたRailsの新版を導入する
  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
  • 徳丸本のあれこれを実践してみて気付いたこと | 水無月ばけらのえび日記

    更新: 2011年7月9日23時0分頃 とあるシステムで徳丸のストレッチングを採用することにしたという話がありましたが、その実装が佳境に入ってきました。私は指示だけ出して、実装はお任せ……と思っていたのですが、基的な部分を作ってもらったところでバトンタッチされ、私が引き継ぐ形で実際にコードを書くことになりました。 基的には徳丸 (www.amazon.co.jp)のオススメどおりの実装にするという方針なのですが、実際にコードを書いてみると、いろいろと気になったり迷ったりした事も出てきました。そのあたりを簡単にメモしておきます。 ※ちなみに、このシステムはRuby1.9.2 + Ruby on Rails3での実装なので、PHPのコードサンプルをそのまま使っているわけではありません。 ストレッチ回数をどう決めるのか徳丸327ページにあるコード例を参考にして実装。アプリケーションごと

  • MVCとRailsの基本構成を学ぼう

    Web開発フレームワークとして人気の高いRuby on Railsの最新版、バージョン3を使ってWebアプリ開発の基を学びます。 人気のフレームワークでWeb開発を学ぶ Ruby on Railsは、いまやWebアプリケーションの開発フレームワークの有力な選択肢の1つとなっています。Ruby以外の言語のWebアプリケーションフレームワークも少なからずRailsの影響を受けているので、現在Rubyを使っていないエンジニアにとっても、Railsを知ることは大いに参考になるはずです。もうすぐRails3認定試験が格的に開始されるということもあり、この連載では、試験範囲の流れに沿って、Railsの基礎についてご紹介していきます(ただし、必ずしも試験対策というわけではありません)。 今回、連載第1回として記事では、Railsを理解する上で基となる考え方であるMVCについて説明した後、Rail

    MVCとRailsの基本構成を学ぼう
  • 格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する

    はじめに Virtual Private Server(VPS)とは、一台のサーバー上で仮想サーバーを何台も起動させることで、個々のユーザーに対して管理者権限を付与し、専用サーバーのような環境を提供するサービスのことをいいます。VPSのユーザーはサーバーのリソースを自由に使用でき、CGI実行環境のカスタマイズや大規模データベースの利用などが可能です。 ServersMan@VPSは、そのVPSを格安で提供するサービスの一つ。例えば、ServersMan@VPSの「Entryプラン」では、HDD容量10GB、メモリー容量256MBのVPSが、初期費用無料、月額490円で利用できます。 また、料金の安さだけではありません。申し込んでからすぐ利用できる、VPS環境を簡単にリセットできる、マニュアルや管理ツールが充実しているというメリットもありますので、試験的な開発や個人的な開発でサーバーのチュー

    格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する
  • Ruby のサンプルプログラム投稿サイト - Masaru

    Ruby のサンプルプログラムを見つけましょう。 サンプルプログラムは自由に使用することができます。(詳しくは こちら) 例: Array#delete Hash Masaru(”まさる”さん)は、 Ruby のリファレンスマニュアルを読んだユーザが、 「もう少しサンプルが多ければいいのに」とか、 「このメソッドでこんなこともできるのに」と思ったときに、 ユーザ自身でサンプルプログラムを登録できるようにするために開発したシステムを利用した、 Ruby のサンプルプログラムを登録や閲覧をするためのサイトです。 String#* / yasuda-h at netlab dot jp 同じ文字列を複数並べて表示する。 47pt | 2008-08-23 02:27:19 String#% / yasuda-h at netlab dot jp 数値で文字列数を指定し、出力される内容の整形を

  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

    昨日の「Ruby on Railsの『えせMVC』の弊害」というエントリー。若干「釣り」の要素が含まれたタイトルが功を奏したのか、たくさんのフィードバックがいただけた。そんな中で見えて来たのは、この問題はRailsに限った話ではなく、業務用アプリケーションで使われているJavaや.Netの世界でもよく見られる問題だということ。 その「問題」とは、ActiveRecordに代表されるO/Rマッピングの技術の進化が、来のMVC(そしてオブジェクト指向そのもの)のメリットを無視した「えせMVC」な設計を助長している、という問題である。 ・MVCやオブジェクト指向を表面的にしか理解していないエンジニアが増えている(ここが根的な問題) ↓ ・SQLを自分で記述しなくて良いO/Rマッピングはとても魅力的(これはこれで別の問題を含んでいるが、このエントリーではあえて突っ込まない) ↓ ・O/Rマッピ

  • えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ

    Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある RailsのえせMVC疑惑で盛り上がってますね。Railsが「えせMVCフレームワーク」ではないのは、みんな知っていると思うので、記事、コメントをみて勘違いしている人が多そうな部分に一言書いておきます。 まず、おかしいのはsatoshiさんのこの意見。 PhotoShareは主にRailsで作られているので、ModelはActiveRecordが担当しているわけだが、Modelのレイヤーが非常に薄いために(O/Rマッピングをしているだけ)、データベースの整合性の責任がController側にある。そのため、ちょっとした機能変更のたびにAPIレベルでのテストを大量に走らせなければならないし、それでもどうしてもミスが生じてし

    えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ
  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • Ruby on Rails製の家庭用家計簿·小槌 MOONGIFT

    Webベースで家計簿をつけると、帰宅した時にわざわざパソコンを立ち上げることなくスマートフォンから更新できるから楽かも知れない。また、外部サービスとの連携も容易と思われるので、地図やカレンダーと連動する面白さもありそうだ。 Webベースの家計簿ソフトウェア とは言え逆に言えば家族に自分の秘密の家計簿を見られる可能性もある(パスワードを付けておけば大丈夫だろうが)。そんなことを考えてしまったのは小槌がオープンソース化されたからだ。 今回紹介するオープンソース・ソフトウェアは小槌、Ruby on Rails製の家計簿ソフトウェアだ。 小槌は2006年に行われたDrecom Award on Railsにおいて大賞を受賞した作品だ。そしてついにオープンソース化し、Githubで公開された。既に多様な改良が加えられており、とても多機能で優れた家計簿ソフトウェアになっている。 受け皿設定 基的な金

    Ruby on Rails製の家庭用家計簿·小槌 MOONGIFT
  • Rails使いでなくても有用 - 書評 - エンタープライズRails : 404 Blog Not Found

    2009年07月23日21:30 カテゴリ書評/画評/品評iTech Rails使いでなくても有用 - 書評 - エンタープライズRails オライリーより定期便にて献御礼。 エンタープライズRails Dan Chak / 高井直人 / 笹井崇司 [原著:Enterprise Rails] 良。だがはじめに断っておくと、書は RubyRuby on Railsではない。Ruby on Rails入門をお探しであれば「10日でおぼえる Ruby on Rails入門教室」を勧めておく。 データベースを多用するエンタープライズWebサイトを、どうやってスケールアウトするように設計するかの指針を示したである。書が「エンタープライズRails」となっているのは、著者の選択肢がたまたま Ruby on Rails と PostgreSQL だったというだけで、書の知見は P

    Rails使いでなくても有用 - 書評 - エンタープライズRails : 404 Blog Not Found
  • がんちゃんのブログ: さくらのレンタルサーバでRuby on Railsをうごかしてみた...らかなり遅いかも...

    その1、 その2で さくらのレンタルサーバにRuby on Railsをインストールして、 動作確認をするところまでやりました。今回は簡単なアプリケーションを作って、どれぐらいの速度で うごくのか確かめてみたいと思います。題材は「ToDoリスト」です。 その2の続きで、$HOME/Railsの下にTodoというアプリケーションを作ります。 % cd ~/Rails % rails Todo mySQLで「todos」という名前のテーブルを作っておきます。sqlサーバー、ユーザー名、パスワード、DB名はそれぞれ自分のものにかえてください。 % mysql --host=mysqlhoge.db.sakura.ne.jp --user=xxxx --password=yyyy xxxx ... mysql> create table todos ( -> id int primary key

  • さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2

    前回、さくらのレンタルサーバにRuby on Railsをインストールする方法でrubygemsとRuby on Railsのインストールができたので、こんどは試しに動かしてみます。 まずはRailsのアプリケーションのディレクトリを作成。場所はどこでもいいですが、webでみられないところにしてください。さくらのレンタルサーバーでいうと ~/www 以外ですね。のちほど、公開用のディレクトリだけ、~/www以下からシンボリックリンクを張ります。ここでは~/Rails以下にRailsのアプリケーションをまとめておくことにして、今回のテスト用のアプリケーション「test」(そのまま!)をその下におきます。 % cd % mkdir Rails % cd Rails % rails test create create app/controllers ...(略)... create log/d

    さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2
  • さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法

    数日前、読者のかたからメールをいただきました。「rubygemsが1.1.1になっており、記事通りにしてもインストールできない」とのことでした。前の記事さくらのレンタルサーバーにRuby on Railsをインストールする方法を書いてから、9箇月たちまして、Ruby on Railsrubygemsも新しいバージョンがでています。前の記事を書いたときと状況がかわっているので、今のバージョンでのインストールの方法を新たにまとめてみました。 インストールするのは次のものです。 rubygems 1.1.1 Ruby on Rails 2.0.2 例によって、rubyは標準のものを使用します。最新版は1.8.7が現在preview2 ですが、標準でインストールされているのは1.8.5です。確認しておきます。 % ruby --version ruby 1.8.5 (2006-08-25) [i

  • さくらのレンタルサーバーに RubyGems をインストールする手順 - Google App Engine+Pythonで脱プログラミング初心者を目指す日記

    参考にさせていただいた文書 がんちゃんのブログ: さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法 さくらのレンタルサーバーにリモートログイン さくらのレンタルサーバーにリモートログインする手順を参照。 準備 まず、これからいろいろとファイルをダウンロードするので、それらを保存しておくディレクトリをホームディレクトリに作成しておく。 % mkdir ~/src 作成した src ディレクトリに移動する。 % cd ~/src RubyGems をダウンロード ブラウザーで http://rubyforge.org/projects/rubygems/ を開き、RubyGems の最新版を確認する(2008 年 9 月 29 日時点での最新版は 1.3.0 )。 上記URLの文書の「ダウンロード」をクリックして、rubygems-1.3.0.tgz の

    さくらのレンタルサーバーに RubyGems をインストールする手順 - Google App Engine+Pythonで脱プログラミング初心者を目指す日記
  • さくらのレンタルサーバーに Ruby on Rails をインストールする手順 - Google App Engine+Pythonで脱プログラミング初心者を目指す日記

    2008年12月19日に修正を加えました。修正箇所はコメントを参照のこと。 参考にさせていただいた文書 がんちゃんのブログ: さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法 準備 先に RubyGems をインストールしておく。 さくらのレンタルサーバーに RubyGems をインストールする手順 Rails のインストール %gem18 install rails で、おしまい(コマンドを打ち込んでからインストールが完了するまでに数分かかった)。 インストール先は /home/User/lib/ruby/gem/bin 。 なお、参考にさせていただいた文書では --include-dependencies オプションを指定しているが、現在のバージョンではこのオプションを指定しても以下のようなメッセージが表示される。 INFO: `gem insta

    さくらのレンタルサーバーに Ruby on Rails をインストールする手順 - Google App Engine+Pythonで脱プログラミング初心者を目指す日記
  • Ruby on Rails入門3 さくらインターネットにRuby on Railsをインストール - nyon2.net

    Ruby on Railsをさくらインターネットにインストールして実行するまで。 せっかくなので最新版を入れるよ。すごい勢いでつまづきまくったよ。 Ruby on Railsのインストール 参考: さくらのレンタルサーバーに Ruby on Rails をインストールする手順 さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法 参考サイトどおりにやれば問題ないよ。 %ruby -version ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-freebsd6] 現在のさくらのrubyのバージョンは1.8.6です。 [rubygemsのインストール] rubygemsの最新版、1.3.1を取得し、インストールします。 インストール先はさくらなので$HOME内です。--prefix=$HOMEを忘れずに。 %mkdi