みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Git が保存する仕組み

Git

Git の内部がどうなっているのか気になったのですが,深く理解しなくても使えるツールなので,ざっくりとまとめます. Git の要点 Git は key-value 型データストアでデータを管理している. Git オブジェクトには,blob, tree, commit, tag の4種類が存在す…

JavaScriptでJSON SchemaとMeta-schemaを使ってみる

JSON Schema を使えば,自分が欲しい構造の JSON データであるかを簡単に判定できるので,とても便利です. まずは JavaScript で JSON Schema を使ってみます. ajv を使う JSON schema バリデータの実装はたくさんありますが,今回は,Ajv JSON schema val…

numpy で指定したデータだけを合計する

sum() 関数の where で指定します. numpy.sum — NumPy v1.26 Manual import numpy as np a = np.array( [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], ] ) b = np.array( [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], ] ) v = a.sum(where=b.astype(boo…

PyTorch の学習速度をなるべく速くする

PyTorch の学習に時間がかかるとイライラするので,利用可能な計算資源をなるべく効率的に使用するための工夫をまとめました. 以下は インテル Core i5 12400 と GeForce RTX 4080 を搭載したパソコンに Ubuntu をインストールした環境で検証しています. G…

Pydantic で JSON を読み込む時に型変換される

例えば dict[int, int] を JSON で記述しようとすると,キーは文字列にする必要がありますが,Pydantic がうまく型変換してくれるので気にせず使えて便利です. % python --version Python 3.11.6 % pip freeze pydantic==2.5.2 test_pydantic.py import jso…

GitHub Actions でレポジトリを編集する

Git

.github/workflows/run.yaml on: push permissions: contents: write jobs: main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: | echo "sample." >> text.txt git config user.name github-actions git config user.email github-act…

ループの速度を Python, Rust, Node.js で比較する

ループ(繰り返し処理)の書き方はプログラミング言語により様々です.使いやすい書き方を選択すればよいとは思いますが,気になったので処理速度を比較してみました. みーがよく使っている,Python, Rust, Node.js について,1千万個の要素を含む配列を用意…