diff options
| author | nsfisis <nsfisis@gmail.com> | 2022-12-23 23:27:09 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-03-06 01:46:04 +0900 |
| commit | 88ba6cfe220216f371f8756921059fac51a21262 (patch) | |
| tree | f272db2a0a3340f103df6618f19a101e65941b37 /public/posts/2022-05-01 | |
| parent | 8f988a6e899aed678406ddfac1be4ef105439274 (diff) | |
| download | blog.nsfisis.dev-88ba6cfe220216f371f8756921059fac51a21262.tar.gz blog.nsfisis.dev-88ba6cfe220216f371f8756921059fac51a21262.tar.zst blog.nsfisis.dev-88ba6cfe220216f371f8756921059fac51a21262.zip | |
AsciiDoc to DocBook
Diffstat (limited to 'public/posts/2022-05-01')
| -rw-r--r-- | public/posts/2022-05-01/phperkaigi-2022/index.html | 477 |
1 files changed, 223 insertions, 254 deletions
diff --git a/public/posts/2022-05-01/phperkaigi-2022/index.html b/public/posts/2022-05-01/phperkaigi-2022/index.html index edb70c2..ef2a0fb 100644 --- a/public/posts/2022-05-01/phperkaigi-2022/index.html +++ b/public/posts/2022-05-01/phperkaigi-2022/index.html @@ -4,18 +4,14 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="nsfisis"> - <meta name="copyright" content="© nsfisis"> + <meta name="copyright" content="© 2022 nsfisis"> <meta name="description" content="2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。"> <meta name="keywords" content="カンファレンス,PHP,PHPerKaigi"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2022 | REPL: Rest-Eat-Program Loop</title> - - <link rel="stylesheet" href="/hl.css?208c52e3b7c9db1cad782c5d30b4698f"> - - <link rel="stylesheet" href="/style.css?779b1a3debcaeba619f6fe500e93d525"> - - <link rel="stylesheet" href="/custom.css?a649ea3528d4b626fb636505d94c1144"> - + <link rel="stylesheet" href="/hl.css?h=208c52e3b7c9db1cad782c5d30b4698f"> + <link rel="stylesheet" href="/style.css?h=779b1a3debcaeba619f6fe500e93d525"> + <link rel="stylesheet" href="/custom.css?h=a649ea3528d4b626fb636505d94c1144"> </head> <body class="single"> <header class="header"> @@ -29,262 +25,235 @@ <article class="post-single"> <header class="post-header"> <h1 class="post-title">PHPerKaigi 2022</h1> + <ul class="post-tags"> + <li class="tag"> + <a href="/tags/conference">カンファレンス</a> + </li> + <li class="tag"> + <a href="/tags/php">PHP</a> + </li> + <li class="tag"> + <a href="/tags/phperkaigi">PHPerKaigi</a> + </li> + </ul> + </header> + <div class="post-content"> + <section> + <h2 id="changelog">更新履歴</h2> + <ol> + <li class="revision"> + <time datetime="2022-05-01">2022-05-01</time>: 公開 + </li> + </ol> + </section> + <section id="section--_はじめに"> + <h2><a href="#section--_はじめに">はじめに</a></h2> + <p> + 2022-04-09 から 2022-04-11 にかけて開催された、https://phperkaigi.jp/2022/[PHPerKaigi 2022] に、一般参加者として参加した。 弊社https://www.dgcircus.com/[デジタルサーカス株式会社] はダイヤモンドスポンサーとなっており、スポンサー枠のチケットを使わせていただいた。 + </p> + + <p> + 昨年のレポートは<a xl:href="/posts/2021-03-30/phperkaigi-2021">こちら</a>。 + </p> + </section> - <ul class="post-tags"> + <section id="section--_感想"> + <h2><a href="#section--_感想">感想</a></h2> + <section id="section--_厳選おすすめトーク"> + <h3><a href="#section--_厳選おすすめトーク">厳選おすすめトーク</a></h3> + <p> + 多くの素晴らしいトークの中から、特におすすめのものを 5つ選んだ。是非聞いてほしい。引用部分は、リンク先プロポーザルから引用している。 + </p> - <li class="tag"> - <a href="/tags/conference/">カンファレンス</a> - </li> + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b">予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント</a> + </p> - <li class="tag"> - <a href="/tags/php/">PHP</a> - </li> + <blockquote> + <p> + PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 + </p> + + <p> + 本講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 + </p> + </blockquote> - <li class="tag"> - <a href="/tags/phperkaigi/">PHPerKaigi</a> - </li> + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/proposal/db00d49e-0dd6-453f-b54b-f731d112f10e">PHPのエラーを理解して適切なエラーハンドリングを学ぼう</a> + </p> - </ul> + <blockquote> + <p> + PHPを使ってるとよく遭遇する Fatal error / Parse error / Warning / Notice 理解していますか? + <br> + これらのエラー文を理解することで、すぐにエラーの原因に気付き適切に対象できる様になります! + <br> + またそれらを理解した上でのエラーハンドリングを学びましょう。 + </p> + </blockquote> + + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/proposal/4a7e3ded-9134-4919-955c-ec7bf4491c0d">エラー監視とテスト体制への改善作戦</a> + </p> + + <blockquote> + <p> + 毎日流れてくるエラーに皆さんはどう向き合ってますか? + <br> + エラーを出さない事が一番ですが、完全に塞ぐ事は難しいと考えます。 + <br> + サービス運用の中で本番環境から発生するエラー(サーバー・クライアントサイド・サードパーティ起因のエラー)への監視体制と、 + <br> + エラー・バグ防御のためチームで行っているテストコード文化づくりの話をします。 + </p> + </blockquote> + + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/proposal/6f47daf8-c78f-4fb1-9b99-e9656e6fe7f7">ISUCON11のPHP実装は、何を考え、どのようにして作られていたのか</a> + </p> + + <blockquote> + <p> + 昨年開催されたISUCON11にて問題(参考実装)のPHPへの移植を担当させていただきました。 + </p> + + <p> + 最終的なソースコードこそシンプルなWebアプリケーションではありますが、その裏には + <br> + ・「(私の思う)良い設計」を実現するための意思決定 + <br> + ・「ISUCONの問題」という位置付けに由来する取捨選択 + <br> + ・移植中に遭遇したトラブルとその解決策 + <br> + といった文脈や葛藤が存在しています。 + </p> + + <p> + 本発表はそれらを共有することで + <br> + ・PHPアプリケーションの設計、実装事例として役立ててもらう + <br> + ・ISUCONの言語移植に興味を持ってもらう + <br> + ・ISUCON問題移植の「実装や設計の練習をする教材」としての可能性を知ってもらう + <br> + ことを目的とします。 + </p> + </blockquote> + + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/proposal/5a260e4e-542d-4d82-849d-ef3d6cb7c854">チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──40名の大規模開発チームで1on1ログを公開してみた</a> + </p> + + <blockquote> + <p> + サイボウズの大企業向けグループウェアのGaroon(ガルーン)は、PHPで開発されている20年目の製品です。ガルーン開発チームは日本で40名、ベトナムで50名の計90名ほどのチームになっています。また、コロナ禍でフルリモートでの活動がこの2年ほど継続してきました。 + </p> + + <p> + フルリモートになっても仕事はまわっており、継続的にリリースはしていましたが、一方でお互いの考えていることや感じている問題意識が見えづらくなり、モヤモヤを抱えているメンバーが増えていました。 + </p> + + <p> + このセッションでは、そういう状況で私がチーム外からジョインし、聴き役に徹しながら見える化することで状況を改善していった取り組みを紹介します。同じように大きなチームやリモートワークで難しさを感じている人に、難しさの原因への気づきや取り組みへのヒントがあれば幸いです。 + </p> + </blockquote> + </section> + + <section id="section--_トークン問題の作成"> + <h3><a href="#section--_トークン問題の作成">トークン問題の作成</a></h3> + <p> + 今回は、PHPer チャレンジ用に弊社のトークン問題を 3題作成した。こちらについては<a xl:href="/posts/2022-04-09/phperkaigi-2022-tokens">別途記事にしている</a>ので、そちらを参照されたい。 + </p> + </section> + + <section id="section--_phper_チャレンジ"> + <h3><a href="#section--_phper_チャレンジ">PHPer チャレンジ</a></h3> + <p> + <a xl:href="https://fortee.jp/phperkaigi-2022/challenge">1位</a>になった。 + <br> + また、賞品として<a xl:href="https://www.amazon.co.jp/dp/B08MQNJC9Z">Echo Show 15</a>をいただいた。 + </p> + </section> + + <section id="section--_カンファレンス全体への感想"> + <h3><a href="#section--_カンファレンス全体への感想">カンファレンス全体への感想</a></h3> + <p> + <a xl:href="/posts/2021-03-30/phperkaigi-2021">去年の参加レポ</a>では、こんなことを書いた。 + </p> + + <blockquote> + <p> + 1つ個人的な反省点としては、(中略) Discord しかりアンカンファレンスしかり「このイベントのこの瞬間にしかないコンテンツ」に触れずに、後から見返せる発表やスライドに注力してしまった、ということだ。発表の詳細な見直しはあとからできるのだから、今しかできないことを考えるべきだった。 + <br> + まあ初カンファレンスだし、とお茶を濁しておこう。 + </p> + </blockquote> + + <p> + この反省を踏まえ、今年は積極的にほかの場 (公式の Discord サーバや、アンカンファレンス) にも参加した。 + <br> + これにより、参加体験の質がはるかに向上した。特に Discord に関しては、登壇者ご本人による補足や、質問への回答などがおこなわれる (ことが多い) ため、特別な理由のない限り、発言はしないまでも参加はしておいたほうが良いと思われる。 + </p> + + <p> + なお、アンカンファレンスについては、1日目の終わりにhttps://fortee.jp/phperkaigi-2022/unconference/view/d332797a-8921-4706-a7e2-ee72640c9b5e[トークン問題の解説放送]もおこなった。 + </p> + + <p> + また、今年はオフラインとオンラインのハイブリッド開催であったが、去年の全オンラインと比べて、オンライン参加の体験が落ちていなかったのは、特筆すべきであろう。 今年は 3回目のワクチン接種が間に合わなかったこともあり現地参加は見送ったのだが、来年は是非オフラインで参加したい。 + </p> + </section> + </section> - </header> - <div class="post-content"> - <section> - <h2 id="changelog">更新履歴</h2> - <ol> + <section id="section--_そして来年へ"> + <h2><a href="#section--_そして来年へ">そして来年へ……?</a></h2> + <p> + PHPerKaigi 2023 があるかどうか存じ上げないが、あるとすれば、次の 4つを目標としたい。 + </p> + + <ul> + <li> + <p> + プロポーザルを出す + </p> + </li> - <li class="revision"> - <time datetime="2022-05-01">2022-05-01</time>: 公開 - </li> + <li> + <p> + PHPer チャレンジのトークン問題を 5題作成する + </p> + </li> - </ol> + <li> + <p> + 現地に行く + </p> + </li> + + <li> + <p> + PHPer チャレンジで圧勝する + </p> + </li> + </ul> + + <p> + <hr> + </hr> + </p> + + <p> + 最後になりましたが、PHPerKaigi のスタッフ、スポンサー、スピーカーのみなさん、素敵な時間をありがとうございました。 + </p> + + <p> + ではまた来年。 + </p> </section> - <section class="section-1"> - <h2 id="" class="section-header"> - - はじめに - - </h2> - <div class="section-body"> - <div class="paragraph"> -<p>2022-04-09 から 2022-04-11 -にかけて開催された、https://phperkaigi.jp/2022/[PHPerKaigi 2022] -に、一般参加者として参加した。 -弊社https://www.dgcircus.com/[デジタルサーカス株式会社] -はダイヤモンドスポンサーとなっており、スポンサー枠のチケットを使わせていただいた。</p> -</div> -<div class="paragraph"> -<p>昨年のレポートは<a href="/posts/2021-03-30/phperkaigi-2021">こちら</a>。</p> -</div> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - 感想 - - </h2> - <div class="section-body"> - <section class="section-2"> - <h3 id="" class="section-header"> - - 厳選おすすめトーク - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>多くの素晴らしいトークの中から、特におすすめのものを -5つ選んだ。是非聞いてほしい。引用部分は、リンク先プロポーザルから引用している。</p> -</div> -<div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b">予防に勝る防御なし -- 堅牢なコードを導く様々な設計のヒント</a></p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>PHP -はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。</p> -</div> -<div class="paragraph"> -<p>本講演では PHP 8.1 -をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。</p> -</div> -</blockquote> -</div> -<div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/proposal/db00d49e-0dd6-453f-b54b-f731d112f10e">PHPのエラーを理解して適切なエラーハンドリングを学ぼう</a></p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>PHPを使ってるとよく遭遇する Fatal error / Parse error / Warning / Notice -理解していますか?<br> -これらのエラー文を理解することで、すぐにエラーの原因に気付き適切に対象できる様になります!<br> -またそれらを理解した上でのエラーハンドリングを学びましょう。</p> -</div> -</blockquote> -</div> -<div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/proposal/4a7e3ded-9134-4919-955c-ec7bf4491c0d">エラー監視とテスト体制への改善作戦</a></p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>毎日流れてくるエラーに皆さんはどう向き合ってますか?<br> -エラーを出さない事が一番ですが、完全に塞ぐ事は難しいと考えます。<br> -サービス運用の中で本番環境から発生するエラー(サーバー・クライアントサイド・サードパーティ起因のエラー)への監視体制と、<br> -エラー・バグ防御のためチームで行っているテストコード文化づくりの話をします。</p> -</div> -</blockquote> -</div> -<div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/proposal/6f47daf8-c78f-4fb1-9b99-e9656e6fe7f7">ISUCON11のPHP実装は、何を考え、どのようにして作られていたのか</a></p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>昨年開催されたISUCON11にて問題(参考実装)のPHPへの移植を担当させていただきました。</p> -</div> -<div class="paragraph"> -<p>最終的なソースコードこそシンプルなWebアプリケーションではありますが、その裏には<br> -・「(私の思う)良い設計」を実現するための意思決定<br> -・「ISUCONの問題」という位置付けに由来する取捨選択<br> -・移植中に遭遇したトラブルとその解決策<br> -といった文脈や葛藤が存在しています。</p> -</div> -<div class="paragraph"> -<p>本発表はそれらを共有することで<br> -・PHPアプリケーションの設計、実装事例として役立ててもらう<br> -・ISUCONの言語移植に興味を持ってもらう<br> -・ISUCON問題移植の「実装や設計の練習をする教材」としての可能性を知ってもらう<br> -ことを目的とします。</p> -</div> -</blockquote> -</div> -<div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/proposal/5a260e4e-542d-4d82-849d-ef3d6cb7c854">チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──40名の大規模開発チームで1on1ログを公開してみた</a></p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>サイボウズの大企業向けグループウェアのGaroon(ガルーン)は、PHPで開発されている20年目の製品です。ガルーン開発チームは日本で40名、ベトナムで50名の計90名ほどのチームになっています。また、コロナ禍でフルリモートでの活動がこの2年ほど継続してきました。</p> -</div> -<div class="paragraph"> -<p>フルリモートになっても仕事はまわっており、継続的にリリースはしていましたが、一方でお互いの考えていることや感じている問題意識が見えづらくなり、モヤモヤを抱えているメンバーが増えていました。</p> -</div> -<div class="paragraph"> -<p>このセッションでは、そういう状況で私がチーム外からジョインし、聴き役に徹しながら見える化することで状況を改善していった取り組みを紹介します。同じように大きなチームやリモートワークで難しさを感じている人に、難しさの原因への気づきや取り組みへのヒントがあれば幸いです。</p> -</div> -</blockquote> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - トークン問題の作成 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>今回は、PHPer チャレンジ用に弊社のトークン問題を -3題作成した。こちらについては<a href="/posts/2022-04-09/phperkaigi-2022-tokens">別途記事にしている</a>ので、そちらを参照されたい。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - PHPer チャレンジ - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p><a href="https://fortee.jp/phperkaigi-2022/challenge">1位</a>になった。<br> -また、賞品として <a href="https://www.amazon.co.jp/dp/B08MQNJC9Z">Echo Show 15</a> -をいただいた。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - カンファレンス全体への感想 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p><a href="/posts/2021-03-30/phperkaigi-2021">去年の参加レポ</a> -では、こんなことを書いた。</p> -</div> -<div class="quoteblock"> -<blockquote> -<div class="paragraph"> -<p>1つ個人的な反省点としては、(中略) Discord -しかりアンカンファレンスしかり「このイベントのこの瞬間にしかないコンテンツ」に触れずに、後から見返せる発表やスライドに注力してしまった、ということだ。発表の詳細な見直しはあとからできるのだから、今しかできないことを考えるべきだった。<br> -まあ初カンファレンスだし、とお茶を濁しておこう。</p> -</div> -</blockquote> -</div> -<div class="paragraph"> -<p>この反省を踏まえ、今年は積極的にほかの場 (公式の Discord -サーバや、アンカンファレンス) にも参加した。<br> -これにより、参加体験の質がはるかに向上した。特に Discord -に関しては、登壇者ご本人による補足や、質問への回答などがおこなわれる -(ことが多い) -ため、特別な理由のない限り、発言はしないまでも参加はしておいたほうが良いと思われる。</p> -</div> -<div class="paragraph"> -<p>なお、アンカンファレンスについては、1日目の終わりにhttps://fortee.jp/phperkaigi-2022/unconference/view/d332797a-8921-4706-a7e2-ee72640c9b5e[トークン問題の解説放送]もおこなった。</p> -</div> -<div class="paragraph"> -<p>また、今年はオフラインとオンラインのハイブリッド開催であったが、去年の全オンラインと比べて、オンライン参加の体験が落ちていなかったのは、特筆すべきであろう。 -今年は -3回目のワクチン接種が間に合わなかったこともあり現地参加は見送ったのだが、来年は是非オフラインで参加したい。</p> -</div> - </div> -</section> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - そして来年へ……? - - </h2> - <div class="section-body"> - <div class="paragraph"> -<p>PHPerKaigi 2023 があるかどうか存じ上げないが、あるとすれば、次の -4つを目標としたい。</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>プロポーザルを出す</p> -</li> -<li> -<p>PHPer チャレンジのトークン問題を 5題作成する</p> -</li> -<li> -<p>現地に行く</p> -</li> -<li> -<p>PHPer チャレンジで圧勝する</p> -</li> -</ul> -</div> -<hr> -<div class="paragraph"> -<p>最後になりましたが、PHPerKaigi -のスタッフ、スポンサー、スピーカーのみなさん、素敵な時間をありがとうございました。</p> -</div> -<div class="paragraph"> -<p>ではまた来年。</p> -</div> - </div> -</section> </div> - </article> </main> <footer class="footer"> |
