feature image

2024年9月24日 | ブログ記事

部内 Web Speed Hackathon を開催しました!

はじめに

みなさま、この頃急に寒くなってきましたね。具体的には今日から。体調にはくれぐれも気を付けて生活してくださいね。友達がコロナに罹ったという話を最近聞いたりして、まだまだ流行り病にも気を付けなきゃなのかなぁと思う日々です。しっかり手を洗いましょう。

さて、今回はtraP内で Web Speed Hackathon を開催したので、その開催ブログということで書いていこうと思います。準備から開催から全部ボク1人でやったのでめちゃめちゃ大変でした。でもその分結構良いものができたと思っていて、これを読んでいる他のコミュニティ(?)の人が気軽に大会を開けるような感じになると良いなーと思っています。

自己紹介をしてませんでしたが、@cp20 と申します。この記事は夏のブログリレー 2024の36日目の記事で、4日目と31日目にも投稿しているので良ければそっちも見て行ってください。

Cコンパイラを作ろうとしてみた
はじめに みなさま、夏休みを満喫しておられるでしょうか。はじめましての方ははじめまして、@cp20 です。ちなみにこの記事は夏のブログリレー 2024の4日目の記事です。今年は去年にも増してたくさんのブログが書かれそうで楽しみにしています。 さて、この記事ではCコンパイラを自作した話をしていきます。結局バグが取れずに惜しくも完成 (完成の定義は後述) しなかったのですが、完成の3歩手前ぐらいまでは作れたので、その中で得られた経験などを書き連ねていこうと思います。 重要な追記 (2024/08/23): 実は完成していました (詳しくは後述します) ちなみに成果物は↓のリポジトリから見れますので良かったら覗いてみてください。 GitHub - cp-20/c-compilerContribute to cp-20/c-compiler development by creating an account on GitHub.GitHubcp-20 自作Cコンパイラについて コンパイラとは 世の中にはたくさんのプログラミング言語がありますが、その中でもコンパイル型言語と
Ansibleは難しくない
はじめに みなさま、夏休みももう終わりに近づいていますね。楽しめましたでしょうか?世間的な夏休みはもう終わってますし、東工大の夏休みは遅いがちなので他の大学だともうそろそろ授業が始まったりしてるんですかね。ちなみに東工大は10/2まで夏休みです。 閑話休題、はじめましての方ははじめまして、@cp20 です。ちなみにこの記事は夏のブログリレー 2024の31日目の記事です。実は4日目にも投稿しているので良ければそっちも見て行ってください。 Cコンパイラを作ろうとしてみたはじめに みなさま、夏休みを満喫しておられるでしょうか。はじめましての方ははじめまして、@cp20 です。ちなみにこの記事は夏のブログリレー 2024の4日目の記事です。今年は去年にも増してたくさんのブログが書かれそうで楽しみにしています。 さて、この記事ではCコンパイラを自作した話をしていきます。結局バグが取れずに惜しくも完成 (完成の定義は後述) しなかったのですが、完成の3歩手前ぐらいまでは作れたので、その中で得られた経験などを書き連ねていこうと思います。 重要な追記 (2024/08/23): 実は完成してい

Web Speed Hackathon って何?

"Web Speed Hackathon 2024" は、非常に重たい Web アプリをチューニングして、いかに高速にするかを競う競技です。

ISUCON をご存じの方は ISUCON のフロントエンド版だと思ってください。(ただしバックエンドも含む) 分からない人はバカ重いWebサイトが渡されて、それをサクサク動くように改善するコンテストだと思ってください。

ちなみにボクは今年初参加して、なぜか優勝しました。詳しいところは下のブログに書いたので良かったら読んでみてください。

Web Speed Hackathon 2024に初出場して優勝しました
この記事はtraP新歓ブログリレー2024、19日目の記事です はじめに こんにちは! 23Bの @cp20 です! 2024年の3/23(土)~3/24(日)の2日間にわたって行われたWeb Speed Hackathon 2024に初めて出場して、そしてなぜか優勝してしまいました。新歓ブログリレーっぽいただの体験記を書くつもりが優勝者の参加記を書くことになってしまってが重いんですが、頑張って書こうと思います...! 体験記 もともと軽い体験記を書くつもりだったので、とりあえず技術的なところを省いて体験記を綴っていこうと思います。お前の話なんか興味ないから早く技術的な話を聞かせろという人は「改善の流れ」のところまで読み飛ばしてください。 競技前 Web Speed Hackathonに出るのは今年が初めてで、去年以前の過去問を解いたことすらなかったので、とりあえず1週間前の土日で2023年の過去問をある程度解きました。とはいってもなかなかチューニングが難しくて、そこまでスコアは伸びなかったように思います。まぁ本番もそんなにうまくはいかないだろうなと思っていました。

