PHPカンファレンス北海道2024に参加してきました

Introduction

2024/1/13(土)に行われたPHPカンファレンス北海道2024に参加してきました。

https://phpcon.hokkaido.jp/

今回は2024/1/12(金)〜2024/1/14(日)の2泊3日の旅行でした。 なおこの記事は3日目 自由行動からが本編なのでよしなに飛ばしてもかまいません。

カンファレンス自体は今回登壇もしていないしスタッフもやっていないのでただのガヤですのでご了承ください。

TL;DR

  • 海鮮を無限に食べた
  • カンファレンス楽しかった
  • スキースノボしてないのに50回以上滑った
  • 小樽最高だった

準備

飛行機のチケットを直前の日曜までに取っていなく、あすみかんに指摘されてようやく気がつきなんとか取ることができました。 PHPerKaigiのパンフレット記事の「テキストエディタがPHPをシンタックスハイライトする仕組みとモダンテキストエディタ事情について」もなんとか提出できて感謝しかないです。

航空券は往復1万2000円、宿は二泊で8000円くらいで安く抑えることができました。

事前に北海道グルメについてうちのシェフに相談したところめんめに行けとアドバイスされましたが、結局時間的に行けなかったです。

1日目 移動〜前夜祭

全体的に道内はとても暖かかったらしい。

自宅〜札幌

朝5時半に起床し、池袋成田間6時15分発のバスに乗りました。

バスがかなり高速なWi-Fileを提供してくれていたのでPCを弄ることができました。

成田空港に1時間以上余裕を持って到着したので第一ターミナルを練り歩いていました。

新千歳空港に11時ごろに着きその足で札幌駅に向いました。

普段旅行しない都民なのでこんなに雪が降っている場所に行ったのは初でした。 雪景色というのは美しいものですね。

昼食〜前夜祭

13時集合とのことだったので1時間程度時間に余裕がありました。 とりあえず知らない街についたら練り歩くというのが自分のポリシーですので、テレビ塔やすすきのにある狸小路あたりをひたすら歩きました。

この日は暖かかったので半袖でも全然問題なかったです。

13時にNE組と合流しスープカレーを食べに行きました。スープカレーのWikiを見ていると北海道発祥なんですね知りませんでした。

  • 宗教施設がこわかった
  • 一旦チェックインをするかということで宿に向かったところ、16時からしかうけつけられないと言われました。
  • 別の宿泊客からは「Can you speak Japanese?」と言われ、チェックイン時には「Can you speak English?」と言われた
  • ちょうど着いた時に親切にしてくれた人は電話中だったみたいで「前の旦那と別れてよかったわ〜」みたいな話をしてて知らない人生の一幕を見た

前夜祭

前夜際が16:00〜21:00にありました。 https://fortee.jp/phpcon-hokkaido-2024/timetable

勉強になるトークが目白押しで非常に面白い会でした。 Wi-Fiが札幌市内Wi-Fiだったのですが、練馬の自宅よりも高速でびっくりしました。

セッション - リリースフラグとプログレッシブデリバリーを活用した安全なWEBアプリケーションデプロイ - @pyama86

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/d60a53ac-1593-4133-99fe-2d812f202476 link: https://speakerdeck.com/pyama86/ririsuhuraguto-puroguretusibuderibariwohuo-yong-sita-an-quan-nawebapurikesiyondepuroi

deployには光と闇がある。 リリースフラグでやるとビッグバンリリースにならずに段階的に安全にリリースできる。

自作ツールを作成している。 kubernatesでよしなにやっている。

セッション - 文字とはなにか - PHPの文字コード処理について - @youkidearitai

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/71b18e07-3fd4-4ebf-87a3-2bc9ec8d9481 link: https://speakerdeck.com/youkidearitai/wen-zi-tohananika-phpnowen-zi-kodochu-li-nituite?slide=17

セッション - メールアドレス vs 俺たち - @tadsan

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/bac71653-d553-416c-ac22-459a8eb2669d

セッション - PHPからはじめるコンピュータアーキテクチャ - @tomzoh

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/cc6ef8ab-df1d-40fd-b839-f3c35abcfa3c link: https://speakerdeck.com/tomzoh/php-meets-silicon-a-fun-dive-into-computer-structures-15mins-ver

2種類あるよね

  • CPUでの実行
  • プログラムでの実行

interfaceさえ守れていれば良いので、低レイヤーでは何をしても良い。

セッション - 善しと悪し、正と邪の軸から【要はバランス】の正体を探りにいく - @chatii

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/13ed5ba7-fb0c-4a49-9b2b-825ac8016a0e

  • 「要はバランス」って一体なんなんだろうと思わされる

セッション - PHP で作られたゲテモノを色々紹介する(自作他作含めて) - @sji_ch

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/cc682a76-153c-41dc-95af-062b42066b42

