レギュラートーク(25分)

laravel-doctrineで実現する疎結合なLaravelモジュラモノリス

77web 菱田裕美

Laravelで多機能なアプリケーションをモジュラモノリスとして開発・メンテナンスしていこうとする時、Modelの依存は悩ましい点になっていると思います。AモジュールにあるModelがUserを、UserがBモジュールにある別のModelを参照してしまうと、結局疎結合にできず、メンテナンス時に依存を排除できません。
LaravelであってもORMとしてEloquentではなくDoctrineを使うことで、モジュール同士が依存しない、疎結合なモジュールによるモジュラモノリスが実現可能です。
実践的なモジュラモノリスLaravelのサンプルコードとともに、LaravelからDoctrineを使う実装についてご紹介します。

4
レギュラートーク(25分)

オープン・クローズドなテストフィクスチャを求めて

77web 菱田裕美

テストを書くとき、テストデータ(テストフィクスチャ)をどのように用意していますか?プロダクションコードを改修するとき、テストフィクスチャにも多数の改修作業が発生してつらくなっていませんか?
私は10年近くテストのある開発をしてきた経験から、テストフィクスチャもオープン(拡張に対して開いている)で、クローズド(修正に対して閉じている)にするのが良いのではないかと思うようになりました。
このトークではまず様々なテストフィクスチャの作り方を概観した後、オープン・クローズドなテストフィクスチャを実現するために現時点でベストだと私が思う方法をお伝えします。

5
レギュラートーク(25分)

古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略

bmf_san bmf_san

このトークでは、10年近く運用されているサービスにおけるPHPフレームワーク(FuelPHP 1.8.2からFuelPHP 1.9-dev)とPHPのバージョンアップ(PHP 7.3からPHP 8.1)の戦略について語ります。

FuelPHPは2023年7月現在、PHPの最新メジャーバージョンに対応したバージョンを公式にリリースしていません。
開発が完全に止まってしまったわけではありませんが、LaravelやSymfonyなど他のフレームワークと比べるとモダンという印象は持てないかもしれません。

FuelPHPを使っている方はもちろん、それ以外のPHPフレームワークを使っている方も対象に、PHPフレームワークとPHPのバージョンアップの知見を共有します。
様々なトレードオフやハードルを乗り越えるために、どのように計画し、アプローチしたかをお話します。

7
レギュラートーク(25分)

やわらかく話す「設計って何を考えればいいの?」

o0h_ きんじょうひでき

ソフトウェア設計やアーキテクティングって、とっても難しそうですね
─がしかし、普段のコードを書く時にも我々は「設計について」から逃れられない訳です!
「設計が良い悪い」以前にある筈の「どんなものが気持ちいいのか、求められるのか」を説明できていますか?
知識としての「○○原則」や「○○パターン」で片付けない審美眼を持ちましょう
このトークでは、なるべくやわらかく「そもそも設計って何で必要なんだろう」をシェアします

想定する対象者

  • 設計って言葉は聞くけど、それって何だ?と思っている人
  • (中級者手前くらい)

話すこと

  • 「設計」がもたらすもの、助かる事
  • コードを書く時に気をつけておきたい事

持って帰ってもらいたいこと

  • SOLID原則やクリーンアーキテクチャの「良さ」に興味を持つ
  • 「○○アーキテクチャ」を教条的に取り入れるのをやめる(ちゃんと咀嚼する)
5
採択
2023/10/08 13:10〜
トラック2 - 2F 小展示
レギュラートーク(25分)

Webアプリケーションのパフォーマンス・チューニングの勘所

soudai1025 曽根 壮大

Webアプリケーションは生き物です。
作って終わりではなく、日々運用を行っていかなければいけません。
しかし、日々成長するWebアプリケーションは突然パフォーマンスが問題になり、サービス障害を生み出します。

そこで今日はシンプルなLAMP環境で動くようなWerbアプリケーションのパフォーマンス・チューニングの勘所についてご紹介します。

話すこと

  • MySQLやPostgreSQLのスロークエリの見方と対応方法
  • プロファイラの使い方や計測の仕方
  • キャッシュの種類と選び方と使い方

対象者

  • 大規模ではなく、レンタルサーバーやシンプルなLAMPやLAPPの環境の人
  • PHPを始めとするWebアプリケーションを開発・運用している人
  • サービスのパフォーマンスを改善したい人

基本的な考え方から実際の明日から役立つテクニックまで全部ご紹介します!

33
採択
2023/10/08 14:15〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

PHP 8.3のmbstringの進化を見てください - コントリビューターとしてのかかわり

youkidearitai てきめん

PHP 8.1から始まった、mbstringの大規模改修。
それをまとめたところ、大規模改修をしているAlex DowadさんからFYA(For Your Action)をもらうようになり、レビューをしていました。
すなわち、mbstringの変化をリアルタイムで見るようになってしまったのです。

2022年12月から始まったこのゆるい関係は、ときに入ってきたプルリクエストをサポートしたりとたくさんの出来事がありました。てきめん自身もプルリクエストを送りマージされたため、GitHub上でContributorフラグをもらえました。

また、php-src上で誰に何を投げれば良いのか段々とわかってくるようにもなりました。

本トークでは、PHP 8.3のmbstringの変更点・貢献内容はもちろんのこと、php-srcへのコントリビュートに挑戦したい方への足がかりになれば幸いです。

採択
2023/10/08 12:40〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

RubyVM を PHP で実装する〜Hello World を出力するまで〜

m3m0r7 めもり〜

みなさんは何かしらの VM (Virtual Machine)を作ったことがあるでしょうか。私自身は過去に PHP で JVM (Java Virtual Machine) を作ったことがあります。
現職は Ruby on Rails がメインの企業です。Rails どころか Ruby 初心者である私が Ruby の気持ちを理解するにはひと工夫必要だと考えました。
そこで,過去に PHP で JVM を作ったことがある経験を活かし,RubyVM を自作して Ruby の気持ちを理解し学習速度を加速させようという考えに至りました。
本トークでは PHP でどのように VM というものを作るのか,そして RubyVM はどのように作っていくのかを,初心者でも「ちょっとわかったかも」と思えてもらうことをゴールとして解説します。

13