PHPerKaigi 2019 に参加

https://phperkaigi.jp/2019/

i will blog, ということで、参加したよレポを書きます。文字だけです。画像も写真も無いです。雰囲気は他のかたのブログを見るといいと思います!

https://fortee.jp/phperkaigi-2019/blog-link

誰?

フリーランスの PHPer です。PHPer歴だけは長い人です。

参加された方はわかると思うんですが、2位の人です。

PHPerKaigi とわたし

昨年の PHPerKaigi 2018 のとき、その開催を妻が教えてくれました。妻のすすめもあり、昨年も3日間参加しました。

とても為になるセッションを生で拝聴すること、いろんな PHPer とお知り合いになれること、初開催だったにも関わらず、高いクオリティのスタッフの皆さん、ノベルティの数々。

これはもう、次回 (2019) も参加しなければ、と決めていました。

そして迎えた PHPerKaigi 2019。

前夜祭

13:00 ごろから開場まで、もくもくスペースで仕事していました。すぐそばではスタッフの皆さんが会場設営やパンフレットの準備など、てきぱきと作業しているのを見ていました。裏方を見られたことで、スタッフの皆さんへの感謝がより深くなりますね。

いよいよ、実行委員長の長谷川さんによるオープニング。テンポ良い話で、参加にあたっての注意事項。こういうところで、安心感のある話し方ができるってすごいなぁ。

そこから 3つのセッション。

GraphQL はプライベートで作ってるものに適してそうなので、気になっていたところに 15分で分かった気になるGraphQL は助かりました。

PHP でも Raspberry Pi がしたい!」したいです。 PHPer なので…扱える言語でできるなら、こんなにうれしいことはない…!ハードウェアも作れるようになりたいので、言語の壁が無くなってくれたらなぁ…でも現実は(PHPでやるのは)難しそう

「質」の良いユニットテストを書くためのプラクティス テストは何年経っても、うまく書けるようになったという実感が得られません…。開発よりもさらに意識することが多いように思える…のは苦手意識が強すぎるんでしょうか。その答えの一つがこのセッションでわかった気がします。それは、「すべてのメソッドにテストを書かなければならないと思っていた」ことです。private なメソッドは変化が激しいもの、それを呼び出している public なメソッドをテストするようにすればよい、というのは、肩の荷が下りたと感じます。テスト書こう。

PHPreParty

DJイベントって…大丈夫かな…と思ってました。でもみんな心優しい PHPer(個人のry)だし…と参加したら、案外楽しくて。

GetWild は いいぞ。

本編1日目

この日は午前中、家族と花見に行ってきました。曇ってはいたけれど、雨は降らなくてよかった。綱島公園ってとこなんですけどね、毎年 桜祭りっていうのがあって、VPSとかクラウドじゃないですよ。屋台出たり、消防や警察からマスコットキャラクター来たりで楽しいのです。区長か市長かの挨拶で初めて知ったんですけど、横浜市港北区って日本で一番人口が多い行政区なんですって。

あ、そうそう、ノベルティのトートバッグがとっても良くて。花見のとき使いました。

それはさておき

前回の PHPerKaigi 2018 でも拝聴した、PHPの現場 公開収録へ。新原さんと竹澤さんの安定したトークを、花見で歩き疲れた体を整えながら。

その後はですね、ちょっとトークン探しに。そのへんについては、最後にまとめて。

RESTの力 を拝聴して「概念や思想を理解する努力が必要だな」と感じたり

エミュレータっていいよね…って思いながら ゼロから始める自作ファミコンエミュレータ生活 を聞いて 「PHPerKaigiとは PHPのKaigi ではなく PHPerのKaigi だからPHPの話でなくてもよいのだ」「エミュレータ移植おもしろそう」となり

ネットワーク構築が趣味レベルで好きなので ネットワークのことを知るためソフトウェアルータを自作した話 を聞いて「PHPerKaigiとは PHPのKaigi ではなく PHPerのKaigi だからPHPの話でなくてもよいのだ」「ハードウェアをソフトウェアで実装するのおもしろそう」となり

ずっとPHPerでコンパイル言語に触れてみたいと思い コンパイラ作りの魅力を語る を聞いて「PHPerKaigiとはry」「自分で自分をコンパイルって魅力的」となり

普段は決して接することのない領域の空気にあたれた日だったな…と

で、PHPer茶会。何してたっけ…誰と会って…何をしゃべったんだっけ…?やはり記憶が薄れる前にブログに書かなきゃいけないですね。いくらトークン探しで忙しくても

本編1日目終了。

本編2日目

いやあ、3日連続ってキツイですね。スタッフの皆さんもしんどかったでしょうけれど…近くにホテル取りたい

正直ヘトヘトだったので、ランチセッションまでずっとTrack Cに入り浸ってました。…といいつつ、ウロウロしなければならない。なぜなら、12時まではトークンが増えるという…。

ランチセッションはランチスポンサー メルカリの後藤さん。後藤さんは先日の Laravel JP Conference の懇親会でたくさんお話ししていただいて、その時もかなり自分に影響のあることを教えて頂きました。自分は、その時の「続き」のつもりで拝聴しました。

