uzullaがブログ

uzullaがブログです。

YAPC::Kyoto 2023にTシャツスポンサーで参加してきました #yapcjapan

プロは追いシューマイをする。

さておき、コロナウイルスで開催が延期されてきましたがついに開催できましたね。非常に感慨深い。

yapcjapan.org

ノベルティ制作について

思い出す都内某所某日、「エッ、Tシャツ枠があいているの?やってやらあ!!」ということで、私は今回Tシャツスポンサーとして参加しました。是非皆様には長くご愛用いただければ幸いです。

そして、スポンサーなのでもう一個配る事ができたので、キーホルダーも作成して配ってみました(本エントリ、最後)

どちらも俺の趣味がつまっているというか、「…これは…?なんなのだ?YAPCなのか?」と思われるかもしれませんが、私にとってのYAPCPerlへの思いをミニマルな形にしたものであり…といって色々書くのは面白くないので、皆様におかれましてはよかったら色々と考えてみていただければ幸いです。

まあとにかく俺がつくったシャツをみんなが着ているのがエモい。

あとは、今回Have Fun Tech様のノベルティ(正論パンチ軍手)にも協力させていただきました。

「もう信じてるから好きにやってよ」という愛あるぶん投げをいただいたので、様々なコンテキスト、そしてわかりやすさ、コスト、フィジビリティなどを色々検討して今回の大ネタをドロップできたので達成感がありました。皆さん是非ご活用してください。普通に軍手としての性能も高いですよ(そのために、ロゴを自由に使うという荒技をゆるしてもらった)

あ、そうそう、一応書いておきますが(私は!スポンサーなので!)こういった物の制作や、全然関係がないPHPの案件などを承っております(宣伝です)。お悩みの際には是非ご相談、お声がけください。

(以下、スポンサーLTスライドからの抜粋)

speakerdeck.com

一時停止からの再開、運営への感謝

クロージングでpapixはいいました「これは延期だった」。

キャンセル、やり直しではないといいたいのがわかりますね。あそこで途切れてはいなかったし、実際途切れずに開催しきった、運営の皆様(と一絡げにしたくないのだが、なぜなら運営の人には知り合いが大量にいるので…)には一参加者として本当に感謝です。

おかげで色々な人とまた会うことができました、そして新しい人とも知り合うことができました、そして新しい人も増えているようです。

私はYAPCのコミュニティが好きなので、万難あれど続いていくことを望みますし、協力していきたいと思います。来年のスタッフ応募フォームできたら教えてください。

トーク

前夜祭については、最初のトークがえんどぅーさんのPHPの話だったので、俺は優勝です(そうではない)。

本編については、3年かな?間があいてコロナ禍で私も大分立場が変わってきました、--いや変わらずPHP書いてるんですけど--、なんやかや、自分が今興味がある話題が変わったなとおもいます。今回はshibayu36さんやaratamaさん、そしてnekokakさんと廊下で話した事がかなりピンときた感じでした。

運良く?私はnekokakさんの前座だったこともあって雑談したりしてたんですが、その後nekokakさんのトークで「わー…なるほどなあ」という。全然言語化できないんですが、多分三年前ならyusukebeのトークを聞きに行ったと思うんですよ、でも、これ今俺聞きたいし、終わった後で会話したい!ってなったんですよね。実際させてもらって大変勉強になりました。

一言で言えば、もっとフッ軽になるように頑張ります。

あと、aratamaさん、あらためましてベストおめでとうございます。

そして、キーノートの大西さん。正直、「はてなってみんなが好きな会社のえらい人」みたいな雑な解像度だったんですけど(はてなの友人は多いので、伝聞では何度も聞いているけど)、あの圧倒的解説トークによってすべての答え合わせができたなとおもいました。

そして俺も泣いちゃいそうになった。

ガレージ感ある画像からの年表。当たり前なんですけど、誰もがあのように理想と現実のギャップや、折り合いに苦労しながら進んでいるのだなあと思うと勇気がもらえました。

いうてもテックの会話もガンガンした

yusukebeは前日にHono Conference #01を開催しており、それにすべりこんで色々な話を聞かせてもらいました。やってることは理解出来るのですが、やっぱり温度感とかは現場の人の熱意をみないとどこがアツいのかわからんみたいなところがあるので、キャッチアップができたなあと。

