memo.log

技術情報の雑なメモ

OpenAI(Chat GPT)でAPIを利用するまでのメモ

APIではAPI用にアカウントを準備しなくてはいけないらしい。 まずここでAPIキーを発行する。 https://platform.openai.com/api-keys しかし、支払いを事前にある程度しないと使えないらしい。 ここで事前チャージした。 https://platform.openai.com/setting…

ラッチIC(Dフリップフロップ)の動作を確認する

はじめに kure.hatenablog.jp こちらの記事ではZ80の動きをLEDで可視化してみましたが、IO信号をLEDで光らすのは難しそうだったので、アドレスバスを可視化したのでした。IO信号を可視化するには、PIOと呼ばれるデバイスやラッチICと呼ばれるデバイスで信号…

GoのインストールからTerraform Provider for AWS で make tools するまで

Amazon Linux 2023(x86)でのメモ # リポジトリのクローン git clone git@github.com:hashicorp/terraform-provider-aws.git # Go のインストール ## リポジトリの .go-version をみると 1.24.5 なので 1.24.5 をインストール ## 公式ドキュメントを参照する…

ROMとZ80でLチカして、CPUの動作を理解する【命令サイクル注釈動画付き】

概要 Z80とROMでLチカしてみました。 基本的にLEDはZ80のアドレスバスに接続し、アドレスバスの出力を可視化します。加えて、動作の理解のため、M1のピンと、リフレッシュのピンにも接続します(役割は後述します)。 まず、動作させた動画を掲載します。ク…

1Hzのクロックを作る(NE555P)

Z80の動作を一つ一つ確認していくために、1Hzのクロックを作ってみました。 タイマーIC動いた。参考:https://t.co/U9MZKH6QTL pic.twitter.com/PvfrgMPfru— くれ:|| (@kure) 2024年10月22日 回路は以下の記事と同じものを組みました。 nobita-rx7.hatenablo…

ROMチップを使ってLEDを光らせる【SST39SF040-70-4C-PHE】

『コンピュータはなぜ動くのか』を参考にZ80をプリミティブな形(ブレッドボードとか使って)で動作させようとしていたのだが、まずRAMにプログラムを打ち込んで保存するところがハードルが高い。 そこで、プログラムはROMチップに書き込んでZ80からはそのRO…

Rails(System Spec)で「"error":"session not created","message":"session not created: probably user data directory is already in use, please specify a unique value for --user-data-dir」

ドライバをChromeからヘッドレスChromeに変更したら動いた…。よくわからん。

VS Code の GitHub Copilot 拡張でサジェスチョンを無効化する

多分 "github.copilot.editor.enableAutoCompletions": false,

pip ライブラリの使い方簡単メモ

Python をインストールすると勝手に pip も使える? pip は別途インストール python.org から持ってきたインストーラや Homebrew を使って Python をソースコードからインストールしたのであれば、すでに pip が動作するはずです。 Linux 上で OS のパッケー…

『ドメイン駆動設計入門』の14章のサンプルを動かしたところ

本に設計やソースコードの解説は掲載されているが、動作イメージがよく分からなかったので、動かしてみたところの動画(gif)。 READMEを参考に、 Windows 11/ Visual Studio 2022/ NodeJS 12系で動いた。NodeのVersionが新しいとSSLの警告か何かで動作しな…

特定のGooブログの記事を全部スクレイピングするメモ

