タグ

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

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

    注:これは「HHVM/Hack」シリーズのパート1です。 記事は英語版ブログで公開された記事の翻訳版です。 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
  • Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog

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

    Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog
  • ペットと家畜 - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 私は2011年にEngine Yardが買収したPHP PaaS「Orchestra」のオリジナル開発者の1人でした。顧客の多くはPaaSを使うのは初めてで、 それまではたいへん従来的なホスティング環境を利用していました。各種データをFTPサーバーにアップロードしたり、リモートからconfigファイルを編集したりすることに慣れていたのです。Gitが普及しThe Twelve-Factor Appのようなサイトが人気を博している今なお、こういう習慣は広く根付いています。それに拍車をかけているのは、オフザシェルフのPHPアプリの大半がかなり旧式で、未だにそういうデプロイメントシナリオを想定しているという事実です。 しかし、だからといって笑うべきではありません。伝統的なシステム管理は、マシンは物理的なものであるという前提で成り立っています。クラ

    ペットと家畜 - Engine Yard Blog
  • 第77回PHP勉強会が開催されました #phpstudy

    毎月恒例のPHP勉強会が4/28に開催されました。 今回はPHPのデプロイツールの紹介とCakePHP3の紹介ということで有用なツールの紹介がありました。 また初参加の方も多く和やかな雰囲気となりました。 第77回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper 第77回 PHP勉強会のまとめ #phpstudy - Togetterまとめ 第77回 PHP勉強会で発表してきました : ぐりぺん セッションの内容 PHPのデプロイツール Altaxを使ってみた話 木村さんからはPHPのデプロイツールの紹介をして頂きました。 デプロイツールというとPHPのユーザーの中でもCapistranoが幅広く使われていましたが、同様の機構をPHPで実現できるツールということで興味深い内容でした。 発表資料 公式のサイトの例にもあるとおりPHPで手続き的にデプロイを記述することができます

    第77回PHP勉強会が開催されました #phpstudy
  • 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
  • PHPの開発に使えるVagrantfileのまとめ | Engine Yard Blog JP

    このエントリはPHP Advent Calendar 2013 - Qiita [キータ]の1日目です。 PHPの開発に幅広く利用されるようになったVagrantですが、公開されているVagrantfileがGitHub上だけでも300件以上と色々とあるのでまとめておこうと思います。 Search · Vagrant php yandod/php5-nginx-vagrant-sample こちらは手前味噌ですが、自分が使っているVagrantfileです。素のPHPPHPUnit、各種フレームワークの動作検証に使うためにPHP5.5とNginxを構築しています。 またデータベースとしてMySQLとPostgreSQLを両方セットアップしてあり、ImageMagickも入っているあたりも特徴かと思います。 10up/varying-vagrant-vagrants 通称、「VVV」と呼

    PHPの開発に使えるVagrantfileのまとめ | 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

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

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

    Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP
  • AngularJS 勉強会のまとめ (動画・スライド) #ng_jp | Engine Yard Blog JP

    AngularJSの勉強会に参加して来ました。300人の定員があっという間に満席になるという事で注目の高さが伺える勉強会でした。参加者も発表の内容もバラエティに富んでいてこれから大きな飛躍があるであろう事を期待させる盛りだくさんの内容でした。 今回はEngine Yardから懇親会のスポンサードをさせて頂くと同時にPHPAngularJSの連携のLTや動画の撮影を行ってきましたので紹介させて頂きます。 ng-mtg#4 AngularJS 勉強会 | 集客ならイベントアテンド http://atnd.org/event/E0021975/ ng-mtg#4 AngularJS 勉強会 #ng_jp - Togetterまとめ http://togetter.com/li/598391 AngularJS 20min @naoya_itoさんによるAngularJSの入門講座。おなじみの

    AngularJS 勉強会のまとめ (動画・スライド) #ng_jp | 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
  • 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の基的な所についての解説です。いくつかあやふやな点がありましたが、後続の講演でフォローしていただけましたので今回の

  • 第72回PHP勉強会レポート #phpstudy | Engine Yard Blog JP

    先日、第72回PHP勉強会が開催されました。PHPカンファレンス明けということで2ヶ月ぶりの開催という事で、内容が濃い発表が多かったように感じます。 撮影した写真はFacebook上にアップしてあります。 第72回PHP勉強会 #phpstudy 当日のツイートのまとめはこちら 第72回PHP勉強会 #phpstudy - Togetter その他のブログ記事は見つけ次第、こちらに。 第72回 PHP勉強会@東京に参加しました。 - m_shige1979のささやかな抵抗と欲望の日々 20分枠 http://www.youtube.com/watch?v=DQwSud9ZHaU 竹馬さんからはPHPカンファレンスでは発表できなかった来の内容をお願いしました。ビールの力もあってとてもテンションの高い内容なので動画で見て頂いた方が楽しめると思います。アジャイルやリーンに関するコンテン

  • 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リポジトリからデプロイ。 私のプロジェクト

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

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

  • 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

  • CakeFest2013で発表されたCakePHP3の未来 | Engine Yard Blog JP

    2013/8/29からの4日間、CakePHPの公式イベントであるCakeFestがサンフランシスコで開催されました。2年ぶりにアメリカでの開催となった今回は参加者も多くとても賑わっていました。今回のイベントの基調講演でCakePHP3の現状についていくつか情報が出てきましたのでご紹介します。 CakePHP3の気になる新機能 現在はブランチで開発されているCakePHP3ですが、今年のうちにはベータなどのリリースが行われ最終的なリリースは来年になる見込みです。PHP5.3を飛び越えて5.4に対応する形になり名前空間などコードの見た目をぐっと現代的に変える変更が数多く行われています。今回の発表で言及された変更点は下記のとおりです。 PHP5.4以降に対応 namespaceに完全対応 DATABASE_CONFIGが廃止され、Configureに統合 Composerに標準対応 ルーティン

  • Engine Yard JP Blog | Ruby on Rails and PHP Blog

  • リソース指向の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に対して操作を行うという記述が必要になっています。ユーザーインターフ

  • Nginx の便利なrewrite (翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    記事は英語版のブログで2011年3月29日に公開された記事の翻訳版です。 私は Rails での作業に満足していますが、仕事に合った正しいツールを使うことも大事だと考えています。多くの開発者が Rails アプリケーションにリダイレクトを追加しますが、開発段階では便利でも、いざ番環境でのトラフィックが開始されると上手くいかない場合があります。当社では、フロントエンドのリバース プロキシとして Nginx ウェブ サーバーを使用しています。一般的なリダイレクトを Nginx に移して Rails の負担を軽減し、来のタスクを行わせることが簡単にできます。 たとえば、最初にフォーカス グループでは名前が覚えにくいと言われ、SEO の教祖様にはドメインに www を含めなければならないと批判され、ユーザービリティ担当者からは一般的な入力ミスを検知すべきだと言われたとしましょう。最初のうちは

  • Rails 4 パート1:Rails 4の最新情報 (翻訳版) | Engine Yard Blog JP

    この記事は英語版のブログで2013年1月22日に公開された記事の翻訳版です。記事中ではEngine Yard CloudはRails4をサポートしていないとありますが、現在はRails4をご利用頂けます。 注:これはRails 4の変更点と新しい特徴機能をお伝えする2部構成の投稿のパート1です。パート2は来週掲載されますので、そちらも併せてご覧ください。 Ruby on Railsフレームワークの4つ目のメジャーバージョンの公開がいよいよ近づいてきました。公式なリリース日はまだ発表されていませんが、候補版は今年初めに公開される見通しです。今回のバージョンは、作成に1年以上を費し、内部の設計方法に大きく手を入れています。モジュラー化がさらに進み、主なコードベースの無駄をなくすために特徴機能の多くを別々のジェムに組み込んでおり、また、廃止予定の機能は公式にサポートされなくなっていますが、当に