今日も陽気にアレグロ技研

allegorgikenの気が向いた時の日記です

第13回 Asprova プログラミングコンテスト(AtCoder Heuristic Contest 070)参加記

第13回 Asprova プログラミングコンテスト(AtCoder Heuristic Contest 070)に参加しました。

atcoder.jp

4時間の短期コンテストです。短期では今回から生成AIの利用が原則禁止となりました。
問題の本質を理解できている感じはしないながら、地道な実装で 54位 でした。嬉しいので参加記録を残します。

問題の概要

  • 原点 (0, 0) から移動しつつ、移動先にお札を設置することを 10,000 ターン繰り返す
  • 移動は、事前に決めた3つの距離 (a1, b1) (a2, b2) (a3, b3) に限定される。また、上下左右にループできる
  • 毎ターンどこかのマスに怪異が発生するが、お札が近いほど怪異の危険度を低減できる
  • 怪異が発生するマスの全貌・順番は事前に分かっている
  • 怪異は後半に発生するものほど強い(危険度が大きい)

これらの前提下で、すべての怪異についての危険度をできるだけ低減するように「3つの移動距離」と「移動経路」を構築する問題です。

問題イメージ

1/10 スケールのミニ版

移動は右|下方向にしかできませんが、端でループするので問題ありません。上手くやれば最終的に全マスにお札を設置できそうです。

考えたこと

  • 序盤の怪異は無視して、お札を全体に均一に設置すると良さそう?
  • 全マス埋めるゲームっぽく見えて、そうでもなさそう
  • スコアの差分計算が厳しそう、山登りや焼きなましは厳しいか
  • ビームサーチは有効そうに見える

実装したこと

最終イメージはこのようになりました。お札を設置できてないマスは 1,400 くらいあります。この辺改善すればもっと上位に行けたのかな?

seed=0

移動距離を決める

同じ座標に到達しないようにするため、素数付近が良さそう? 色々なパターンを手で試して、序盤は (14, 33), (7, 1), (5, 9) で固定しました。

最終的には処理時間が余ったので、おおよその範囲でランダムに決めて一番良かったやつを選択する「乱択プレイアウト」をしました。

移動経路を決める

最初に、将来的に発生するものも含めた危険度を全マス分スコアリングしておきます。
毎ターン、お札を設置した際の低減度の合計が最も良い手で貪欲に移動させました。

これ自体はお札との最短距離を BFS で更新するだけなので、比較的高速に動作します。 自分の実装では 50回 程度な全体処理を回せたので、移動距離の乱択に回しています。

最終的には、5,000手以降先の怪異はほぼ無視するようなスコア補正を加えました。 この工夫で 3% 程度スコアが改善しました。

怪異が発生済みのマスについては 危険度 = 0 としてクリア処理をした方が良さそうだと思ったのですが、これはスコアが安定して下がりました。 厳密な計算が必ずしもスコアに寄与するわけではないのか・・要勉強です。

「考えたこと」で記載したあたりの考察は全部吹っ飛びました。 序盤に均一に設置する、だけ実装しましたが全体を貪欲で回す方が結局強かったです。

感想

今回順位は 54位 と良好(自分の中では)でしたが、スコアの絶対値だとトップから 1.6倍 程度離れています。問題の理解度が全然足りていないな〜と痛感しています。

強い人のまとめを見ると、移動距離の組み合わせについては理想的なパターンがあるようです。 その辺は公式の AHCラジオ でも語ってくれそうな気がするのでとても楽しみですね・・!

www.youtube.com

AHC069 (RECRUIT 日本橋ハーフマラソン 2026夏) 参加記

AHC069 (RECRUIT 日本橋ハーフマラソン 2026夏) に参加して 114位 でした。 (約1,000人中) 久々に上手くいった&楽しくプレイできたので参加記録を書きます。今回も楽しい問題をありがとうございました!

atcoder.jp

AHC069 seed=0

問題概要

  • 池のある公園の管理人となり、 1,000グループの予約を捌く
  • グループが来訪するたびに、受け入れる or 断る を上手く選んで収入を最大化しよう
  • グループには「人数」「開始時刻」「退去時刻」「支払金額」の情報を持つが、事前にはわからない(インタラクティブ)