メモ Ruby / Nokogiri で愚直にたどった おそらく「各ページの全ページのリンクをたどっていく方法」と「記事一覧ページにあるページをすべて保存し、次の記事一覧ページをたどっていく方法」と2つやり方がある 前者は何かの条件で 404 になることがあった(…

構造体が持っている配列の各要素の参照ベクターにして返す

以下のようにすることで、配列で持っている各要素の値を呼び出し側で変更できる #[derive(Debug)] struct Grid( [Cell; 3] ); impl Grid { fn get_cells2(&mut self) -> Vec<&mut Cell>{ return self.0.iter_mut().collect(); } } #[derive(Debug)] struct C…

構造体で、メンバが構造体の要素を外から変更するサンプル

struct Grid( Cell ); impl Grid { fn get_cell(&mut self) -> &mut Cell{ return &mut self.0; } } struct Cell( i32 ); fn main() { let mut grid = Grid(Cell(1)); println!("{:?}", grid.0.0); let cell = grid.get_cell(); *cell = Cell(100); println!…

構造体の可変参照、不変参照

// 構造体 struct Test1{ number1: i32, number2: i32 } impl Test1 { // `&self` だと不変参照のため、代入しようとするとエラーになる // cannot assign to `self.number1`, which is behind a `&` reference // `self` is a `&` reference, so the data i…

構造体のサンプルメモ

// 構造体 struct Test1{ number1: i32, number2: i32 } // タプル構造体 // フィールド名は無し struct Test2( i32, i32 ); fn main() { let test1 = Test1 { number1: 1, number2: 2 }; // . でアクセス println!("{:?}", test1.number1); // 1 let test2 …

所有権のメモ

let d = String::from("d"); let e = d; let f = d; // エラー。 変数 d は所有権を失っているため let g = &d; // 参照を渡すか、 let h = d.clone(); // clone() する let arr = [String::from("a")]; let ar = arr[0]; //配列のインデックスでデータを取…

[Rust] 配列から直接非Copy Trait の要素の所有権の移動はできない =インデックスを用いて

以下の場合にエラーが出るのがよく分からなかった。 非CopyTrait のデータが配列の要素の場合に、インデックスを用いて参照できない。 let arr = [String::from("a")]; let ar = arr[0]; // cannot move out of here // move occurs because `arr[_]` has ty…

[Rust]関数の戻り値とセミコロンについてのサンプルメモ

// 戻り値がない関数定義の場合、空のタプルと同じになる。 // つまり、以下の2つは同じ fn test1a() { } fn test1b() -> () { } // 戻り値を指定させる方法は2つ // 1. return キーワードとセミコロンをつけて返す // 2. return キーワードを使わずセミコ…

所有権とかCopy, Cloneとか

以下だと、Testの get_name ではエラーになるけど、 Test2のget_age はエラーにならない。 cannot move out of self.name which is behind a shared reference move occurs because self.name has type String, which does not implement the Copy trait str…

Capybara, systemspec, webdriver, rspec, selenium 等などの整理

色々なシステムがごたまぜでよく分からなかったので、自分なりに調べたメモ。間違ってたら指摘ください・・。 まず、 ブラウザをプログラムから動かすためにはそのブラウザ用のドライバが必要。 昔は、それぞれのブラウザが独自実装していたらしいが、 Selen…

docker compose run 経由で bundle install した。 vendor ディレクトリをマウントもしている。でもいざ、 bundle exec するとライブラリが無くてエラーになる。

という挙動に遭遇し、なんでだと途方に暮れていたら、以下が原因だった・・。 公式のRubyのDockerイメージのbundlerの挙動 https://blog.freedom-man.com/ruby-docker-bundler

【Rust】公式ドキュメントのメモ

Vector doc.rust-lang.org Iterator doc.rust-lang.org メモ Vectorは構造体だけど、 Iterator はトレイトなのか。というかトレイトオブジェクトというやつみたい。

【Rust】Vectorで重複排除のサンプルメモ

let mut vec = vec![1,2,3,1,2,3]; vec.sort(); // これが無いと重複排除されない vec.dedup(); println!("{:?}", vec); // [1, 2, 3] mebee.info

【Rails】N+1のメモ( where するとキャッシュが効かないからRuby上で計算すること)

前提 「カード」と「カードセット」というモデルがあるとする 「カードセット」に複数の「カード」が紐づいているとする 「カード」には「remembered」属性がある あるページで各カードセットのカードの総数や「remembered」の true の数をカウントする した…

「ActionDispatch::Cookies::CookieOverflow」

session にデータを格納しすぎていた。 RailsではデフォルトでSessionのデータはCookieに保存するらしい。(Rails 7で確認) config/initializers/session_store.rb に設定がある。 そこで以下を導入。 github.com gem をインストール rails generate マイグ…

Terraform Provider AWS でAuroraの結合テストが失敗するとき

make testacc PKG=rds TESTS='TestAccRDSClusterInstance_basic' 結合試験は実際のAWS環境にリソースがデプロイされる。 デプロイされるリソースはこのへんで定義されてる github.com func testAccClusterInstanceConfig_base(rName, engine string) string …

Terraform モジュールのメモ

以下が分かりやすい。 zenn.dev

SBI証券投資信託売却注文した履歴を確認する

SBI証券で投資信託売却した後、発注が完了するまでは「取引」→「投資信託」→「注文照会(取消)」→「投資信託」で確認できる。 「取引履歴」等みても、掲載が無いので、注文できてないのかな?と思った。 SBI証券┃株・FX・投資信託・確定拠出年金・NISA

(Windows)Obsidian でBIZ UD ゴシック(任意のフォント)を使う

最近はノートアプリにObsidianを使っているのだが、WindowsアプリのObsidianはデフォルトのフォントが微妙すぎる。しかも、選択できるフォントも良いのがない。 そこで、BIZ UDゴシックを設定したメモ。 以下のプラグインをインストール&有効化する github.…

【Visual C#/Windows フォーム】ComboBoxで入力を不可にする