苦しんだのでメモ。 TL;DL c-basic-offsetの設定も試してみるとよい。 経緯 最近Emacsを使い始めようといろいろ環境構築している。 TAB入力で半角スペース4文字幅でインデントをいい感じにしたい、tab-widthを4に設定してもきかない。 結論として次のようにi…
AWS SAAの勉強をしています。 AWS CloudFormationについてわからなかったので調べたことをメモ 概要 AWSでインフラを構成する場合は、EC2を作って、AutoScalingグループを構成してELBをアタッチして……のように、AWS マネジメントコンソール?上でどのような…
SAAの勉強をしています。 AWS Directory Serviceについて調べたのでメモ aws.amazon.com 概要 MicrosoftのActive Directory Domain Service(AD DS)の仕組みをAWSで利用できるようにしたもの。 AD DSは、オンプレミスで動作するディレクトリサービスのこと…
AWS SAAの勉強をしています。 Amazon DynamoDBについて調べたことをメモ。 aws.amazon.com Amazon DynamoDBの概要 フルマネージド、サーバーレスのkey-value NoSQLデータベース。 NoSQLなので、SQLは使えない。セッションデータやユーザデータの保存に向いて…
AWS SAAの勉強をしています。 問題を解いていると、Amazon Kinesis Data StreamsとAmazon Kinesis Data Firehoseがよく出てくるのでメモ。 Amazon Kinesis とは? クリックデータのような大量のデータのストリーミングをうまいこと処理するためのサービスっ…
AWS SAAの勉強をしています。 AppSyncがよくわからなかったので調べたことメモ。 AppSyncとは? まずはAWS公式の概要を見てみます。 サーバーレスな GraphQL と Pub/Sub API を使用してアプリケーション開発を加速する AWS AppSync は、サーバーレスの Graph…
2022年の振り返りをします。 作ったもの、触ったもの コンピュータシステムの理論と実装をやった。HDLから初めて、NANDの組み合わせでCPUを作り、アセンブラ、仮想マシン、コンパイラを作っていくというもの。とりあえず動くコンパイラっぽいものができて非…
コンピュータシステムの理論と実装を続けてます。 今はJack言語のコンパイルを作成中で、構文解析を組んでいるところ。 ATSを作らずに、解析したすぐ側から構造をXMLに出力してたんだけど、それだと先読みが必要なノードでうまくいかないとわかって調整中。 …
昨日、A Tour of Goを少しみてみた。 パラパラとめくりながらfor文あたりまで読んでみたけど、なかなか良いと思った。コンパイル言語っぽいし、身につけるのもありかな。 個人的に良いなと思った部分。 ・型宣言 識別子、型の順番に定義するところ。たしかに…
昨日はVMのStaticsTestを通すことができた。 StaticsTestはStaticセグメントへのリードライトのテストで、staticセグメントのスコープがちゃんと処理できているか?のテストだと思う。 初め、処理が全部終了しても、staticセグメントからスタックにとってき…
昨日はプロジェクト8のFibonacciFunctionのテストが通った。2日くらいかかってしまった。 VMのeq、lt、gt命令の実装がバグってて、正しいアセンブラをはけてなかった。 次はstatic変数を使うテストみたい。何も考えずにテスト通してみたら通らなかった。また…
少し前に悩んでました。 ファイル終端まで読み切るとeofフラグが立ってしまうから、そのままだとシークできないみたいです。 一旦ifstream::clear()をしてフラグを落としてやればシークできるようになりました。 どうもファイル終端まで一度読んでしまうと、…
Makefileを書く上での個人的なメモ書きをしておきます。だんだん書いていきます。 以下の例では、空白をスペースで書いていますが、 Makefileはスペースではなくtab文字でないとかけないはずなので、 コピペしたい人は気をつけてください。 (写経するか、コ…
低レイヤを知りたい人のためのCコンパイラ作成入門をまたぼちぼちやっていました。 github.com 前回から結構色々実装しました。 関数呼び出し 関数定義(6引数まで) *演算子と&演算子 変数宣言 ポインタの計算 sizeof演算子 配列 []演算子 難しかったところ…
今週末は久しぶりに低レイヤを知りたい人のためのCコンパイラ作成入門をやっていました。 定期的に挑戦しては挫折してを繰り返していたんですが、約半年ぶり?に触れました。前回のコミットを見たら1月とかになっていてひえ~と。 今週末にやったのは、以下…
たまーに発生してそのたびに「なんで検出されないんだ?」と悩んでいるので、忘れないように書いておきます。 環境 メモなので雑ですが… 使っているのはSurfae Book2 Surface Dockを使ってテレビをサブディスプレイとして使用 たまにサブディスプレイが検出…
探索!となるとBFSよりDFS採用しようかなと思いがち。 解説ACです。 問題 atcoder.jp 考えたこと はじまりの街からの距離をそれぞれ調べていって、距離1の街の個数 * 距離2の街の個数 *......でいいかなと思ったけど、途中から枝に入っていってどん詰まり…
imos法みたいなことをやる。みたいなっていうかそのもの? 問題 atcoder.jp 考えたこと 全部の色の絵の具について購入してもいい人の人数を入れる箱を用意しておく。クエリで与えられる「購入してもいい色の範囲」について、その箱をプラスしていけば良さそ…
ABC - C埋めを再開しました。解説ACです。 問題 atcoder.jp 考えたこと ひし形の中心でループ回して探索してく。 行/列のループを回せば、r <= 50, c<= 50の制約はクリアできるので部分点はもらえるけれど…。ひし形の判定の計算量を落とす方法がわからなかっ…
にぶたんをスラスラ書けるようになりたい。 この問題でAtCoder Problems の BootCamp for Beginners 完埋めです~! 初のインタラクティブ問題だった。 問題 atcoder.jp 考えたこと 男性と女性が隣り合っちゃいけないので、男女男女男女…と並べればいいけれ…
この間の2020年秋期エンベデッド試験に無事合格しました。 これで僕も晴れてエンベデッドシステムスペシャリストです。 高度持ちとしてドヤっていけます。 今回はエンベデッド試験とかについてかきます。 実はQiitaにすでに記事を書いたんですが、もうちょっ…
解けそうでWA出してたから、3日くらいかかってしまった。 これも一種のバケット方なのかも。 問題 全部の行、列が回文になっている回文行列を作れ、とのことです。 atcoder.jp 考えたこと 行列を全部回文にするので、H * Wの1マスを決めるとすると、プラス…
これも解説ACです。 復習するやつってカテゴリ作って記事にしたら復習問題管理できるのでは?? 例によってけんちょんさんの記事を参考にしました。 drken1215.hatenablog.com 問題 atcoder.jp 考えたこと -2を底にするので、-2の倍数を計算してみて引いたり…
けんちょんさんの記事見て解説ACしました。 drken1215.hatenablog.com 解説ACなのですが、身につくことがあったのでメモ記事を書きます。 競プロの問題といたよ履歴もこれで3つ目ですね。章構成のテンプレとか挿入できるようにしておきたい。 問題 atcoder.j…
今日はABC109 Dを解きました。 割とスムーズに解放が思いついたけど、実装が面倒だった。 問題 atcoder.jp 考えたこと 入力をodd / evenで0、1のgridにして、左上からジグザグに1をずらしていけばいい気がする。— mutax (@RMT_xxx) 2021年1月3日 だいたいつ…
ABC187に参加するなどしました。 初の水パフォで緑に手が届きそうです。ホクホクです。 初の!!!水パフォ!!!!次で緑はいるぞ!!!!!!!今年は幸先がいいぜ!!!mutaxさんのAtCoder Beginner Contest 187での成績:1427位パフォーマンス:1278相当…
ABC147 Dを解説ACしました。 覚えたことをメモ書きしていきます。 問題 atcoder.jp 考えたこと 二重ループしたくなる数式だけど、制約的に二重ループだと絶対間に合わない。 XORの和をとっていくので、先に足し合わせてXORとったら行けたりしないかな?と思…
普段、整数型(int型やlong型、long long型など)やstd::stringクラスくらいしか入れないのですっかり失念していたのですが、std::setクラスに自分で定義した構造体を入れるようにしたらコンパイルエラーになりました。たぶんstd::mapでも同じなんじゃないか…
今回は予告通りキー移動について書いていきます。 前回までで矢印キーの入力検出はできているので、あとはコンソール上のカーソルを移動すればいいです。 あとはmessage_loop()関数でイベント処理をする仕組みについても紹介します。 前回の記事はこちらです…
前回の記事では、getchar()をタイムアウトありで呼ぶようにして、1byteずつ取得した文字をKEY構造体に突っ込んでいたんですが、そちらを辞めにしました。 kbhit()関数を新たに作成し、入力がある場合はread()でバッファをまるごと取得し、ない場合はしばらく…