セッション - 闇のPHPに対する防衛術 - @ogi_chotdake_se

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/4893af64-7fe7-47b4-a8fa-860993eba8b7

LT - 全国700個以上の路線バスGTFS-JPオープンデータを毎日取得、反映し続けて得られた経験 - @8nohe

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/0e2763ae-0e88-410e-a8e1-7d22b9f9f863

Googleが作った公共交通情報用フォーマット、Googleマップ検索へ載せてもらえるもの。 仕様が緩いので特有のつらみがあるらしいし、巨大なデータが降ってくるので処理が大変。

LT - Laravelで敢えて試す脆弱性のある書き方 - @kanbo0605

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/12b300fc-0df6-4b8c-ad13-d2d2b22ec3d3 link: https://speakerdeck.com/bumptakayuki/laraveltegan-eteshi-sucui-ruo-xing-noarushu-kifang

CSRFとかXSSとか基本的な脆弱性の話をしていた。

LT - Webアプリケーション周りのいろいろなアップグレード戦記 - @sogaoh

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/4fc950d6-2c59-4676-8042-438d5900e281

EC2ベースのものをFargateに移行してPHPなどのミドルウェアのアップグレードの話。

LT - ファイルを選択してZIPダウンロードする機能ってどうやって作るの? - @app1e_s

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/569f0b56-276e-4aad-822f-29ccb72e86a8 link: https://speakerdeck.com/meihei3/phpcondo-2023

Zipダウンロードは事前生成と動的生成がある。 Pros/Consをちゃんと洗い出して動的生成にする。 動的生成時の構成を紹介してくれている。

LT - 社内イベントにおける運営の勘所、まとめておきました - @tomio2480

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/19dee3b2-cba2-4e8a-ba36-1febf7fc5e2f

社内イベントとして抑えとかなくちゃいけないポイントを紹介していた。

LT - 実践!冬の上川駆動開発〜富良野・南富良野・占冠・中富良野・東川・東神楽・旭川編 - @tomio2480

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/062a1cf6-0d99-4c5c-b944-de7c65e4bf02

人間というのはどんな環境であれ「プログラムを書くぞ」という強い意思があれば書けるということを体現していた素晴しい発表だった。

懇親会

居酒屋が激安だった。4000円で豪華な飯が出てきたし、LINEの友達キャンペーンが当たって3000円で済んだ。

宿

  • 一切のいびきがなく静かだった
  • ドミトリー2回目だったけど全然兵器だった
  • トイレシャワー共用だけどみんなやたら綺麗に使っててマナーが異常に良かった

2日目 カンファレンス本番

朝食

海鮮丼を食べに行きました。ラーメンも食べた。 きんじょうさんのこの店の思い出話を聞いてエモい気持ちになった。

午前セッション

セッション - 「DI」と仲良くなる - @akai_inu

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/bb71ad8e-e211-49f0-957f-f36333a625b9

  • 依存性の逆転も注入もDI

セッション - 日本PHPカンファレンス2024スタンプラリーとその実装 - @koyhoge

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/0c17b91b-38e1-4cac-bcf4-d61a5268bf3e link: https://speakerdeck.com/koyhoge/phpcon-stamprally

  • 位置情報 API を使ってカンファレンススタンプラリーサービスを作った話
  • イベント期間中のみの運用なのでインフラ構成をどうするか悩ましい
  • GeoLocationはLocalでの開発が面倒

昼食

昼食はvim-jpメンバーと食べました。3人ともSKKユーザでした。 スープカレーは海鮮ではなく鶏肉が元祖なんだぞということを力説されました。

https://twitter.com/takeokunn/status/1746017257816469631/photo/1

gentooユーザの話やphpとvimを使ってる人そんなにいない話、org-modeやemacsの入門をそろそろ用意しなければならない話などをしました。

午後セッション

link: https://fortee.jp/phpcon-hokkaido-2024/timetable/2024-01-13

セッションは15分、LTは5分という構成でした。 個人的にはこのくらいの短かさが丁度良いなと思ったので、各カンファレンスは15分枠で統一してみては如何でしょうか。

セッション - 例外を投げるのをやめてみないか?あるいは受け入れてみないか? - @uzulla

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/fa6c7361-d934-4892-a79b-cf5547acd062 link: https://speakerdeck.com/uzulla/li-wai-wotou-gerunowoyameteminaika-aruihashou-keru-reteminaika-how-to-use-exceptions-other-than-throwing

  • 例外はそもそも邪道
  • 例外の拡張・活用方法の具体例について
  • 結局静的解析に優しいコードを書くのが良いよね

セッション - スポンサーセッション - 株式会社インフィニットループ (20分)

  • インフィニットループとphpの関係
  • チート対策等はphp側でしか対応できない

