サンダーボルト

相手モンスターを全て破壊する。

プログラミング基礎

コミットメッセージの書き方メモ

これ何? コミットメッセージの書き方について今一度調べて自分なりの結論をまとめておく。 まとめ そこまでこだわる必要なさそうだが、feat: やchore: といった接頭辞くらいはつけておいても良さそう chore: とかつけておくと、単にライブラリを入れただけ…

動かしてわかるCPUの作り方10講

モチベーション 動かしてわかるCPUの作り方10講という本で勉強することになった。せっかくだから学んだことをメモしておきたい。 勉強メモ 第1講 c言語でインラインアセンブラ書ける。拾い物だけど、以下のように書いたら123って出力される(AT&T構文) #inclu…

自分用Macセットアップ手順

モチベーション 新しいPCを入手したので今後また入手した時のためにやることをメモしておく やること Macの設定 ディスプレイ > 解像度 > 変更 > スペースを拡大 スケジュール > Night Shift > カスタム 0:00~23:59 システム環境設定 > キーボード > ショー…

ライブラリ選定時の比較軸

モチベーション ライブラリを選定する際にライブラリ同士を比較することになる。その際の自分の基準についていつでも思い返せるようメモしておきたい。 比較軸一覧 ライブラリ自身が持つ機能が十分か 公式ドキュメントが充実しているか ライブラリをカスタマ…

コードレビューのレビュアー心得

モチベーション コードレビューの目的 目的 詳細 コードレビュー観点 保守性に関する観点 速度/メモリ効率に関する観点 レビューでのメッセージ モチベーション 自分がコードレビューをするときに、どういったことを観点として持つべきか、どういう態度をと…

ビット演算子を色々試してみる

モチベーション 環境 演算子 ビット論理積 (AND) ビット論理和 (OR) ビット排他的論理和 (XOR) ビット否定 (NOT) 左シフト 符号維持右シフト ゼロ埋め右シフト モチベーション Webアプリケーション等の製品のソースコードを書いている中ではビット演算なんて…

データ構造/アルゴリズム/概念のまとめ

モチベーション 間違いなく必要な知識 データ構造 連結リスト 木、トライ木、グラフ 木 トライ木 グラフ スタックとキュー スタック キュー ヒープ ベクタ/配列リスト ハッシュテーブル オープンアドレス チェイン アルゴリズム 幅優先探索 深さ優先探索 二…

計算量オーダーと具体例のメモ

モチベーション 代表的な計算量にも色々あることを最近学んだ。 アルゴリズムを思いついたとき、その計算量がいくつなのかというのを瞬時に判断できるようにするために、各計算量のアルゴリズム例を自分の言葉でメモしておく。 参考:計算量オーダーの求め方…

「Go言語で作るインタプリタ」を完走した

この記事は何か? リポジトリ 筆者の属性 なぜやろうと思ったか 所要時間 内容について 章ごとのまとめ 1章:字句解析 2章:構文解析 3章:評価 4章:インタプリタの拡張 全体的な内容 学んだこと 文と式 クロージャの仕組み コンパイラも人間が作っていると…

文字コード技術入門 メモ

naotech.hatenablog.com の記事に続き、文字コードに関する本を読んで勉強したことをメモします。読んだ本はこれです。 プログラマのための文字コード技術入門 以下、メモです。 絵文字 UTF-16とBOMとUTF-8 文字コード判別技術 BOMによる判別 エスケープシー…

文字コードを理解したい

これは何? 言葉の定義を理解する 文字集合 符号 符号化文字集合 文字符号化方式 文字コード エンコード 文字コードを知る ASCII Unicode UTF-8 プログラミングにおける文字コードの扱い ソースコードのファイルの文字コード 最初の答え これは何? 2020年の…

マスタリングTCP/IP 入門編 まとめ

これは何? 後で自分が復習できるように下記の本をまとめたものです。 マスタリングTCP/IP 入門編 マスタリングTCP/IP 入門編 第1章ネットワーク基礎知識 1.1 コンピュータネットワーク登場の背景 1.2 コンピュータとネットワーク発展の7つの段階 皆でマシ…

Webを支える技術 メモ

この記事は何? 以下を読んだのでメモ Webを支える技術 メモ Webの構成要素 まず、もちろんだけどインターネット=Webではない。最初はインターネットができて世界がつながるようになったけど、メールとかしかなくて、しかもメールでも初期は送信側と受信側が…