SBI証券で投資信託売却した後、発注が完了するまでは「取引」→「投資信託」→「注文照会(取消)」→「投資信託」で確認できる。 「取引履歴」等みても、掲載が無いので、注文できてないのかな?と思った。
(Windows)Obsidian でBIZ UD ゴシック(任意のフォント)を使う
【Visual C#/Windows フォーム】出力タブにデバッグログを出力したい
Console.WriteLine("");
で表示されるかと思ったが、出なかった。
ぐぐっていたところ、以下の記事に答えが。
そもそもWindows Formsアプリケーションは「コンソール」アプリケーションではないので、出力すべきConsoleそのものがありません。 つまりやろうとしている事が的外れです。 Visual Studioの「出力」ウィンドウにメッセージを出したい場合は、System.Diagnostics名前空間のDebugクラスやTraceクラスを利用します。
Railsアプリ(+PostgreSQL)を Docker で動かすまでを1歩1歩確認していくメモ(docker-compose は使わない)
たいてい、出来合いの docker-compose を up して動かしていて、便利は便利なのだが、基本的なところがよくわからなくなるので、Dockerで1歩1歩動かしていってみる。
以下の Docker 公式ドキュメントを主に参考にしている。 docs.docker.jp
まずはデータベースの準備
PostgreSQLを起動する。以下のコマンドを実行すると 5432 ポートで接続を受け付けるようになる
POSTGRES_HOST_AUTH_METHOD = trust
にすることで、ローカルからの接続にパスワードは不要になるようだ。- コンテナは使い捨てで (--rm) とする
docker run --rm --name postgres -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 postgres:15
次にRailsの準備
database.yml の準備
以下あたりを編集しておく:
host: x.x.x.x # localhost だとDockerコンテナ内に向かってしまうみたいなので、ホストのIPアドレスを直打ちする。このへんはなにか別に上手いやり方ありそうだけど一旦ベタ書きで。 username: postgres # PostgreSQLのデフォルト # password # なし `POSTGRES_HOST_AUTH_METHOD=trust` にしとけばいらないらしい
Docker イメージの準備
まず、Dockerfileを準備して、イメージを作成する。
docker run ruby:3.2.1
とかで、コンテナ内で色々と作業してからイメージとして保存するという手もあるのかもしれない(以下リンク参照)が、提携作業ならDockerfileに定義しておくのが定石かと。あと、 ADD
とかでホストの資材をDocker内に入れるのを、コンテナの中に入ってから取ってこれるのかはよくわからないし。
Dockerに慣れる : 変更したコンテナイメージを保存する
というわけで今回のDockerfile:
FROM ruby:3.2.1 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs # My Hobby :) RUN apt-get install -y iputils-ping net-tools RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN bundle install ADD . /myapp
これをビルド
docker build -t [image name] ./
そしたらコンテナを実行
docker run --rm -p 3000:3000 [image name] bundle exec rails s -p 3000 -b '0.0.0.0'
一旦ここまででアプリの起動とDBへの接続はできたはず。 次からDBの中身を準備していく。
WinUI 3プロジェクトをデバッグ時に「"This application requires the Windows App Runtime Version 1.3"」
メッセージの通り、Windows App SDKの Version 13 をインストールしてみたが、解決しなかった。 結局、公式ドキュメントの以下を実施したら解決。
先ほど作成したプロジェクトが、手順 2 で "インストーラー" を使用してインストールした Windows App SDK のバージョンを対象にしていることを確認してください。 そのためには、Visual Studio で、[ツール]>[NuGet パッケージ マネージャー]>[ソリューションの NuGet パッケージの管理]>[更新] の順にクリックします。 必要に応じて、Microsoft.WindowsAppSDK NuGet パッケージへの参照を更新します。 インストールされているバージョンは、[インストール済み] タブで確認できます。
久しぶりにWindowsアプリの開発を進めているが、開発環境を整えるまでが一番大変だね。。なんにせよ公式ドキュメントをちゃんと読むに限る。(定期)
Terraformの go-plugin 等のソースにデバッグログを仕込むメモ
前提
Terraform Core(親プロセス) と Provider(子プロセス) は RPC のサーバとクライアントという関係で動作する。RPCに関する処理は上述の go-plugin リポジトリのコード等で動作する。
ざっくり手順
- go-plugin のソースを手元に clone する
- デバッグ出力を入れたい箇所に
logger.Debug("hogehgoe")
等を記載する(fmt.Println 等で直接出力しようとしても、親プロセスならおそらく出力されると思うが、子プロセスは出力されないようなので、 logger を介するといいようだ) - 親子(Terraform Core / Provider)それぞれの go.mod に上記リポジトリへのパスがあるが、手元のソースをみるように
go mod edit -replace
する - 親子それぞれビルドする
- ドキュメントにしたがうと Core は
go install .
、 Provider はmake build
で多分いける
- ドキュメントにしたがうと Core は
- あとは適当なディレクトリに .tf ファイル作って実行する。実行するときはビルドしたバイナリを直接指定する。例:
TF_LOG=TRACE /home/hoge/go/1.21.1/bin/terraform plan