PHPカンファレンス関西2024に参加しました! #phpkansai
PHPカンファレンス関西2024に参加しました!

PHPカンファレンス関西初参加でした!
会場: グランフロント大阪
かっこよ pic.twitter.com/Bh4Pj8WxM8
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
情報がたくさんですごい!
カンファレンス開催前からnoteやX(旧Twitter)でたくさん情報発信されていてすごかった。
実はちょっと乗り遅れていたので、
このような記事も間に挟んでいただいてめっちゃ助かりました!!!!!!
PHPerシール
PHPerシールめっちゃよかったですね!

コミュニケーションの起点になってめっちゃありがたかったです。 ぜんぶ交換し切ってしまったのですが、1枚くらい手元に置いておいてもよかったかなと思いましたw
なぜか推しのこみっとさんのシールが手元に1枚しかなかったので、持っているスピーカーの方!どこかで!ください… おねがいします!!!!!!!!!!!!!!!!!!
スポンサーブースめぐり

スポンサークイズ?がめっちゃよかったなーと思いました!
スポンサーブースめぐるの若干勇気がいる?なと思っているんですが、 「〇〇〇〇ってどうすれば教えていただけますかー??」って言いながらスポンサーブースを訪問するっていうのをしていてアイスブレイクにもなってとてもよかったなーと。
トーク
Laravelでミニマム開発からスタートして個人サービスを利益化するまでの経験談!
最初にユーザーがいないと成立しないので、事前広報やSNS運用をして、最初の1ヶ月めちゃめちゃがんばるなるほど #phpkansai #c
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
最初の1ヶ月の頑張りが凄そうでした!もうちょっと聞きたかった。
車両広告なども検討・実施などしていてすごい。
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド
#phpkansai #a pic.twitter.com/nDLEPdEfrI
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
リアルタイムにスライド編集していてライブ感があってよかった。
愚直に直していくのが大事だし、その際のテクニックは多少あるなーととても勉強になる。
PHPコミュニティ、その魅力と熱狂をあなたにも!!!
この後 14:35〜 $room['B'] 登壇資料はこちらです!!🙌
— ことみん (@kotomin_m) 2024年2月11日
143枚になったので後ろの方喋れません、Ask the Speakerに来てください!!!😘
PHPコミュニティ、その魅力と熱狂をあなたにも!!!https://t.co/3ULtyDxlog#phpkansai #b
コミュニティに参加することで人生が変わった!ということみんさんのトーク。よかった。
今年のPHPコミュニティはちょっとバグってる(いい意味で)とは思っているんですけど、参加できるタイミングでみなさん参加してみてほしい!
あとPHPコミュニティに限った話ではなくいろんなコミュニティに参加することで新しい発見があったりもするので自分もなるべく積極的に参加したいなと改めて思った。
楽しい→やる→アウトプット→良いインプット→楽しい→やる→アウトプット→良いインプット→楽しい→やる→アウトプット→良いインプット→楽しい→やる→アウトプット→良いインプット→楽しい→やる→アウトプット→良いインプット→楽しい→やる→アウトプット→良いインプット→… #phpkansai #b
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
このサイクルに入ったら勝ちパターン。だけど、なかなかアウトプットまで繋げるのはハードルが高いよねーとも思うしちょっと時間がかかる気がする。
ので「自分の知らなかったことを知れるって楽しい!」をまずは体験するだけでもよい気はする。
「コミュニティに参加し続けることが一番の貢献」 #phpkansai #b
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
参加し続けることが貢献になりますし、参加し続けることで自分らしく楽しむ方法が見つけられると思うのでそういうの見つけられるとよいですよね!!
最後便箋が閉じられててよかった #phpkansai #b
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
たしか冒頭で「ラブレターです!」っておっしゃっていて、スライドの最後が便箋を閉じたスライドで、現地でみてなかった人にも届くといいなーという風に思いました!
モデルとは何か
モデルとはなにか / what is model? https://t.co/Z6U4LdvYwj #phpkansai 遅くなりましたがスライド公開してます!ありがとうございました。
— ななうぇぶ (@77web) 2024年2月11日
大事な特徴は残す、目的と関係ない特徴を削る #phpkansai #a
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
まだモデル全然理解していないけど適切な?モデルを導き出すために必要なこととして、スライドの中でも「現実の細部から、目的と関係ない特徴を削っている」とあって、いい感じに自分たちのアプリケーションに適応していくっていうのができるといいのかな…と思いました。
いい感じに特徴を抽出して、大事な特徴は残し、目的と関係ない特徴を削っていくぞ!!!
モデル… pic.twitter.com/923HAuwd7x
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
PHPで学ぶ、セッションの基本と応用
本日の資料です! >> PHPで学ぶ Session の基本と応用 / web-app-session-101-2024 https://t.co/gIifttPOat #phpkansai
— Ryo Tomidokoro (@hanhan1978) 2024年2月11日
さすがのhanhan1978さん。
Cookieの由来そうなんだ #phpkansai #b
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
「Session管理がアーキテクチャに与える影響」とか昔にちゃんと考えられてなくてハマったな…という記憶がよみがえった。
初心者だからこそ使って欲しい!Xdebugによるスマートデバッグ術
Xdebug、いつもXdebugって読んでたな… #phpkansai
— 青ごへいもち (@blue_goheimochi) 2024年2月11日
読み方は本題と離れるのでさておきなのですが、Xdebug、入れてはいるもののあまり活用できてないのでちゃんと使っていくか…という気にあらためてなりました…!
懇親会
はじめましての人とお話し結構した!という感じがありました。
PHPerシール効果も大きいですが、知り合いの方に知り合いの方紹介してもらうみたいな連鎖もあってとてもうれしかった。継続して参加しているが故に起こる変化なのかもなぁ〜と思ってよかったです!!
まとめ
「開催テーマ」にもある想いが感じられた素敵なカンファレンスでした。 スタッフのみなさま、スピーカーのみなさま、スポンサーのみなさま、参加者のみなさま、本当にありがとうございました!!
テーマにもあったように持続的に開催されていくということで来年も楽しみにしております&参加できるといいな!!!
おまけ
カンファレンスのはしご
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
blue-goheimochi.hatenablog.com
カンファレンスのはしごははじめてだった気がする!
たこ焼きおいしかった