connpass.com

あと、codehex君とLikkさんとまかまかさんとYAPC開催後に居酒屋にいって、Codehex君とはAIというか、GPTの話を色々聞かせてもらいました、僕もしれっと遊んではいるんですけど、実際プロダクトにする人にい「で、これどうなん?」っていうのが聞けるのはやっぱりアツいですよね。これまたツボを教えてもらえるみたいな感じで大層参考になり、勉強させていただきました!

そして、やはり、ゆるい同窓会とか

前夜祭、多分ぼくは参加者で1〜2番についちゃったんですよね。で、実は同率がDanさん。

駅から歩いてて、あれ?だれかおるなっておもってたらDanさんじゃ〜ん。この時点でYAPCが開始したわ!!!ってなりましたよね。Danさんがたのしそうなのを見るだけでうれしい。Dan the comment!!!!

あとまぁazumakuniyukiさんとか、xtetsujiさんとか、こばけんとか、最近あんまはなせてない人とゆるりと最近どーお?みたいなお話ができたり。

フィンランドからきたnuggedさんが「こんどYAPC::EUやるんで」っていってて、おお、久々にいきてえなとか。話していて「about ペル〜」「what?ペルー?」「ペル」「…Perl?」「ペル、ah, what prononce in japan?」「パール」「パールゥ?」「パール」「パーr?」「パール」みたいなコントしてたのしかったですね、あと、日本人はYAPC::Europeより、YAPC::EUのほうがつたわるんじゃねのとか、それはさておき宣伝したいってすごくいってたので、ここにリンク置いておきますね。

https://twitter.com/nugged/status/1637340829009465344

YAPC::Europe 2023: Perl and Koha conference in Helsinki - Google スライド

あとわりと最近接触があるmazcoさんとかmactkgさんとかと「ドヤァ!今年のシャツは!!えっほめてくれんの?よっしゃ今度なんかイケてるのやらんか!」とか話したりしてモチベ上げたりとか

最近イベントで顔会わせるtomio2480さんが若者を数名つれてきて、若者が増えていく!!!めでてぇ!!!みたいになったりとか

すぎゃーんさんのお子さんがかわいい!とか

今一番お世話になっとるPR TIMESさんとこのカタツイさんと、Shunさんもたのしんでるし、カタツイさんなんていつもの三倍くらい笑顔になっちゃってて俺も笑顔になっちゃったんだけどwあとShunさんはベストLTとってて、めでてえ!!ってなりましたよね。

hachioji.pm方面で、まこぴー、moznion、papix、onkさん、tokubassさん、ytnbodyさん、myfinderさん、kyannyさん、 charsbarさん、Songmuさん、かるぱさん、まああともちろんそーだいさんとか、オウオウ!酒や!ランチや!カレーや!ラーメンや!!!みたいな感じもしつつわいわいしたりとか

しかしなんか、自分が痩せたせいらしいんですけど、話かけても「えっダレ?」って顔されたのが面白かったですね。まさかyusukebeにも「えっわからんかった」っていわれるとはおもわなかったwww

髭は剃らなくて良かった。ぎりぎり特徴点が維持できていた、話してマスク外すとさすがにみんなわかってくれた。

こちらはドラをならしている私です(なぜかドラ役を探す運営が面白すぎて「銅鑼なら俺は一家言あるぞ」と飛び入りタイムキーパー&銅鑼パーソン立候補した)

まあなんだろうね、とにかく楽しかったね

知り合いももう増えすぎて、全員と話せなかったのは本当にもったいねえなって思うけど、やっぱり事務処理じゃないから、盛り上がっちゃうとね、時間は有限だもんね。

時間が有限すぎてこの二日間の睡眠時間が破滅してましたね

でも、元気に散歩とかもしてました。

えられた物

なんだろう、安心感がありますね。ここ数年色々とあり、大分安心感がなかったんですが、少し軽くなった気がします。

この軽くなった精神で、フッ軽したりとかして、また歩んでいければなと思います。

また今度会ってはなそうねー。ということで、乱文ですが、ではまた。

YAPC::Kyoto 2023で話します(?)! そしてチケットを今すぐに購入しましょう!!

YAPC::Kyoto 2023の採択トークが決まったようですね。面白そうなトークが沢山あってすごいですね。