特に面白い点として、グループの支払金額は「上限」であるという特徴があります。

  • グループに割り当てるスペースは正方形に近いほど支払金額が高くなる。細長い形などだと減衰する
  • 1度割り当てたスペースとは別のところに移動してもらうことも可能だが、金がかかる

最終実装のイメージ

貸し出すスペースの構築について

このロジックが大きくスコアを左右するポイントで、参加者の個性が光るところでもありそうです。 凝った事をやろうとすると実行時間制限(2秒) もあり、かなり苦しみました・・

時系列では以下のような変遷となりました。

正方形を事前構築

似たような形のスペースが多く、隙間も多くあり弱いです。

似たような形のスペースが増殖

チェビシェフ距離のダイクストラ法で事前構築

BFSでスペースを構築すると菱形になってしまうので、チェビシェフ距離でのダイクストラ法を使いました。

事前構築のバリエーションに柔軟性を持たせた

壁を軸として動的生成

隙間が出ない方が嬉しいので、壁に面したスペースを動的に生成することにしました。 方式はチェビシェフ距離ダイクストラ法から大差ありませんが、生成AIが独自のキューに書き換えていい感じにしていました。

壁から正方形っぽいものを生やす

その他の細かい工夫

グループの移動

「既存の1グループのスペースを開放 => 新規グループを受入れ => 既存グループを再配置」が成立する場合のみ実施しました。

移動を行う条件としては「新規グループを受け入れる場所が無い場合」「移動させることで収入を増やせる見込みがある場合」のみとしました。 2グループを同時に移動させればもっと受入れできるケースが増えそうなのですが、計算が重くて厳しい・・

滞在グループ密度、平均支払金額の推定

グループ情報を元に「どのくらい混雑しそうか」「支払の平均額はどんなもんか」を推定します。

滞在時間が長いグループや人数が多いグループの比率が高い場合、全員を受け入れることは困難です。 その際に、できるだけコスパの良い客を受け入れたいので、支払い金額の平均なんかも出せるようにしておきます。

また、後半の50グループあたりからなるべく断らないように補正を入れています。

実装スタイルと生成AIの利用について

これまでAHCでほとんど生成AIを使ってきませんでしたが、今回はコーディングでがっつり使いました。 初回提出コードは完全に手書きしました。その後のコード改善は手書き半分、生成AI半分くらいの配分です。 アイデアを列挙して実装依頼したり、デバッグ情報から「seed=0 の #531 グループってなんで reject された?」みたいな分析を依頼したりしました。

モデルはタイミング的に話題になっていた「DeepSeek V4-Flash 0731」を OpenCode Go 経由で利用しています。 月額10ドルで60ドル分のクレジットが使えるプランですが、AHCでガッツリ使っても天井に到達する気配が無くてお安い。

DeepSeek V4-Flash は異常に安く、ほぼ無限に使える

RubyKaigi 2026 に参加しました

2026/04/22から3日間の間、RubyKaigi 2026 が函館にて開催されていました。 北海道在住なので行きやすい。さらに、ちょうど桜の季節。ということで RubyKaigi に初参加しました!

私とRuby

このブログではおもにD言語をしているため、なぜ Ruby? と思われそう。一応弁明を書いておきます。

  • 実は競プロを始めたときは Ruby で参加していました
  • 業プロで Ruby on Rails の Webアプリケーション を開発運用していた時期もあります
  • Capistrano とか Serverspec とか触ってました。最近はあまり見なくなって寂しい
  • 10年以上前に RubyDX というライブラリでゲームを作ろうとしていたこともあります

RubyKaigi 2026 大満喫しました!!

RubyKaigi の会場はスポーツの大会やライブができるアリーナで、そこにスポンサーブース等が集まる形になっていました。 アリーナの観客席にもいつでも出入りできて、そこで自由に休憩できるのがうれしかったですね・・! 観客席以外にもちょっとしたスペースが点在していて、みんなRubyの真面目な話をしている空間になっていました。

電話Box on Ruby Kaigi 2026
昼食にラッピのチャイニーズチキンバーガーセットを頂きました

RubyKaigi 2026 は Ruby4 のリリース記念会でもあり、目玉機能である Ruby Box の話が KeyNote になっていました。 それ以外にも ZJIT, 標準ライブラリの改善, PicoRuby, .. など「名前だけ知ってる」状態のものがなんとなく分かるレベルになったように思います。