— 青ごへいもち (@blue_goheimochi) 2024年2月11日
できるまで40分くらい待ったけど!
翌日の観光
なんかいろいろめぐった!
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
かにまんまじかにだった pic.twitter.com/y6DpEPu46M
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
戎橋の欄干、コテのデザインと知った!
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
裏?のLEDもお好み焼きをイメージして丸いらしい!! pic.twitter.com/nxx2x8Xtnr
吸いました pic.twitter.com/eH9ZRZkVh9
— 青ごへいもち (@blue_goheimochi) 2024年2月12日
YAPC::Hiroshima 2024に参加しました! #yapcjapan
2024/02/10(土)に開催された、YAPC::Hiroshima 2024に参加しました!
ハイライト
役に立ったぞ!!!! #yapcjapan pic.twitter.com/myOj4yL4h6
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
スタッフ集合写真を撮影されている際にプロジェクター横に座っていたので物理で殴ってプロジェクターを黙らせている図。
2回目の参加
blue-goheimochi.hatenablog.com
次回は広島での開催が予定されているということで次回も参加するぞ!
ということで前回から2回目の参加でした!!
前夜祭(には参加できず…)
よこそ pic.twitter.com/LiGZ85aeME
— 青ごへいもち (@blue_goheimochi) 2024年2月9日
広島には夜の遅い時間に着いたのでそのままホテルにいって、X(旧Twitter)のタイムラインを眺めながらホテルにINしました。
PUBG MOBILEして寝た。Bluetoothヘッドホンやっぱめっちゃ遅延するな〜ってなったので優先が必要。どなたか一緒に遊んでください!!!!
本編
早起きした
早く寝たので早起きしてその辺をふらふらしました! ホテル出てすぐのところにLUUPのポートが設置されておりはじめて乗ってみましたが快適でした。 (アプリは結構前に入れていたんですがまだ使ったことがなかった)
あたりをチラ見して最後に平和記念公園にいって会場確認してホテルに戻りました。
スポンサーブースめぐり

ちょっと会場にはやめについて受付できたのでスポンサーブースをめぐりました。
各社様力をいれられていてめっちゃおもしろかったです!
たくさんノベルティをいただいてしまった。
SmartHRさん!ヘラ!! #yapcjapan #smarthr pic.twitter.com/DOUqMwhK2U
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
へら!!
タイミー人形かわよい #yapcjapan pic.twitter.com/RnzCNjaW0v
— 青ごへいもち (@blue_goheimochi) 2024年2月10日

タイミーさん、タンブラーをいただいた!イベントでまだ訪れたことがないので一度現地に行ってみたい。

hacomonoさんのマッサージボールめっちゃ背中に効く。


Fastlyさんにいただいたトラベルバッグ?ボストンバッグ?めっちゃ便利でスーツケースにの持ち手のところにあれできてすごい!

Helpfeelさんのガチャガチャでもらったこはるさんかわよい!
トーク
割と前の方が空いていた?ので前の方で聞いてました!!!
コミュニティと共に生きる - キャリアの螺旋と人生を変えた瞬間
そーだいさん!!! #yapcjapan pic.twitter.com/vnB1HpGcD9
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
そーだいさんがいい話をしていていい話でした。
予防医療のリンケージ、よろしくお願いします!!!
わたし自身もコミュニティに参加したことがきっかけで成長できたり視野が広がったりした気がするなーと聞いていて感じました。この辺りもうちょっと言語化したい。
チャンスを見つけたら「チャンスを掴む握力と、失敗から学べる冷静さ」が大事って聞いたなー。 #yapcjapan #yapc_i
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
とSHIROBAKOで聞いたのでチャンスだ!と思ったら積極的に行動していきたいなとあらためて思った。
経営・意思・エンジニアリング
LayerX CTOの松本さんのお話。
牡蠣食べられなかったのマジで心残り。
「エンジニアリングから一歩足を踏み出して事業や経営をハックしよう」
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
よき。見える、触れる世界が広がることでわかることやできることが増えたりするもんな #yapcjapan #yapc_i
一歩足を踏み出してみたり、踏み出さないにしても踏み出した先のことを想像したりすることで、分かることだったり自分自身を客観的に見てどうか?を確認する機会にもなると思うのでそういうのは意識したいなと思った。
「ズレ=負債」なるほど #yapcjapan #yapc_i
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
「ズレ=負債」というのもおもしろいな!と思った。
LayerXさんの負債解消ストレッチバンドよい!解説動画もあって助かる!!体の負債(ズレ)をリファクタリングしてくぞ!!!!!1 #yapcjapanhttps://t.co/fdmYWLEyky pic.twitter.com/URdkUBhpuS
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
PerlでつくるフルスクラッチWebAuthn/パスキー認証
ライブコーディングすごいぃ!!!!!
この後 #yapc_i 厳島で「PerlでつくるフルスクラッチWebAuthn/パスキー認証」というライブコーディング主体のトークをします。使用する資料を先に上げておきます。お待ちしております! #yapcjapan https://t.co/7yjMhsqVbo
— とっとこラム太郎🐑 (@mackee_w) 2024年2月10日
完全に理解した #yapcjapan #yapc_i
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
からのなにもわからないフェーズになっている。
コードゴルフもパスキー認証になっていてすごいってなったんですがほんとに全然わかってないので、一度書いてみて理解を深めたいという気持ちになりました!
杜甫々さん
はぁ…すごかった…レジェンド…
懇親会
すごい! #yapcjapan pic.twitter.com/wZulLoOuue
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
こんなにたくさんの人がいる懇親会はひさびさだーとなってすごいってなった! いろんな方とお話しできて楽しかった〜〜〜〜!!