blog.yapcjapan.org

私はトークを応募していないのですが、立ち話ができるはず、というのは冗談として、なんと今回Hachioji.pmとしてスポンサーなので、なんかその都合でLTができるはず…多分…です!

三つもロゴがのっている!

チケットを買ってくれ

それはそうとして、そんなYAPC::Kyoto 2023ですがチケット販売が今月1月の31日、つまり来週頭までとなっています。

passmarket.yahoo.co.jp

今月中にチケットを買わないと参加ができないのです! 今、まさにこの瞬間、すぐに買いましょう!!!!!

買いましたか?買いましたね。私が作るノベルティもこれでもらえるはずです!!

それでは会場でお会いいたしましょう!

yapcjapan.org

オマージュ元

blog.pastak.net

#ISUCON本 こと「達人が教えるWebパフォーマンスチューニング」について

達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践を献本いただいた、なお、私は書籍のレビュアーである。

(注釈 最近こういうのどこまで公開しておかないといけないのかよくわからんけど書いておく、金はもらってないが、献本はいただいた。いや、本をもらう以上に自分のレビュー作業に工数はかかっているので得をしているわけではないし、増版しても俺の懐はあたたまらない。注釈終わり)

さて、献本いただいたから書く、レビュアーだから書く、というわけではないのですが、実際面白い本であることには間違いないので、エントリを書いてみる。

まとめ

ISUCONにこれで勝てるわけではない。

期待していた皆様(?)、残念ながら?レビューをしている段階でうっすら知っていたのだが、「これはISUCONに勝つテクが記載された本」ではない。

ISUCON優勝したことがない私ではあるが(とはいえ、レビュアーになったのは多分本戦にでたことはある…ギリギリ…という経歴があったから…なのか、まあなんとなく誘ったらレビューしてくれそうなきやすさがあったのだろうか、まあそれはどうでもよい)、この本を読んでも優勝はできんぞ、と思う。

ぶっちゃけISUCONに勝つなら、絶対にISUCONの過去問をやりまくった方が良い。優勝はできないかもしれないが、まず予選を突破するにはそれが一番必要である、必要なものはこの書籍ではない、経験の数と手の速さが重要。そしてネットには「こうやってここまで点数をのばしました!」というエントリにあふれているので、「この書籍にしかない魔法」はない。

なので、この書籍を読むだけでは、おそらく強くはなれない。よって、その目的、あるいは目論見で購入した人については残念でしたと言わざるをえない。まあ、それなら最初に(出版前に)読んでいる私が優勝できるはずなので、当たり前なのだが。

では、なにが書かれているのか?

その前に、この本をISUCONで勝つために使うにはどうすればよいかの話をしておきたい。

付録からよんでほしい。あなたがISUCONに一度も出たことがなかったり、手も足も出なかった経験があるならば付録の「攻略ログ」は大変役立つのではないか。いわゆる「素振り」の一つが掲載されている。

(優勝したことがない私が言うのも何だが)ISUCONに勝つには素振りが必要である、いや優勝常連と言えるfujiwaraさんは「練習したことない」っていってるじゃん!と突っ込まれるとこれはもうなにもいえねえな…とおもったが(実際このエントリ放り投げようかとおもったのだがw)、まあここはもうそこは無視することにした。(結局普段の生活が練習なのだろうし!!)

夢のない話だが、結局数をこなさんといかんのである。

さて、話をもどし、付録を読むと「わかる」事として、「できる人がなにやってるのかわけわからない」だと思う。もしわかるようなら、対象読者ではない(むしろわかる事がわかってない可能性もあるが)。

なんかしらないけど最初から答えを知っているように解いているようにしかみえない、わかる、俺もISUCONで他人のムーブをみているとそういう感覚にしばしば陥る。しかし実際にはそうではなく、みな「ここがわるいんだろうなー」という勘をもって一つ一つ検証し、それを改善している…らしい。らしいっていうか、すくなくとも私はそうである。

で、そういう考えをもって、糸口を拾い、最初に戻って読んでみると「勘所が並んでいる」ということに気づくと思う。第一章については「全体的な考え方」そして、それに続く各章はそれらを実際にそうなのか検証し、ブレイクダウンしていき、一般的な解法の例を解説している。

