tsyama記

プログラミングとそのほか

PHPカンファレンス2019 #phpcon に参加しました

はじめに

PHPカンファレンス界の本家本元、PHPカンファレンスに初参加。
人も場所も規模が大きく、いつものカンファレンスとはまた違った雰囲気でした。

見たもの

PHPにおける並列処理と非同期処理入門

PHP における並列処理と非同期処理入門 - Speaker Deck

  • 並行処理、並列処理、非同期処理の違いは今まで認識してませんでした。マルチスレッドとマルチプロセスも曖昧。メモしとこう。
  • Swoole、最近めちゃめちゃ聞くのでそろそろ手を出してみたいんですが、使いどころが難しい
  • Swoole使わなくてもPHPで並列処理できるんですね、知らなかった(Swooleは非同期処理)
    • pcntl, pthreadsおよびpopen, proc_open
    • Swooleよりも簡単に導入できそうですし、使いどころありそうなので試してみましょう
  • 失敗談、なるほど
    • 誰がメンテするの?っていうのは常に直面する問題だなあ
  • 短い枠でしたが、取り上げるテーマの大きさがちょうどよくて満足感高かったです。並行処理/並列処理/非同期処理の違いがわかっただけでもこのセッションを聴けた意義がある。やっぱり具体的なツールやコードがあると「あ、ぼくもやってみよう」となりやすいですよね。

思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう

[PHP Conference 2019]思想と理想の果てに――クリーンアーキテクチャのWEBフレームワークを作ろう │ nrslib

  • クリーンアーキテクチャも最近よく聞きますね、ってカンファレンス参加するたびに書いてる気がする
  • @nrslibさんがクリーンアーキテクチャ系でいろいろ記事書いてるようなのであとで見に行こう
  • クリーンアーキテクチャの重要な要素の一つにプラガブルであるという点があるのはなんとなくわかりました
    • 以前プリンシプルオブプログラミングで読んだ格言を思い出しました

コンピュータサイエンスにおける問題のほとんどは、間接化のレベルを一段深くすることによって解決できる」

  • プラガブルにするためにこんなにクラスを作らないといけないのか…という思いはないこともない
  • ので、スキャフォールドで解決しようというアプローチはいいな!と思います。
    • 理想のコードを書くのってやっぱり大変だと思うので、仕組み化の力を借りて理想に近づいていくっていう考え方は普遍的なものなんじゃないかなーと
  • クリーンアーキテクチャとかドメイン駆動とか、最近よく聞くけどテーマが広くて深いのでなかなか手が出しづらい…みたいな知識をカンファレンスで取り上げてくれるのはありがたいなーと思いながら聴いていました。今回はクリーンアーキテクチャについて包括的に解説しつつ、必要なところは都度コードレベルで解説、みたいな感じだったので情報量多かったですが、あとからスライドや@nrslibさんの記事などを見返しながら咀嚼していこうと思います。

Webサービスのトラブルの現場 ~ Webサービスの今と昔 ~

Webサービスのトラブルの現場 ~ Webサービスの今と昔 ~ / web-server-is-dead - Speaker Deck

  • 1台でもオートスケールしましょうっていうのは「確かに…」となりました。これからやろう。
  • noborus/trdsql
  • 便利そうなツールを教えてもらった。
  • 監視ってがっつり始めようとするとハードル高そうなので、雑にログ集めてこういうツールで集計してみる、みたいなところから始めたい
  • [そーだいなるらくがき帳 ○○ 監視] [検索]
  • Songmu/horenso
  • バッチって確かに一度作っちゃうと放置しがち。こういうものこそちゃんと監視していくべきですね
  • @soudai1025さんのセッションはいつもわかりやすいし聞きやすいので、カンファレンスに行くたびに聴いてます。いつも実践や実例に近いところを取り上げてくれるので、すぐ業務に活かせるような知見が得られるのはありがたいです。

REST 6+4の制約

REST 6+4の制約 - Speaker Deck

  • ハイパーテキストのこと、RESTのこと、我々はちゃんと知らない
  • REST APIという言葉はいろいろな言葉で使われているうちに原義を意識されなくなってきているみたい。より原義に近いのは Hypermedia API と呼ばれている?
  • RESTの特徴を表したREST (Fielding) 制約
  • ハイパーメディア制約
    • Resource側からNext Actionを提示するっていうのはHypermedia APIって感じだしWebって感じですね。ただ、実際にAPIのレスポンスでどう実現するのかはよくわからなかったので確認してみよう。
  • キャッシュ
    • キャッシュ、奥が深い
    • APIとキャッシュは相性がいいと思うんですけど、だからこそちゃんと設計してあげないといけないですね
  • ALPS、初めて聞いたし気になりました。調べよう。
  • schema.org、以前聞いたときに「便利そう!使ってみよう!」と思ったはずなんですが、まだ使えてないですね。やろう。
  • @koriymさんのセッション、いつもレベルが高いので話についていくのでいっぱいいっぱいになりがちなんですが、Webの根っこのところに触れられる機会はなかなかないのでありがたく聴いています。

おわりに

今年1月の仙台ではじめて参加したPHP系カンファレンスも気付けば5度目です。よく頑張った。(仙台・PHPerKaigi・福岡・北海道・東京)
初参加の本家本元PHPconで今年を綺麗に締めくくれたので満足ですね。

転職活動でアピールできるように、みたいな下心もまったくなかったわけではないですが、飽きっぽい自分のやる気を定期的に駆動してくれるよい場だなあと思います。

今年のカンファレンスについて振り返るとほぼ聴く側に終始していたので、来年はLT登壇でもスタッフ参加でも、例えば誰かを誘ってみるだけでもいいので、何かしらカンファレンスに貢献できればいいなー。

あとは一人で県外のカンファレンスに参加するとコミュ障が暴走するので、同僚なり知り合いなりとカンファレンスに参加するという実績を解除したい。

最後に、今回のPHPカンファレンスのスタッフ、スポンサー、および登壇者の皆さん、お疲れさまでした。