めっちゃおいしかった!!
RIZAP Drinkup at YAPC::Hiroshima 2024
懇親会の後はRIZAPさん主催のDrinkupに参加させていただきました!感謝!! (実は補欠だったのでギリギリまで繰り上がるかドキドキしていた)
心のこり
お好み焼きも牡蠣も食べてないのでまた来なければならぬ…
— 青ごへいもち (@blue_goheimochi) 2024年2月10日
お好み焼き、牡蠣、我馬のラーメン。食べてない。また来る。
まとめ
スタッフのみなさま、スピーカーのみなさま、スポンサーのみなさま、参加者のみなさま、本当にありがとうございました!!
次回も参加できるといいな。
PHPカンファレンス北海道2024に参加&登壇しました! #phpcondo
2024/01/12(金)〜2024/01/13(土)に開催された、PHPカンファレンス北海道 2024に参加・登壇しました!
スター・ウォーズ塗装機「C-3PO ANA JET」
— 青ごへいもち (@blue_goheimochi) 2024年1月11日


出発でいきなりテンションがあがった!!!!!!!!
前夜祭
オープニング

2019年開催時の映像が流れて懐かしい気持ちになった!
トーク
リリースフラグとプログレッシブデリバリーを活用した安全なWEBアプリケーションデプロイ
- リリースフラグを利用することで細かくメインブランチにマージできる
- Killスイッチとして活用
というのはなるほどたしかにーとなりました。
「ロールバックされる前提で実装する」はコツ?が必要な感じがする #phpcondo
— 青ごへいもち (@blue_goheimochi) 2024年1月12日
これはとても難しいなと思いつつも考えて実装できることで、運用負荷を下げたり安全なリリースをすることにつながると思うので意識していかなきゃなと思いました。
PHPからはじめるコンピュータアーキテクチャ
次来る時はスキー・スノボ行きたい⛷️🏂
闇のPHPに対する防衛術
コミュニティから得た学び、外部に心の支えを持つというのとても素敵だなと思った。
「つらかったことに向き合えるようになった」いい話すぎるな… #phpcondo
— 青ごへいもち (@blue_goheimochi) 2024年1月12日
本編
オープニング
前夜祭でもみたけど2019年懐かしい〜〜〜
←2019 2024→ #phpcondo pic.twitter.com/r434ihY8hi
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
記憶にないww #phpcondo pic.twitter.com/qK7zbltaHN
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
トーク
緊張でポストと記憶が少ない!!!!
ベテランのバグ調査の秘訣、こっそり教えちゃいます
ステップでの解説とても分かりやすかった!
「まず第一報(抱え込まない)」は大事ですよね。
最速で解決してしまえば問題ない!と思ってガッと手を動かしてしまいがちなところが自分もありますが、「発生した事象に対してアクションを起こす必要がある」というのが自分以外のところである可能性もあると思うので「何かが発生している」ということだけでも周りに伝えるとよいのかなと感じる。
インシデントコマンダーとか実際に調査する人とか役割を明示的にするためにも初動は大事。
失敗例から学ぶSOLID原則
失敗例からストーリー立てで解説してくれたのとても分かりやすかったように思う!
あんまり原則とかパターンとか得意じゃないのですが、「悪い」と分かったタイミングからでもやれることはあるよなーと頑張らなきゃなと思った。
🦀
測って見直す開発習慣 可視化を進めて私たちに起きた変化
「数値の単純比較に価値はない」「重要なのは数値そのものではなく背景を読み取ること。」肝に銘じる。
可視化からチームの習慣の変化のような箇所の体験が語られており参考になった&もっと聞いてみたい。
テスト嫌いな自分の苦手意識がなくなった話
大事な1日すごかったんだな〜✨ #phpcondo
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
丸1日で苦手意識がなくなるのとかほんとに大事な特別な1日だったんだなーと。
テスト特化型のペアプロ、社内でそういう変化が起こるのはいいチームですよね!本にも書いてあるんだが実際に体験してみる違ったり、体験した後に本を読んだら違って見えたりなどがあると思う。
自己紹介のアイコンがカニ食べたりラーメン食べたりアイス食べたりしてて笑ったw
登壇: コードを計測することで捉える問題点
PHPカンファレンス北海道2024で登壇させていただいた資料です🙏ありがとうございました!
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
「コードを計測することで捉える問題点」https://t.co/pOl8Iaojf5#phpcondo
「コードを計測することで捉える問題点」というタイトルでお話しさせていただきました。
アプリケーションコードをリファクタリングしたいなーと思った時に闇雲に手をつけたくない!というのが出発点で、そのアクションは本当にプロダクト自体の改善に前向きになっているのか?というのを意識していきたいなと思っております。
あくまでコードは分かりやすい・可視化しやすいポイントの起点であり、さまざまな観点で数値を見てみたり、
「測って見直す開発習慣 可視化を進めて私たちに起きた変化」の発表にもあったように、
その数値の背景はなにか?じゃあその数値を改善するとどうプロダクトに寄与するのか?というのを意識したいです。コード以外の数値などをより盛り込んだり実際の体験・経験をシェアできるとよりよいな…と思っております。
また、リファクタリング周りでは、
この領域、素朴にAIでだいぶルール変わってると思うんすけど、トピックとしてノータッチだったのちょい不思議だった。
— P山 (@pyama86) 2024年1月13日
単体テストとかリファクタリング、最近AIに丸投げしてる。
#phpcondo
というコメントもいただいて確かにとなりました。あまり自分の頭がアップデートできてないところだな…と感じたのでそういうところも反映していければと思います!!
お聞きいただいたみなさま、ポストいただいたみなさま、ありがとうございました!!!!
(みなさん、SHSとそれはhowなんよに気付いてくださり感謝🙏)
いろいろなツールが入ってるやつ
発表の中で紹介したいろいろなツールをコンテナに詰め込んだやつ、さっそく使っていただいて しめじ(smeghead) さんにフィードバックいただいて感謝です!!!
Renovateでツールのバージョンはなるべく更新しております!!!
懇親会
「発表聞きまして〜」とお声がけいただいたりとてもありがたかったです!!!
印象に残ったのは屋根の話で、最近は昔ながらの三角屋根が少なくなっていて、フラット目の屋根が多いとのことを聞きました。
多分このあたり。すげーとなりました。
まとめ
スタッフのみなさま、スピーカーのみなさま、スポンサーのみなさま、参加者のみなさま、本当にありがとうございました!!
2019年ぶりのPHPカンファレンス北海道2024、とっても楽しみました!
心のこり
次は空港のおすし食べる。
お寿司食べようと並んでたけど時間ギリギリだなぁとなって途中離脱したので次の楽しみとしておく🍣 pic.twitter.com/Mee147ka5R
— 青ごへいもち (@blue_goheimochi) 2024年1月14日
お役立ち情報
今回、この子たちがめちゃいい仕事したんですけど、役目を終えたと思ったのか、まずは左、次に右といつのまにか旅に出て行きました… pic.twitter.com/8NTyjxa3iB
— 青ごへいもち (@blue_goheimochi) 2024年1月14日
おまけ
むりむりかたつむり
冬の北海道でカンファレンス #phpcondo #ちょうぜつエンジニアめもりーちゃん pic.twitter.com/hXzEUTCxgy
— 田中ひさてる (@tanakahisateru) 2024年1月12日
(非公式)PHPカンファレンス北海道2024 全然野菜
非公式ですが全然野菜も開催いただいていたので参加!
こういうイベント開催いただくのありがたいですねぇ
食べた
カニ
カニの本質部分です pic.twitter.com/bPyuWXCFx2
— 青ごへいもち (@blue_goheimochi) 2024年1月11日
🦀 #phpcondo pic.twitter.com/JDAUscTUXs
— 青ごへいもち (@blue_goheimochi) 2024年1月12日