一端のエンジニアなら、正直「あーN+1ってなんかきいたことあるわ」「Indexね、張るよね」というものが並んでいると思う、それについて粛々と主にチューニングについての側面で解説されている。

「なぜIndexがあると速いのか」「Btreeだから当然だよね」こういう会話がなされているとBtreeの実装方法に話がいってしまいがちだし、そこで終わってしまうのが常であるが(?)、このISUCON本ではそこにはあまり深入りせず(とはいえ、結構しっかり解説している)、BtreeでPkeyや各行が特定されたあとにどのようにデータリーフをたどるかということが解説されているし、「なぜ」(たとえばORDER BY 狙いのIndexとか)そうするか、ということが(あらゆる手法の一部ではあるが)解説されている。

こういう解説は当然さがせばあるのだが、ここにあるのだ、そこがこの本の素晴らしいところだと思う。

同様に、アクセスログの解析による低速なエンドポイントの見つけ方、alpやtopなどの定番ツールをつかえばいいのは「聞いたことがある」となると思うが、実際にそれを潰していくことについて解説されているエントリや書籍はすくないのではないか。

その他にも、ウェブ、というかHTTPならではの「実際に速度改善する」という切り口で統合的に書ききった書籍はあまり類を見ないと思う。いやないわけではないのだが、DB高速化などに特化していて本書籍のようにウェブアプリケーションチューニングの切り口で揃えているものは珍しいかと思う。(すくなくとも、今私がぱっと思いつかない、DBだけとか、キャッシュだけとかならまあ)

このあたりがこの書籍の良いところで、おそらく実際にあなたの役立つ所かなと思う。

ということで

ウェブアプリケーションの高速化をしたいなら、したことがないなら、ぜひとも読んでみていただきたいなと思う。

もちろん世の中にはパフォーマンスの改善手法は数多あり、ぶっちゃけ金を無限につっこめば無限にスケールするというパワープレイがあるし、要件仕様のほうを変更してパフォーマンスを伸ばすということも普通におこなわれている。

しかしISUCONというのはそれらを封じて「自らの技術で」改善するという競技であるからしてそれでは通用しないのである。

そして現実世界では、それらは組み合わせで改善がおこなわれると思う。っていうか俺もしている。

つまりは「スケールアップすれば勝てるっしょ!」とか、「そんなの実装できても無理〜!」とか言わず、エンジニアリングで解決するという、じつにかっこいいことにトライできるのである。(そのあたりに興味がない人はそもそもISUCONという単語に魅力は感じないだろうが…)

まあ、現実世界ではISUCONみたいなことをするより長期的な視点でDBは正規化するし、新規機能開発にリソースを全振りすることを求められることも多いと思うのでこれがすべてだとか、あらゆるウェブエンジニアがこのようにすべきなどというつもりはない。

ということで、「(現実とつながっているが、究極的には現実と違う)エンジニアのかけっこ(障害物競争??)」について面白いなと思ったらぜひともISUCONに挑戦してみてほしいし、もしその時に「自分には経験がないからなー」というときにはこの本の付録から読んだりしてトライしてみてほしいってことである。

isucon.net

なお、現在ISUCON12は第二次受付を控えている。

https://isucon.net/archives/56701778.html

毎年人気が上昇し、ISUCON12 予選申込みの第一次受付は開始4分で枠売り切れという異常な人気になってしまったので、ぜひ参加したい人には気合をいれて申し込んでみてはいかがか。(第三回まであるらしい)

あるいは、出場に興味がなかったとしても、「自分がかけっこでどれくらい速そうか?」というのはなかなかおもしろい事だと思う…どうですかね?しかも、その練習をしたら自分の業務にも役立つかもしれない(すくなくとも、高速化に関する脳内の引き出しは増えるだろう)

ということで、何のおすすめになったのかわからなくなったが、一人、あるいは友達とやる分には変に気合をいれなくいいのである、所詮かけっこなのだから、変に斜に構えたことは考えず、興味があればやってみてはいかがだろうか?

当方はISUCON12参加予定です、では予選でお会いしましょう! (本当ならここで「本戦で」とか書いてみたいエンジニアです、私もがんばります…)

(ギョーム方面各位:本エントリは寝る前の一瞬でかかれたので仕事にはほぼ影響しておりません、大丈夫です(???))