今回は参加レポート系です.2024年12月1日,MIXIさん主催のBug Shooting Challengeに参加しました.そこで学んだ色んなことを書き起こしておこうと思います.本当はどんな問題でどのようなアプローチを取ればいいのかとか考えた軌跡を残したかったのですが...イベントの方針上問題は載せられないのでそこはうまく執筆したいと思います.
公式様の参考ページ
Bug Shooting Challengeとは?
バグを見つけたら、潰してしまえ!
MiXI公式より
とのことで,バグを見つけ,その修正をするといったことが主であるイベントです.具体的には実際のユーザーからのお問い合わせに模したバグ報告に対して,BigQueryにあるログを解析したり,ソースコードから問題点を探したりして,障害対応するといった流れでした.
会場IN
Bug Shooting Challengeの会場は渋谷スクランブルスクエア36FにあるMIXIのオフィスでした.渋谷駅に10:30に着くといいよ〜とのことで,イベント自体の集合時間はゆっくりなスタートでしたが,私は東京人ではないのでかなりの早起きをしました...
ちょうど新幹線の中で地震の訓練で急に地震速報(訓練)がBig Soundで流れたのでかなり焦りました.1日中結構引きずっていたようななかったような...
説明とSample問題
午前中はひたすら説明の儀でした.今回使う技術スタックの話やシチュエーション,クリーンアーキテクチャの説明がメインでした.
クリーンアーキテクチャの説明はよくみるあの丸い図が出てきました...
昼ごはんを経て,午後の初めは環境構築やサンプル問題を解く時間でした.私自身環境構築に手こずりました.ずっとPostgreに繋がらないし,localhostを認識しないし...運営の皆様お手数おかけしました.
ちなみにPostgre繋がらない問題はbrewでインストールしたローカルにいるpostgreSQLとDockerコンテナ上のPostgreSQLが混合していたことが原因で,
localhostの名前解決ができないのはローカルのDNSが変に書き換えられていたからでした.
問題とくぜ
こんな感じで結構景色のいいところで問題解いていました.この日は天気もよく富士山が見えるくらい透き通ってました.
問題の内容は言えないのですが架空のサイトの利用者からきた架空の問い合わせに対応していくみたいな形式でした.フロントはNext.js(TypeScript TailwindCSS)でバックはGo,gorm(クリーンアーキテクチャ)で,データベースはPostgreSQL,ログ収集はGoogleCloudBigQueryでした.
最初はIssueがあってどんどん解決したり,いい感じにスピードアップする某コンテストのような雰囲気を想像していました.
しかし,実際はかなり幅広い事象の問題があり,ソースコードの修正箇所がすごく単純だったり,そもそも修正しなくてもよいものがったりと...びっくりしたものもあり,先入観が邪魔だったという感想です!
朝,新幹線の中で,そー言えばNextてどう書くんだったっけ?とか,単体テストの粒度とか色々考えていたのですが...そこまで考えなくてよさそうでした
Goの知識というかプログラミング言語の特性を知っていると強いのかも...?そんなことを思わせていただいたいい経験でした!
懇親会では...
懇親会でもさまざまな話をさせていただきました.ログデータの収集,解析の話だったり,スケーリング大変だったり,DBの分散管理だったり,実際の業務で使うさまざまな考え方を伺えました.
バグの話とかアーキテクチャの話をすると思っていましたが...なぜかインフラの話が多めだったような...
技術系の話ではないですが,オフィスの周りが全部ガラス張りだったので360度フルパノラマの渋谷36Fからの景色が綺麗すぎました.
終わりに
以前GitChallengeに参加したときは半分くらい難しい問題?(多分自分が知らなかっただけ)があったのですが今回はほどよう難易度でした.1問目は先入観が邪魔して混乱しまくったもですが2,3問目は結構しっかり溶けました.賞はなかったのですがプロフラムの特性を色々考え直すいいきっかけになりました.
それではQiitaアドカレ.24企画の今日のクリスマスツリーです.
詳しくはこちらの記事から