ビール
— 青ごへいもち (@blue_goheimochi) 2024年1月12日
ハンバーグ
くろさんにおすすめいただいて2019年の時に行けなかったお店にリベンジ!
めっちゃおいしかったですー!!🤤@gatto_man https://t.co/w3UdQFU7h2 pic.twitter.com/uVb5cFFb5m
— 青ごへいもち (@blue_goheimochi) 2024年1月12日
スープカレー

#phpcondo pic.twitter.com/bBngqin0yT
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
ラーメン
締めパフェ pic.twitter.com/jdns2RLNHq
— 青ごへいもち (@blue_goheimochi) 2024年1月12日
tadsanさんに感謝🙏🙏🙏🙏
— 青ごへいもち (@blue_goheimochi) 2024年1月14日
さばにんにく粉も途中投入したけどおいしかった🤤次回は塩らーめんのほう食べてみたい🍜 https://t.co/HusqQHV76l pic.twitter.com/0e8ouqSFny
ジンギスカン

すしざんまい
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
パフェ


めっちゃたのしかったですー!ありがとうございました✨ https://t.co/IOoz4Q2blg
— 青ごへいもち (@blue_goheimochi) 2024年1月13日
スペシャルサンクス
Kagaさん、三浦さんまじ感謝です 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
ありがとうございました!!!!!
ISUCON13に参加してスコアなしでフィニッシュしました
こんにちは。株式会社リンケージに所属しております、青ごへいもちです。
ISUCON13に参加しまして、残念ながらスコアなしでのフィニッシュとなりまして、その共有になります。。
という悲しいミスでした…。
ギリギリまでなんとかしようとして余裕がなかったのと、ちゃんとログをオフにする系の素振りをすべきでした…! そして、最高スコアも7000点くらいなのでなにをそんなにあせることがあったの?と言われてもしょうがないくらいのアレです。
また、この記事は 株式会社リンケージ Advent Calendar 2023 14日目です!
ISUCONとは??
ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです
Iikanjini Speed Up Contestを略してISUCONです!
ISUCON13
2023/11/25(土)に開催されたISUCON13。 ISUCON13のお題は「ISUPipe」というライブ動画配信サイトでした!
出題動画!かわよい!!
ということで本記事ではISUCON13に参加したログを残しておきたく書いております。
事前準備
今回は初動の動きを固めるべく、初動のみの素振りを重点的に多分10〜20回くらいやりました。
「対象サーバーのIPが分かったら/etc/hostsを書き換える」というようなところまでタスク化。 各サーバーへの初期設定はAnsibleで実施しました。
NaruseJunチームのリポジトリをめっちゃ参考にさせていただきました。
Ansible専用のリポジトリを用意して make isucon を実行すれば各サーバーの設定がされるという感じにしました。
この実行がまぁまぁ時間かかるので並行で、
- サーバー環境の確認
- サーバースペック、ホームディレクトリの確認、想定しているところに設定ファイルがあるか?などを確認
- バックアップの実施
- アプリケーション、設定ファイルのバックアップ
- PHP実装への切り替え準備
- 当日マニュアルをみて、切り替え方法を確認など
をするようにしていた。
PHP実装の切り替え時には、NGINXのログの設定、MySQLのスローログの設定も済ませておく流れ。
というところまでをひたすら素振りとしては繰り返して練習しました。
また、過去問の素振り自体はISUCON11の予選の問題を本選出場相当の点数が出るところまでコツコツやったりなどしていました。
PHPerTeaNightでuzullaさんがお話ししてくれたスライドもめっちゃ見返して、手順に取り入れたりもしました!!
当日やったこと
はじまる前
初動
初動は練習の甲斐あってかなかなかスムーズに進みました。 他のメンバーにマニュアル読みなどを任せて、素振り通りに対応。
Goの初期スコア