「Ruby は今後どう変化するのかを追うのが楽しい言語だなあ」という気持ちがありましたが、RubyKaigi に参加した影響でさらに楽しめるようになったかもしれません。

心に残ったセッション

rubykaigi.org

test-unit のテストランナーを並列実行に対応させたという話でした。 test-unit でテストを書いたことがあったので縁がありました。 淡々と実現したことを話されていましたが、めちゃくちゃ大変そうでした・・

rubykaigi.org

競プロerもニッコリの計算量削減トピックです。 BigDecimal の計算は桁数に比例して遅くなる・・ のがざっくりとしたイメージですが、実装努力でかなり高速になるケースもあるようです。

rubykaigi.org

Rubyコミッターが集まってディスカッションをするのを眺められるとても楽しい時間です。 月1回くらいの頻度でディスカッション会があるらしく、それを公開録音っぽくやろうという雰囲気でしょうか。 Discord でガヤを入れることもできるので参加型でもありめちゃくちゃ楽しい。

コミッターの集まり 国際色も豊か

Integer#popcnt が欲しい」「Matzに依存しない組織運営の形について」「AIでどう変わったか」など多様なテーマでどれも白熱していたなぁと思います。 また、英語と日本語が混ざって議論が交わされる時間もあり不思議でした。裏でいいかんじの翻訳システムが動いてたりするのですかね。

rubykaigi.org

RubyのリリースマネージャーであるhsbtさんがRubyをリリースする際のワークフロー整備についての話でした。 CI/CDパイプラインのいたるところで Ruby 製のツールが使われているらしく「Rubyを徹底的に使うことで品質担保のレベルにレバレッジを効かせる」狙いがあるとの話が印象的でした。

rubykaigi.org

https://github.com/riseshia/type-guessr を開発している話でした。型情報はコードに書かず、solargraph のようなアプローチにヒューリスティクスを加えてより詳しい型推論ができるようにする・・という雰囲気でしょうか。 Rubyに型の概念を加えるライブラリはすでに結構な種類がある印象ですが、いろいろなアプローチがあって良いという世界観が素敵だなあと思います。

春の函館も大満喫しました!!

会場付近の神社、フラクタル鳥居

帰りの電車でやきとり弁当を食べました(すみません)

ノベルティの水、採水地が函館付近ですごい

Day4 では 函館市電LT会 にも参加してLTを発表しました。SmartHRさん、素敵なイベント開催ありがとうございました・・!

市電LTの始点

資料は勢いで作ったのでもうちょっと手直ししたり、最新の情報を加えたりしたい・・

来年の RubyKaigi も行きたくなりました。頑張って行きます!

AtCoder Conference 2025 参加記

2025/12/13 に開催された AtCoder Conference 2025 に参加しました。

atcoder.jp

技術系のカンファレンスが好きで、なおかつ AtCoder を5年あまりプレイしているファンと自覚していたため参加できてよかったです!

戦利品

聴講したセッションの感想

  • 秋葉拓哉さん
    • 秋葉さん世代の思い出話とか IOI の歴史など。インターネットを辿るだけでは分からないストーリーが聞けて最高でした!
    • 競プロが生成AIにとって義務教育的な立ち位置にいるという話などもあり、なるほど
  • スポンサー巡り
    • どのスポンサーブースも混雑しててすごい。
    • とりあえず THIRD さんを訪れでトートバッグを貰うのが初手の最適行動だと思います
    • FORCIAさんの問題、1完してしてないので後で解きます・・
    • 全展示面白いのですが、実際に動くソフトウェアが展示されているところが多くて良かった
    • ziosoftさんの展示は独特な感じで面白かったです。血管に対して最短経路算出をやりますみたいな話
  • 株式会社フォルシアさん
    • やばそうな話と見せかけてメチャクチャいい話をしてた
    • フォルシアさんのビジネス内容全然知らなかったので本当に良い機会だった
  • 岩井聖人さん
    • めちゃくちゃ面白かった
    • 満室で立ち見が大量にいる状態ですごすぎる
    • 最近の岩井聖人さん強いし、カンファレンス前の覚悟みたいな話を youtube でしてたのもかっこいいんですよね・・
  • chokudai さん
    • AtCoder の内側の話をかなり赤裸々に話してくれた感じで稀有だった
    • AtCoder Japan Open をより有益なものにするために Conference があるみたいな話もあり納得。
  • 今宿祐希さん & エチレンさん
    • fishylene の作り方、みたいな話を詳細に話してくれた
    • 「改善のアイデア募集中です!」とか言ってたのに翌日のAHC058で fishylene が優勝しててわろた。
  • 株式会社ALGO ARTIS さん ( =てりーさん)
    • 生てりーさんかっこよかった
    • 「業務AHC」という特殊すぎるワードが普通に登場していてわろた。
  • kenkooooさん
    • めちゃくちゃ面白い話だった
    • 競プロバブルみたいな頃の話面白すぎた
    • 話の節々に狂気が宿っていて楽しかった