部内で開催する

キッカケ

大会に出てるときから感じていたんですが、あんまりゴリゴリにできる人が多くないんですよね。特に若い世代に。これをもっと盛り上げていきたいなーと思ったのが最初のキッカケです。部内で Web Seed Hackathon を開催してついでに解説会をやればもっと興味を持ってやってもらえるんじゃないかと。

準備

と思い始めてからはや5か月、実際に手を付け始めたのは9月の初めです。遅すぎる、、、基本は公式と同じものを用意するだけの作業なんですが、公式が計測ツールとかのソースコードを公開してくれていないので自分で頑張って実装しました。これがかなり大変で、しかも開発期間の3分の2ぐらいは旅行(?)に行っていたので旅行先で開発みたいなこともしていました。そうしないと間に合わないとわかっていたので、、

その成果の計測ツール一式 + リーダーボードは公開しているのでぜひ使ってみてください。リーダーボードだけ適当にデプロイすれば動きます。超簡単。ちょっと計測が不安定なんですが、たぶん上手く動きます。

GitHub - cp-20/wsh-scoring-tool
Contribute to cp-20/wsh-scoring-tool development by creating an account on GitHub.

とか頑張ってツールを準備してたら告知するのを忘れてました。その結果大会の3日前のメンバー集会で告知をすることに。告知が早くて困ることはないのでもっと早くしておきましょうね。

当日 (2024/09/21 10:00 ~ 2024/09/22 17:30)

参加者があんまりいなくて寂しいなーと思いつつリーダーボードを眺めるお仕事をしていました。でも最終的には9人参加してくれたのでまずまずというところ。もっともっと気軽にみんなに参加して欲しいね。(最初が一番難しいのでハードルが高いのは分かるけど)

最終的なリーダーボード

ただ結果はまずまずという感じでした。特に何も講習会などはせずに本番を開催したのでみんな何をすればいいのか分からないという感じで、目に見えるぐらいの改善ができているのは2,3人といったところ。しかも上位陣が軒並みレギュレーション違反でfailしていったので最終的な順位は決定しないという措置を取る羽目になりました...

解説会 兼 感想会

今回の結果を踏まえて、解説会っぽいものを開催することにしました。1時間ぐらいで作った資料を簡単に説明していくという感じの会です。資料は下に公開しているので良かったら見て行ってください。

Web Speed Hackathon 解説会 - traP HackMD
# Web Speed Hackathon 解説会 :::info 間違いとかを見つけたら @cp20 宛てに報告してもらえると嬉しいです ::: ## 前提知識 Q. パフォーマンス (が良い

ここに書いてある観点は割と毎回効いて、ちゃんとやれば6割~8割ぐらいのスコアは取れるんじゃないかと思います。まぁそれが難しいんですけどね。

おわりに

割と各地で計測ツール自作は見かけるんですが、ユーザーフローまでちゃんと自作している例は初なんじゃないでしょうか? (見落としてるだけだったらごめんなさい) それなりに簡単に使えるようにしたつもりなのでぜひ使ってみてください! (あるいはもっと簡単にできると思ったらそう言ってください!)

夏のブログリレーも明日締めの記事が出て終わりらしいですね。夏ももう終わりか、、、


おまけ

夏の終わりと言ったらやっぱこれですよね(?) 今年は新曲で攻めてきて嬉しい。

cp20 icon
この記事を書いた人
cp20

23B / icon: https://twitter.com/sora_douhu

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2024年9月20日
2024年 1-Monthonを開催しました!!
Synori icon Synori
2024年9月17日
1か月でゲームを作った #BlueLINE
Komichi icon Komichi
2024年8月21日
【最新版 / 入門】JUCEを使ってVSTプラグインを作ろう!!!!【WebView UI】
kashiwade icon kashiwade
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2022年9月26日
競プロしかシラン人間が web アプリ QK Judge を作った話
tqk icon tqk
2022年9月16日
5日でゲームを作った #tararira
Komichi icon Komichi
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記