PHP BLT #6 参加レポート 【カテゴリ別まとめ】

前書き

こんにちは! サーバサイドエンジニアの畑です。
PHPに関する技術開拓のため、六本木ヒルズ森タワーにて開催された、PHP BLT #6に参加してきました!

面白くてためになる内容をご紹介くださった発表者の皆さん、お疲れ様でした!
また、素敵な会場とフード・ドリンクを提供してくださったメルカリ様、ありがとうございました!

この記事では、発表者のスライドをカテゴリ別にまとめ、
PHP BLT #6の内容を、たくさんの方にお伝えしようと思います^^

対象読者

  • PHP界隈の最新技術に興味がある方
  • PHP BLT #6に参加できなかった方

この記事の目的

  • PHP BLT #6の発表をカテゴリ別にまとめ、後から参照しやすくすること。
  • 発表のサマリ・関連技術のリンクを提示し、発表内容に興味を持った読者の、次の行動への足掛かりを作ること。

目次


PHPの新Version・PHPの言語拡張に関する発表


PHPの未来に入るかもしれない機能の紹介

@sters9

  • 現在議論中のRFCから、未来のPHPに実装されるかもしれない機能をピックアップして紹介する発表でした。
  • スライド中で紹介されていたArrow FunctionsPipe Operatorも興味深いところでしたが、個人的には@sters9さんの「試しにRFCを呼んでみたら、とてもためになった」という発言が印象的でした。
  • 他言語との比較、PHP自体の問題点が分かるなど、RFCを読むこと自体にも、色々なメリットがありそうです。

PHP at the Next Step

@nunulk

  • HackとPHP7を使ったlaravelのサンプルソースのご紹介です。
  • PHP7にはなく、Hackにしか実装されていない言語仕様が簡潔にまとめられていて、これからHackについて知りたい人には、丁度良い内容かと思います。
  • 弊社サーバサイドチームでもHackに関しリサーチを進めていている最中で、今後の動向が気になるところです(個人的には、HackやPHP7の機能を使って、型がしっかり決まったソースを書いていきたい所…!)。
  • スライドに関連する@nunulkさんのQiitaの投稿は以下になりますので、併せてご参照ください!

PHPに関連したツール、フレームワークに関する発表


Composerのstabilityの話

@kazuhei__

  • Composerで自作パッケージをインストールする際は、stabilityという概念に気を付けなければならないというお話でした。
  • ComposerはPHPerなら誰でも使いますから、頭の片隅に留めておくと、同じ問題にハマった際に役立ちそうです…!

php-fpm をちょっとチューニングしてみよう

@koemu

  • 司会の@koemuさんの発表です。
  • PHP-FPMのパフォーマンス改善入門が発表のテーマでした。
  • PHP-FPMの設定は、インフラ担当のエンジニアに任せていて、実はあまり詳しくないという方も多いのではないでしょうか…?(私もそうです)
  • 個人の学習でPHP-FPMを使う際、ぜひ入門で使いたい内容です。

php-profile-extensionを使ったApplication Performance Monitoring

@ariarijp
https://speakerdeck.com/ariarijp/php-profile-extensionwoshi-tutaapplication-performance-monitoring


PHP-CS-FixerとかAtomとか

@onigra_


ライブラリ・フレームワークに関する発表


Carbon Chronosから見るOSS運営

@serima

  • CakePHPプロジェクトにおいて、日付ライブラリをCarbonからChronosに置き換えたというお話でした。
  • ChronosCarbonと同じインタフェースで使えるライブラリである一方、両者には以下のような違いがあるようです。
    • Carbon: 生成されるインスタンスがmutable(変更可能)で、バグの温床になりやすい。
    • Chronos: こちらは生成されるインスタンスがimmutable(変更不可)。

Introduction to Guzzle

@DQNEO

  • PRS-7対応の有名なHTTPライブラリ、Guzzleに関する発表です。
  • 発表中の「Guzzleライブラリはソースが大規模であり、よくデザインパーンが使われている」という点にとても興味を持ちました(実業務での導入は勿論、コードリーディングの対象にしてもいいのかも…)。

エディタ・IDEに関する発表


PhpStorm導入アンチパターン