帰ってきた!平成最後のオレオレフレームワークの作り方 を聞いて、その後 アンカンファレンスの 出張版PHP勉強会@東京 へ

その後は怒濤のLTタイム。通常セッションよりも、短時間・短期間でいろんな情報が頭に流れ込んできて頭がフットー(古い

で、待ちに待った徳丸先生の挑戦状の答え合わせ。僕は全部のトークンを見つけられました。難易度としては、どの程度だったんですかね?ともあれ、自信につながりました。LTで教えて頂いた Capture The Flag も挑戦してみようかな。

クロージング。長かったような、短かったような3日が終わります。スタッフの皆さん、スポンサーの皆さん、そして、自分もそうですが参加者の皆さん、お疲れ様でした。みんなが揃ってこそ、とても楽しい PHPerKaigi 2019 だったなあ、と。

なお、PHPostParty にも参加しましたが、自分の胸の内に秘めたいことが多いのでスキップします。

ひとつ、伝えたいのは…

人生を変えるような出会いや話ができるかもしれないから、懇親会等々は参加したほうがいいぞ。参加をためらう理由が自分が参加してもいいのだろうか、みたいなことだったら、安心してください。PHPerはみんな優しいから。人見知りで引っ込み思案な僕が言うのだから間違いない。

さて

ここからが僕にしか書けない内容、かつ、読んでも特に為にならないものです。PHPerチャレンジに参加して、楽しんでいた方が暇なときにでも読んだらいいんじゃないでしょうか。

PHPer チャレンジ 2位

TL;DR 1位と表示されていたけど2位だと思っていたら結果2位だった

熱心なチャレンジャーじゃなくても、ランキングを見ていた方はご存じかと思いますが、初日から @nrslib さんがぶっちぎりで1位でした。常に数千ポイントの差があって、 僕は2位に浮上したあともその差はなかなか縮まりませんでした。

なので、僕はまあ、「一位にはなれないだろうけれど、ぶっちぎりにさせてしまってはこの企画がおもしろくないだろう」という何目線だかわからない想いでトークンを探しては入力していました。このへんから、#がついていたら反応する体になってしまった。

トークンの全個数もわからないし、徳丸先生の挑戦状の終わりもわからない…という地獄のようなマラソン。セッションなどへの参加が疎かになるのもイヤなので、そこまで本気になるつもりはありませんでした。

しかし。

本編1日目に、暫定1位の nrs さんを目視で確認。「めっちゃうろついてるやん…」

カンファレンスや勉強会のいいところって、リアルで会えることですよね。顔を見ることで、その人から受ける影響力はとても増すと思っていて、僕は少なからず、尊敬・目標になる人を間近で感じることがイベントへ参加する理由の一つになっています。

しかし今回は毛色がそれとは違いました。

明らかなライバル。

自分のことは比較的穏やかな性格だと思っていましたが、どうやら違うようです。ある種の闘争心が芽生えたのを実感しました。

さらに、今までの自分には起こらなかったイベントが発生します。

「2位の人ですよね?」

そう、声を掛けて下さる方が何名か。無名のPHPerで、一般参加者なだけだった僕に初めて訪れたモテ期(違

中には応援までしてくれる方も。

いいじゃん?「やってやるぜ」です。

まずは、「挑戦状」を全て解くことを目指します。その頃には、「全部で4つあるらしい」という情報があり、その時点で僕は2つのトークンを入力済み。獲得できる点数から考えるに、1位との差は挑戦状の入力数ではないか。まずはここをイーブンにせねば。

とはいえ、本当に4つで全てなのかどうかは疑わしく。公式なアナウンスはないので。(後に本編2日目の朝にアナウンスされますが) 時間をかけ過ぎると、会場にちりばめられたトークン、バーチャルPHPer 七太郎のブログにちょいちょいあらわれるトークン、それにセッション中のスライドにも登場するやも…と、早めに攻略したい。

そこで、集中して脆弱性を探していると…1個、そして立て続けにもう1個を発見。これでもう、徳丸マラソンはゴールとしよう。

その後は七太郎のブログを全記事チェックして、会場をうろうろして…

PHPer茶会では、懇親するべきだと思っていたので、トークンのことは一旦忘れて…ボードゲームに参加してみよう!初対面だけど楽しめるかなドキドキ…と思ったらここにトークンがあるのかよっ!ゲームを始める前のトークン入力タイム。

そして帰宅中の電車内で。

「ブログを書いてリンクを報告すればトークンがもらえる」のを思い出しました。僕、ブログ無かったんですよ。昔はあったんですけど。なので、全日程を終えてから、どこかのブログサービス使うかなー、やっぱWordpressになっちゃうかなーって悩もうと思ってたんですけど。

トークンもらえる?書くのは…今でしょ、ってことで、この note のアカウント登録して、その時点で書けるものは書いたので公開、リンク報告、トークンGET!

このブログ報告トークンによって、1位になりました。

このときの nrs さんサイドの話が @MatsuP さんによって4コマ漫画で伝えられています。(MatsuPさんの絵柄、とっても好きです)

このツイートは PHPerKaigi 終了の翌日 4/1 の夜に上げられていました。なので、全てが終わってから知ったわけなんですが。えっクソうけるんですけどwwww そりゃあ、1位を狙ってのブログ公開をしましたが、裏(?)でこんなことが起きていたとは。

記憶が確かならば、この日のウチに逆転された気がします。何したんだ…?

あ、あと、懇親会で @hamaco さんに教えて貰ったんですが、ブログ報告一番乗りだったそうです。やったぜ(?

そして迎えた最終節…じゃない、最終日。

なんか、気のせいか…会場にトークンが増えている…?高位のものほど、トークンの気配を感じられるようになるのじゃ

↑で括弧書きしましたが、この日の朝、挑戦状に秘められたトークン数が明らかになりました。

…1個残ってるやん!!

正直、これ以上探しようがない…くらい手詰まり感があったので、しばらくはうろうろ、養生テープに書かれているトークンを探していました。というか、養生テープを探していました。

セッションがない時間の Track B で、演台のほうまでうろついていたのは、LANケーブル固定のために貼ってある養生テープにトークンが書かれてないだろうか…と思ってのことです。ありませんでした。(えっ…無かったよね?)

そして知らされる、「#トークンは12時まで増えます」えっ、こっち(僕と nrs さん) はめっちゃうろうろしているのにスタッフさんはこっそりトークンを増やすの?すごい。

この日はもう、午後のセッションからはLT、徳丸先生による回答発表、そしてクロージング…と、あまり自由に動けないので、午後セッションの時間になるまではかなり必死でした。しかも、12時からは自分のランク以外は確認できなくなったため、「いくつトークンを見つければ良いのかわからないマラソン」に。

Track A, B, C 同時時間帯のセッションそれぞれ、トークンがあることは朝知らされていました。体は一つなので…諦めなきゃいけないトークンが出てくるのか…。まあ、幸いというか、出張版PHP勉強会@東京の時間枠が長いので、後半だけでも参加しよう。何度も通っている勉強会だし…。

@uzulla さんのセッションのトークンはきっちり漏らさず取得。で、その後 PHP勉強会のほうへ行く。「もうトークンは終わったあとかな」と思っていたら、@sapi_kawahara さんがLTを始めて… はあ、新元号の話ですね。Unicodeの。#新元号 …って、トークンはここか!

周りを見回す。… nrs さんはいないな!よし!順位は… 1位!やった、これで勝てた…のか?いやまだわからない…けど、もう どうしようもないなぁ。

PHP勉強会が終わり、順位を再確認しようと思ってリロードしたら…2位に転落。マジか。このタイミングで。

この後は怒濤のLTタイムが控えていたので、これでもう、戦いは終わりかと思っていました。が。TLにそれっぽいのが書き込まれている!入力!得点ゲット!

順位は… 2位!足りなかったか…

まあ、頑張ったな…でも少し残念だな…と思いながらLTを聞いていました。ふと、「3位に落ちてたらヤだなぁ」と思ってリロードすると。

1位

あれ?僕、点増えてないですよ?それに、減点するシステムも無さそうだし…ピコーン💡「バグだな?」

ここで予想したのは、今回の企画の仕様上は発生確率がとても低い「同点での一位2名」になっていること。そして、「同点だった場合の ORDER の指定に不備がある」のではないか。

予想はしたものの、モヤモヤしたままクロージング、PHPerチャレンジの順位発表。意味深な委員長のセリフ。そして明かされる実装のミス。

結果、やはり僕は2位でした。

しかし心は晴れやかでした。

3日間かけて、トークンを探し回る僕たち参加者は企画を楽しんでいました。PHPerチャレンジがあったからこそ、コミュニケーションが生まれました。同点まで追い上げたことと、ランキングの実装ミスによって仕上がったクロージングでの盛り上がり。委員長が説明のために、トークン入力のログをスライドで表示、そこで明かされた nrs さんが最後に入力したトークン「#私の負けです」…からの実は1位

完璧な流れじゃないですか…。少なからず、PHPerKaigiの盛り上がりに、貢献できたかな!と。

nrs さんは、1位になるべくしてなったと思います。だから、本当におめでとうございます。そして、3日間、nrs さんの心をかき乱してすみませんでした…!

1位2位のデッドヒートの詳細が気になったので、委員賞 長谷川さんに「ログください」とお願いしたら「いいよ」って言ってくれました。なので、それをどこかでLTのネタにしたいな。

終わりに

PHPerKaigi、最高でした。次回も必ず参加します。

この記事では詳しく書きませんでしたが、自分の成長に結びつく点がいくつもあって、その場で線で結びついて…という実感がありました。前回 (2018)も、今回も、自分が変わっているのを目の当たりにしました。

なので、勝手ながら。PHPerKaigi を、自分の成長の道標として、次回もその次も!参加したいと思います。…それが一般参加かどうかは、まだわかりませんけどね!


この記事が気に入ったらサポートをしてみませんか?