Seccamp'22 参加記 お気持ち編

itoooakと申します。初めまして。 自己紹介は別の記事として書くつもりです。

概要

セキュリティ・キャンプ全国大会2022 オンライン(以下Seccamp)に参加する機会を頂いた。応募前から期間終了後までの記録を私が感じたこと中心に公開する。

私はY3: 故障を乗り越えて動くシステムのための分散合意ゼミに参加した。

意図

技術力に自信のない人でも興味とやる気があるなら応募してみるといいかも?という考えを持つ人が増えてほしいという意図がある。私自身、こういうイベントは既に素晴らしい結果を残している人だけが参加しているものであり、自分は応募に値しないと誤解していた。

また、期間を通しての到達点は人によって様々であり、課題を残したまま終える人もいて(こちらが多数派である気がする)、そういう人にとっても充実したイベントであることが伝わればよいと思っている。

おことわり

  • 技術的な話はない。私自身が期間中に感じたことを書く。
    • 専門講義の詳しい内容については、知識を整理し実装を進めてから書くつもり
  • 期間最終日の夜に書いているので疲れと眠気から雑になっていそう
  • 不正確であったり誤っている記述があるかも

    • 見つけたら教えていただけるとありがたい
  • 気分が悪くなったらすぐに服用を中止してください

    • 多くの人に不快に感じる表現がみられるようならこれも教えていただきたい

Y3: 分散合意ゼミの概要

分散システムにおいて主要な課題である分散合意について、Raftというアルゴリズムの一部をGo言語で実装しながら理解することを目標とする。Leader ElectionとLog Replicationとよばれるステップについて実装することを目指し、私自身は前者の実装は(多分)できたが後者の実装は間に合わなかった。

Raftについての説明は

raft.github.io

を見てみるとよさそう。どうやって動くかを視覚化してくれている。

まだ勉強中なのでこの記事で詳細な説明はしない。

参加記

応募前

  • 応募期間にSeccampが猛烈に宣伝されているのを見て応募を決断した。それまでは自分が要求されるであろうレベルに達していないと思っていたため、本年度のSeccampに応募することを全く考えていなかった。
    • 自分が選考を通過するかどうか、通過した場合に講義についていけるかどうかといった点に全く自信がなかった。応募課題を解くだけでも十分勉強になると思ったので、とりあえずやってみることにした。
  • 3つのゼミに関して課題を提出するつもりだったが、大学生活との両立が難しかったためY3ゼミの課題のみに注力した。やる気が伝わるように頑張って書いた。

選考結果発表直後

  • 選考を通過できるとは思っていなかったため、ずっと驚いていた。
    • 実際、応募課題を解きながら「来年頑張ろう」と言っていた。
  • "#seccamp"でTwitter上を検索すると出てくる他の参加者にビビり散らかしていた。せっかく機会を得られたので、卑下することに時間を使わず楽しみながら色々と吸収していこうという考えになった。

6/10

  • この参加記をつけ始める。これ以前の記録は6/10以降に振り返って書いたもの。

7/8

  • 事前講義が始まったので、また思い出して記録をつけ始める。
  • 要求される知識を自学している期間。全く触ったことのないGo言語とDockerを勉強し始めた。
  • Cコンパイラゼミをのぞいてみたりしていた。

7/22

  • 3回の事前講義が一通り終わり、いよいよゼミへ意識が向き始める。
  • 大学の期末があり、Seccamp関係にあまり時間と気力を割くことができなかった。

8/4

  • 大学の授業がひと段落した。専門講義が近づいてそわそわしていた。

8/8

  • 本期間が始まる。二度寝したが午後からなのでセーフ。生活習慣は整えておくべきだった。
  • LTを見てもう一度ビビる。それぞれのLTについて色々メモを取っていた。発表できる自信と内容を手に入れようと思った。
  • 人とつながる大切さを説かれた。受講生同士の交流の機会を頑張って作ろうとしてくれているのを感じつつ、自分はコミュ障を発揮していた。積極性をもって参加するべきだった。

8/9

  • 専門の講義が始まる。起床には成功。デッドロックなどにはまり続ける。助けに頼りながらコードを書いていた。
  • 分からない部分の質問は早くするべきだったと感じた。ただ、本当に詰まっているときは分からない部分が分からないという話はあるが...

8/10

  • 専門講義2日目。時間はかかったがLeader Electionが実装できた。
  • 企業のお話を聞く機会があり、LayerX社のPrivacyTech事業が面白そうだと感じた。プライバシーの話を技術と絡めて考えたことがなかったので新鮮だった。
  • 実装が終わらないのではないかと思い始める。完成しないのではないかという不安が頭をよぎる(完成を目標にはしていないと講師に言われていたが)。

8/11

  • 専門講義最終日。結局目標通りにはいかず実装できていない部分を残してしまった。幸いなことに理論に関する理解はある程度できていた(と自分では思っている)ので、悲観的な考えに陥らずにすんだ。
  • 専門講義が終わってみて、改めて充実したイベントであると感じた。直接的・間接的問わず関わってくださった方々に感謝。

8/12

  • 期間最終日。他の参加者の発表を聞いていた。
    • 当たり前のことではあるが、期間中にやったことやその成果は人によって様々であることを実感した。

感想

  • 専門講義の内容は難しかったが、期待していたふるまいをしたときにはとても達成感があった。
  • 期間中に専門講義に限らず興味深い話をたくさん聞けたのもよかった。やりたいことが色々増えたので、これからの動機にしていきたい。
  • 貴重な機会を頂けたことに感謝。この経験を還元したいとぼんやり思った。