タグ

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

  • よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 Facebookは2014年3月20日、HHVM用のプログラミング言語「Hack」をリリースしました。この記事ではHHVMとは何かを紹介しつつ、Hackについて詳しく見ていこうと思います。 Facebookは(おそらく)世界最大級のPHPインスタレーションですが、近年はPHP5を離れ独自開発によるソリューションに向かっています。 ここまできても、まだPHP環境と呼べるのでしょうか?答えは「もちろん」と「とんでもない」の中間ぐらいといえます。 HHVM(HipHop Virtual Machine)の簡単な歴史 Facebookは初めに「HPHPc」というPHPからC++へのコンパイラを作りました。 これはFacebookの膨大なコードベースをC++コードに変換し、そこからコンパイルするというものでした――このプロセスには時間が(何時間も)

    よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog
    oppara
    oppara 2014/08/12
  • Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog

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

    Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog
    oppara
    oppara 2014/07/24
  • ブログやサイトのJekyllへの移行

    昨日、下北沢オープンソースカフェで行われた「静的サイトジェネレーター祭り」にてJekyllについてのセッションを担当しました。 都合によりMiddlemanのセッションはキャンセルされましたが様々なツールについてのナレッジが共有されました。 今ご覧になっているEngine Yardのサイトとブログは元々、RailsアプリケーションとWordPressだったものをJekyllに移行したものです。 JekyllというとやはりGitHub Pagesの印象が強いですが、しっかり使ってみると既存のサイトの移行やEngine Yardのような独自環境でのホスティングにも耐える汎用性の高いツールであると実感しました。 セッションからいくつかハイライトをご紹介します。 GitHub創業者の手によって生まれたブログエンジン Jekyll(じゃこる)は2008年10月にGitHubの共同創業者のmojomb

    ブログやサイトのJekyllへの移行
    oppara
    oppara 2014/03/28
  • Chefを拡張する3つの方法 | Engine Yard Blog JP

    Chefを使ってサーバの管理運用をする際に作りこむ対象としてまっさきに思いつくのがクックブックです。コミュニティクックブックを組み合わせたり自作のクックブックを書くことで作り込みを行っている人は多いのではないでしょうか。しかしクックブックばかりを作りこむだけがChefを拡張する方法ではありません。 knifeプラグイン knifeプラグインはknifeコマンドのサブコマンドを追加する形でさまざまな拡張を行う機構です。knife-soloもknifeプラグインの1つです。knifeプラグインはrubyを使って開発する事が出来、Amazon Web ServiceやDigital Oceanなどのパブリッククラウド環境のサポートを追加するものや、KVMやVMwareなどの仮想化環境をサポートを追加するものが多数公開されています。またコミュニティクックブックの公開や開発を支援するようなプラグイン

    Chefを拡張する3つの方法 | Engine Yard Blog JP
    oppara
    oppara 2014/01/24
  • 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
    oppara
    oppara 2014/01/14
  • 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

    oppara
    oppara 2013/12/31
  • 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
    oppara
    oppara 2013/12/19
  • 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
    oppara
    oppara 2013/12/19
  • Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP

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

    Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP
    oppara
    oppara 2013/11/28
  • 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
    oppara
    oppara 2013/11/23
  • 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は手軽でいいのですがパフォーマンスが高

    oppara
    oppara 2013/11/13
  • 第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

    oppara
    oppara 2013/11/12
  • PaaSレイヤーの「シングルテナント」と「マルチテナント」はどちらが優位か? | Engine Yard Blog JP

    SaaSというクラウド事業モデルが出始めて以来、「マルチテナント」という言葉を耳にすることが多くなったのではないでしょうか。そして、今となってはあまり耳にしなくなっているかもしれません。しかし、誤解を解くために敢えてこの話題を取り上げたいと思います。 ではまず、「マルチテナント」という言葉の火付け役ともなった「SaaS」を含む、クラウドサービスの基の3形態、そして「マルチテナント」とそれに相対する「シングルテナント」がどういったものなのかをおさらいします。 クラウドにおける基の3形態 1999年に設立されたSalesforce.com社によって「SaaS」という言葉が生み出され、2006年に「クラウドコンピューティング」という言葉が普及して以降、クラウド上で提供されるソフトウェアを一般的に「SaaS」と呼ぶようになりました。そして、クラウドをはじめとする、あらゆるサービスの事業モデルを

    oppara
    oppara 2013/11/12
  • 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の基的な所についての解説です。いくつかあやふやな点がありましたが、後続の講演でフォローしていただけましたので今回の

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

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

    oppara
    oppara 2013/10/10
  • Zend Framework作者によるEngine YardへのPHPアプリのデプロイハウツー (翻訳版) | Engine Yard Blog JP

    Matthew Weier O'Phinney氏はZend Frameworkのプロジェクトリードとして知られる、PHPコミュニティの中でも特に大きな業績があり、また広いネットワークを持っている人物です。今回、Matthew氏がゲスト投稿としてEngine Yardのブログに寄稿して頂きました。記事は英語版のブログで2013/09/25に公開された記事の翻訳版です。 私は最近、様々なクラウド プラットフォーム サービス(PaaS)の試験をしていて、ごく自然にEngine YardがPHP開発者の為に提供するEngine Yard Cloudに興味を持つようになった。 筆者のアプリケーションのデプロイは、いくつかの非自明な側面が含まれており、それを実現する事が簡単だったり、難しかったりするかを知りたかった。これには下記のようなものが含む。: Gitリポジトリからデプロイ。 私のプロジェクト

    oppara
    oppara 2013/10/07
  • Chef Casual Talksを生放送形式にして開催しました | Engine Yard Blog JP

    全員がスピーカーという形式で開催してきたChef Casual Talksですが、関西方面での盛り上がりも受けて生放送中心の形式で開催をしてみました。スライドも大変見やすく、発表中に質問も出やすいので今後もこの形式で開催できればと思います。 編は 24:00 くらいからです。 29:04 「Windows Azure with Engine Yard Azureに対応したChefベースのPaaS」 @yando 51:35 「はかどるChefの小ネタ集」 @sawanoboly 1:29:27 「ほぼ質問でーす」 発表に使った資料は枚数もあまりないので、直接画像で張っておきます。 Engine YardのChef活用 7月から提供を開始したWindows Azure向けのPaaSが加わったことで3つのプラットフォーム向けの環境をChefで構築しクックブックのメンテナンスを行っていま

    oppara
    oppara 2013/09/25
  • Composerを活用したモダンな開発手法をPHPカンファレンス2013で発表してきた。 #phpcon2013 | Engine Yard Blog JP

    2013/9/14に蒲田の太田区産業プラザPiOで開催されたPHPカンファレンス2013でComposerについての発表を行ってきました。Composerを使った事が無い方向けにまずComposerを使うと何が便利なのか、autoloadがどのように便利かという点に絞って解説をさせて頂きました。発表資料は下記です。既にComposerを使っている方々にとっては聞き飽きた情報かもしれませんが、これからComposerを使う人に向けて改めてポイントを振り返ります。 Composerは今すぐに使える { "require": { "dg/twitter-php": "*" }, "autoload": { "psr-0": {"": "lib/"} } } ComposerはPHPのコマンドラインが使える環境であれば簡単に実行できます。インストーラーを実行すればPHPから実行可能な compos

    oppara
    oppara 2013/09/17
    Composerを活用したモダンな開発手法をPHPカンファレンス2013で発表してきた。 #phpcon2013 | Engine Yard Blog JP
  • リソース指向のWebアプリ 〜Nate Abele氏 来日講演〜 | Engine Yard Blog JP

    AngularJSを使うとイベントに対応してインターフェースを更新する処理や、リモートのAPIを経由したリソースの操作をシンプルな実装で実現できます。例えばキー入力を検知してページに内容を反映するコードをJQueryで記述した場合は下記のようになります。 <input type="text" id="name"> <h1>Hello!</h1> <script type="text/javascript"> $(document).ready(function() { $('#name').keydown(function(e) { $('h1').html("Hello " + e.target.value + "!") }); }); </script> JQueryのサポートを受けているとはいえ、イベントを元にDOMに対して操作を行うという記述が必要になっています。ユーザーインターフ

    oppara
    oppara 2013/08/01
    リソース指向のWebアプリ 〜Nate Abele氏 来日講演〜 | Engine Yard Blog JP
  • CakePHPをComposerで導入する手順(Vagrantでのデモ環境同梱) | Engine Yard Blog JP

    でとても人気のあるフレームワーク、CakePHPですが話題の依存性管理ツールComposerと組み合わせる事でさらに便利に利用する事ができます。今回はその方法をVagrantを使ったデモと共にご紹介します。この記事で利用した環境のVagrantfileを使って頂くことでみなさんの手元でも同じ動作を確認できます。CakePHPをComposerからインストールした事が無い方は是非お試しください。 CakePHPをComposerで導入する利点 通常、CakePHPを利用する場合はZipかTarで配布されている最新版をダウンロードし、まるごとリポジトリに追加して開発を行うという形になります。すぐに動作させられるという点ではとても便利ですが、開発が長期になりフレームワークを最新版に差し替えたい場合に手作業が必要になります。またリポジトリ内に自分が記述したわけではないコードが大量に含まれるよう

    oppara
    oppara 2013/07/19
    CakePHPをComposerで導入する手順(Vagrantでのデモ環境同梱) | Engine Yard Blog JP