皆さんふりかえり行ってますか?
何か物事を進めるうえでふりかえりというのはとても重要です。
自分たちが今どこにいて、どこを目指しているのか、ふりかえりを通して見つめ直すことができます。
わたしたちが行っているふりかえり術(ノウハウ・知見)を共有したいと思います。
リモートワークが当たり前になった昨今、心理的安全性の確保というのはどの組織でも重要な要素となっています。
その手法の1つに1on1というものがあります。
恐らく皆さんやられてると思います。
1on1というのは文字通り1対1の対話のため、そのやり方や手法が暗黙知になりやすいです。
社内で多くの人と1on1を行ってきましたのでノウハウや知見を共有したいと思います!
PHPを書く現場から離れて4年ばかりすぎたある日、唐突に天啓が舞い降りた
「私もオレオレフレームワークが作りたい……!」
(*良い子は真似しちゃいけないし同僚にそんな人がいたら殴ってでも止めよう!)
動機とコンセプト
composerをinitしたりrequireしたりアレコレ
他のフレームワークに学ぶ
ライブラリを選んで作るフレームワーク
テストを書いてCICDで守る
自分のコードに置き換えて作る私だけのオレオレフレームワーク
packagistへの公開
ハマりまくると思うのでその全て
七顛八倒するはずなので気楽に楽しんでもらえたら!
ライブラリ(フレームワーク)ができていく過程をみてみたい人
空のファイルから全部書いたことがない人
DDDとかイケてる設計の話とか
実運用に耐えられるかどうか
レガシーなコードと向き合っているとリファクタは避けては通れないものです。
レガシーでなくてもコード書きながら「なんかイケてないんだよな〜」となってリファクタすることも多いかと思います。
このあたりのコツをお話できればと思います。
皆さんNRQL書いてますか!?
NRQLとはNew Relicで使うクエリ言語です。
監視やデータ集約にNew Relicを使っている人も多いと思います。
「目標線」「基準線」「進捗線」などのために任意の直線を引く小技を教えます。
PHPのプロセスは非常に脆く、簡単に処理が停止してしまいます。
処理途中で切断され意図しないデータが残ったりするケース、皆さん誰しも経験があるんじゃないでしょうか?
シグナル制御を行うことで処理を安全に終了することができます!
本セッションでは、安全にプロセスを停止するためのシグナル制御について解説します。
DAPとはDebug Adapter Protocolの略で、LSP(Language Server Protocol)と同様Microsoftが作成したプロトコルです。
LSPについての解説は世の中にごまんとあるが、DAPについて触れている記事は全くといって無いのが現状です。
DAPの仕組みについてや、実際にemacsのdap-modeを用いてxdebugと繋ぎこむデモなどをしてDAPの魅力について語りたいと思います。
皆さんはPHPのビルトインウェブサーバーを使ったことはありますか?
Laravelユーザの皆さんはphp artisan serveで馴染みがあると思います。
HerokuやECSへのDeploy時にphp artisan serveでWebサーバを起動する、といったサンプルが巷に大量に転がっています。
公式サイトさえこのような記述がされているというのが現状です。
ビルトインウェブサーバーを使った時にどういう弊害がおこるのか、実体験を踏まえて話していこうと思います。
近年、PHPプロジェクトの品質を高めるためのツールとしてPHPStanのような静的解析ツールが導入されるケースが増えています。
しかしながら、PHPStanをただ単に導入しただけではバグを完全に潰すには足りません。
PHPStanに新たなルールを加えて、更に厳しくするためのPluginがphpstan-strict-rulesです。
PHPには厳密性に欠ける関数が散在します。
例えば、 in_array
に第三引数を渡さないと厳密性が損われるので警告を出してくれるといったものです。
phpstan-strict-rulesを普及すれば、誰もが安心して開発できる環境が整うと信じています。
「良いテストを作る」もしくは「より信頼できるコードのためのテストを書く」という夢があります。
例えば、「アプリケーションコードを破壊した時、テストが気付けるかを知る」「色々な入力を渡して、どういう組み合わせで変になるかを知る」なんて面白そうですよね?
その為のテスト手法があり、開発されたツールがあります。
PHPでの例を取り上げながら、それはどんなにエキサイティングか?を覗いてみましょう。
本トークには、サンプルコードや動作の様子が含まれます。聴講者は、これらの手法やツールの書き味や世界観も味わえるはずです。
もし上手く現場に導入できたなら、コードやテストに対する信頼性をガバっと上げるきっかけになるかも知れません。
皆さんはRepositoryパターンは使われておりますか?使われている方は適切な使い方はできておりますでしょうか?自分はこれまで色々と失敗してきました。。
失敗してきた中でようやく適切な使い方が腹落ちして来ました。今回のトークでは、Repositoryパターンはどのように使えば良いのかを自分の経験をもとにお伝えしていきたいと思います。
PHP8がリリースされ、追加された関数の1つにあるmatch式。
多くの場合、大体比較されるのはswitch文ですが、if文も代替できることをご存知、または知っているでしょうか?
今回の発表ではmatch式の基本と応用、発展形や本題のif文代替ケースをご紹介しながらどれだけif文とさようならができるか挑戦します。
「PHPは人生」とよく言います。
私は高々3年間PHPに触れただけのいわばPHPer見習いですが、大学1年から3年という人生の節目をPHPと共に過ごしてきました。
PHPでの個人開発、PHPでのアルバイト、PHPでのインターンシップ、PHPでの就活……
と大学1年にPHPと出会い、大学3年を終えようとしている現在までのPHPとの向き合い方や考え方の変化についてお話できればと考えています。
私なりの「PHPは人生」の想いをお伝えすることができれば幸いです。
AWS App Runner PHP8.1がサポートされました!
AWSにてマネージドにPHPを利用できる環境として、注目が集まるAWS App Runnerですが、
Production利用は可能なのでしょうか。
AWS Lambda PHPのProduction利用の回数も重ね、
マネージドPHPのノウハウが少しずつ溜まってきたので、
そのノウハウとも比較しながらAWS App Runnerの可能性を探ります
お話すること
想定する聴講者
エリック・エヴァンスの『ドメイン駆動設計』日本語版から11年。後発の書籍も多数出版され、各カンファレンスでDDDについて話す人も増えてました。PHPerの中にも実際にDDDで開発する(?)・DDDを実践する(?)人や組織も増えてきたと思います。
約10年前、まだPHPerでDDDを学ぶ人が少なかった頃から、私はPHPメンターズの指導を受けてDDD本を読み、楽しみながら・苦しみながらDDDを意識して開発してきました。コードサンプルを交えながら、実際にやってきた中で学んだこと、世間のDDDに対する言説に対して思うことについてお話しします。
皆さん配列つかってますか?捨てよう!!(提案)
ご存じですか、PHPはラピッドにウェブアプリをつくれます。気軽に複雑なデータ構造を作れて幸せですね。PHPには万能薬である「PHPの配列」(配列ではない)があります!
でも…便利で愛くるしい連想配列は使っていくうちにつらい気分になっていきます。
なぜか?それはコードを駆け巡る「データ」が全く信用出来ないからです。
愛すべきPHPの配列…そんなものを捨てるなんてとんでもない?いや、捨てよう!(stdClassも)
皆さんのチームではコーディング品質はどう担保されておりますか?ガイドラインを策定されたり、人の目でチェックしてたりかと思われます。
PhpStormの機能である程度のコード品質の担保はできるものの、人力に頼ってしまっている方もいると思います。そこでツールをうまく組み合わせて人力を極力排除できる方法を共有したいと思っております。コード品質改善の足がかりになれば嬉しいです。
「ユニットテスト難しいね」「上手くなれるならそのヒントをくれ」と叫んだ事はありませんか?
「xUnit Test Patterns(xUTP)」という分厚くて厳つい本があります。
「どうしたら読みやすく、メンテナンスしやすいテストを書けるのか」をまとめた本です。
これを読むと「テストに自信を持てる」ようになります。
このセッションでは、xUTP未読者に向けて、「xUTPってどんな本?」を紹介して、皆さんが「テストと仲良くなるためのヒントがこの中にあるのか?」と興味を持ってもらうきっかけを提供します。