PHPの初期スコア

一応、10時37分32秒にPHP実装での初回ベンチを回せていたようです。
1,000点位差がありますが、この時点でスローログなど出していると思うのでそんなもんかなーと思います。
pt-query-digestの結果をもとに色々貼ってもらって。11時42分時点では30位前半のスコア(7,236)が出ていて「いけるのでは?」という雰囲気だったのがハイライト。

その後
初動以外はほぼいいところがなかった!!!!!!!!!!!!!!!!くやしい!!!!!!!!!!!!!!!!!!!!
- 引き続き、pt-query-digestの結果を元に
- インデックスの追加
- N+1の解消
- 1発で解消できないことが多くて手戻りがまぁまぁあった…
- iconのハッシュ値計算
- tagをDB参照しないように
- isupipeのDBを分離
- isudnsのDBを分離
をなんとなくやっていました。
DNSについては、メンバー1人に大きい時間を割いてもらってみてもらっていたのですが、思うような改善を回すことができず…
最後にログ系を切ってベンチ回して終わりにしましょうと17:50くらいになって対応したのですが、冒頭にも書いた、xhprof用の読み込みをコードから削除するのを忘れてしまいFailでフィニッシュという結果でした。。
感想戦
悔しすぎたので感想戦をコツコツやっていました。 それぞれやったことによるスコアなどはメモってなかったので割愛です…🙏
インデックスを貼るDBの調整
当日、データベースにインデックスを貼っていたのですが、よくよく確認してみるとうまくはれてなさそう?ということに気がつきました。 原因としては、isupipeのDBを分離した際、初期化時にインデックスを貼る処理が実行されないことを見落としていたことによるものでした。。
こちらに追加してた。
iconのハッシュの処理
これも実はうまくできていませんでした。 ISUCON13 問題の解説と講評の中にもあるように、
If-None-Matchは前後に
"がついているので、削除するか文字列が含むかを調べることができる関数、メソッドを利用するとよさそうです。
のところが原因でした…
N+1の解消
今回の問題は過去のISUCONの中でもN+1が多かった問題だったような気がしているのですが、解消できていないN+1の箇所がまだまだ残っていました。
- JOINによる対応
- 複雑なクエリの分解
- 単純なクエリに対するキャッシュの利用
などを実施し、pt-query-digestの結果を見ながら1つ1つ潰して行きました。
このN+1は地道にやっていくことでスコアが伸びていったので、やはりとても大事でした。。
が、何度も間違えながら解消を繰り返しまして、当日、なるべくミスのないように素早く解消するためには過去問の素振りなどをもっとやる必要があるな…と感じます。。
ランキングの算出部分なんかは特に複雑で、正しく仕様を読み取り、正しく直す…というのが必要で難しかった…
iconハッシュのキャッシュ
N+1の解消の中にも含まれるのですが、iconのハッシュをキャッシュしました。
アイコンの取得、アイコンの更新のリクエストを同じサーバーに向けてAPCuを利用してキャッシュする方法をしました。
その他、同じアイコンの取得・アイコンの更新と同じサーバーにAPIリクエストを向けられないものは、1秒でキャッシュが切れるような設定でキャッシュするなどしました。
この辺りiconの参照リクエストが多いので大きく効いていた気がします。
preloadの設定を有効にする
これめっちゃ効きました。
これもuzullaさんの記事を参考に設定。PHP-FPMの起動時に対象としたファイルがpreloadされるのですがなかなか点数が伸びたのでPHPer必須スキルかもです。
PHP-FPMを再起動しないとファイルの更新が反映されないと思うので忘れずにサービスの再起動をしましょう。
処理の分散
サーバ1: NGINX, PHP-FPM サーバ2: PHP-FPM, DB(isupipe) サーバ3: DB(isudns)
のようにサーバの役割を分離。
サーバー2のCPUに空きができていたので、NGINXでアクセスをサーバー1とサーバー2に振り分けるなどしました。
N+1を解消すると負荷状況が変わったりしたので、ちまちま振り分け設定を調整したりしました。
registerHandler、searchLivestreamsHandler(の全件検索)でusleep
ベンチを数回実施&alpでのアクセス数を見るに、
[GET] /api/livestream/search: ちょっと少ない[POST] /api/register: ちょっと少ない[GET] /api/livestream/{livestream_id}/livecomment: 多い
の時にスコアが上がる(スコア計算的にも投げ銭が関与するのでというところだと思う)ので、いい感じにsleepをいれたら結構効果がありました。が、xhprof見づらくなるので実施するタイミングが難しい。
みたいなことをやっていました。
ここまでで、7位相当くらいのスコアになりました。(c2.2xlargeのインスタンスでベンチマークを実施)

