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

Laravel + Inertia.jsでReactアプリケーション構築

zosokh ヒエイカザト

Laravel8からInertia.jsを利用できるようになり、シンプルな設計でLaravelでSPAアプリケーションの構築ができるようになりました。
Laravel + Inertia.js + React.js + Vite + Typescript でアプリケーションを作った話をします。

  • Viteを利用した初期設計
  • 基本構文や便利機能
  • Inertia的リダイレクト
  • Inertia.js で苦戦した点
  • PHPUnit・Vitestの書き方

【トーク対象】

  • Laravelで開発している方
  • PHPとSPAアプリケーションを開発運用している方
  • Inertia.jsを知りたい方
7
レギュラートーク(20分)

毎月開催している社内LT会運営の裏側〜継続して運営するためにやっていること〜

kotomin_m ことみん

PHPerの皆さんが大好きなLT会、開催していますか?
開催したい気持ちはあるけど実際にやるのは難しい。。という方も多いのではないでしょうか。

私たちは社内LT会を毎月オンラインで開催しています。
4〜5人で運営しており、「2週間前の準備・当日の準備/運営・振り返り」のサイクルで行っています。
このトークでは、毎月開催するための準備・運営でやっていること、実際にやってみて上手くいったこと/いかなかったことを詳しくお話します。
メインの参加者はエンジニアですが、事業部側の人たちも多く参加してくれているので、その様子もお伝えしたいと思います。
オンラインイベントを運営したい方の参考になると嬉しいです。

話すこと

  • 参加者を集めるためにやったこと
  • 様々なツールを使って開催したこと
  • 開催してみて上手くいかなかったこと
  • オンラインでも参加者全員が盛り上がれるために工夫したこと
1
レギュラートーク(20分)

横断組織を爆誕させ「スキル獲得と文化作り」のために取り組んできたこと

takedajs 武田 翔平

皆さんが所属してるエンジニア組織の課題はなんでしょうか?
どの組織も何かしらの課題があるのではないかと思います。

弊社ではPHPで開発された複数メディアを運営し、
エンジニアの人数も増加しながら継続的にリリースすることで順調に事業を成長させてきました。

一方で、事業が成長するにつれて「スキル獲得に漠然とした不安がある」や
「他エンジニアと交流・切磋琢磨が生まれにくい」と言った声も聞こえるようになりました。

こういった課題に対して、エンジニアリングマネージャーやテックリードを中心に「技術推進委員会」という名の横断組織を爆誕させ、
メンバーで熱い議論を交わしながら課題解決の施策を考え、実施してきました!現在も実施中です。

このセッションでは、
横断組織の立ち上げから2年間の間で実施してきた多くの施策や施策を実施したことでの組織の変化について話します。

6
レギュラートーク(20分)

Symfonyドキュメントを日本語化しませんか?

precs_sasaki 佐々木 鎮也

Symfonyドキュメントの日本語訳を進めています。
Symfonyは世界でも有名なフレームワークですが、最新バージョンに追従するドキュメントの日本語訳がないのが現状です。
日本語訳があるLaravelやCakePHPに比べると、初学者にとって難しいかもしれません。
そこで、Symfonyの学習を支援するために、公式ドキュメントの日本語訳を作成しています。
PHPerKaigi 2023にてこのプロジェクトの紹介と協力者の募集を行いたいと考えています。

また、日本語訳に協力していただける仲間も募集していますので宜しくお願いいたします!

PHPer界に光あれ!
Symfonyドキュメント日本語訳で輝く未来を切り拓きましょう!

1
レギュラートーク(20分)

登壇系PHPバーチャルYouTuberてきめん まとめ

youkidearitai てきめん

普段いつものようにphp-srcをソースコードリーディングをしているとき、配信しながらアバター姿でやってたり、
PHPのバグを見つけて報告するときもアバター姿で配信しながらやっています。
その際のノウハウやメリット・デメリットをトークします。
(アーカイブ残してるのでアーカイブ見るとわかりやすいです😁)

