次は何かしらのベンダ資格に挑戦してみたいです。"i486p"]OSSummaryお久しぶりです。現在、「30日OS本」をやっております。先ほど、悩まされたことを記事にしたいと思います。happened?30日OSの14日目、harib11eにて、asmhead.nasを改良しておりました。"i486p"]であることが判明。無事にデバッグを完了したのでした。Reason30日OS本で使用するnaskはnasmを改良して作られたアセンブラです。nask、nasm共に標準で16bit前提の機械語を出力します[1]。"i486p"]が必要となります。[ES:DI+0x28]の前までに宣言が必要となったのです。Finally考えてみれば当たり前の話ですね...。初歩的なミスに時間をかけてしまった...けれどこれで開発を進められます。Bountyを始めました。reportしました。無事triageされたのですが、昨日、友達とお酒を飲んでいたらメールが来てduplicateになりました。Bountyは甘くないですね。概要セキュリティ・キャンプ全国大会では、講義によって事前課題が与えられる。この記事では、私が受講した講義に関する事前課題について備忘録として書きます。私が受講した講義のうち、事前課題が与えられた講義は以下の2つ。事前課題の内容B1B1については、セキュキャン応募の時点で、講義紹介にて事前課題があることが明示されていた。その内容は、「簡単なクラウドネイティブなWebシステムを開発する」というものだった。あって当日のハッカソンでは、講師の方が作成したサンプルアプリケーションを使用した。私個人では、セキュキャンまでに、AWSを用いたストリーミングチャットアプリケーションを途中まで作成していた。B5B5については、SOPやXSSに関するPDFの読み込み、XSSのサンプルを試すといったことを行った。2019の参加記を書いたので、今度は応募課題の回答を書こうと思います(一部簡略化しています)。以下にブログ、Twitter、GitHubのURLを記載します。セキュリティ・キャンプ地方大会などセキュリティに関するイベントに参加していれば、それを記入してください。(思い返せば高校生時代にCTF4bに参加していた。オープンソースなどの活動に参加していれば、どんな実績があるかを記入してください。参加の形態は開発だけには限りません。オープンソース自体の開発について経験無し。「参加の形態は開発だけには限りません。」と問題文にあるので、その部分に注目して回答。Componentsを絡めた回答をした。自分のスキルについて、得意としている、あるいは得意としたい技術領域について、なぜその技術領域が好きなのか、その技術領域でどんな世界を作っていきたいのか、『好きなだけ』語ってください。私は、現在Web開発を行っています。私は今まで、CTFなどを通してセキュリティについて学んできました。私にとってセキュリティは実感が湧き難い分野であり、「果たしてこれで良いのだろうか」と思いつめる日々でした。大学入学後、Web開発を行っている友達と出会い、私もWeb開発を行うようになりました。すると、セキュリティのみを学んでいた頃とは異なった喜びが生まれました。自分がコードを数行書くごとに、自分の書いたコードがWebとして画面で生まれ変わるからです。私はそれが嬉しくて嬉しくて仕方がありません。このレスポンスの速さこそ私が求めていたものなのかもしれません。「書いたコードを一番にWebとして見ることができる」これはWeb開発者ならではの特権です。現在、Webの世界はどんどん広がっています。その証拠に、IPv4は枯渇し、IPv6が生まれました。今後は更にWebの世界が広がるスピードはますます加速するでしょう。果ては、頭で考えたWebを1クリックで構築・公開できる時代が来るかもしれません。私の作ったWebがWebの世界を構築する1つのパーツとして生きている。インターネットが当たり前となった現代において、それを実感できることはとても喜ばしいことです。問3にて、「多くのWebコンポーネント開発を行いたい」と書きました。果ては頭で考えたWebを1クリックで構築・公開できる時代が来るかもしれませんが、その前に、これからはWebコンポーネントを自由に組み合わせ、誰でも簡単にWebを公開できる時代が来るはずです。それも2000年代初頭のようなWebではなく、現在のように見やすく、デザイン性に溢れてレスポンシブなWebです。私はそのために「多くのWebコンポーネント開発を行いたい」と考えています。IPv4が枯渇し、さらにIPv6も枯渇したとき、Web開発者が考えるものはなんでしょうか。私にはその答えがわかりません。そのときにはまたアドレス域が拡張されることでしょうが、私はそんな世界を見てみたく、その問に対する答えを見出したいと考えています。加速的に広がっていくWebの世界。私はそんな世界で生き、Webを豊かにしていきたいのです。あなたが今まで作ってきたソフトウェアにはどのようなものがありますか?また、それらはどんな言語やライブラリを使って作ったのか、どこにこだわって作ったのか、たくさん自慢してください。大学で珈琲同好会を立ち上げたので、それの紹介HPや、インターネットラジオ用の通知ソフトウェア、コマンドラインツイートソフトウェア等について書いた。現在開発中のサービスだったり、その後に作りたいものについても書いた。その後に作りたいものについては、Web開発をしている自分・これまでの特殊な家庭環境を絡め、結構力説した。あなたがこれまで利用したことがあるインターネットサービスの中で一番すごい!と思ったものについて、技術的なのか、仕組み的なのか、ビジネス的なのか、どんなところがすごいと思ったのかを説明してください。私がそのように思ったものは、ストックフォトサービスです。中でも、スマートフォンに特化したストックフォトサービスに感動しました。実際、私は代表的ストックフォトサービスの1つである「Selpy」を利用し、「Selpy」に関する記事をブログに投稿したことがあります。(http://buuuuuuun3939.hatenablog.com/entry/2018/09/26/160159)以前から趣味で写真を撮影していた私ですが、利用当初は「一眼レフで撮影した写真ならまだしもスマートフォンの写真なんて売れるのだろうか」と疑心暗鬼でした。この思いはすぐに打ち消されました。実際に「Selpy」に利用を通し、私の想像よりもはるかに簡単に写真を販売することができたからです。これには本当に驚かされました。この体験は技術的発展とビジネス的発想がなければ生まれなかったと私は考えています。技術的発展とは「スマートフォンの写真撮影技術の向上」、ビジネス的発想とは「スマートフォン1つで写真の撮影から販売までを行う」ことです。近年、急速にスマートフォンの写真撮影技術が向上しています。センサーサイズは一眼レフには及びませんが、中には老舗カメラメーカーであるLeicaのレンズを搭載したモデルや、高性能な画像処理機能を提供するチップを積んだモデルもあります。これらにより、スマートフォンでも高品質な写真を撮影することができ、それらを商業利用することが可能になりました。これにストックフォトサービスが組み合わさり、スマートフォン1つで写真の撮影から販売までを行うことが可能になりました。昔は写真といえばプロが販売するというイメージが強かったですが、現在ではアマチュア・初心者でさえ簡単に販売することが可能となり、その気になればスマートフォンさえあれば誰でも写真家になることができます。これぞ、写真における革命だと私は思います。今年のセキュリティ・キャンプ全国大会で受講したいと思っている講義は何ですか?そこで、どのようなことを学びたいですか?なぜそれを学びたいのですか?講義を担当する講師に響くようにアピールしてください(複数可)。私にとってセキュリティ・キャンプ全国大会の講義はどれも魅力的です。全ての講義を受講することは不可能ですが、特に3日目はE4「クラウド・ホスティングサービスのセキュリティと運用技術の研究」、B5「体系的に学ぶモダンWebセキュリティ」を。4日目はC6「事例と法律」、A7「Pythonによるマルウェア検出の自動化」を受講したいです。E4「クラウド・ホスティングサービスのセキュリティと運用技術の研究」は、今回の選択問題の問5で問われている内容が取り上げられています。Servicesなどのクラウドサービスを本格的に利用したことがありません。コンテナ技術に関しても、Dockerを簡単に使用したのみです。クラウドサービスやコンテナ技術についての知識が圧倒的に欠けており、多くの時間を調べることに費やしました。完璧な回答はできずとも、私なりの回答を行うことができましたが、まだまだ分からないことばかりです。オーケストレータとそれに関するセキュリティについて興味がありますが、この講義を通してコンテナ関連技術のセキュリティについて知識を深めたいと考えています。B5「体系的に学ぶモダンWebセキュリティ」では、モダンなセキュリティ機構を学ぶとのことですが、そのなかで私が特に惹かれた内容が「CSSを用いた攻撃」です。私はWeb開発を行うなかで、もちろん多数のCSSを用意します。Webを本格的に書き始めたころ、友人から「まだそんな書き方してるの?今は違う書き方で書くよ。」と言われたことがありました。その時私はCSS3までに廃止されている機能をいくつも使用してしまっていました。その後、友人のアドバイスを受けて、CSSを書き直しました。私が書いているCSSは独学のため、不完全な部分も多々あります。この講義で、実際にどのような手順でCSSが利用され、最新のモダンなWebとは何なのかを学びたいと考えています。C6「事例と法律」では、事例を的確に解釈し、法律を適用する方法を学びたいと考えています。私は現在、大学の講義にて法律を一部学んでおります。その講義のみではセキュリティに関する法律について詳しく学ぶことはできません。セキュリティに関わって生きていく以上、法律について学ぶ必要があると私は考えます。日本で近年問題となった「Coinhive事件」では、神奈川県警による捜査が問題視されました。それにより、予定されていたセキュリティの勉強会が中止になるなど、セキュリティ技術者が活動を自粛するという結果になりました。確かに攻撃と防御は表裏一体です。技術者の学ぶ機会が奪われてしまうことは非常に悲しく、この国のIT産業の発展のためになりません。今後、セキュリティの勉強を続けていくためにも、この講義を受講したいと考えています。A7「Pythonによるマルウェア検出の自動化」では、機械学習を使ったマルウェア検知について学ぶことができます。マルウェア検知にはパターンマッチング法やビヘイビア法などの検知方法がありますが、近年、難読化が進み、マルウェアの検知は難しくなってきています。私は検知方法について少しだけ知識は持っていますが、異なる検知方法でどれだけの差が出るのかを体験したことがありません。機械学習を使ったマルウェア検知では、機械学習の量や質によって検出が左右されることが予想されます。これからはそういった検知方法がますます主流になっていくと考えられますが、セキュリティ・キャンプ終了後に自分のWebサービスに実装するためにも、機械学習を使ったマルウェア検知の具体的手法とその課題について深く学びたいです。(しかしながら、実際にはE4、B5、A6、A7を受講した...。「1000万人が利用するTwitterのようなタイムラインサービス」をあなたが開発することになったとしたら、予算はあるとして、どんなアーキテクチャで設計しますか?具体的に利用するミドルウェアやライブラリまで思い浮かぶ人はそこまで踏み込んで書いてください。想定するプラットフォームはパソコン・スマートフォン・タブレットの3種類を主に想定します。ブラウザでの利用はもちろん、各プラットフォームに適したアプリケーションが必要であり、それらの開発も行います。そのようなタイムラインサービスに必要な機能として、大きく分けると「ログイン機能」「投稿をPostする機能」「投稿を見る機能」が必要になります。2.0やOpenIDを用いります。「投稿をPostする機能」「投稿を見る機能」については、投稿を公開する範囲を適切にユーザが設定できるようにしたいです。Twitterでは興味のない情報が流れてくることが多々あります。これは例えるならば、Twitter内ではどのユーザも国の区別が存在しないTwitterという星で生活しているからです。対して、Mastodonというタイムラインサービスでは、インスタンスという単位でMastodonという星を区切って国を作り、その国のなかでユーザは生活しています。ユーザはその国(インスタンス)を超えて他の国(インスタンス)のユーザと情報を共有することも可能です。両サービスを比較すると、ユーザが属している単位が違うため、流れてくる情報も変化します。Mastodon内をMastodonという星とインスタンスという国に例えましたが、私が開発するならば「もう少し情報共有の幅を階層化」したいと考えます。することでユーザが得られる情報の広さと情報の濃さに、更に柔軟性を持たせることができると考えます。話は変わりますが、タイムラインサービスのユーザー数1000万人という数は非常に大きく、このようなサービスは災害等の非常時には災害伝言板のような役割も持ちます。実際、2011年に発生した東日本大震災や2016年に発生した熊本地震の際にはTwitter等のタイムラインサービスが様々な形で有効活用されてきました。した場合にはデマも広がりやすく、熊本地震の際には「動物園からライオンが脱走した」といったデマも拡散されてしまいました。ユーザが混乱に陥っていると、そうしたデマも拡散されてしまい、さらに混乱を招いてしまいます。それを防ぐ為に、ユーザの反応から投稿のデマを発見し、ユーザが情報を共有する際は「デマではないかという警告」を行う機能がなどで必要だと考えます。セキュリティ観点・非常時観点から、サーバを1カ所に全て設置することはよろしくありません。サーバは分散して設置するべきであり、また、ロードバランサや自家発電装置などを有効活用する必要があります。クラウド上のインフラやサービスや技術的仕様から、1人目の社内のシステムおよびセキュリティ担当として、どのように組織的な設計をしていくか自由に書いてください。組織的にスケールする構成やフレームワーク、優先順位などを検討したうえで、なぜそういう設計にしたかを自分なりの言葉で説明してください。Services)を用いることにします。「1人目の社内システムおよびセキュリティ担当」ということで、これから大きく成長していくシステムだと考えられます。Manager(SSL/TLS証明書用)を使用します。Auroraを選択しています。これは、MySQLとPostgreSQLに互換性があり、ストレージシステムが分散型であるからです。Multi-AZ構成にすることで、異なるアベイラビリティゾーンにレプリケーション可能であることは、大きなメリットです。Gatewayを通じて直接公開することが無くなるということが言えます。EC2は異なるサブネットに複数用意することで、冗長性の確保を行います。GuardDuty(脅威検出)を使用し、キャッシュの利用による高速化やWebサーバの保護を行います。ElastiCache(キャッシュのデプロイ・運用・スケーリング)・Fluentd(ログ収集用)を使用し、急激な負荷やセッション管理に対する対策を行います。QuickSight(データの可視化)を使用し、高速にデプロイ可能な環境と集積したデータの有効利用を可能にします。私がこのような設計にした理由として、安全性をいち早く確保するという目的があります。そこで、最小構成の後、安全性を確保しています。先述したようにRDBはMulti-AZ構成にすることにより、冗長性を確保しています。データセンターが被災するという可能性は低いと考えられますが、万一に備えた構成をすることが大切だと私は考えています。何か、自分の言葉で説明してください。攻撃に対してどんな対策を取るかを、できるだけ多くの視点から考え、思いついたことを教えてください。各種XSSを他のものに例えて説明した。XSS防止のための適切なフォームについて考察したり、XSSフィルタやCSPを用いる理由を書いた。OpenIDやOAuthといった技術を使ったアプリケーションのメリットとデメリットについて回答してください。FacebookやTwitterなどのソーシャルログインを実装したことがある場合には、その環境(ライブラリやフレームワーク、開発言語など)と開発してみて感じたことを自由に回答してください。メリットとして「簡単に様々なAPIを利用できる」「クライアントは自身のクレデンシャルとユーザのトークンのみを管理すればよく、仮にクライアントのいずれかから情報が洩れても、リソース所有者のクレデンシャルが外部に知られない」「ユーザが1つのアカウントで複数のサービスを使える」といったものがあります。従来のアプリケーションと比べて、「大きな情報拡散能力を持つ」と言えます。スマートフォン向けのゲームを開発したとして、ステージクリアした際にスコアをそのままSNSで投稿できるようにすると、ユーザにそれほど手間をかけさせることなく世の中に情報を拡散することが可能となります。デメリットとしては、認可サーバやリソース側について「仕組みが複雑になる・更にセキュリティの責任を負う・攻撃が集中する」といったものがあります。仮に利用中のどれか1つのサービスのアカウント情報が流出した場合に、パスワードリスト攻撃によって短時間で複数のサービスで情報が流出することが懸念されます。Password)を用いたり、指紋などのバイオメトリクス認証を用いて強固な認証を行う必要があります。共通問題で既に書かせて頂きましたが、Python3を用いたアプリケーションの一部でTwitterのログイン/ダイレクトメッセージへのPOST機能を実装したことがあります。その際、ライブラリはrequests_oauthlibを用いりました。2.0に対応するソーシャルログイン実装とは少し異なりますが、比較的簡単に実装ができたと感じました。仮にこのクライアントが悪意のあるクライアントだった場合は脆弱なのではないかと考えました。コンテナや関連技術を使って今からクラウドやホスティング、マネージドサービスを作る場合にどういう設計にするかを自由に書いてください。設計の際には大規模にスケールすることとセキュリティをどう担保するかを検討の上、自分らしい創意工夫をひとつ以上明示してください。多数の国に分散させた複数のリージョンを用意し、各リージョンにはIP-VPNなどを用いた相互アクセス可能な複数のデータセンターを設置します。Cloud)を用いてユーザごとに分離したネットワークを構築します。VPCの中には必要に応じてパブリックなサブネットとプライベートなサブネット構築します。これにより、公開・非公開する情報を分けることができます。各サブネット内にはコンテナを用いてデータベースサーバやWebサーバ機能などを構築することでき、ユーザは必要に応じて機能を縮小・拡張可能です。Gatewayを通じてアクセスします。Gatewayを使用します。Gatewayを通じてアクセスします。Gateway)を通じてアクセスします。従来であれば、ストレージサービス、サーバ機能提供サービスといった具合に機能ごとにサービスを分ける必要がありました。このような形であれば、マイクロサービスアーキテクチャの考えを基に、クラウドサービスという大きな枠組みの中に複数のサービスを存在させることができます。これらのサービスではユーザから大量のデータを預かることになります。サービスの性質上、特に重視すべきことは可用性と安全性だと考えます。日本では毎年多くの地震などの自然災害が起き、その被害を受けた場合、サービスが利用できない期間が長期間に及ぶことが予想されます。そのため、多数の国にリージョンを分散させることが必要となります。分散ファイルシステムを用いて、リージョン間でファイルを分散させることで、高い安全性が得られます。一般的にデータセンターは地上に設置しますが、私はそのいくつかを人工衛星内に設置したいと考えます。人工衛星内にデータセンターを設置するメリットとして、人工衛星で得られる情報を瞬時にバックアップし、人工衛星局を通してそのままユーザに提供することが可能になります。地球などの惑星で起きた災害の影響を受ける確率は低く、地上に存在するデータセンターが使用困難になった場合でも使用可能です。このように多数のメリットがありますが、私は人工衛星で得られるデータをそのままユーザに提供するだけでなく、「データマート・データウェアハウスとして提供する」ことも創意工夫として視野に入れています。種類があり、それぞれのデータには様々な活用方法を見出すことが可能です。気象衛星で得た気象データを基に、「小売店で販売する商品の入荷量を制御する」ことや、測位衛星で得たGPSデータを基に「道路渋滞を回避する」ことが可能です。クラウドやホスティング、マネージドサービスを作るのではなく、人工衛星から得られるデータ提供を組み合わせることで、「顧客にとってより価値あるサービスが生まれる」と私は信じます。(キャンプ応募の時期に、丁度大学の講義にて無線局について学んでいたので、人工衛星局を織り交ぜたら面白いのでは?と思ったのが始まり。応募課題を書いている途中で調べたところ、海外ベンチャーが既に構想していた[1]。UNIXのpingやtraceroute、dig、vim、emacsといったコマンドの利用経験があれば、それをどのようなときにどのように使ったか、使ってどのように考えたかを教えてください。DNSサーバやルータの設定経験があれば、どのような理由で設定したか、どのように設定したか、設定してどのように考えたかを教えてください。vimを多少使った経験、スループットについて、CISCOルータの設定経験について書いた。「セキュリティ」は幅広い分野から成り立っていますが、その中で自分がもっとも興味があるテーマについて、『好きなだけ』書いてください。私がセキュリティで最も興味があるテーマは「Webセキュリティ」です。セキュリティの中のWebセキュリティとはいえ、非常に幅広く、奥深い分野であり、今後も急速に発達し続けると考えられます。それは、Webセキュリティの歴史はインターネットの歴史といっても過言ではないからです。古典的なセキュリティといえばソーシャルエンジニアリングですが、Webセキュリティはインターネットが無ければ生まれませんでした。インターネットの先駆けとなるARPANETが生まれて約50年が経ちますが、インターネットの成長とともにWebセキュリティは成長し、Web開発者とクラッカーの戦いが繰り広げられてきました。私がなぜ「Webセキュリティ」に興味があるのかと申しますと、私が現在Webサービスを開発しており、そのなかでWebセキュリティ対策を講じる必要があるからです。過去、静的なWebサイトや、私個人のみが使うためのWebサービスはいくつか開発してきました。動的なWebサイトを用いた一般に公開するWebサービスを開発したことがありません。今までの開発と勝手が違う部分も多々あり、試行錯誤の開発を行っています。昔、ある方から「セキュリティと攻撃は表裏一体」と言われたことがありますが、開発していくなかで「まさにそうだと」実感しています。当時私はゲームに夢中で、同サービスを利用しており、被害に合いました。私が「Webセキュリティ」について意識するようになったのはこの事件がきっかけです。その後、そのような被害に合うことはありませんでしたが、「自分のWebサービスでああいった被害を起こさないためにはどうしたら良いのだろう」という考えの結論には至っていません。私はこの世でいつでも完璧なセキュリティは存在しないと考えています。仮に「今、最強のセキュリティ」と言われているものがあったとしても、「数年後には破られてしまう」と考えられるからです。Instituteが「SHA-1の衝突に成功した」と発表しました。ハッシュ値の計算は非常に膨大ですが、計算機の計算能力向上は凄まじく、将来的にはクラスタを用いらずとも、既存のハッシュ関数は無意味になるでしょう。今後、Web開発者とクラッカーの戦いはますます激しくなることでしょう。Web開発者はモダンなWebを追い続け、クラッカーはそのモダンをレガシーへと変えていく。この戦いに終わりはあるのでしょうか。私の大学の友達に、セキュリティ・キャンプ全国大会を卒業して脆弱性報告を行っている友達や、個人で案件を取ってきてWebサービスの開発を行っている友達がいます。私はまだ知識・技術ともに彼らには敵いません。「ある程度Webセキュリティに触ったことがある」と言いましても表面的でしかなく、「本質的に触った」とはとても言えません。未熟な自分を脱却する一歩として、このセキュリティ・キャンプ全国大会2019に参加したいです。Webセキュリティは常にモダンを追いかける必要がある分野であり、移り変わりの激しい分野です。私はまだ学生ですが、将来的にはWeb開発者として、その移り変わりの激しい分野の中で生きていきたいと考えています。まとめ全体的に調べながらの回答となりましたが(特にAWSの部分)、ある意味独創的な回答ができたと思います。キャンプ修了後に読み直すと、「何言ってんだお前」という部分が多々あり、もう少し技術寄りな回答ができるようになりたい。実際の文章量としては、回答だけで15,000文字程度でした。応募課題Tweet広告を非表示にするもっと読むコメントを書く2019-08-21セキュリティ・キャンプ全国大会2019に参加してきた。その他セキュリティ・キャンプとは「セキュリティ・キャンプ」は、学生に対して情報セキュリティに関する高度な技術教育を実施し、次代を担う情報セキュリティ人材を発掘・育成する事業です。2004年に開始され、現在は全国大会を首都圏で毎年1回、2013年に開始された地方大会を毎年各地で10回程度開催しています。とも、参加するには応募課題を提出し、書類審査に通過する必要があります。[1]全国大会参加者には、地方大会であるミニキャンプ経験者も多くおりましたが、私は参加しておりません。応募課題について応募課題については別の記事に書きたいと思います。書いたらリンク貼ります。追記、8/26日に書きました。buuuuuuun3939.hatenablog.com参加したコースについて私はBコース(開発と運用トラック)に参加しました。私自身、Webに興味を持って開発をしているので、こちらのコースを選択しました。今年のプログラムはこちら。こちらについても別の記事に書きたいと思います。追記、8/31日に書きました。buuuuuuun3939.hatenablog.comDay0人によっては前泊する為(遠方からの参加等)、Day0(前日)から参加の方もいるようでした。私は都内在住なので、Day1からの参加です。BeatlesのHelp!を聴いたりしながら不安と格闘した1日でした。北府中が魔界村に思えてきた。2019年8月12日Day1初日です。会場であるクロス・ウェーブ府中に12:00~12:30に集合です。不安と不眠もあって具合が悪かったです。マップ先生にお世話になったのですが、クロス・ウェーブ府中の隣に建っている建物を会場だと勘違いしてしまいました。入口の警備員さんに場所を尋ねたところ、「来たばかりで分からない」という返答。入口で受付した後、まずは昼食。セキュリティ・キャンプはご飯が美味しいです。昼食と夕食は2,3種類から選べるのも嬉しかったですね。昼食後、開会式と全体講義が行われました。全体講義では、倫理に関する講義やセキュリティ基礎、コミュニティ活動に関する講義を受けました。私はIT系のコミュニティに属していないので、コミュニティ活動に関する講義は特に新鮮味がありました。夕食の後、交流の為のデザートタイム。デザートタイムは立食パーティーみたいな感じでした。初日からもっと交換するべきでした。その後はLT大会とグループワーク。LT大会では、チューターや講師の方々の発表を見ることができます。大部屋で一度に複数のLTが行われるので、好きな発表を見ることができます。グループワークはキャンプ5日間を通して行われるプログラムで、今年度はキャンプ終了後に取り組むことを見つけることが目的でした。やりたいことが共通している人達でグループを組み、具体的な内容を詰めていきました。私はWeb開発をやりたかったので、Web開発したい人達とグループを組みました。参加者一人一人に個室が割り当てられます。ベッドはこんなかんじ。枕元に時計とラジオが埋め込まれていました。私はラジオを聴くことが多いので、ラジオがあるのは地味に嬉しかったですね。寝る前にちょっと聴いたり。ちなみに、キャンプでは毎日、水とスポーツドリンクが配布されます。食事ではパックジュースも。講義中も自由に飲んでいるのですが、日に日に部屋の冷蔵庫に貯まっていきます(笑)私はキャリーケースに何本か入れて帰ってきました。Day2選択コースの私は、この日は専門講義です。朝食はキャンプ中、ビュッフェです。朝はパン派なのでフレンチトーストやミニクロワッサンをメインに食べてました。クロス・ウェーブ府中のミニクロワッサンはめっちゃ美味しいので来年も同会場であれば、参加者の方には一度食べて頂きたい。午前は座学、午後はハッカソン形式で「クラウド時代における大規模分散Webシステムの信頼性制御」について学びました。座学では最初にSREについて学んだのですが、直近の信頼性を重要視して変更をデプロイできなくなった結果、運用の負荷が大きくなるというのは、日本企業による開発運用では多いのではないかと思いました。確かに信頼性は重要ですが、100%というのはまず難しいですし、「一時的な信頼性低下を許容してSLOを過剰達成しない」ことはなるほどと思いました。することでデプロイする頻度(速度)が最大化するわけですね。個人的にはDevOpsとSREの区別をまだ明確にできていないので、そこを詰めていきたいです。両者に共通する部分が多いですし。炭水化物+炭水化物という組み合わせが度々存在するので、小食な方は回避すると良いかも。午後のハッカソンでは、Twitterのようなタイムラインアプリケーションのサンプルをグループごとに改良・実装していきました。大規模なユーザ数を想定し、どのように適切な情報取得を行うかなどといったことを議論しながら進め、最終的に発表しました。想像以上にハッカソンが難しい。いうわけで夕食をさっさと切り上げて開発に戻りました。私はほとんど実装に貢献できなかったので、自らのコーディング力の無さを思い知りました。コーディング力が欲しい。他トラックの教室に行って交流することができます。話しているとあっという間に時間が過ぎてしまうので、教室解放の時間はもう少し欲しかったですね。Day3例年この日くらいから寝坊する方が増えるらしい。ちなみに寝坊すると看護師が飛んでくるらしい。朝のホットティーは美味い。」、午後はB5「体系的に学ぶモダンWebセキュリティ」を受講しました。