セッション - スポンサーセッション - 株式会社サムライズム (20分)

  • JetBrains公式代理店 株式会社サムライズムの紹介
  • PHPStormの最近の機能について紹介

セッション - ベテランのバグ調査の秘訣、こっそり教えちゃいます - @77web

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/d88f95c8-85ed-473b-b182-1b712193f3e6

  • バグ調査の流れについて
  • バグを切り分けて適切に対処する

セッション - 失敗例から学ぶSOLID原則 - @asumikam

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/7d223fcd-ecc8-4cfb-92b2-4987749463d8 link: https://speakerdeck.com/asumikam/failure-example-solid

  • 機能が拡充した時にどうinterfaceを設計すべきか

スポンサーLT - 株式会社PR TIMES

link: https://developers.prtimes.jp/2023/12/13/replace-press-release-page-with-nextjs/

  • プレスリリースをSSRに移行している
  • PHPからNext.jsに移行した時にCDNキャシュ

スポンサーLT - 株式会社ビットフォレスト

link: https://docs.google.com/presentation/d/1xGyBfUwC0rmNhlutbjnbz710Pzw61AxGnEZ25RrjqFY/edit#slide=id.p

  • 株式会社ビットフォレスト 製品紹介
    • VAddy 脆弱性診断ツール
    • Scutum WAF
    • Loggol ログ解析

スポンサーLT - サイボウズ株式会社

スポンサーLT - 株式会社coco

  • 副業募集している
  • cocoの製品紹介
  • リモートワークの運用方法の紹介

スポンサーLT - Sapporo Engineer Base

  • Sapporo Engineer Baseの紹介
    • イベント開催の広報支援など
    • 地場のコミュニティをどう支えるのか

セッション - 測って見直す開発習慣 可視化を進めて私たちに起きた変化 - @inoco

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/b2b9f4cf-3117-4d70-bd71-46b8d55a7bb9 link: https://speakerdeck.com/inouehi/improve-our-development-habits-by-measuring-productivity-and-maintainability

  • 可視化の進め方
    • Four Keys
    • Findy Teamsを使っている
    • データを収集して外部要因を含めて考察する
    • 並列して行っているのでどれが要因なのかはわからない

セッション - リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック - @820zacky

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/716256ba-2391-400a-80c2-15d0baa089b7

  • データ分析のSQLは複雑なSQLになりがち
    • CTE(MySQLのWITH句)を使おう
    • リーダブルコードに準拠したSQLにしよう

セッション - コードを計測することで捉える問題点 - @blue_goheimochi

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/0e9cdea3-f558-46c4-b8e2-9c9f7b244a7a link: https://speakerdeck.com/blue_goheimochi/phpcondo2024

LT - 新しくEMやってみる人にオススメしたい本を5分で25冊紹介する - @o0h_

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/1ddbb28f-e595-45be-baaf-5bb986828cc6 link: https://speakerdeck.com/o0h/phpcondo-lt

  • EMになるための本を読むと良いとのこと
    • 心構えについてなど

LT - やるぞ!DBaaS x サーバーレスPHP - @seike460

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/477cb733-17dc-47b0-b871-c8d6fdf72486 link: https://speakerdeck.com/seike460/lets-do-it-dbaas-x-serverless-php

  • DBaaS使おう
  • サーバレスのメリットは料金面やCI/CD面でも良い
  • すぐに立ち上げることが可能

LT - 新米PHPerですが、php-srcをちょっとだけ読めちゃった件について - @22kerokero22

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/5db5a4cc-a9a0-48c8-9f92-7d6646e9c7a5

  • php-srcを読むと難しい

LT - 自作ポートスキャナで始める監視生活 - @cakephper

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/29def3df-44fa-4cd6-ba94-9c1fe182eba7 link: https://blog.ichikaway.com/entry/2021/08/09/161426/aite9

  • TCPとUDPとポートスキャンの違い
  • UDPポートスキャンは難易度が高い

LT - テスト嫌いな自分の苦手意識がなくなった話 - @_mkmk884

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/c2572daf-e154-4826-a4df-ccce8c122c28 link: https://speakerdeck.com/mkmk884/the-story-of-how-i-lost-my-dislike-of-tests

  • ペアプロでテストが好きになった話

LT - プロポーザルに通したいのでプロポーザルのテキスト分析をします! - @shunsock

link: https://fortee.jp/phpcon-hokkaido-2024/proposal/27161196-7076-4bd3-91a5-7a674fa90d51

  • 過去のプロポーザルデータをからデータを取得して
    • クローリングしてよしなに処理をする
    • GPTに処理させる

懇親会

