LT(5分)

わたしたちのふりかえり術

HiroyaYamamoto1 やまもとひろや

皆さんふりかえり行ってますか?
何か物事を進めるうえでふりかえりというのはとても重要です。
自分たちが今どこにいて、どこを目指しているのか、ふりかえりを通して見つめ直すことができます。
わたしたちが行っているふりかえり術(ノウハウ・知見)を共有したいと思います。

4
LT(5分)

デキる!1on1術

HiroyaYamamoto1 やまもとひろや

リモートワークが当たり前になった昨今、心理的安全性の確保というのはどの組織でも重要な要素となっています。
その手法の1つに1on1というものがあります。
恐らく皆さんやられてると思います。
1on1というのは文字通り1対1の対話のため、そのやり方や手法が暗黙知になりやすいです。
社内で多くの人と1on1を行ってきましたのでノウハウや知見を共有したいと思います!

5
採択
2023/03/23 16:45〜
Track B
レギュラートーク(40分)

ある日オレオレフレームワークを作りたくなったぞ!!

FruitRiin 果物リン

PHPを書く現場から離れて4年ばかりすぎたある日、唐突に天啓が舞い降りた
「私もオレオレフレームワークが作りたい……!」
(*良い子は真似しちゃいけないし同僚にそんな人がいたら殴ってでも止めよう!)

トーク内容

動機とコンセプト
composerをinitしたりrequireしたりアレコレ
他のフレームワークに学ぶ
ライブラリを選んで作るフレームワーク
テストを書いてCICDで守る
自分のコードに置き換えて作る私だけのオレオレフレームワーク
packagistへの公開
ハマりまくると思うのでその全て

七顛八倒するはずなので気楽に楽しんでもらえたら!

想定視聴者

ライブラリ(フレームワーク)ができていく過程をみてみたい人
空のファイルから全部書いたことがない人

含まれないもの

DDDとかイケてる設計の話とか
実運用に耐えられるかどうか

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

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

HiroyaYamamoto1 やまもとひろや

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

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

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

2
LT(5分)

NRQLにて任意の直線を引く方法

HiroyaYamamoto1 やまもとひろや

皆さんNRQL書いてますか!?
NRQLとはNew Relicで使うクエリ言語です。
監視やデータ集約にNew Relicを使っている人も多いと思います。
「目標線」「基準線」「進捗線」などのために任意の直線を引く小技を教えます。

1
採択
2023/03/24 14:40〜
Track B
レギュラートーク(20分)
オンライン登壇

安全にプロセスを停止するためにシグナル制御を学ぼう!

HiroyaYamamoto1 やまもとひろや

PHPのプロセスは非常に脆く、簡単に処理が停止してしまいます。
処理途中で切断され意図しないデータが残ったりするケース、皆さん誰しも経験があるんじゃないでしょうか?
シグナル制御を行うことで処理を安全に終了することができます!

  • データをキレイにしてから終了する
  • どこまで終わったかを通知してから終了する
  • 処理が終わるのを待ってから終了する

本セッションでは、安全にプロセスを停止するためのシグナル制御について解説します。

LT(5分)

DAP(Debug Adapter Protocol)のススメ

takeokunn たけてぃ

DAPとはDebug Adapter Protocolの略で、LSP(Language Server Protocol)と同様Microsoftが作成したプロトコルです。
LSPについての解説は世の中にごまんとあるが、DAPについて触れている記事は全くといって無いのが現状です。

DAPの仕組みについてや、実際にemacsのdap-modeを用いてxdebugと繋ぎこむデモなどをしてDAPの魅力について語りたいと思います。