感想戦にはISUNARABEを利用させていただきまして、とても便利で感謝しかありません!!!!!!!!!!!! この場を借りまして、お礼を申し上げます ✨🙏✨🙏✨🙏
ISUCON当日のインスタンスを起動したり停止したりしながら、ISUNARABEでベンチマーカーを実行して…みたいにコツコツやっていたのですがとても便利でした。
だいぶ時間を溶かしたので打ち止めとしたのですが、その時のxhprofの結果はこんな感じでした。 (usleepはなしにした状態)
サーバ1: NGINX, PHP-FPM

サーバ2: PHP-FPM, DB(isupipe)

PDO::__construct が大きいボリュームを占めるのが分かります。
「これはPHPerKaigiでみたやつだ…」となってRoadRunnerの導入を試したのですが、うまくいかず断念。
Cookie周りの処理でエラーになってしまっていたのですが、ちょっと時間がなくて解消し切れなかったのでどこかでチャレンジしたいです。
ただ、まぁここまで本番中にたどり着くのか…????みたいな問題はあるので、基礎をもっとがんばらねば…というところですね。。。
あとは json_encode が遅かったりしてたのですが、解消方法が分からなかったな…
NGINXでのアクセスの振り分けもいつも悩んでしまうので悩まないようにしたい。。
来年にむけて
いろいろと反省点はありますが、、、、、、
- 初動の練度をもうちょっとあげる
- もうちょっと速くできそうなので…!!
- 「DNS!?」みたいに驚きすぎないで地道な改善に重点を置く
- 分かるボトルネックにトライする
- コードの改善(N+1)などを速く、的確に対応できるようにする
- これは手を動かした回数では?となっているので素振りをがんばる
みたいなところは頑張りたい…! そしてめざせ30位以内。
まとめ
ということで、ISUCON13に参加しました!とても楽しかったです!!(&悔しかったです!)
運営のみなさま、ありがとうございました!!!
来年も開催されましたら、来年も個人スポンサーをして、出場枠をゲットして、PHPでなんとか爪痕を残したいなと思っています!!!!
以上です!!!
PHPカンファレンス福岡2023に参加&LT登壇しました! #phpconfuk
2023/06/24(土)に開催された、PHPカンファレンス福岡2023に参加&LT登壇しました!

登壇内容
「推測しないで、計測し、判断する! 〜カイゼンのためのステップ考察〜」というタイトルでLTさせていただきました。
- 「推測」しないで、コードに対して「計測」し「判断」する
- 「推測」しないで、体に対して「計測」し「判断」する
という2つの例を出しながら、「計測」→「事実」→「判断」→「行動」、そしてそれを繰り返し続けるのが大事ですよね!ということをお話ししました。
コードであれば重複コードがどれくらいあるか?とか循環的複雑度などのなんらか「判断」に利用できる数値というのを計測ツールで知ることができる。
ランニングであれば心拍ゾーンという最大心拍数から割り出される5つの心拍数帯がありどのゾーンにいるとどういう効果のトレーニングができるか?というのを決めることができます。
世の中にはそのように既に存在する数値的な判断軸というのが大体あると思うので、それらを利用しながら「推測するな、計測せよ」を実践していくことができると思います。

- 「想像」による「判断」は避ける
- 「事実」によって「判断」する
- そして「行動」につなげる
- そうすることで2週目はより効果的な判断をすることができる
のようにいい感じにループを回していけるといいなぁと思っています。
途中のスライドをスキップしつつ話す
重複コード、循環的複雑度の計測結果のところは当日の発表時はテンポよく?スキップするような形で発表させていただきました。
これはPHPカンファレンス 2022のあかせさんのLTで時間の都合でスライドをスキップするというのがあったのですが、
- スライドを飛ばすテンポが心地よいという点(LT向けの演出としても適していそう)
- スキップすることで、LTの時間内には収められる
- かつ、聞いていただいている方には「あとで飛ばしたところを見てみよう」というように思っていただけそう
と現地で聞いて感じていました。
あとからスライドだけ見たとしても分量としても読み応えがある形にまとまってみせられてすごいなぁと。
ということで、「うおぉぉいつか真似してみたいぃぃぃ!!!」という想いが溢れた結果があのような形になっております!
懇親会やその後の飲み会でも何人かの方に「あれはおもしろかったですね〜」「テンポよかったです〜」というようなことを言っていただけてめちゃくちゃうれしかったです!あかせさんありがとうございました!!
【PR1】株式会社リンケージの紹介

現在所属している株式会社リンケージは予防医療を中心にサービス展開をしています。
予防医療カンパニーとして、ご自身の状態を計測、事実を知り、健康意識を高め行動していただけるような、ストレスチェックや女性の健康支援のためのオンライン問診ができるプロダクトなどを提供しているというお話しを混ぜさせていただきました。
自分の体の異変に症状のないタイミングで気付くのはなかなかに困難ではあると思います。体に対しても今回の発表のテーマでもある「推測するな、計測せよ」は当てはまると思い、「事実」をなるべく早いタイミングで知り、問題があれば早めに「行動」していけると、QOL(Quality of life)に対しても良い効果があるんではないか…という想いをお伝えしたかったところでした。
ご興味がございましたらプロダクトの方もぜひよろしくお願いします!
【PR2】WEB+DB PRESS Vol.135に寄稿しました!