2トラックなので聞けないセッションがあるのが悲しい。全部聴きたかったですね・・!

画像付きの雑なログ

※ どうでもいい話が多めです

前日入り

競プロerは夜型のイメージが強いですが、カンファレンスは朝10時からの開催であるため前日入りしました。 新千歳空港から羽田空港に飛行機で飛びました。この日は雪がひどく欠航もありえる状況でしたが、3時間程度の遅延で耐えました。

この環境の中飛んでくれたことに感謝

新千歳空港では保安検査後のエリアでも寿司を食べることができるため、ぜひご利用ください。 お勧めは画像手前の「ホッキ貝のヒモ」です。なぜかとても安い・・

保安検査寿司

羽田空港に到着すると AtCoder Problems 風の画面がお出迎えです。これ最初にツイートした人は誰なのだろう。

AtCoder Problems (っぽい)

当日、会場入りまで

10時には会場に着ける予定だったのですが、渋谷駅の構造が全く分からず迷いまくりました。結局11時前に到着する運びになりました。

迷い込んだ Google オフィス

階段が「上りゾーン」「ゆずりあいゾーン」「下りゾーン」に分割されていて面白かったです。ポケモンとコラボして真ん中を「バトルゾーン」に改名してみるのはどうでしょう。

動的にサイジングできる便利なゾーン設計

会場入り以降

めちゃくちゃ綺麗なビルが会場です。受付に wata さんがいました。「AHCの問題最高です!!」みたいな感謝を伝えられて、その時点でかなり満足です。

ビルの案内表示は記念になります

田舎者であるため、太い方のペンの使い方が解らず・・

配られるchokudaiさん

余興もかなり面白かった

まとめ

AtCoder Conference 2025 は、プレイヤー・スポンサー企業をつなぐ架け橋てきなイベントであると同時に「AtCoder Japan Open」をより盛り上がるコンテストにするための仕掛けでもあるのだな~と思いました。 スポンサー企業の数は多かったと思いますし、競プロという限られたドメインの中で2トラックをフルで回せるだけのセッションを用意してるのも実際すごいのでは。

  • 来年も行きます!!!!
  • カンファレンス後でもみんな普通に ABC & AHC 参加しまくっててわろた。
  • 帰りの飛行機、欠航しました!!

AtCoder Heuristic Contest 052 (AHC052) 参加記

AtCoder Heuristic の短期コンテスト、AHC052 に参加して48位でした。過去最高順位・パフォーマンスを叩き出すことができてとても嬉しいです・・!

問題

10台のお掃除ロボットを10個のボタンで同時制御して、できるだけ早くすべてのマス目を網羅しよう。仕切りっぽい感じの壁もあるので注意。 atcoder.jp

やったこと

seed=0, score=2498

下のような順を1セットとして行い、色々なパラメータを乱択してプレイアウトしました。

  • 初期配置として、なるべくロボット壁の隅に分散させる
  • 全てのロボットをジグザグに走査させる
  • 残ったマスがある場合、逆向きの操作をして雑にカバーする

「逆向きの操作でカバー」は乱択の幅を広げることでほとんど使われていなかったような気がします。

パラメータ: ロボットの進行方向

例えば、ロボット0を左上に寄せたい場合、 LLLLLUUUUU みたいな操作列を出したくなりますが、 全てのロボットが同じ動きだと四隅に散らばってくれない可能性が高いです。 他のロボットでは RRRRRDDDDD だったり DDDDDLLLLL だったりとなるように移動方向をランダムで設計します。 実際には LURDLURDLURDLURD みたいなコマンド列を作っておいて、最大3回まで右シフトする・・ といった操作をしています。