登壇する際にもアバター姿で登壇しています。登壇の方法は配信とちょっと違ってくるので、
どうやってやるの?というのもトークします。

PHPerKaigi 2021からアバター姿で登壇して2年になりますが、もっとアバター姿で登壇する人が増えると嬉しいです!

ちなみに、このトークの概要も、配信しながら作りました。
https://youtu.be/1r5CQ3u8GF8

6
レギュラートーク(20分)

私の考えるエンジニア教育論

for__3 zoe

開発組織の開発力、生産性を上げるために避けては通れないエンジニア一人ひとりの技術力アップ。
私がEMとしてここ数年考え実践してきたエンジニアの教育において必要な要素や考え方について整理して話します。

トーク内容

メンバーを教育する際に気をつけていること
エンジニア教育する際のマインド
レベルごとの教育スタンス(ティーチング、コーチングの使い分け)
教育にまつわる理論(認知特性やラーニングピラミッドを活用する話)

想定視聴者

組織のエンジニア教育にミッションを持ち悩んでる人
エンジニアとして今後の成長方針に悩んでる人
教育に興味がある人

含まれないもの

エンジニアに必要な個別技術の習得方法
エンジニアとしてどのような個別技術を学ぶべきか

2
レギュラートーク(20分)

ISUCON の PHP 実装を RoadRunner で動作させてみる

okashoi おかしょい/岡田 正平

PHP によって書かれた一般的な Web アプリケーションはリクエストごとに独立したプロセスによって処理が行われます。
そのようなアーキテクチャは ISUCON の参考実装が提供されている言語の中でも異質です。

RoadRunner は Go 製の PHP アプリケーションサーバで、リソースをリクエストをまたいで使い回すようにでき、他の言語と近いアーキテクチャを実現できます。
これによって他の言語と同じ土俵で戦うことができるのか、は気になるところですが、それ以前にそもそも RoadRunner に載せ替えることはできるのでしょうか?

本セッションでは ISUCON 12 予選問題の PHP 実装を RoadRunner で動作させるために必要なことと、RoadRunner に載せ替えたことによって変わることを説明します。

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

財務諸表とFour Keysから「組織のパフォーマンス」を考えてみよう

isanasan_ いさな

DORAによる調査、State of DevOpsが定義し、書籍「LeanとDevOpsの科学」の広まりと共に浸透したFour Keysという指標は、ソフトウェアデリバリのパフォーマンスを示すだけでなく、組織そのもののパフォーマンスに因果関係があると知られています。

ところで、この「組織そのもののパフォーマンス」というのは一体なんのことなのでしょうか?
本トークでは、「組織そのもののパフォーマンス」を財務諸表の観点から眺めることでFour Keysとの関連性を考えてみようと思います。

13
レギュラートーク(20分)

アーキテクチャメトリクス入門 ~アプリケーションの現状を正しく把握して効果的な改善をはじめよう~

isanasan_ いさな

ソフトウェア開発の現場に限らず、あらゆる改善活動において「正確な現状把握」は必要不可欠です。
パフォーマンスチューニングはその代表的な例でしょう。
では、リアーキテクチャリングやリファクタリングなどの改善においては、どのように「正確な現状把握」を行えばよいのでしょうか??
本トークでは、アーキテクチャの「正確な現状把握」に役立つアーキテクチャメトリクスという概念をご紹介し、後半ではPHPのアプリケーションで使えるツールをご紹介します。

本トークでお話しすること

  • アーキテクチャメトリクスの概要
  • PHPのアプリケーションで使える計測ツールの紹介
6
レギュラートーク(20分)

PHPで使えるメトリクス計測ツール全部試してみた

hanhan1978 富所 亮

"Lean と DevOpsの科学" で有名になった Four Keys など、最近はメトリクスという言葉をよく聞くようになりました。
ソフトウェアの改善においては、まずメトリクスを計測し、KPI を定め、改善を進めるのが王道です。
ところで、PHP のウェブアプリケーション開発で使えるメトリクス計測ツールは、どれくらいあって、何の指標が測れるのでしょうか?
一通り目についた計測ツールを試してみて、その結果をまとめてみます。