リンケージのエンジニアメンバー5人( @tyamahori, @chatii, @hanhan1978, @77web )でLaravel 10に関する記事を寄稿させていただきました!
ぜひ、お手に取ってみていただけるとうれしいです!!よろしくお願いします!!!
おまけ
どんなもの食べたか?のログ。
2023/06/23(金)
朝: 弥太郎うどん
夜1: Gastro Pub Ales
夜2: 博多創作居酒屋 ふとっぱら(天神総本店)
#imafukuokaniiruphper pic.twitter.com/sSa46XAyd3
— 青ごへいもち (@blue_goheimochi) 2023年6月23日
www.futoppara.com
2023/06/24(土)
朝: 元祖ラーメン長浜家
昼: ウエスト 祗園店
夜1: Gastro Pub Ales
夜2: とり乃屋(福岡 大名店)
夜3: 博多創作居酒屋 ふとっぱら(天神総本店)
運命の交差点です pic.twitter.com/LDumwK0IzX
— 青ごへいもち (@blue_goheimochi) 2023年6月24日
— 青ごへいもち (@blue_goheimochi) 2023年6月24日
— 青ごへいもち (@blue_goheimochi) 2023年6月24日
www.futoppara.com
2023/06/25(日)
朝: 1日分の鉄分のむヨーグルト
— 青ごへいもち (@blue_goheimochi) 2023年6月25日
昼: 博多らーめん ShinShin(福岡PARCO店)
#imafukuokaniiruphper pic.twitter.com/MkasmXwmf7
— 青ごへいもち (@blue_goheimochi) 2023年6月25日
www.hakata-shinshin.com
夜: 博多もつ鍋 おおやま(福岡空港店)
空港もつ鍋で〆😋 pic.twitter.com/pFc0H0fPYX
— 青ごへいもち (@blue_goheimochi) 2023年6月25日
www.motu-ooyama.com
おまけ3
PHPerTeaNightで共有いただいたスライド
PHPカンファレンス福岡で来福する方のために福岡グルメを紹介しましたhttps://t.co/SJMmSDlXij #phperteanight #phpconfuk
— タケタニヒロト (@take_3) 2023年6月14日
おまけ5
PHPerKaigi 2023に登壇&スタッフ参加しました! #phperkaigi
2023/03/23(木)〜2023/03/25(土)に開催された、PHPerKaigi 2023に登壇&スタッフ参加しました!

登壇内容
「計測できるレガシーさを捉え、コード改善に対処する」というタイトルで発表させていただきました。
レガシーなコードに対して、何らかの数値の計測を行うことで、よくないところ・改善が必要なところを炙り出し、それを手がかりにリファクタリング・手直しを進めていこうということをお話ししました。
当てずっぽでリファクタリングに着手したり、効果的なリファクタリングができなかったりということがあるように思っています。
アプリケーションに手を加えるのであればなんらかそのプロダクト・サービスを前に進めるものでありたいです。
大規模なリプレイスを行う場合でも小規模なリファクタリングを行う場合でも、プロダクトの未来を見据えた決断がされるとよいのは自明かなと思いますが、そのための判断軸として「計測」は1つの指標になるのかなと思っています。
リファクタリングやリプレイスという「How」にとらわれすぎず、なぜリファクタリングするのか?今なのか?プロダクトの未来に対してどんな効果を生むのか?というようなことを意識しながら引き続き私自身も考えながらプロダクト・アプリケーションに向き合っていきたいなと思う次第です。
スライドが自動で切り替わる問題…

