2019に参加しました。ミニキャンプの概要を共有することとミニキャンプ中に学んだことを私なりにまとめて共有することです。なんとか公開できてよかったです。セキュリティ・ミニキャンプとはIPAによると以下のように書かれています。全国における情報セキュリティ人材の早期発掘と育成を目的に、各地で専門講義を実施しています。全国大会と比較して、期間が1日程度と短いことから「ミニキャンプ」とも称しています。対象は25歳以下の学生で、参加するには、応募課題を提出し、合格する必要があります。内容は一般的な講義と比較して濃かったです。以下のリンクを参照してください。あるMC言語を実装する講座でした。バックエンドにLLVMを利用しています。最適化まで行われた実行形式のバイナリを入手することができます。本講義では実装した部分の解説と実装を行いました。発展課題はノーヒントでした。TakahashiさんのGitHubで公開されています。以下にリンクを置いておくので興味があれば参照してください。演算子の追加実装<=や>=といった演算子等を追加で実装しました。Enumはかなり便利だった。演算子の優先度を規定する必要があります。C++では以下のように演算子の優先度が規定されています。valueを優先度として定義していました。>ではこれらの演算子の優先度を格納出来ませんでした。2文字以上の演算子も定義することが出来ました。制作過程はこちらのPullRequestを参照してください。三項演算子?を実装しました。三項演算子を実装できました!左側がmc言語で書いた再帰版gcdのコードです。277が正しく計算できているのが分かると思います。他に追加すると面白い機能ってなんだろうか。expression2です。falseならexpression2が評価されます。解析時にどのようにすればASTを構築できるかを考えるのに苦労しました。抜粋してコメントしていきます。OSS組織と協力して3ヶ月間続けるプロジェクトです。Takahashiさんは積極性と英語力があれば行けるでしょうと仰っていました。2019チューターの方が「UNIXに初めて触れるならこの本がおすすめ」と仰っていました。printfputsはprintfよりも速い。2019putsはprintfよりも速いようです。何度も出力する際はputsを使用した方が良いと思います。C++における正規表現C++11における正規表現はstd::regex_match()が使用できる。https://t.co/yPR5YtfG1nこれも知らなかった。2019参加者の中でパターンマッチを利用している方がいらっしゃいました*2。実際にあることを確認していなかったためいい機会になりました。QEMU*3上で動かす講座でした。UEFIは以下のように説明されています。UEFIとは、一言で言うと「最近のPCやサーバーに入っている、新しくて高機能なファームウェア(及びそのインターフェースの仕様)」です。起動するアプリを作ろう」のことだと解釈しています。IIを用いて行いました。EDKIIは以下のように説明されています。いう役割も持っており、超高機能です。アプリを作るという目的のためには複雑すぎてとっつきにくい印象があります。慣れておけば後々困ることもないと思います。講座前に行ったこといくつかの機能を実装しました。具体的に実装した機能は以下の通りです。IIを用いてUEFIアプリケーションを作成しました。アプリケーションを作るを参考に作成しました。アプリケーションのメモリマップをファイルに保存する(事前課題)ここでやるべきことは2つです。2つ目はファイルにその情報を保存することです。EFI_BOOT_SERVICE.GetMemoryMap()を用います。アプリケーションのメモリをマッピングしたものを読み取ることが出来ます。Servicesを参照してください。EFI_FILE_PROTOCOLおよびそれに関連するメソッドを利用します。Protocolを参照してください。2を参考にして実装しました。2を参考にI/Oを実装しました。ポインタとアドレスの理解が深まったことだと考えています。今回のミニキャンプを経て更に理解が深まりました。Cのコードをアセンブリに変換して考える部分が最もしっくりきた部分でした。おわりに以上が参加記録になります。参加者が主体となって構成されているイベントだと強く感じました。基本的に主体はイベントを開催している側でした。それを講師やチューターの方が一緒に解決してくださるという内容だったと記憶しています。ミニキャンプは参加者が中心となって何かができるイベントと言えるのではないでしょうか?このミニキャンプは他の場所でも開催されています。2019に参加しました。»プロフィールid:task4233書きたいことを書いていきます。(1)はてなブログをはじめよう!task4233さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。