本トークで話すこと

  • 2023年3月現在の計測ツール一覧
  • ソフトウェア改善で使えそうな "おすすめの計測ツール"
13
レギュラートーク(20分)

新サービスリリースで培われた開発ノウハウをご紹介!

AkitoTsukahara AkitoTsukahara

弊社は11月に新しいサービスをリリースいたしました!
約半年間という限られた期間の中で2つ目のサービスを開発することは、試行錯誤と学びの連続でした。皆さんも新サービス開発時にAPI設計や既存サービスとの棲み分けに頭を悩ませたことはありませんか?
この登壇では新サービスリリースまでに蓄積された開発ノウハウをご紹介できればと思います。

▼お伝えしたい開発ノウハウ

・新サービスAPIの設計、構築
・既存サービスとの棲み分け
 ・ログイン、メール基盤
・その他
 ・feature flag運用
 ・リリース前後の準備

6
レギュラートーク(20分)

作って理解するメソッドインジェクションの仕組み

メソッドインジェクション、使っていますか?

Laravelではコントローラーのインスタンス化の際にコンストラクタに明示された依存クラスを注入してくれる「コンストラクタインジェクション」だけでなく、メソッド実行時に引数に明示された依存クラスをフレームワーク側が自動で解決してくれる「メソッドインジェクション」と呼ばれる便利な仕組みがありますが、この便利機能はどうやったら実現できるのでしょうか?

今回のトークでは簡易ルーティングライブラリを実装して、その大まかな仕組みを実演してみたいと思います!

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

テストコードぜんぶ書く

zosokh ヒエイカザト

昨年のPHPerKaigiで「エラー監視とテスト体制への改善作戦」というタイトルでチームへのテストコード推進と奮闘についてトークをしました。
https://fortee.jp/phperkaigi-2022/proposal/4a7e3ded-9134-4919-955c-ec7bf4491c0d

あれから一年。テスト体制がどのように変わってきたかの話と、テストコードを高カバレッジで維持したシステム開発・運用をして得た話をします。

  • 続テスト体制
  • カバレッジ95%台のテストコードを整備した話
  • 何をテストコードに書くかの話
  • テストコードを整備しやすいシステム設計
  • PHP以外のテストコードなど

【トーク対象】

  • webサービス運用エンジニアの方
  • テスト体制を築きたい方
  • テストコードを後回しにしている方、後ろめたさを感じている方
8
レギュラートーク(20分)

プログラマのための心理学の扉を開く〜仕事の「つらさ」を乗り越えるための探求〜

o0h_ きんじょうひでき

プログラマやIT系エンジニアの実務は、(漫画やハリウッド映画でのイメージとは違い)ステークホルダーや同僚・部下との関係が欠かせず、絶え間ない学習・成長が必要で──とても「人間的な」側面が大きいものです。
何だって、人間を学ばないと!

「アドラー心理学」って言葉に聞き覚えは?仕事にどう役立つのでしょう。「認知負荷」って聞きますよね。その定義は説明できますか?
「言っている事が伝わらない」「教えても伸びない」等々、人間関係やメンタルモデルの問題は普段の仕事と密接に関わります

リーダーシップやコーチングを学ぶ中で出会った「こういう領域があるんだ」について共有します

想定対象者

  • マネージャーになったばかりの人・なりそうな気配を感じている人
  • 学び方や教え方について、今までと少し違う視点を獲得したい人

得られるもの・レベル

  • 入門より手前の「そういうのもあるのか」を知る
5
レギュラートーク(20分)

アプリケーションエンジニアのためのObservability入門

o0h_ きんじょうひでき

Web系の開発に携わっていると、「作って終わり」ではなく「ちゃんと動き続けていること」が重要になります。
そのための行為が「監視」であり、その質を保証する特性が「可観測性(Observability)」です。
私はこれまで「開発」「運用」「保守」といった区分けの無いような小規模組織で過ごした時間が長く、その経験から「アプリの人こそ、監視や可観測性を強く意識すべきだ」と確信しています。

