サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
www.engineyard.co.jp
本記事は英語版ブログで公開された記事の翻訳版です。 パフォーマンスはどんなアプリケーション開発者にとっても大きな懸念です。問題なのは、人は往々にして、実際にパフォーマンスが下がりはじめ懸念すべき事態になるまで問題を放置しがちだという点です。パフォーマンス対策は前もって講じておくべきもので、ほころびが出はじめてから取りかかるのでは遅すぎます。たまのレビューで済ませるのではなく、プロセスの一環に組み込むことが必要です。この記事では、パフォーマンス向上のために開発者が自分でできるいくつかの対策について見ていきます。まずはデータベースです。 データベースのパフォーマンス Railsを使う場合、ActiveRecordやDataMapperといったORMを使えばアプリケーションからのデータ取得を楽にできますが、それだけにデータベースとのやりとりを改善する最適化やリファクタリングの重要性をおろそかにし
順調に開発が進むCakePHP3、最新のベータ版も公開され正式公開が近づいています。 今回はEngine Yardが公開しているRailsのサンプルアプリをCakePHP3に移植する形で実際に利用するポイントを確認してみます。 移植元のRailsアプリ engineyard/todo 移植後のCakePHP3アプリ yandod/cakephp3_todo 行った作業の流れを元にポイントを紹介します。 事前条件 アプリケーションは Engine Yardにワンクリックデプロイし、スケールアウト、スケールアップが可能にします。 画像やCSS、JavaScriptは元のアプリのものを流用します。 データベーススキーマはRailsアプリと共通とします。 プロジェクト初期化 開発はVagrant上で行いました。CakePHP3からはcomposerを使いプロジェクトを初期化して作業を始めるのが通例
本記事は英語版ブログで公開された記事の翻訳版です。 よくある話ですが、企業がリソースを消耗する社内ソフトウェアを持てあますと、「そうだ!いっそオープンソースにすれば、後はコミュニティが面倒を見てくれるじゃないか」などと思いたつものです。それは事実かもしれませんが、あくまでコミュニティが存在すればの話です。しかしコミュニティは、一度git pushとタイプすれば無料で手に入るというようなものではありません。コミュニティは構築するものです。そして構築には労力がかかります。それも多大に。 しかし、その大事業に乗り出す前に、コミュニティが後のことを任せられるだけの規模に育つまでにどれぐらいの労力が必要になるか、現実的な見通しを立ててみるべきでしょう。もし本当に社内でメンテナンスする時間もないなら、まず間違いなくコミュニティを育てる時間もないはずです。 まあとりあえず、映画の話から始めましょう。 ロ
本記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestar Ruby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている
私は Rails での作業に満足していますが、仕事に合った正しいツールを使うことも大事だと考えています。多くの開発者が Rails アプリケーションにリダイレクトを追加しますが、開発段階では便利でも、いざ本番環境でのトラフィックが開始されると上手くいかない場合があります。当社では、フロントエンドのリバース プロキシとして Nginx ウェブ サーバーを使用しています。一般的なリダイレクトを Nginx に移して Rails の負担を軽減し、本来のタスクを行わせることが簡単にできます。 たとえば、最初にフォーカス グループでは名前が覚えにくいと言われ、SEO の教祖様にはドメインに www を含めなければならないと批判され、ユーザービリティ担当者からは一般的な入力ミスを検知すべきだと言われたとしましょう。最初のうちは、これらの変更をすべて Rails で行うことができます。www がないこと
このブログ記事は指輪型デバイス Ringからデプロイされました(後述) 話題になっている指輪型デバイス、Ringを24番目で出資していたものが先週に到着し実際に触った見た上でEngine Yardとの連携を実装してみました。 あくまで現時点でのデバイスとソフトウェアを使った例ですが面白い動きが出来たではと思います。 Ring - an album on Flickr デバイスとアプリの設定 専用のダンボールで届いたRingを開封すると、バッテリーもそれなりに充電されておりすぐに使いはじめることが出来ます。到着時点ではiOS版のアプリが公開されていたのでこれを事前にインストールしておきます。 アプリを起動し、Ringのタッチスイッチを長押しするとBluetoothのペアリングが行われアプリとRingが連携します。Ringのスイッチはあくまでタッチするスイッチになっており押しこむ必要などは無い
10月18日、10月19日の両日に開催されたオープンソースカンファレンス2014 Tokyo/Fall にてChefの講演を行いました。 今回はChefなどに関する講演が複数あり、よりいっそう導入が広まっている様子が感じられました。 特に今回は日曜日にもかかわらず、70名近い方にセッションに参加していただきとても驚きました。 今回は従来の講演内容に加えてChef12で変更された部分についての情報とメディアで話題になった記事の紹介を反映しています。 特に重要そうなポイントをいくつか書き出しておきますが、詳細は資料と動画をご覧ください。 Chefの導入の広がり プロビジョニングツールとしては最も幅広く使われているといって良い状況。 (8/10)記者の眼 - 人気No.1の開発・運用ツールはこれだ!1000人調査の結果発表:ITpro ユーザーの特性に応じてAnsibleやPuppetも選択肢に
福岡は日本最大のRuby開発者グループの拠点であり、IT産業拠点としても急成長を続けています。その福岡のRubyグループが先日サンフランシスコを訪問し、ペニンスラを中心にさまざまなIT企業を見学しました。Engine YardもMatzの通称で知られる「まつもとゆきひろ」氏と福岡Rubyグループをオフィスに迎え、プレゼンテーションとQ&Aセッションの機会を得ることができました。プレゼンテーションはEngine YardのエンジニアリングSVPを務めるPaul Melmonが担当し、筆者とエンジニアによる質疑応答の後、一行をEngine Yard本社見学に案内しました。見学ツアー後、短い時間ながらMatz氏にRubyに関して以下のようにインタビューを行いました。 Bryan(筆者): 本日はお時間を割いて当社をご訪問いただきありがとうございます。まつもとさんと福岡Rubyグループをお迎えでき
本記事は英語版ブログで公開された記事の翻訳版です。 オープンソースはEngine Yardの根幹を形作る文化です。当社はもともとRubyを扱う会社として発足し、初期の業績のほとんどをRubyコミュニティであげました。2011年にOrchestraを買収してからはPHPコミュニティに軸足を移し、恩恵を還流する方法を常に模索しています。それだけに、本日このような発表ができることを大変うれしく感じています。 抜きん出た成功 ComposerはPHPで事実上唯一のパッケージ管理ツールであり、利用は拡がる一方です。 開発が始まったのは2011年2月ですが、リリースまではそれからほぼ1年近くを要しました。Packagistリポジトリには2012年4月13日の公開以来2年足らずで約150,000個ものパッケージが登録され、定評の高いソフトウェアであるMediaWikiも、2013年12月リリースのバー
本記事は英語版ブログで公開された記事の翻訳版です。 クラウドには2種類のアプリがあります。「動くアプリ」と「動かないアプリ」です。動くほうは「 Twelve Factor アプリ」と呼ばれます。 これはクラウド向けに特化して書かれているためクラウドで動作します。動かないほうは「レガシーアプリ」と呼ぶことにします。こちらは従来的なVPSホストで動かすことを前提に設計されています。 残念ながら、現在普及しているアプリのほとんどはレガシーアプリです。クラウドでの運用を想定して書かれていないので、たいていの場合、そのままでは動作しません。 レガシーアプリの例としてはWordPress、Magento、Drupalなどが挙げられます。あなたがクラウドに移行しようと考えている社内アプリも、もしかしたら同類かもしれません。 これはどう解決すべきでしょうか。レガシーアプリをクラウドで動かす方法はあるのでし
毎年恒例のCakePHPの公式カンファレンス、CakeFestが2014年8月21日にスペイン、マドリードにてワークショップ2日間、カンファレンス2日間の合計4日間で開催されました。 今回も講演を採択されたので参加してきましたが、ハイライトをご紹介します。 スペイン開催により欧州参加者多数 今回はスペイン、マドリードが開催地に選ばれました。ヨーロッパで開催される場合はイギリス、マンチェスターが直近では3回連続で選ばれていました。 目新しい開催地という事でやはり地理的に近いスペインやヨーロッパ諸国からの参加者が多く非常に活況でした。 エストニアやフィンランド、ノルウェーなどから来た開発者の方に会うことができ面白い話を聞くことができました。 ウェブサイトなどを見ていても感じにくい点ですが、CakePHPの利用者は多様性が実に高くさまざまな国で利用が進んでいます。 参加者数も130人弱という事で
本記事は英語版ブログで公開された記事の翻訳版です。 シリーズ前回の記事では、シェアードナッシング アーキテクチャがクラウドアプリ開発に課す制約についてお話ししました。また、そうした制約を受け入れることがどうしてアプリのスケーラビリティや可用性を高めるのかについても説明しました。 今回の記事では、アプリをクラウドに適応させるために、ファイルシステムへの依存性を取り除いてシェアード ナッシング アーキテクチャとの互換性を持たせる方法を解説します。 ファイルシステムを置き換える 自社アプリであれ、オフザシェルフのアプリであれ、既存のアプリをクラウドにデプロイしようとすると問題にぶつかることがあります。 私たちの経験からいって、最もよくある問題は、アプリが従来型のホスティング環境を前提とした設計になっているために、ファイルシステムがデータベースのようにふるまうと想定してしまうことです。つまり、アプ
Distillは、開発について幅広い話題を提供するカンファレンスです。 今年で2回目になるDistillが今月8月の頭にサンフランシスコで開催されました。 CoreOSから、スーパーボウルなどのライブイベントを支えるアーキテクチャ、エンジニアのメンタルヘルスにまで多くのセッションが行われました。 その中から、3つのセッションをピックアップしてお伝えします。後日セッションのビデオを公開する予定です。 Distill 2014 オープニング 目次 知覚スピード (THE PRECEPTION OF SPEED) RobotOps 10個のルール (THE 10 RULES OF ROBOTOPS) Railsにおけるリファクタリング物語 (FEAR OF THE CLASS - A REFACTORING TALE) 知覚スピード (THE PRECEPTION OF SPEED) 基調講演
注:これは「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++コードに変換し、そこからコンパイル
本記事は英語版ブログで公開された記事の翻訳版です。 Facebookは2014年3月20日、HHVM用のプログラミング言語「Hack」をリリースしました。この記事ではHHVMとは何かを紹介しつつ、Hackについて詳しく見ていこうと思います。 Facebookは(おそらく)世界最大級のPHPインスタレーションですが、近年はPHP5を離れ独自開発によるソリューションに向かっています。 ここまできても、まだPHP環境と呼べるのでしょうか?答えは「もちろん」と「とんでもない」の中間ぐらいといえます。 HHVM(HipHop Virtual Machine)の簡単な歴史 Facebookは初めに「HPHPc」というPHPからC++へのコンパイラを作りました。 これはFacebookの膨大なコードベースをC++コードに変換し、そこからコンパイルするというものでした――このプロセスには時間が(何時間も)
毎月恒例のPHP勉強会が7/28に開催されました。 レポート記事を見るとわかりますが今回は発表内容が非常に濃く、LaravelやHHVMの爆速っぷり、オブジェクト指向など有益な情報が多かったです。 資料や動画が残っているので参加できなかった方はぜひ再確認してみてください。 第80回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper 第80回 PHP勉強会へのツイート #phpstudy - Togetterまとめ 第80回 PHP勉強会( #phpstudy )に参加してきましたよ | 美徳という名の背徳(臨時号) 第80回PHP勉強会、LT7本立て箇条書きまとめ! - エンジニアをリングする セッション動画 てんこもりLTの動画 特に注目の発表 冒頭でリンクしている記事に詳細なレポートがあるのでぜひそちらも見て頂くとして、今回特に盛り上がったのがLaravel、HHVM、オ
本記事は英語版ブログで公開された記事の翻訳版です。 10年前の昨日、2004年7月13日、PHP 5.0.0が世界に向けて公開されました。Zend Engine 2を搭載し、実質的に生まれ変わったPHPです。 Zend Engine 2自体はPHP 4.3.0のいくつかのアルファ版から(試験的にですが)すでに公開されていました。一般的なユーザーにとって目立つ大きな違いは、オブジェクトの参照渡しがデフォルトになったことと、新しいオブジェクトモデルのサポートです。細かいことはさておき。 実は、PHP 4以前のPHPは基本的に手続き型言語で、クラスやオブジェクトをサポートしてはいましたが、いずれも後付けの機能だったのです。その歴史は現在でもデフォルト機能セットの多くに――最近追加されたパスワードハッシュAPIなどの新機能にさえ――見てとることができます。 それでも、いざ本格的な(「マシになっただ
先日Rubyビジネス推進評議会主催の第3回Rubyビジネスフォーラムが大阪で開催されました。 Ruby言語開発者、まつもとゆきひろさんが、『インターネットが変えるソフトウェアとビジネス。Rubyを例として』と題した基調講演を行いまいした。 その内容を紹介します。 計算機としてのコンピューター IBMの初代社長トーマス・ジョン・ワトソンの有名な言葉に、「コンピューターは全世界で5台くらいしか売れないと思う」と言ったとされています。 その数字は当時の計算技師の人数とENIACの計算性能から導かれた数でした。 ところが、今ではその数百万倍の処理能力をもつコンピューターが何億台もあります。 去年だけでPC出荷台数は3億台。スマートフォンとタブレットはそれを超える出荷がされています。 コンピューターは計算機としてのみ使われているわけではありません。 インターネットとの接続 今日、大阪まで松江から飛行
本記事は英語版ブログで公開された記事の翻訳版です。 シリーズ前回の記事では、クラウドサーバアーキテクチャの新しいとらえ方としてペットと家畜の例えを紹介しました。絶えず個別の世話を必要とし仕様もばらばらな「ペット」に代わり、共通仕様を持ち均質で、群れ単位で気軽に追加や削除ができる「家畜」を使っていこう、というのがクラウドの考え方です。家畜サーバーは取り替えの利くリソースと言うこともできます。 「1匹の仔犬の世話は家族3人がかりですが、家畜は数万頭いてもカウボーイ数人で管理できますし、そばに付きっきりでいる必要もありません」 Piston CloudのCTO、Joshua McKenty これは家畜のマインドセット、時にnoflakeアプローチとも呼ばれる考え方をうまく説明してくれています。ペットサーバーだと管理者が四六時中コンソールに貼り付いて面倒を見るのですが、家畜サーバーはこちらが途中で
本記事は英語版ブログで公開された記事の翻訳版です。 私は2011年にEngine Yardが買収したPHP PaaS「Orchestra」のオリジナル開発者の1人でした。顧客の多くはPaaSを使うのは初めてで、 それまではたいへん従来的なホスティング環境を利用していました。各種データをFTPサーバーにアップロードしたり、リモートからconfigファイルを編集したりすることに慣れていたのです。Gitが普及しThe Twelve-Factor Appのようなサイトが人気を博している今なお、こういう習慣は広く根付いています。それに拍車をかけているのは、オフザシェルフのPHPアプリの大半がかなり旧式で、未だにそういうデプロイメントシナリオを想定しているという事実です。 しかし、だからといって笑うべきではありません。伝統的なシステム管理は、マシンは物理的なものであるという前提で成り立っています。クラ
今年で4回目を迎えたPHPカンファレンス関西に参加しました。 年々規模も大きくなり今年も大盛況のイベントでした。参加者数は延べ400人以上、講演も3トラックになり非常に大きなイベントです。 参加者層も幅広く、初心者向けのセッションなどにも幅広く人が集まっていました。 今回はブース出展と講演の両方を行ったのですが資料などをまとめておきます。 PHPカンファレンス関西2014 ブース出展と書籍販売 今回はブース出展ということでリニューアルしたパンフレットやレア物の歯ブラシなどのノベリティを持ち込みました。 1人体制での参加という事でブースを不在にせざるをえない事もありましたが、ご不明な点などはお問い合せいただければと思います。 #Chef実践入門 衝動買いした! #phpkansai pic.twitter.com/vbNC8lE6cc— 山本裕介 (@yusuke) June 28, 201
画像は2006年6月の1周年PHP勉強会より photo by yuzuho 毎月恒例のPHP勉強会が6/23に開催されました。 2005年の6月に始まった勉強会がついに9周年を迎えたという事で正直、驚きを禁じ得ないのですが今回も色々な内容がありました。 勉強会の内容についてはツイートのまとめや参加者のhayakawaさんのブログがありますので、今回は動画のまとめと最近の運営についてご紹介します。 【祝9周年】第79回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper 9周年 PHP勉強会のまとめ - Togetterまとめ 【祝9周年】第79回 PHP勉強会( #phpstudy )に参加してきましたよ | 美徳という名の背徳(臨時号) セッションの動画 LTの動画 PHP勉強会の9年間の伝統 固定のWebサイトが無い PHP勉強会は決まったWebサイトが無く、その時に利用
6/13、6/14に開催されたオープンソースカンファレンス北海道に参加しました。 今回もDevOps(デブオプス)とChef(シェフ)に関する講演とブース出展という形での参加でしたが、多くの方にご来場いただき有難うございました。 また同じ週にはちょうどChef Casual Talksを東京、大阪、北海道を結んで行いましたのでこちらも紹介します。 オープンソースカンファレンス2014 Hokkaido - オープンソースの文化祭! 講演スライド ChefはDevOpsのツールセットの「自動化されたインフラ」に該当 ChefとDevOpsは近年話題になることの多いキーワードですが、具体的にどのような関連があるのでしょうか。 DevOpsは開発者(Developer)と運用者(Operator)の関係を改善することでより早く価値を提供するという考え方で、アジャイルやスクラムと同様にチームワーク
ゲーム開発者だけでなく、Webやモバイルに関わる人の共通のトピックになってきているUnity。 今回はその中でも物理演算を扱うRigidbodyについてのカジュアルな勉強会を開催しました。 Shimokita.Unity #1 - OSSCafe VR部 UnityのRigidbodyとColliderで衝突判定 - Qiita Shimokita.Unity on Livestream RigidbodyとColliderで衝突判定 - Shimokita.Unity // Speaker Deck Unityの操作を理解した初心者向け Unityをとりあえずはじめてみたい人にはおなじみのドットインストールのUnity入門がおすすめです。 なんらかの講座をご覧になった事がある方にはお馴染みのフォーマットとテンポで基本操作とゲーム作成を学習できます。 Unity入門 (全26回) - プロ
PHPの関数やコード例の動作確認をどのように行っていますか? 最も基本的な方法は変数や関数の戻り値を逐次、echoで出力する方法でしょう。 しかしこの方法では何度もコード編集と実行を繰り返す必要があり非効率です。デバッガやIDEの使用も解決策の1つですが、大げさすぎたりパフォーマンスの問題がある時もあります。 一方でRubyの世界を見てみるとirbやpryを使ってコンソール上でリアルタイムにコードを試す姿が一般的です。 今回はPHPで対話的なデバッグやコード実行を行えるPshSHを紹介します。 PsySH 従来の手法 php -a PHPには標準で対話シェルモードがPHP5.1以降から搭載されています。 しかしこの機能を利用するには--with-readline付きでPHPがコンパイルされている必要があります。 readlineが利用できない場合はインタラクティブシェルの変わりにインタラク
毎月恒例のPHP勉強会が5/26に開催されました。 今回はPHPを使っている企業などでも使われる機会の多いUnityとスマートフォンアプリをブラウザから作れるサービスでのPHPの事例の紹介がありました。 第78回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper 第78回 PHP勉強会のまとめ #phpstudy - Togetterまとめ 第78回 PHP勉強会( #phpstudy )に参加してきましたよ | 美徳という名の背徳(臨時号) 見つけ次第、追加予定。 セッションの内容 最近、注目が集まっているUnityをWebプログラマ向けに解説するセッションを行いました。 デモが手間取っているので動画はうまく飛ばしながらご確認ください。 3Dエディタを恐れない 3Dというと難しいイメージがあるかもしれません。 PHPなどのプログラム言語をすでに知っていて、PowerPoin
Rubyで作られた静的サイトジェネレーターとして人気があるMiddlemanのミートアップがEngine Yardオフィスで開催されました。 私自身は当日参加できませんでしたが、ストリーミングと録画を仕掛けておいたので簡単にレポートしようと思います。 Tokyo Middleman Meetup #2 - connpass Tokyo Middleman Meetup#2 - an album on Flickr Tokyo Middleman Meetup #2 で発表してきた - ja.ngs.io 【Middleman】Tokyo Middleman Meetup #2 でLTさせていただきました。 | Developers.IO Thomas さんによる講演 "Middleman Past, Present & Future" 今回、来日したThomasさんによる講演はMiddle
Engine Yardのオフィスはオープンソースやクラウド、スタートアップに関する勉強会やイベントへの会場提供を行っています。 毎週のようになんらかの勉強会が開催されており、スケジュール確認のためのカレンダーをGoogleカレンダーで公開しています。 このカレンダーの内容をJekyllで構築したWebサイトへ反映をRubyを使って実装しています。今回はその内容についてご紹介します。 Engine Yardイベントカレンダー Enigne Yard | ミートアップと勉強会 Jekyllはファイルベースの簡易DBを内蔵 Jekyllにはブログを作る為の機能としてファイルベースのデータベース機能を持っています。具体的には_posts以下に置いたmarkdownをメタ情報に基いて順次表示します。 このmarkdownにはFront Matterと呼ばれるメタ情報が着いており、カテゴリ別の検索など
次のページ
このページを最初にブックマークしてみませんか?
『Engine Yard | クラウドアプリケーション管理プラットフォーム』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く