8
レギュラートーク(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
レギュラートーク(20分)

失敗から学ぶRepositoryパターンの上手な実装の仕方・使い方

tyamahori tyamahori

皆さんはRepositoryパターンは使われておりますか?使われている方は適切な使い方はできておりますでしょうか?自分はこれまで色々と失敗してきました。。

失敗してきた中でようやく適切な使い方が腹落ちして来ました。今回のトークでは、Repositoryパターンはどのように使えば良いのかを自分の経験をもとにお伝えしていきたいと思います。

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

if文を辞めるためにmatch式を「完全に理解した」しよう

yu_mashirou 柚口 ましろう

PHP8がリリースされ、追加された関数の1つにあるmatch式。
多くの場合、大体比較されるのはswitch文ですが、if文も代替できることをご存知、または知っているでしょうか?

今回の発表ではmatch式の基本と応用、発展形や本題のif文代替ケースをご紹介しながらどれだけif文とさようならができるか挑戦します。

発表内容

  • 改めてmatch式を理解する
  • 基本形とよくある使い方
  • 良くない使い方
  • 応用な使い方
  • 個人的にやる使い方
  • (ひらめく限りの)本当に使う?とんでもmatch式

対象者

  • ~中級者
  • PHP8.0以上
5
レギュラートーク(20分)

PHPと歩んだ大学3年間の軌跡

usuyuki26 うすゆき

「PHPは人生」とよく言います。

私は高々3年間PHPに触れただけのいわばPHPer見習いですが、大学1年から3年という人生の節目をPHPと共に過ごしてきました。

PHPでの個人開発、PHPでのアルバイト、PHPでのインターンシップ、PHPでの就活……
と大学1年にPHPと出会い、大学3年を終えようとしている現在までのPHPとの向き合い方や考え方の変化についてお話できればと考えています。

私なりの「PHPは人生」の想いをお伝えすることができれば幸いです。

10
採択
2023/03/23 17:40〜
Track B
レギュラートーク(20分)

AWS Lambda PHPのProduction利用を続ける僕がAWS App Runnerの可能性を探る

seike460 清家史郎

AWS App Runner PHP8.1がサポートされました!

AWSにてマネージドにPHPを利用できる環境として、注目が集まるAWS App Runnerですが、
Production利用は可能なのでしょうか。

AWS Lambda PHPのProduction利用の回数も重ね、
マネージドPHPのノウハウが少しずつ溜まってきたので、
そのノウハウとも比較しながらAWS App Runnerの可能性を探ります

  • お話すること

    • AWS Lambda PHPについて
    • AWS App Runnerについて
    • 2つの環境の比較
  • 想定する聴講者

    • AWS Lambda PHPに興味がある人
    • AWS App Runnerに興味がある人
    • マネージドな環境に興味がある人
レギュラートーク(20分)

結局、ドメイン駆動設計とは何なのか?何でないのか? 〜DDD Demystified〜

77web 菱田 裕美

エリック・エヴァンスの『ドメイン駆動設計』日本語版から11年。後発の書籍も多数出版され、各カンファレンスでDDDについて話す人も増えてました。PHPerの中にも実際にDDDで開発する(?)・DDDを実践する(?)人や組織も増えてきたと思います。
約10年前、まだPHPerでDDDを学ぶ人が少なかった頃から、私はPHPメンターズの指導を受けてDDD本を読み、楽しみながら・苦しみながらDDDを意識して開発してきました。コードサンプルを交えながら、実際にやってきた中で学んだこと、世間のDDDに対する言説に対して思うことについてお話しします。

12
採択
2023/03/25 10:20〜
Track A
レギュラートーク(40分)

PHPの最高機能、配列を捨てよう!!

uzulla uzulla

皆さん配列つかってますか?捨てよう!!(提案)

ご存じですか、PHPはラピッドにウェブアプリをつくれます。気軽に複雑なデータ構造を作れて幸せですね。PHPには万能薬である「PHPの配列」(配列ではない)があります!

でも…便利で愛くるしい連想配列は使っていくうちにつらい気分になっていきます。

なぜか?それはコードを駆け巡る「データ」が全く信用出来ないからです。

愛すべきPHPの配列…そんなものを捨てるなんてとんでもない?いや、捨てよう!(stdClassも)

話さないこと

  • マイグレーションする方法(銀の弾丸はない、直接聞いてください)
  • 「OOPとしての正しさ」

対象者

  • 〜中級者
  • PHP>=4

非対象者

  • 連想配列でやけどしたことのない人
  • テストが完璧な人(それは解法の一つ)
  • 「俺はゼロイチだけやるんだ」の人
レギュラートーク(20分)

PhpStorm/PHPStan/PHP CS Fixerを駆使して、チーム開発でのコード品質を高めていこう!

tyamahori tyamahori

皆さんのチームではコーディング品質はどう担保されておりますか?ガイドラインを策定されたり、人の目でチェックしてたりかと思われます。
PhpStormの機能である程度のコード品質の担保はできるものの、人力に頼ってしまっている方もいると思います。そこでツールをうまく組み合わせて人力を極力排除できる方法を共有したいと思っております。コード品質改善の足がかりになれば嬉しいです。

対象者

  • PHP CS Fixer/ PHPStanを利用している人
  • PhpStormを利用しており、PHP CS FixerとPHPStanのより便利な連携方法を模索している人

発表しないこと

  • PhpStormの導入方法
  • PHP CS Fixerのの導入方法と設定ファイルの作成方法
  • PhpStanの導入方法やneonファイルの設定方法
8
レギュラートーク(20分)

xUnit Test Patternsに手を出してみたい!!と思う人を増やすトーク

o0h_ きんじょうひでき

「ユニットテスト難しいね」「上手くなれるならそのヒントをくれ」と叫んだ事はありませんか?

「xUnit Test Patterns(xUTP)」という分厚くて厳つい本があります。
「どうしたら読みやすく、メンテナンスしやすいテストを書けるのか」をまとめた本です。
これを読むと「テストに自信を持てる」ようになります。

このセッションでは、xUTP未読者に向けて、「xUTPってどんな本?」を紹介して、皆さんが「テストと仲良くなるためのヒントがこの中にあるのか?」と興味を持ってもらうきっかけを提供します。

本セッションで話すこと

  • xUTPはどんな本なのか
  • 各パート・各章にはどんなことが書かれているのか
  • 書名にもなっている「パターン」は、どんなものが書かれているのか
    • サンプル的にいくつかのパターンの紹介
  • どんな時に読むと良いか。どんな使い方をすると良さそうか
9