懇親会では地元民のおっちゃんに日帰りでスキーに行けること、登別にめっちゃ綺麗な温泉施設があること、オススメのビールやウィスキーなど北海道事情について熱弁してもらいました。 北海道と言っても山側と海側で文化が違うので両方見ておいた方が良いとのことでした。

二次会

二次会は日本酒の美味しい店に連れていってもらいました。 自分以外道民だったので北海道事情について話したり、ゲーム関係の人が多かったのでどのようにしてオンライン対戦が実装されているのか等の話やGPUの話などでめちゃくちゃ盛り上りました。超楽しかったです。 ギークな話はいつだって面白いですね。もっといっぱいしていきたいです。

帰りはすすきのを一通り歩いてから宿まで30分程度歩きました。 すすきのは歌舞伎町と同じような街だったのでなるほどという気持ちにさせられました。

宿

2日目はいびきのうるさい外人兄貴が2人いてハーモニーを奏でていました。 前日同様24時くらいに宿に戻ったので静かに着替えてシャワーを浴びる必要があり、多少大変でした。 2日連続2階だったのですが、やはりドミトリーは1階の方が個人的には良いなと思いました。

3日目 自由行動

ここからが 北海道旅行本編 です。

07:00〜 起床

外人兄貴のアラーム音で目が覚め身支度をしました。 2日泊まるとドミトリーと言えども寂しさを感じてしまう。

08:00〜 場外市場で海鮮丼を食べる

  • JR○○駅から徒歩で向かった
    • ルイベが売ってた
  • 場外市場を散策した
  • 昨日と同じ海鮮丼を食べた
    • マグロをつけてもらった
  • 大将から小樽の美味しい飯屋情報をもらった

10:00〜 JR小樽駅着〜散策

  • 翔太の寿司ファンとして小樽に行かなければならなかった
  • 市場散策した
  • 運河を見た
  • 埠頭まで行ったが雪道でひたすらコケまくった

13:00〜 寿司食べタイム

  • 大将の名刺を見せたら一品追加された
  • 寿司をひたすら食べた
  • 後ろのカップルからひやかされた

14:00〜 寿司屋からJR南小樽まで徒歩

  • 吹雪の中ひたすら歩いた
  • 途中スーパーに寄ったらラム肉が売っててびっくりした
    • 100g250円くらいでステーキ肉くらいの感覚なんだな

14:30〜 南小樽散策

  • オルゴール館
  • LaTao
  • ベネチア美術館
  • まりもっこり
  • とにかく人が多かった

16:00〜 JR南小樽〜新千歳空港へ移動

  • 雪の中走る電車が美しい
  • オホーツク海に見惚れてしまった

17:00〜 新千歳空港でお土産を買いチェックイン

  • ロイズのポテトをお土産に沢山買った
  • NE組と合流して同じ飛行機で帰った

18:10〜 新千歳空港から成田へ飛行機

  • 30分くらい寝て起きた時にメガネをつけていることを忘れてメガネどこだとコートをバサバサしてしまったドジっ娘ムーヴ
  • オフラインだけどこの記事をかけるところまで書いた

20:40〜 成田から池袋へバス

  • 空港で買った海鮮丼を食べた
  • Wi-Fiがあったのでこの記事を書いた

まとめ

北海道最高!!!小樽最高!!!次は夏に行きたいですね。 締めパフェとジンギスカンは食べていないが、海鮮とスープカレーを十二分に食べたので満足かなと思っています。

次遠征する時の自分へ

phpカンファレンス福岡2023に参加してきましたの「次遠征する時の自分へ」を参考に準備しました。

今回は真冬の北海道ということで以下を持っていきました。(n=宿泊日数)

  • 靴下 n着
  • Tシャツ n着
  • パンツ n着
  • コート 1着
  • セーター 1着
  • 長ズボン 1着
  • スニーカー 1足

頑丈に生まれてしまった私としては今回の旅行は一切寒くなく、半袖とコート(もしくはセーター)さえあえば十分という気温でした。 とりあえず初日に半袖で1時間程度札幌周辺を半袖で歩いてみたのですが、多少指先が動かなくなる程度で特に何も支障がありませんでした。

念の為持っていった手袋は一切つけることなく過せたので不要でした。 普段半袖で生活してる私にとってセーターとコートを同時に着るとチートなんだなと思わされたので、次回はセーターかコートのどちらかが不要だなと思いました。 外に出る時間は少ないのであれば、コートくらいあってもいいかもしれないが冬でも半袖で問題ないことが分かりました。

スニーカーに関して、雪の中2万歩以上歩いて50回くらい滑ったのでちゃんとグリップの効く靴にした方が良いかもしれないです。 とはいえ受け身さえ取れれば良いので普通の靴でもなんとかなりそうだなというのが正直なところです。 流石にクロックスは足が凍傷になってしまうので冬の北海道には不向きです。