皆さんのチームでは、「システムが動いているか気にする人/関心が薄い人」といった分断は発生していませんか?
もしくは、「監視の必要性は理解しているが、”良い監視”って?」と悩んでいる人もいるかも知れません。

このトークでは、「なぜ監視を」「なぜアプリの人が」に触れつつ「可観測性とは何か」について考えを深めていきます。

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

Goで作るComposer

o0h_ きんじょうひでき

みんな大好きComposer、もっと仲良くなりたいです。
仲良くなるにはどうすれば・・・やっぱりバラバラに解剖して、自分なりに構築してみることだと思います。
突き詰めれば、やっていることは「JSONを解釈して」「ネットワーク越しにファイルを落として」「ZIPを解凍して」「良い感じに展開すること」になります。
PHP自体の実行箇所(Pluginやscriptsの実行)を除けば、動かすことができるのでは・・?

Composerの一部の機能をGoで再発明してみると同時に、「Composerってそういう仕組なんですね」をシェアします!

10
レギュラートーク(20分)

リファクタがチョットデキルようになるために

HiroyaYamamoto1 やまもとひろや

レガシーなコードと向き合っているとリファクタは避けては通れないものです。
レガシーでなくてもコード書きながら「なんかイケてないんだよな〜」となってリファクタすることも多いかと思います。

  • そもそもリファクタってなんだっけ?
  • リファクタってどうやればいいの?
  • どうやったら上手くできるの?

このあたりのコツをお話できればと思います。

2
レギュラートーク(20分)

PHPのビルトインウェブサーバーを本番環境で使ってはいけないN個の理由

takeokunn たけてぃ

皆さんはPHPのビルトインウェブサーバーを使ったことはありますか?
Laravelユーザの皆さんはphp artisan serveで馴染みがあると思います。

HerokuやECSへのDeploy時にphp artisan serveでWebサーバを起動する、といったサンプルが巷に大量に転がっています。
公式サイトさえこのような記述がされているというのが現状です。

ビルトインウェブサーバーを使った時にどういう弊害がおこるのか、実体験を踏まえて話していこうと思います。

14
レギュラートーク(20分)

phpstan-strict-rulesでよりbetterなphpを手に入れよう

takeokunn たけてぃ

近年、PHPプロジェクトの品質を高めるためのツールとしてPHPStanのような静的解析ツールが導入されるケースが増えています。

しかしながら、PHPStanをただ単に導入しただけではバグを完全に潰すには足りません。
PHPStanに新たなルールを加えて、更に厳しくするためのPluginがphpstan-strict-rulesです。

PHPには厳密性に欠ける関数が散在します。
例えば、 in_array に第三引数を渡さないと厳密性が損われるので警告を出してくれるといったものです。

phpstan-strict-rulesを普及すれば、誰もが安心して開発できる環境が整うと信じています。

対象

  • 既存のPHPStanでは満足できない身体になってしまった人
  • PHPStanでは捕捉しきれないバグに遭遇したことのある人
  • 型に厳しい別言語から来た人
7
レギュラートーク(20分)

「テストの品質」を上げてみたい!!やってみよう! 〜mutation testing, property-based testing〜

o0h_ きんじょうひでき

「良いテストを作る」もしくは「より信頼できるコードのためのテストを書く」という夢があります。

例えば、「アプリケーションコードを破壊した時、テストが気付けるかを知る」「色々な入力を渡して、どういう組み合わせで変になるかを知る」なんて面白そうですよね?
その為のテスト手法があり、開発されたツールがあります。

PHPでの例を取り上げながら、それはどんなにエキサイティングか?を覗いてみましょう。
本トークには、サンプルコードや動作の様子が含まれます。聴講者は、これらの手法やツールの書き味や世界観も味わえるはずです。
もし上手く現場に導入できたなら、コードやテストに対する信頼性をガバっと上げるきっかけになるかも知れません。

トークに関連するPHPツールの例

  • infection/infection
  • giorgiosironi/eris
9