PHPカンファレンス2014参加しました!
2014年10月26日
大変遅くなってしまいましたが、10月11日に行われたPHPカンファレンス2014に参加しました!
っということで、報告も兼ねて自分が参加したプログラムの中で特に気になったものを書いていきたいと思います。
今回かなり初心者向けのプログラムが多く、基調講演のアジェンダも「PHPの今」、「新しいPHP」となっており、
PHPでの開発は2年弱とまだまだ初心者の自分にもわかりやすい内容となっていました。
この頃よく耳にするのが、PHPの開発が少なくなってきているとのことで、
今から勉強するなら別言語の方がいいんじゃないかと思われるのですが、
実際のシェアはどのなのかというと。。。。
全体の82%と他の言語と比べてもダントツのシェアとなっており、
ここには書かれていませんが、まだまだシェア増え続けているとのことで、
今からPHPを勉強していただいても損をするということはまったくないので、ご安心ください!
次にPHPといってもバージョンが様々あり、現状の分布がどうなっているのかですが。。。
一番多いのはいまだに5.3ですが、5.4がかなり増えてきている状況です。
理由としては、やはり5.3のサポートが2014年8月に終わったのが大きいのではないかと思います。
自分が言語のバージョンを選ぶ場合は、最新バージョンではなく、
動作が保障され安定しているバージョンを選ぶことが多いのですが、
追加機能、速度改善等など最新バージョンを使うメリットももちろんあります。
視覚的にわかりやすい速度改善を例に出しましたが、
これを見るだけでも新しいバージョンを使うメリットを実感していただけると思います。
今後自分がPHPで開発する際にバージョンの縛りがない場合は、
出来る限り最新バージョンを使用し、新しい技術を積極的に取り入れていけるようにしていきたいと思います。
まずはAnsibleって何という話ですが、Chefと同様の構成管理ツールになります。
実際Ansibleをまだ使用していないので、具体的なことは説明できませんが、
セッションで聞いて、これはっと思った内容を書いていきます。
1. サーバ側に何もインストールする必要がない
Chefはクライアント側にChefClientをインストールする必要がありますが、
Ansibleについてはクライアント側へのインストールは必要なく、
Python 2.4以降(Python 3.0は除外)が入っていて、sshでログインできれば使用可能となります。
Vagrant+Chefで開発環境用の仮想サーバーを立ち上げる際は、
Vagrantを起動するときにChef Client/Chef Soloがインストールされていなければ自動でインストールする
vagrant-omnibusプラグインがあるため気になりませんが、実際のサーバーの構成管理をする際は、
かなりメリットがあるのではないかなと思います。
2.必ず上から実行される
Chefのレシピおいては記述した内容が前後することがあるが、
AnsibleのPlayBookについては、記述した内容を上から順に実行されるため、コードがわかりやすいです。
上記の内容だけでいくとAnsibleを使えばいいの?っということになってしまいますが、
ChefはChefでメリットがしっかりあるため、それぞれ使ってみて自分が使いやすいと思ったものを使ってもらえればいいと思います。
現在はChefしか使ってませんが、折をみてAnsibleも使ってみたいと思います。
まずはこのフリマアプリ「メルリカ」ですが、公開されて2年未満で500万DLを達成しているアプリになります。
なぜこの短期間で500万DLを達成し、成功しているのか。。。。
大手企業以外で成功させるためには、なによりも「スピード」が大切とのことでした。
ではそのスピードを出すためにはどうすればいいのかということをこのセッションにて説明していただけました。
1.完璧ではなく6割
中小企業においては、人が少なく、リソースがどうしても限られてしまいます。
その限られたリソースの中で、スピードを追求する際、数年後の考慮をした完璧なものを作るのではなく、
エンドユーザに提供できる6割の状態のものを作る。
2.迷ったら単純な方を選ぶ
サービスを作る際、ところどころの仕様で高機能だけど複雑なもの、
低機能だけど単純なものでどちらにするかで議論がありますが、
この際、出来る限り情報を集めても結論が出ないものに対しては、
「低機能だけど単純なもの」を選ぶことによって、学習コストが抑えられ、短期的な成果につながる。
3.費用対効果の高いテスト
開発の工数は極力少なくし、品質の保証はテストで担保する。
そのためにテストについてはスピードを追求するにしても省略するべきものではなく、
出来る限り費用対効果の高いテストをする必要があり、カバレッジ重視ではなくエンドツーエンドで正しさをテストする。
上記のうち、もっとも重視されるのが3.費用対効果の高いテストではないかと思います。
元々規模システムの開発に携わっていたこともあり、自分がテストケースを作成する際は、
どうしてもカバレッジ重視のテストを作ってしまっていましたが、
今後テストケースを作成する際は、実際エンドユーザが使うことを想定したテストを重視していきたいと思います。
他にもいろいろなセッションに参加しましたが、社内に閉じこもっているだけでは得られない情報が多くあり、
最新の技術を取り入れていくのであれば、積極的にカンファレンスや勉強会でていかなければいけないと感じました。
もちろん来年もPHPカンファレンス参加します!
っということで以上になります。
今年のカンファレンスの内容など興味がありましたら、
下記URLにてプログラム等が確認できるので、ごらんください。
http://phpcon.php.gr.jp/w/2014/
っということで、報告も兼ねて自分が参加したプログラムの中で特に気になったものを書いていきたいと思います。
基調講演
今回かなり初心者向けのプログラムが多く、基調講演のアジェンダも「PHPの今」、「新しいPHP」となっており、
PHPでの開発は2年弱とまだまだ初心者の自分にもわかりやすい内容となっていました。
この頃よく耳にするのが、PHPの開発が少なくなってきているとのことで、
今から勉強するなら別言語の方がいいんじゃないかと思われるのですが、
実際のシェアはどのなのかというと。。。。
全体の82%と他の言語と比べてもダントツのシェアとなっており、
ここには書かれていませんが、まだまだシェア増え続けているとのことで、
今からPHPを勉強していただいても損をするということはまったくないので、ご安心ください!
次にPHPといってもバージョンが様々あり、現状の分布がどうなっているのかですが。。。
一番多いのはいまだに5.3ですが、5.4がかなり増えてきている状況です。
理由としては、やはり5.3のサポートが2014年8月に終わったのが大きいのではないかと思います。
自分が言語のバージョンを選ぶ場合は、最新バージョンではなく、
動作が保障され安定しているバージョンを選ぶことが多いのですが、
追加機能、速度改善等など最新バージョンを使うメリットももちろんあります。
視覚的にわかりやすい速度改善を例に出しましたが、
これを見るだけでも新しいバージョンを使うメリットを実感していただけると思います。
今後自分がPHPで開発する際にバージョンの縛りがない場合は、
出来る限り最新バージョンを使用し、新しい技術を積極的に取り入れていけるようにしていきたいと思います。
Ansible ではじめるサーバ作業の自動化
まずはAnsibleって何という話ですが、Chefと同様の構成管理ツールになります。
実際Ansibleをまだ使用していないので、具体的なことは説明できませんが、
セッションで聞いて、これはっと思った内容を書いていきます。
1. サーバ側に何もインストールする必要がない
Chefはクライアント側にChefClientをインストールする必要がありますが、
Ansibleについてはクライアント側へのインストールは必要なく、
Python 2.4以降(Python 3.0は除外)が入っていて、sshでログインできれば使用可能となります。
Vagrant+Chefで開発環境用の仮想サーバーを立ち上げる際は、
Vagrantを起動するときにChef Client/Chef Soloがインストールされていなければ自動でインストールする
vagrant-omnibusプラグインがあるため気になりませんが、実際のサーバーの構成管理をする際は、
かなりメリットがあるのではないかなと思います。
2.必ず上から実行される
Chefのレシピおいては記述した内容が前後することがあるが、
AnsibleのPlayBookについては、記述した内容を上から順に実行されるため、コードがわかりやすいです。
上記の内容だけでいくとAnsibleを使えばいいの?っということになってしまいますが、
ChefはChefでメリットがしっかりあるため、それぞれ使ってみて自分が使いやすいと思ったものを使ってもらえればいいと思います。
現在はChefしか使ってませんが、折をみてAnsibleも使ってみたいと思います。
フリマアプリ「メルカリ」の超高速開発を支える PHP
まずはこのフリマアプリ「メルリカ」ですが、公開されて2年未満で500万DLを達成しているアプリになります。
なぜこの短期間で500万DLを達成し、成功しているのか。。。。
大手企業以外で成功させるためには、なによりも「スピード」が大切とのことでした。
ではそのスピードを出すためにはどうすればいいのかということをこのセッションにて説明していただけました。
1.完璧ではなく6割
中小企業においては、人が少なく、リソースがどうしても限られてしまいます。
その限られたリソースの中で、スピードを追求する際、数年後の考慮をした完璧なものを作るのではなく、
エンドユーザに提供できる6割の状態のものを作る。
2.迷ったら単純な方を選ぶ
サービスを作る際、ところどころの仕様で高機能だけど複雑なもの、
低機能だけど単純なものでどちらにするかで議論がありますが、
この際、出来る限り情報を集めても結論が出ないものに対しては、
「低機能だけど単純なもの」を選ぶことによって、学習コストが抑えられ、短期的な成果につながる。
3.費用対効果の高いテスト
開発の工数は極力少なくし、品質の保証はテストで担保する。
そのためにテストについてはスピードを追求するにしても省略するべきものではなく、
出来る限り費用対効果の高いテストをする必要があり、カバレッジ重視ではなくエンドツーエンドで正しさをテストする。
上記のうち、もっとも重視されるのが3.費用対効果の高いテストではないかと思います。
元々規模システムの開発に携わっていたこともあり、自分がテストケースを作成する際は、
どうしてもカバレッジ重視のテストを作ってしまっていましたが、
今後テストケースを作成する際は、実際エンドユーザが使うことを想定したテストを重視していきたいと思います。
まとめ
他にもいろいろなセッションに参加しましたが、社内に閉じこもっているだけでは得られない情報が多くあり、
最新の技術を取り入れていくのであれば、積極的にカンファレンスや勉強会でていかなければいけないと感じました。
もちろん来年もPHPカンファレンス参加します!
っということで以上になります。
今年のカンファレンスの内容など興味がありましたら、
下記URLにてプログラム等が確認できるので、ごらんください。
http://phpcon.php.gr.jp/w/2014/
Posted by iA SEチーム at 22:01│Comments(0)
│php