これは後述するジグザグ走行の向きにおいても同様に機能します。 イメージとしては、ロボットごとに基本となる向きを決めておき、コマンド0なら正面、コマンド1なら右、・・ と移動してもらうような感じになります。 (過去のお掃除ロボット回でそういう操作をするものもありましたね)

ロボットの向きを乱択し、ジグザグ移動を実装するまででスコアは 345,000 程度 出ていました。

パラメータ: ジグザグの幅

ジグザグの幅は当初 N でやっていましたが、これを半分にするとどんな感じになるのか?と雑実験すると思いのほか良い結果が得られました。 ビジュアライザを冷静に見ると、幅Nだと同じマスに対して何回も掃除されてしまっていますが、半分だとそういったマスが減っています。 そんなわけで、ジグザグ移動の幅は 6~25 くらいの間で乱択するようにしました。

うまくいったケースを見ていると、おおむねどれかの壁の長さと幅が一致している感じが見えて面白いです。 短すぎると塗り残しが出て、長すぎるとロボットが壁に引っかかって動かない割合が増えて無駄なので確かに、という感じがしました。

この乱択を加えることによって、スコアは 367,000 程度まで伸びました。

パラメータ: 操作順序

「ロボットを左上に寄せる」という場合でも、 LLLLLUUUU なのか UUUUULLLLL なのかによって結果が変わる場合があります。 隅に寄せたほうが良いケースもあれば、途中の壁に引っかかってくれる方が嬉しいケースもありそうです。 なので、この順番もある程度の多様性が確保できるとよさそうに思いました。

実装としては、まず四隅に寄せる操作ではボタン4~7を使うようにしました。 ロボット毎の動きとしてはボタン0~3と同じ動きをしますが、確率で LU を反転させるようにしました。

この乱択を加えることによって、スコアは 369,000 程度まで伸びました。

時系列のまとめ

15:30

30分間提出ができてないのはまずいと思ったので、すべてをランダムにして提出。77,019 点。

初回提出 \。かなりひどい

16:20

ジグザグ移動が良いのではと気づく。とりあえず全ロボット同じ動きでジグザグに全網羅する感じにして提出。塗り残しをしっかり処理していないのもありスコアはたいして伸びない。 112,961 点。

全ロボット同じ動きでジグザグ実装

16:35

ロボットごとに向きを変える実装を加えて seed=0 では全マス塗れるようになる。一部の際どい4ケースでは塗り残しがあったがスコアが大幅アップ、235,586 点。これでスタートラインに立てた感じか。

ロボット毎に向きが異なるジグザグ実装

16:55

ロボットごとの向きを乱択して時間いっぱいプレイアウト。318,202 点。スコアは伸びているが一部ケースで塗り残しがある状態は変わらず。

乱択プレイアウトを実装 スコア計算もこの時に実装

18:00

一連の操作が終わった後に逆向きの操作を加えるなどの工夫で、全ケースで塗り残しがない状態になる。345,245点。

18:10

ジグザグ移動をする際の幅を N より小さくすると効率が良いことに気付く。362,734 点。

ジグザグ移動の幅を15にしてみると改善

18:45

実装の高速化や乱択の幅を広げるなどをして改善。368,099 点。

地道な改善しかできない時間だがわりと楽しい

18:55

今までボタン 0~3 までしか使っていなかったが、ボタン 4~7 も使う。これでジグザグ開始前の配置がすこし多様になる。369,000点。

seed=0 2498

THIRD プログラミングコンテスト 2025 夏(AtCoder Heuristic Contest 051)参加記

AtCoder Heuristic の長期コンテスト、THIRD プログラミングコンテスト 2025 夏(AtCoder Heuristic Contest 051)に参加しました。 結果は 108 位でした。前半は調子が良く50位付近をキープしていましたが、後半の3連休ではほとんど何もできずこの順位となりました・・

イデア・実装のまとめ

  • ルールベースで貪欲実装をしました。
  • ごみは1種類ずつ順番に処理しました。
  • ごみの種類ごとに、分別器を直列・並列に組み合わせて使いました。
  • 分別器の組み合わせは全探索で事前計算しましたが、山登りでの入れ替えも行いました。

分別器の組み合わせ方と評価

分別器単体でいきなり処理装置に流してしまうと、誤配のリスクが大きすぎます。感覚的には、他のごみを誤配する確率は 5% 程度に抑えたい気持ちでした。 それを達成したい場合、分別器は直列でいくつか繋いでから処理装置に流すのが良さそうでした。

