タグ

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

  • マドリードで見たCakePHP3の明るい未来 - Engine Yard Blog

    毎年恒例のCakePHPの公式カンファレンス、CakeFestが2014年8月21日にスペイン、マドリードにてワークショップ2日間、カンファレンス2日間の合計4日間で開催されました。 今回も講演を採択されたので参加してきましたが、ハイライトをご紹介します。 スペイン開催により欧州参加者多数 今回はスペイン、マドリードが開催地に選ばれました。ヨーロッパで開催される場合はイギリス、マンチェスターが直近では3回連続で選ばれていました。 目新しい開催地という事でやはり地理的に近いスペインやヨーロッパ諸国からの参加者が多く非常に活況でした。 エストニアやフィンランド、ノルウェーなどから来た開発者の方に会うことができ面白い話を聞くことができました。 ウェブサイトなどを見ていても感じにくい点ですが、CakePHPの利用者は多様性が実に高くさまざまな国で利用が進んでいます。 参加者数も130人弱という事で

    マドリードで見たCakePHP3の明るい未来 - Engine Yard Blog
    advblog
    advblog 2014/09/23
  • よりよい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
    advblog
    advblog 2014/08/13
  • 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
    advblog
    advblog 2014/07/28
  • PHPをインタラクティブに実行する PsySH

    PHPの関数やコード例の動作確認をどのように行っていますか? 最も基的な方法は変数や関数の戻り値を逐次、echoで出力する方法でしょう。 しかしこの方法では何度もコード編集と実行を繰り返す必要があり非効率です。デバッガやIDEの使用も解決策の1つですが、大げさすぎたりパフォーマンスの問題がある時もあります。 一方でRubyの世界を見てみるとirbやpryを使ってコンソール上でリアルタイムにコードを試す姿が一般的です。 今回はPHPで対話的なデバッグやコード実行を行えるPshSHを紹介します。 PsySH 従来の手法 php -a PHPには標準で対話シェルモードがPHP5.1以降から搭載されています。 しかしこの機能を利用するには--with-readline付きでPHPがコンパイルされている必要があります。 readlineが利用できない場合はインタラクティブシェルの変わりにインタラク

    PHPをインタラクティブに実行する PsySH
    advblog
    advblog 2014/06/06
  • <?phpタグが無くなる日 〜PHPの開発プロセス〜

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

    <?phpタグが無くなる日 〜PHPの開発プロセス〜
    advblog
    advblog 2014/02/12
  • 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
    advblog
    advblog 2014/01/14
  • 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
    advblog
    advblog 2013/12/26
  • 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
    advblog
    advblog 2013/12/01
  • 第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

    advblog
    advblog 2013/11/12
  • 楽天テクノロジーカンファレンス2013参加レポート #rakutentech | Engine Yard Blog JP

    楽天株式会社が開催する恒例の技術カンファレンス、Rakuten Technology Conference 2013に参加しました。「電車で行ける海外カンファレンス」というような呼ばれ方もしているように全てのセッションや進行が英語で進められるというイベントです。イベントの中で印象に残った点をいくつかご紹介させて頂きます。 会場で撮影した写真アルバム(Facebook) #rakutentech Rakuten Technology Conference 2013 基調講演 "Aiming the Moving Target" https://www.youtube.com/watch?v=obiljftVy0g おなじみのまつもとゆきひろさんによる基調講演。この基調講演はもともと、予定されていたものですが諸事情により時間に余裕ができた形で実施されました。内容はRubyのエピソードもところ

    advblog
    advblog 2013/11/01
  • GitHubのJohn Britton氏によるGitのレッスン | Engine Yard Blog JP

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

    advblog
    advblog 2013/10/11
  • 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

    advblog
    advblog 2013/10/05
  • モダンPHPチュートリアルを開催しました | Engine Yard Blog JP

    2013/8/24に開催された LLまつり にて「モダンPHPチュートリアル」というタイトルのチュートリアルを担当しました。内容としてはPHPをあまり追いかけていないような方にComposerを中心とした現在よく利用されている開発手法と、PHPのバージョンアップに伴い廃止された機能などを紹介しました。 古くなったプラクティス 古くなったプラクティスとしてはレガシー化したコードによく現れる特徴や、最新のPHPでは利用できなくなった、あるいは今後利用できなくなる項目として下記を挙げています。 ファイルの末尾の ?> 拡張子 .inc のファイル CR+LF (PSRにてPHPの改行コードはLFが推奨されました。) register_globals(廃止済み) safe_mode(廃止済み) magic_quote(廃止済み) @(例外処理を使うべき) var(public private st

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

    advblog
    advblog 2013/08/02
  • 「初めてのChefの教室」をアップデートしました | Engine Yard Blog JP

    第2回 JAWS−UG 神戸 OpsWorks (Chef) 特集 ! on Zusaar 神戸で開催された JAWS-UG 神戸でChefについての発表を行いました。以前、Engine Yardのオフィスで開催したものをChef11に対応した形でアップデートした内容です。 おもな変更点としてはインストールの方法やChefの全体のアーキテクチャの解説を最新に変更しています。以前の資料のとおりだとやや残念になってしまうのでこちらを参照して頂けるとスムーズにChefを導入できるのではと思います。 すぐに手元で試したい方にはこちらのVagrantfileをオススメします。 超シンプルなVagrantfile https://gist.github.com/yandod/5934790 Engine YardはAmazon Web ServiceやWindows Azureなどのクラウド環境にC

    advblog
    advblog 2013/07/06
  • Rubyの並行処理で学んだこと――パート1(翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    この記事は英語版のブログで2013年2月5日に公開された記事の翻訳版です。 Engine Yard のPaaS製品は非常に複雑である上に、数千ものサーバーに及んでいます。弊社のアプリケーションを素早く確実に動作させるには、並行処理と並列処理をよく理解する必要があります。私は、自らの開発努力でこの問題を解決しようと、並行処理という困難な世界を探求しました。この投稿はその要約です。後編となるパート2では、並列処理に重点を置いて説明する予定です。 ハードウェア? この問題をハードウェアで解決しようとすることはできます。しかし、CPUがネックなのであれば、コアごとのスピードをある程度まで上げることはできても、最終的には役に立たなくなってしまいます。サーバーの数を増やすにしても、同じことが言えます。次々とシリアル処理を行っても、追加されたサーバーごとの処理装置の数は決まっているからです。 「シリアル

    advblog
    advblog 2013/05/16
  • Node.jsを使う状況 (翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    こちらの記事は英語版のブログに2013年2月12日に掲載された記事の翻訳版です。 約2年前にNode.jsの専任になるまで、私は自分のことを何でも屋のウェブ開発者だと思っていました。アプリケーションの大半はPHPPython風に書いて、週末は、JavaRubyを試してみる、ということをしていたのですから。それに、当時の多くのJavaScript開発者たちと同じように、私もjQueryのプラグインを書いていました。今から思うと、開発者として焦点が定まっておらず、何かがすべてを結び付けてくれるのを待っていたのです。 初めてNode.jsを試してみた時は、アプリケーション全部をひとつの言語で書くことができてとても新鮮でした。それに、開発者コミュニティの初期ツールのおかげで、小さくてテスト可能な別個のモジュールを容易に作ることができました。モジュールは他のさまざまな環境の土台ですが、Node.

    advblog
    advblog 2013/05/03
  • Chefを利用したPaaS環境

    Engine Yardはあなたの環境をCHEFで構築 Engine Yard Cloud上で稼働するアプリケーションはそれぞれに専用のAmazon EC2インスタンスが作成され、Chefを利用して環境の構築が行われます。Engine Yard CloudのPaaS環境は通常のEC2インスタンスと同じパフォーマンスを発揮し、他のユーザとの共用による性能低下や制限はありません。複数サーバで構成されるクラスタを作成した場合もEngine Yardが長年開発したクックブックにより自動的に最適な設定が行われます。 またChefのカスタムレシピを記述する事でEngine Yardクラウドの環境に自由に変更を加えたり、追加のミドルウェアの導入や外部サービスとの連携なども実現できます。Engine Yard CloudはPaaSであると同時にChefを利用したインフラを運用できるクラウドサービスです。 ダ

    advblog
    advblog 2013/04/06
  • HTML5 を使ったモバイル 開発 (翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    記事は英語版ブログに2011年8月25日に公開された記事の翻訳版です。 HTML5: 標準、流行語、そして伝説 技術畑になんらかの関係があるブログを読んでいる方なら、ほぼ毎週のように HTML5 についての記事が目に入ると思います。万能とはいきませんが、この新しいウェブ標準には、HTMLCSS、そして JavaScript だけを使ってパワフルなアプリケーションを作成できる機能が備わっています (Rails のバックエンドにより、これにさらに強力な機能が加えられます)。この投稿では HTML5 の主な概念と機能にいくつか触れ、より高度なトピックを扱うための準備をしていきます。 ブラウザーとの互換性 おそらくウェブベースのアプリケーションを開発するにあたっての一番の課題は、今日使用されている多岐にわたるブラウザーとの互換性を確保することでしょう。幸い、モバイル アプリケーションにおいては

    advblog
    advblog 2013/03/26
  • MySQL をキューに使用する 5 つの微妙な方法とその落とし穴 (翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    記事は英語版のブログに2011年9月15日に投稿された記事の翻訳版です。今回のゲスト投稿は Percona の皆さんによる記事です。同社では 2011 年 10 月 24 日と 25 日に Percona Live London というイベントを開催します。この 2 日間にわたるイベントでは、MySQL の分野における経験豊かなスピーカーにより、純粋に技術関係のセッションが行われます。 ロンドン周辺からの参加をご希望の方は、今週が無料パスを手に入れるチャンスです。応募方法は @engineyard のツイッター フィードをチェックしてください。 私は MySQLコンサルタント会社 Percona に勤務しています。記憶の補助として、お客様から解決を依頼された興味深い問題についてメモしたテキスト ファイルを作成し、すぐに参照できるようにしています。その中で頻度の高い問題のカテゴリとして

    advblog
    advblog 2013/03/12