タグ

ブックマーク / www.engineyard.co.jp (28)

  • Railsアプリのパフォーマンスをデータベースリファクタリングとキャッシングで向上する [和訳] - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 パフォーマンスはどんなアプリケーション開発者にとっても大きな懸念です。問題なのは、人は往々にして、実際にパフォーマンスが下がりはじめ懸念すべき事態になるまで問題を放置しがちだという点です。パフォーマンス対策は前もって講じておくべきもので、ほころびが出はじめてから取りかかるのでは遅すぎます。たまのレビューで済ませるのではなく、プロセスの一環に組み込むことが必要です。この記事では、パフォーマンス向上のために開発者が自分でできるいくつかの対策について見ていきます。まずはデータベースです。 データベースのパフォーマンス Railsを使う場合、ActiveRecordやDataMapperといったORMを使えばアプリケーションからのデータ取得を楽にできますが、それだけにデータベースとのやりとりを改善する最適化やリファクタリングの重要性をおろそかにし

  • アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestar Ruby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている

    アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog
  • PHP 5.0.0が10周年を迎えました - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 10年前の昨日、2004年7月13日、PHP 5.0.0が世界に向けて公開されました。Zend Engine 2を搭載し、実質的に生まれ変わったPHPです。 Zend Engine 2自体はPHP 4.3.0のいくつかのアルファ版から(試験的にですが)すでに公開されていました。一般的なユーザーにとって目立つ大きな違いは、オブジェクトの参照渡しがデフォルトになったことと、新しいオブジェクトモデルのサポートです。細かいことはさておき。 実は、PHP 4以前のPHPは基的に手続き型言語で、クラスやオブジェクトをサポートしてはいましたが、いずれも後付けの機能だったのです。その歴史は現在でもデフォルト機能セットの多くに――最近追加されたパスワードハッシュAPIなどの新機能にさえ――見てとることができます。 それでも、いざ格的な(「マシになっただ

    PHP 5.0.0が10周年を迎えました - Engine Yard Blog
  • Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog

    先日Rubyビジネス推進評議会主催の第3回Rubyビジネスフォーラムが大阪で開催されました。 Ruby言語開発者、まつもとゆきひろさんが、『インターネットが変えるソフトウェアとビジネス。Rubyを例として』と題した基調講演を行いまいした。 その内容を紹介します。 計算機としてのコンピューター IBMの初代社長トーマス・ジョン・ワトソンの有名な言葉に、「コンピューターは全世界で5台くらいしか売れないと思う」と言ったとされています。 その数字は当時の計算技師の人数とENIACの計算性能から導かれた数でした。 ところが、今ではその数百万倍の処理能力をもつコンピューターが何億台もあります。 去年だけでPC出荷台数は3億台。スマートフォンとタブレットはそれを超える出荷がされています。 コンピューターは計算機としてのみ使われているわけではありません。 インターネットとの接続 今日、大阪まで松江から飛行

    Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog
  • <?phpタグが無くなる日 〜PHPの開発プロセス〜

    PHPスクリプトを記述する際に使われる<?phpタグの利用をオプションで有効無効を切り替えるようにするという仕様がPHPの開発コミュニティでの議論に挙がっています。 この仕様変更が実装された場合、PHPスクリプトには必ず<?phpのタグがあるという前提条件が変わる事になります。 まずこの議論がどのような形で行われているのでしょうか?ご存知でない方もいるかと思いますが、PHPの文法や機能へどのような変更を加えたいか、という議論はRFC (Request For Comment)という形でパブリックに行われています。Wikiページに仕様や背景、実際のパッチなどを添付し、開発者やユーザーからの投票を行った結果を元に実際にPHP体への変更を行うかどうかが決定されています。 過去に実装された機能の際の例などと一緒に見てみましょう。 Array Short Syntax # 従来の記述の場合 $a

    <?phpタグが無くなる日 〜PHPの開発プロセス〜
  • Travis CI上でPHPアプリのWebベースのテストを自動化する | Engine Yard Blog JP

    PHPなどのさまざまな言語のオープンソースプロジェクトのCI環境として利用されているTravis CIでWebベースのテストを実行してみました。 通常は純粋なコードベースのユニットテストを実行する事が多いかと思いますが、CMSやEコマースエンジンなどオープンソースで配布し、インストールして使うようなソフトウェアではWebブラウザベースでの機能テストを自動化したいというニーズがあるでしょう。Travis CIにはfirefoxがインストールされておりブラウザベースのテストが出来る事は知っていたのですが、今回年末年始の宿題的にテストを実行する為の設定をひと通り行ってみました。 説明を抜きにして動作が見たい方はGitHubとTravis CIへどうぞ yandod/candycane https://github.com/yandod/candycane candycane on Trav

    Travis CI上でPHPアプリのWebベースのテストを自動化する | Engine Yard Blog JP
  • 商用アプリケーションにおけるパッチ適用 | Engine Yard Blog JP

    商用アプリケーションにおけるパッチ適用 安定稼働しているアプリケーションシステムに対して、パッチを適用することほど億劫な作業はない、と思ったことのある保守・運用の担当者の方は多いのではないでしょうか。 私はERP/CRMパッケージを開発・販売する米国のベンダーの立場として、パッケージ導入に10数年にわたってお客様やビジネスパートナーを支援してきましたが、安定稼働しているシステムへのパッチ適用はまったく歓迎されるものではありませんでした。特にイントラネットでの利用が多いERPをご利用のお客様は、その傾向が強かったと言えます。 そのような状況を知りつつも、以下のような種類のパッチをお客様に提供し、それらの適用を促し続けていました。 セキュリティアップデートパッチ (四半期に一度) 法改正用メンテナンスパッチ (半年に一度) 不具合修正のメンテナンスパッチ (随時) アップグレードパッチ (随時

    商用アプリケーションにおけるパッチ適用 | Engine Yard Blog JP
  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

  • 2013年PHPの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    2013年も当にあとわずかになりました。 日は今年話題になったPHPについての記事を公式のリリースやはてなブックマークから抽出してきた内容を元に今年を振り返ってみましょう。PHPにとって今年はどのような一年だったのでしょうか。 参考: 2012年のPHP周辺の話題振り返り | Engine Yard Blog JP PHPのバージョン 2013年中にリリースされたPHPのバージョンは5.3、5.4、5.5の3系統で合計29のリリースが行われました。リリースサイクルはほぼ毎月という形でした。またPHPの公式サイトがレスポンシブ対応の新しいデザインに切り替わりました。詳細は下記の通りです。 Version 5.4.11 2013/1/17 Version 5.3.21 2013/1/17 Version 5.4.12 2013/2/21 Version 5.3.22 2013/2/21

    2013年PHPの話題を一挙に振り返るまとめ | Engine Yard Blog JP
  • 2013年Chefの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    早いもので2013年もまもなく終わります。特にChefについては今年は大きな飛躍の1年になりました。Chefについては話題の流れも多く、自身としても何があったのかを即座には思い出せません。今回はすでにChefを使っている人の話題の復習や、Chefをまだキャッチアップしていない人が今からでも間に合う情報収集としてまとめてみます。 はてなブックマーク上でも2013年の記事でChefタグが付けられた3ブックマーク以上の記事が800エントリを超え、ブックマークの回数は3万2千回を超えるというとてつもない状況です。今回はその中でも100ブックマーク以上が付いた記事の中から特に注目が集まった話題を時系列で振り返ります。 2013年1月:「兆し」 2013年早々にChefの大躍進の契機になるエントリが@naoya_itoさんのブログに投稿されます。「開発メモ#4 : EC2スナップショットとの差分は c

    2013年Chefの話題を一挙に振り返るまとめ | Engine Yard Blog JP
  • New Relic on Engine Yard Cloud | Engine Yard Blog JP

    株式会社 永和システムマネジメントはEngine Yardのデベロップメント パートナーであり、さまざまな案件でEngine Yard Cloudをお使い頂いています。今回は実際にEngine Yard Cloudを使う際に必要になったNew Relicのカスタマイズの方法について、永和システムマネジメントの吉田 浩士様にゲストブロガーとして寄稿して頂きました。 私はEngine Yard Cloud上で稼働しているRailsアプリケーション上でパフォーマンス監視のためにNew Relicを使っています。 Engine Yard Cloudではアドオンとして様々な外部サービスを簡単に使用することができます。New Relicもその一つです。 記事ではNew Relicを使う上での「メトリクスのカスタマイズ」と「デプロイの記録」という2つのTipsを紹介したいと思います。 メトリクスのカ

    New Relic on Engine Yard Cloud | Engine Yard Blog JP
  • SendGrid Nightを開催しました (動画&資料) #eytokyo | Engine Yard Blog JP

    SendGrid Night - ey-tokyo | Doorkeeper http://eytokyo.doorkeeper.jp/events/6569 Engine Yardのアドオンとしても多くの方にご利用頂いているメール送信サービス、SendGridのイベントを開催しました。 今回はSendGridの6番目の社員であるKen Appleさんを招きSendGridの歴史や現状、事例のLTといった一夜にしてSendGridが分かる内容のイベントでした。 今後もPaaSに関する様々な技術についてのイベントを開催する予定です。最新の情報はフェイスブックページのフォローをして頂ければと思います。 SendGrid入門 構造計画研究所の中井さんはKenさんとコンビを組む形でSendGridの基を解説してくれました。日での代理店業務を開始したという事でこれから格的に日向けのサー

  • <span class="translation_missing" title="translation missing: ja.products.cloud.cli.meta-title">Meta-Title</span>

  • Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP

    Engine Yardを含むさまざまな場面で利用が広がったChefですが、その動作原理やアーキテクチャについてご存じない方もいることに気が付きました。細かなアーキテクチャを理解しなくても使うことができるというChefの長所を示しているともいえますが、細かな挙動を制御する際にはやはり動作原理などの知識があると役立ちます。 今回は表題のとおりレシピが実行される際のサイクルについてあまり知られていない部分を紹介します。 Chefの実行サイクルとリソースコレクション Chef(Chef Client、Chef Solo)が実行された際には直ちにサーバの設定が始まるわけではなく、さまざまなステップ毎に処理が実行されます。大まかには下記のようなステップになります。 Chef Serverとの通信、認証処理 Chef Serverからのクックブック、データの取得 クックブックのコンパイル ノードの設定

    Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP
  • アプリケーション環境のクローン機能 | Engine Yard Blog JP

    アプリケーションの開発・運用における複数の環境 商用アプリケーションであれば、導入企業の規模やアプリケーション機能数に関わらず、「番環境」以外に「開発環境」や「ステージング環境」を準備して、アプリケーションの開発プロジェクトを進めていることでしょう。これは、アプリケーションの開発手法がアジャイルであっても、ウォーターフォールであっても言えることでもあります。 私が長年携わってきたERP/CRMパッケージを用いたウォーターフォール型のシステム構築においても、「単体テスト環境」、「結合テスト環境」、「総合テスト環境」、「検収テスト環境」、「番環境」という多くの環境を用いてプロジェクトを進めてきました。 「The Twelve-Factor App」の「X. Dev/prod parity」 によると、このような複数のアプリケーション環境は、「時間」、「人材」、「ツール」という3つの領域にお

    アプリケーション環境のクローン機能 | Engine Yard Blog JP
  • Nginxの脆弱性(CVE-2013-4547)へのChefを使った対応 | Engine Yard Blog JP

    脆弱性の内容 Nginxセキュリティ設定を迂回できる脆弱性(CVE-2013-4547)が報告されました。この問題はNginxのバージョン、0.8.41 - 1.5.6が影響を受けると報告には記されています。内容については下記のようなセキュリティ設定を迂回できるというものです。 location /protected/ { deny all; } 迂回の方法はスペースを使ったURL,「/foo /../protected/file」やPHPなどの処理を呼び出す部分にやはりスペースがある事で実行できるとのことです。詳細についてはメーリングリストの投稿を御覧ください。 Engine Yardでの対応 Engine Yardでは該当の問題に対する修正パッチを適用したクックブックを脆弱性の報告から2日後(2013/11/21)にリリース済みです。 Engine Yardのダッシュボード上でアッ

    Nginxの脆弱性(CVE-2013-4547)へのChefを使った対応 | Engine Yard Blog JP
  • nanapi勉強会でVagrant + Berkshelfについて発表しました | Engine Yard Blog JP

    第1回 nanapi勉強会にてVagrantとBerkshelfについて話してきました。今回のテーマは開発環境ということでVagrantの話は他の誰かがするのかなと思っていたのですが、誰もVagrantについて話さなかったので時間配分が難しかったです。 スライド サンプルコード yandod/omusubi Single file Vagrntfile which spin up Ubuntu 12.04 + PHP5.5 + Nginx + MySQL Vagrantはキャズムを越えた 開発環境としてVagrantを使うというスタイルは2013年で急速に市民権を得たようです。今回の参加者の中でもVagrantを使っている人が半数を超えていたのでこの点については是非使いましょうという事になります。ただ仮想マシンの部分についてはVirtual Boxは手軽でいいのですがパフォーマンスが高

  • 第3回 週末ランサーズにてCakePHP3についての講演をしました | Engine Yard Blog JP

    クラウドソーシングサービスのランサーズさん主催の勉強会、第4弾 週末ランサーズにて、CakePHP3についての講演を行いました。まだ開発中のCakePHP3を実際に動かしてみたのは初めてでしたが、自分自身でも興味深い変化を見ることができました。 CakePHP3.0はPHP5.4以降とComposerが必須 PHP4対応を捨てたCakePHP2に引き続き、CakePHP3ではPHP5.3以前を廃止し、PHPの最新の構文を取り入れた形に大きく変わります。PSR-0/PSR-1に対応しnamespaceを使った形に全てのクラスが整理されています。また共通のメソッドの実装も基底クラスに持たせるのではなくtraitに移行するなどの合理的な変更が加えられています。例えばControllerクラスの冒頭部分は下記のようになっています。 namespace Cake\Controller; use Ca

  • GitHubのJohn Britton氏によるGitのレッスン | Engine Yard Blog JP

    Gitを日常の開発に使っていても、Gitがどのように動作しているのかや、ブランチやコミットがどのような概念なのかをはっきいりと理解していない人は少なくないでしょう。今回、GitHubのJohn Britton氏がイベントの為に来日し、下北沢オープンソースカフェにてGitについての非常に細かい内容についてのセッションを行ってくれました。 動画 90分ほどのセッションが高画質で録画されています。全編英語のセッションとなっていますが画面も見やすいのでご覧になってみてください。Gitのリポジトリがどういった情報を操作しているのかなどをさまざまなコマンドの実行結果と共に解説を加えるわかりやすい内容です。 大まかな話題 Gitのリポジトリの基概念 ツリーオブジェクト・オブジェクト ワーキングコピー、ステージング、ヒストリの違い ブランチの動き セッション中のハイライトをいくつかをツイートからご紹介し

  • New Relic Nightを開催しました。(動画&スライド) #eytokyo | Engine Yard Blog JP

    2013/10/17に弊社オフィスにてサーバー・アプリケーションの監視サービス、New Relicについての勉強会を開催しました。 PaaSやAWS上でNew Relicを使っている方は非常に多いようですが、問題の解決方法などについて利用経験のある方で情報交換の機会にと思い企画しましたがとても素晴らしい内容になりました。 各講演の資料と動画をご紹介します。当日のツイートについても下記にまとめてあります。 New Relic Night まとめ #eytokyo - Togetter その他の感想記事 New Relic Night に参加してきた - Blogaomu New Relic入門 @yando New relic from yandod New Relicの基的な所についての解説です。いくつかあやふやな点がありましたが、後続の講演でフォローしていただけましたので今回の