ごみ1種類ごとの部分的なグラフのイメージ

上のような形で処理装置に流すことを考えました。直列で繋ぐと目的のごみを集められる確率も合わせて下がってしまうので、その分は並列にしてカバーします。 3直列・3並列でグラフを作ると、トータルでの性能は下図のようになるはず・・

ごみの識別確率

平均的に「集めたいごみの判別率を 75%、それ以外のごみの判別率が 25%」となるように分岐器を組み合わせできる前提だと、 集めたいごみは 80% 程度で集められていて、「集めたくないごみは 5% 程度の誤配」になっているのが良いところかなあと思っています。 しかし、実際には 25% のほうの達成率が難しく、直列数が3だと「集めたくないごみ」側の確率を抑えられません。実際には直列数4を目標として実装しました。

なお順番を固定していると嬉しいこととして、後半ほど分別器の選択が楽になるというのがありました。 ごみの収集を「ごみA => ごみB => ごみC => ごみD => ごみE」の順に行うとして、ごみB向けの分別器を考える際にはもう「ごみA」の分は無視してよいはずです。この辺も頑張って実装するとスコアが1割くらい良くなりました。

「ごみ1種当たり5直列・5並列」くらいのグラフを構築できれば理想的です。 辺の交差を無視して試算した際には20位くらいを目指せることが分かったので、あとはグラフの構築をなんとかするだけ・・と思ったのですが、そこが鬼門すぎました・・

1ページ目にいる terry_u16 さんは私が実装できなかったものを全て実装し切っており、さらに高い完成度で仕上げており恐ろしいです。 アルゴ・ヒューリスティック要素全部盛りで、もはや芸術の領域・・

グラフの構築

理想的なグラフを構築できず地獄でした。辺の交差判定はナイーブに実施していたので、それが重すぎてどうにもならなかったです。 なんとか実装に持ってこれたものをいくつかご紹介しますが、あまり強くはないです。

方針1: 底にベースラインを引き、左から順にごみ処理分岐を生やす

「左から順番に処理するならこんな感じか」という直感で進めたものです。下図は手書きのイメージです。

seed=0 手で作ったバージョン

黒くて太い線を「ベースライン」と呼ぶことにします。 このベースラインからごみ処理装置につながる分別器の直列回路を生やしていくイメージです。

実装してみるとこんな感じになり、悪くなさそうな感じです。3日目に提出して 50位 くらいでした。 ベースラインは底 or 天井のどちらも試して、よりスコアがよくなった方を提出しています。実装が面倒なのでy座標を上下反転して同じプログラムを動かしてます。

seed=0 実装できたバージョン

方針2: ベースラインの形状を数式で埋め込み、近い順にごみ処理分岐を生やす

方針1の上位互換でしょうか。方針は同じですが、形状に柔軟性を持たせたかったです。 「すべての処理装置から一定の距離を保ちつつ、盤面全体を網羅できるようなパス」をベースラインとして引けるといいのですが、全く実装できず。結果としてはいろいろな図形を埋め込む形になりました。

  • 任意半径の円
  • 外周一周
  • 斜めの線

上記のような形を試して、一番良かったやつを採用です。頂点が多いケースでは試せてない形状もあります・・

感想

今回も難しい&楽しい問題ありがとうございました!!

問題を見た瞬間「死ぬほど難しそう・・」と思いましたが、実際難しかったです・・! この類の問題でも焼きなましが有効とは全く思わずでしたが、今の自分の能力だと焼きなましでもうまくできてなかったのではないかと思いました。 ルールベース貪欲プレイヤーの中ではそこまで悪くない順位ではないか?という気もしており、分別器の使い方に関してはよい閃きもあったのでそこそこ満足しています。

時系列での活動は GitHub のコミットを追えるようにしているので、興味がある方はぜひ見てみてください。 今回は提出するたびにコミットし、順位をログに加える運用をしてみました。相対スコアとかも載せると良いのかも。 github.com

TechRAMEN 2025 Conference という旭川のお祭りに参加しました

2025/07/26(土) に旭川で開催された TechRAMEN 2025 Conference に参加しました。

地域のコミュニティ感と最先端の技術体験が同時にできる、めちゃくちゃ楽しいカンファレンスです。 この記事を見たみなさん、来年は(も)参加しましょう・・!