ありがとうございました!スライドがなぜか自動で進んでしまって…お聞きづらく申し訳ございませんでした…🙇♂️ #phperkaigi #a
— 青ごへいもち (@blue_goheimochi) 2023年3月25日
発表当日は、なぜか自動でスライドが切り替わる問題が発生していました…
お聞き苦しい発表になり大変申し訳ございませんでした。。
Power Pointを使って発表をしていたのですが、「スライドショー」>「タイミングを使用」のチェックボックスがONになっているのが原因でした。
このチェックボックスがONになっていると、リハーサル・スライドショーの記録などでスライドをめくったタイミングを保存していた場合、そのタイミングで自動で切り替わってしまうようでした。
今回のケースだと、
- 発表の前に「リハーサル」モードで素振りを行う
- この時のタイミングが保存される
- 多少端折ったりしているので、パッと切り替えたページもあれば、ゆっくりなページもある
- スタッフ業で途中荷物の受け取りとかしてたので、そのページは多分切替タイミングがゆっくりだったりした
- 多少端折ったりしているので、パッと切り替えたページもあれば、ゆっくりなページもある
- この時のタイミングが保存される
- 発表の際に保存されたタイミングでスライドが切り替わる
ということが起きていました。。
発表中に気付くことは叶わず…
発表の時はスライドごとに切り替わるタイミングがまちまちだし、なんでだ…なんでだ…と思いながら、切り替わったスライドがずっと表示され続けるように、トラックパッドを叩き続けていました(それでもタイミングが来ると変わるんすが…
(勝手に送られるスライドにだんだん適応してきている.......w) #phperkaigi #a
— おかしょい (@okashoi) 2023年3月25日
回避方法1 - 「タイミングを使用」のチェックボックスを外す
「タイミングを使用」のチェックボックスがONになっているのが原因だった…
— 青ごへいもち (@blue_goheimochi) 2023年3月25日
・リハーサルをする
・タイミングが保存される(ダイアログが出て「はい」を選択すると保存される)
・保存したタイミングでスライドが自動で切り替わる
でした。素振りをした際に…そのように…申し訳ございませんでした… pic.twitter.com/HN7gucp2I3

「タイミングを使用」のチェックボックスを外すことで、タイミングが使用されなくなるので、自動でスライドが切り替わることはなくなります。
回避方法2 - スライドショーの設定でスライドの切り替えを「クリック時」にする

これは回避方法1の「タイミングを使用」と連動しているようですが、「スライドショーの設定」>「スライドの切り替え」>「クリック時」のラジオボタンを選択することでも自動でスライドが切り替わらなくなります。
回避方法3 - タイミングをクリアする

タイミングをクリアすることで仮に「タイミングを使用」にチェックが入っていたとしても自動でスライドが切り替わらないようにできます。
回避方法はたぶんこのくらいです…
はぁ…大変申し訳ございませんでした…

リハーサルを終了する際にダイアログが出るんですがそこで「いいえ」を選んでいればタイミング自体保存されなかったな…と思います。。
が、「タイミングを使用」のチェックを外しましょう…!みなさん…「タイミングを使用」のチェックを…外しましょう!!
はぁ……大変申し訳ございませんでした……
事前収録の時は問題なかったんですよね…やはり直前リハーサルをした際に保存してしまったのかな…そして「タイミングを使用」はデフォルトで「ON」なのかな…
はぁ………
次はもう間違えない!!!!大丈夫!!!!!!!1
Q&A & Ask the Speaker
Q「メトリクスを取ること自体はよくやっている。測っただけで終わっちゃいがちなところを実際に改善に進めるための作戦はなにかありますか?」
A「自分自身が問題に気づいたら、それをチームに共有して問題意識を共有する。チーム文化自体がレガシーという場合には自分自身がある程度無理しながら推進していく必要がある。」
というようなやりとりをさせていただきました。
Ask the Speakerでも同じようなお話をしていました。
自分だけリファクタリングしたいと思っていてもなかなかうまくいかなくて、チームだったり、プロダクトマネージャー・プロダクトオーナーとの意識共有だったり、プロダクトにとってそれは本当に必要なのか?(プロダクトの成長でもいいし、エンジニアのモチベーションが下がるという点に対する問題の解消でもいいと思うのですが)というのを共通認識として持った上で進めていけるとよいなと思っています。そのためには、日々の仕事の中で信頼貯金を貯めるだとか、よいコミュニケーションが取れるように振る舞うだとかそういうアクションの積み重ねの先にあるものなのかな…とも思います。このへんは本当に確実な方法がないので試行錯誤ですよね…
スタッフ
今年も「HQ(ヘッドクォーター)」(≒本部)を担当しており、基本Informationのところに座っておりました。
現地やSNS上で困っている人を見つけて対応したり、各スタッフさんがエスカレーションしてくれたお困りごとを拾ったりなどなど。少しでも快適にお過ごしいただけたのであればこれ幸いです…🙇
さいごに
オフラインがだいぶ戻ってきた感じがしましたねー!やはりいいものですね…
お久しぶりの人やはじめましての人もいて大変刺激になりました。
喋り足りなかったり、お話しできなかった方々もいるなぁ…というところではあるのですが、またPHPerKaigiコミュニティのどこかで会いましょう!!
そして
PHPカンファレンス福岡2023の登壇者募集中です!(4月3日締め切り)https://t.co/sV9Vp8np27
— PHPカンファレンス福岡2023@6/24 (@phpcon_fukuoka) 2023年3月25日
応募フォームはこちら。https://t.co/LnpXYdt4ND
熱いトークをお待ちしております。 #phpconfuk #phperkaigi
PHPカンファレンス福岡 2023!たのしみ!!
YAPC::Kyoto 2023に参加しました! #yapcjapan
Perlは昔FFAdventureを改造して挫折して以来触ってないPHPerでしたが、YAPC::Kyoto 2023参加してよかった!とても最高でした!!
スタッフのみなさま、スピーカーのみなさま、スポンサーのみなさま、参加者のみなさま、本当にありがとうございました!!
はじめてのYAPCでした
PHP系のカンファレンスは割とよく参加しているのですが、YAPCは初参加でした。
知り合いがほとんどいないカンファレンスに参加するのも新鮮だな〜となってました。
前日祭のあとにはてなさんのオフィスにお邪魔させていただいたのですが、まぁまぁ人見知りしてあまりしゃべれなかったのが心残りではあります…!Twitterでお見かけする人もたくさんいらっしゃったので次の機会ではもっとコミュニケーションがんばる…
トーク

みなさん大変熱くて濃いトークが多かったなぁーーーという印象がとても強かったです!
moznionさんの廃墟のお話の最中には、
あのセカンドシステム、元気にしてるかな… #yapcjapan #yapc_sb
— 青ごへいもち (@blue_goheimochi) 2023年3月19日
と、いう気持ちになって聞いていました。
キーノートの大西さんのお話もアツくエモく、とても心に残りました。
刺激をたくさんいただきましたので、また明日からがんばっていくぞ!
おわりに

あらためて、スタッフのみなさま、スピーカーのみなさま、スポンサーのみなさま、参加者のみなさま、本当にありがとうございました!!
オフラインやはりとても刺激になりますね。
新しい出会いにも感謝!
次回は広島での開催が予定されているということで次回も参加するぞ!
![[ビブラム] シューアクセサリー 雪 滑り止め カンジキ アークティックグリップ採用 メンズ ブラック 男性用フリーサイズ(25.0~28.0cm) [ビブラム] シューアクセサリー 雪 滑り止め カンジキ アークティックグリップ採用 メンズ ブラック 男性用フリーサイズ(25.0~28.0cm)](https://m.media-amazon.com/images/I/41iv+ESJuqL._SL500_.jpg)