@fortkle

  • Vimmerである@fortkleさんが、PHPStormの使うようになるまでにネックになった点を、アンチパターンとしてまとめてくれた発表です。
  • VimからPHPStormへの移行に限らず、あらゆるエディタ・IDEへの乗り換えで起こりうる話かと思います。
  • 個人的には、発表中の@fortkleさんの、以下の趣旨の発言に、とても共感できました。
    • VimとPHPStormは同じ領域のものではない(用途に応じて使い分けることが大事)
    • ショートカットに関する記事を読むだけではなく、実際に手を動かして使ってみること

Universal CtagsとPHP

@NanohaAsOnKai

Universal CtagsとPHP


PHPとsyntax highlighting

@tadsan

  • PHPに対応した各エディタの、シンタックスハイライトをテーマにした発表です。
  • スライドの最後には、Emacsによる、PHPDocが強調されたシンタックスハイライトが紹介されていました(ドキュメントが見やすいシンタックスハイライトは、確かに素晴らしいと思います)。
  • PHPStromのデフォルトのシンタックスハイライトですと、大分PHPDocが目立ちませんので、とても羨ましく感じます…。

TDD(テスト駆動開発)に関する発表


TDSのススメ

@takkyuuplayer

  • 個人の勉強や開発も、テスト駆動で実施してみよう(TestDrivenなStudy)というお話でした。
  • 「テスト駆動で勉強を進めると、実業務への導入や、メンバーへのナレッジ共有が行いやすいメリットがある」という点がとても共感できました。

開発効率を上げるテスト設計

@tooooooooomy

  • チーム全体の開発効率を上げるために、どのようなテストを書くべきかをテーマにした発表です。
  • 発表中の「細かい異常系は、一番テストを書いたほうがいいところ」という考え方に、とても共感できました。

CI(continuous integration)に関する発表


CIをもっと高速にした(かった) / ci-fast

@rela1470

  • 弊社のエンジニアリーダー、渡辺の発表です。
  • CIにおける、ユニットテスト実行〜カバレッジ集計までのプロセスの高速化がテーマです。
  • xdebugによるカバレッジ出力が大変遅く、phpdbgに置き換えた所、パフォーマンスが劇的に改善したというのがポイントでした。
  • phpdbgによるカバレッジ出力ができるのはPHP7以降という条件があるのがネックですが、PHP7にバージョンアップ済みのプロジェクトでは是非取り入れたいですね!

Dockerを使ったPHPアプリ開発とCIについて

@hanhan1978

  • DockerでPHPアプリケーション動作環境を構築する際の要点・ハマりどころについての発表です。
  • 個人的には、DockerとCIツールに関する、以下のお話が印象的でした。
    • 各CIツールによって、対応しているDocker Engineのバージョンが異なる。
    • そのため、先にCIツールを選定してから、Dockerのバージョンを選定する。

その他ジャンルに関する発表


5分で分かるPHP7化する方法 〜アプリケーション編〜

@hypermkt

  • PHP7に移行したプロジェクトの事例と、その要点について扱った発表です。
  • 「開始から8年以上経過したサービスを、開発者2名で半年以内にPHP7.1にアップグレードした」という実績に驚かされました。
  • スライド中には、PHP7移行に関するノウハウも載っていて、「多くのプロジェクトにおいて参考になるのでは」と思われます。
  • 特に、PHP7移行確認用のチェックツールphp7ccがとても便利そうでした!

PHPerがMANAGerになった時にやった4つのこと

@itosho

  • 半年前にマネージャーにアサインされた、@itoshoの体験談です。
  • どの会社でも、チーフとしてアサインされる機会はあるはずで、多くの人に参考になりそうなスライドです。
  • 個人的には、スライド中盤に登場する、「余暇タイム」運用を定着させるため、@itoshoさん自身が率先して行動し続けたという話が、とても印象的でした。

Applicationとは何か(哲学)

@ndxbn

  • 各PHPフレームワークにおける、Applicationクラスの役割を調査・考察した発表です。
  • 「ApplicationクラスはDIコンテナとして実装されていることが多い」ということでした。
  • @ndxbnさんのように、フレームワーク間の実装を比較してみることは、とても良い勉強になりそうですね。

作者 畑 俊樹

株式会社ORATTAのサーバサイドエンジニア。 PHPでコードを書いてます( ^ω^ )

コメントを残す