このカンファレンスの楽しさは文章では伝えにくいので、写真多めのレポートをしてみます。 公式サイトの Vlog もとても良いので観ましょう。

キーノート「灼熱エンジニアリング」

「灼熱」「呪い」「意義」といったキーワードをすえて米内さんのタイムラインを振り返る、最高のキーノートでした・・! 楽しむ気持ちでエンジニアリングをもっとやっていきたい・・!

セッションのメモや感想は↓に書いています(まとまってはいない) scrapbox.io

本が当たりました

灼熱のWebブラウザセキュリティ

米内さんの書籍「Webブラウザセキュリティ」を抽選で頂きました。サイン入りで最高すぎる・・ 本当にありがとうございます!!灼熱のリーディングをやっていく所存です!! (この勢いで Nintendo Switch2 の抽選も当たってくれ!!!!)

技術書最強王決定戦ビブリオバトル

めちゃくちゃ面白い試みです。常設イベントになりませんか?

ビブリオバトルでの熱いプレゼンの様子

チャンプに選ばれた技術書はこちらです。競プロ勢の私もニッコリする気になる内容です。買いました。 imonikike.booth.pm

最近何かのイベントに参加するたびに Booth の本を買ってるみたいなパターンが増えている気がします。

会場入りまで

旭川駅のバス停からバスに乗ります。 PHPカンファレンスや t_wada さんのスタンドが描かれたTシャツの人が集まっており物々しい雰囲気です。

曇りの旭川、26℃くらいで快適

旭川駅からバスで25分くらい走ったところが会場の「旭川リサーチパーク」です。バス停から会場までも6分くらい歩きます。 リサーチパークというだけあって、ソーラーパネル群があったり、謎の石が積み上がっている様子などが見られました。

ソーラーパネル
Nim とかできそう

本日の会場、旭川リサーチセンター 略して ARC です。

ロゴ、目玉焼きなのかどうか気になっています

懇親会

城の形をした寿司屋で立食パーティでした。情報量が多い概要なんですが、楽しかったです! 喋る & 食べる に集中した2時間でして、懇親している雰囲気の写真を全く残せていませんでした・・

めちゃくちゃ食べた(フードロス撲滅貢献)

懇親会では仕事の話、競技プログラミングの話、Rubyの話、はこだて未来大学が暑い話などをしました。競プロの話を無限にしてしまった皆様、誠に申し訳ありません。

来年は富良野で開催らしい

空港でのアクセスは少し悪くなりそう?札幌からは楽に行ける範囲だと思うので、来年もぜひ参加したいと思います。 今年も開催ありがとうございました!


これより下は技術以外のエトセトラ、及び旭川大満喫部分のレポートになります。

交流サロン

会場で食事が提供されており、体験が良すぎました・・

  • ジュンドッグ(おにぎりを円柱側にして、具を洋風にしたもの。旭川ソウルフードらしい)
  • 地元ベーカリーのサンドイッチ
  • 大量の富良野メロン(めちゃくちゃうまい)
  • おやつ
  • コーヒー(豆を挽くところから体験できるセルフ方式。業務用レベルの電動ミルがすごい。グァテマラ大好き)

大量のメロン
ごちそうさまでした!!!
完璧なコーヒーセット

展示コーナーもあり、エンジニアおみくじを引きました。

小吉

短冊コーナーもあります。北海道の七夕は8月なのでまだ間に合っています。

由緒ある神社に奉納されるらしい

旭川家具

かの有名な旭川家具も見学できてしまいます。お得すぎる!

めちゃくちゃいい家具なのでお触り厳禁です

前日及び翌日の活動

猫がいるカフェでパフェを食べました。

パフェが1,000JPYとお安い
カフェのスタッフ(猫) 食欲のおにです

ラーメンを食べました。実は2024年の TechRAMEN ではラーメンを食べずに帰りまして *1、大変申し訳なく思っております。

チャーシューがほぼ角煮なタイプ

ラーメン屋の近くでパフェを食べました。旭川のパフェ、安すぎませんか・・?

このパフェが 800JPY は価格破壊です・・

北鎮記念館を楽しみました。旭川は動物園が有名ですが、博物館の類も充実しているんですよね・・

203高地完全に理解した

*1:厳密にはパスタを食べており、ラーメンの代用として十分などと供述しておりました。