いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

golang

Goメモ-269 (Goのテンプレート機能を使ってBLOGページを作成)(GoLand Blog)

概要 参考情報 概要 以下、自分用のメモです。まだ、ちゃんと読んでいないので忘れないうちにメモメモ。。。 JetBrains の GoLand のブログ記事にて、以下がアップされていました。 blog.jetbrains.com Goのテンプレート機能、すごく便利なので、このような…

Goメモ-268 (Thirteen Years of Go)(本家ブログ)

概要 参考情報 概要 以下、自分用のメモです。 本家ブログの方で go.dev という記事が上がってましたので、記念にメモとして残しておこうという感じです。 こういう区切りの記事は個人的に結構好きです。 ついでなので、上のブログ記事の中でリンクはられて…

Goメモ-267 (TOMLファイルを書き出し)(toml, Marshal)

概要 ライブラリ取得 サンプル 参考情報 概要 以下、自分用のメモです。 以前にファイルI/O周りについては、以下の記事を書いていました。 devlights.hatenablog.com TOMLファイルを読み書きする必要がありましたので、勿体ないのでここにメモメモ。。。 TOM…

Goメモ-266 (TOMLファイルを読み込み)(toml, Unmarshal)

概要 ライブラリ取得 サンプル 参考情報 概要 以下、自分用のメモです。 以前にファイルI/O周りについては、以下の記事を書いていました。 devlights.hatenablog.com TOMLファイルを読み書きする必要がありましたので、勿体ないのでここにメモメモ。。。 TOM…

Goメモ-265 (シグナル通知設定をリセットする)(signal.Reset)

概要 サンプル 参考情報 概要 以下、自分用のメモです。よく忘れるのでここにメモメモ。。。 シグナルのハンドリングは、signal.Notify や signal.NotifyContext で行いますが たまに、リセットしたいときもあります。 その場合は、signal.Reset を利用しま…

Goメモ-264 (シグナルを無視する)(signal.Ignore)

概要 サンプル 参考情報 概要 以下、自分用のメモです。よく忘れるのでここにメモメモ。。。 シグナルのハンドリングは、signal.Notify や signal.NotifyContext で行いますが たまに、無視したいときもあります。 その場合は、signal.Ignore を利用します。…

Goメモ-263 (Wailsメモ-02 Gitpodで動く環境を構築)

概要 Gitpod の設定ファイル こんな感じ リポジトリ 参考情報 概要 以下、自分用のメモです。 前回、Windows上にインストールしてみたのですが devlights.hatenablog.com なんかビルドにすごく時間がかかったりするので ついでなので、Gitpod上で試せる環境…

Goメモ-262 (Wailsメモ-01 インストール)

概要 インストール UPX のインストール Wails のインストール 確認 試してみる 参考情報 概要 以下、自分用のメモです。なんか面白そうなので、ちょっと使い方とかメモしようと思いました。 WailsというGoでクロスプラットフォームなGUIアプリを開発できるラ…

Goメモ-261 (go install 時に一時的に別の場所にインストールする)

概要 試してみる 参考情報 概要 以下、自分用のメモです。たまーに使うときに、いつも忘れているのでここにメモメモ。。。 go install で何かのコマンドとかをインストールする場合、そのまま実行すると "$(go env GOPATH)/bin" の下に配置されます。 でも、…

Goメモ-260 (go.modのモジュール名を変更)(go mod edit -module)

概要 試してみる 参考情報 概要 以下、自分用のメモです。たまーに使うときに、いつも忘れているのでここにメモメモ。。。 go.mod ファイルのモジュール名を変更したいときがたまにあります。 エディタで直接編集してもいいのですが、go mod というコマンド…

Goメモ-259 (The Go Handbook)(freeCodeCamp, チュートリアル)

概要 参考情報 概要 以下、自分用のメモです。Goを始める人にオススメの記事があったので忘れないうちにメモメモ。。。 www.freecodecamp.org 文字数は多い記事ですが、基本から分かりやすく書いてあると感じました。 あえて、非同期関連やジェネリクスなど…

Goメモ-258 (Non UTF-8 なXMLデータをデコード)(CharsetReader, Shift_JIS)

概要 サンプル 参考情報 概要 知らなかったので、忘れないうちにメモメモ。。。 通常、XMLのエンコーディングはUTF-8となっているものがほとんどですが、業務とかだと稀に Shift_JIS とかなっている場合があります。 例えば、以下のような感じ。 <data> <hello>へろー</hello> <world>ワ</world></data>…

Goメモ-257 (複数のmain関数を共存させる)(go:build ignore)

概要 試してみる main1.go main2.go Taskfile.yml 参考情報 概要 知らなかったので、忘れないうちにメモメモ。。。 以下のmattnさんのツイートで知りました。感謝。 go run でしか実行しないのであれば go:build ignore を書いておくと同じディレクトリに置…

Goメモ-256 (fmt.Scan, fmt.Scanfのメモ)

概要 一つの値を読み取り 複数の値を読み取り 書式に従って値を読み取り 参考情報 概要 以下自分用のメモです。たまにしか使わないんですが、その度に使い方微妙に忘れるのでここにメモメモ。。。 一つの値を読み取り package scanop import ( "fmt" "github…

Goメモ-255 (Stackoverflow の Go Collective が閉鎖された)

概要 参考情報 概要 devlights.hatenablog.com で記載していた Go Collective が今日みたら閉鎖されていました。 多分、スポンサーがいなくなったんでしょうね。 ちょこちょこ見ていたので少し残念。 参考情報 プログラミング言語Go作者:アラン・ドノバン,ブ…

Goメモ-254 (go tool pprof でインタラクティブモードに入らずに結果を出力)

概要 参考情報 概要 以下自分用のメモです。よく忘れるのでメモメモ。。。 pprof パッケージを使って採取したプロファイル結果を確認したい場合 $ go tool pprof /path/to/profile/path (e.g. cpu.pprof) で確認できますが、インタラクティブモードに入って…

各言語のリリースノートについて (バージョン, 歴史, 追加機能)

概要 C# Java Python Go Javascript 概要 以下、自分用のメモです。 たまに、古いバージョンのアプリをメンテしたりするときに、「このバージョンのときって、どんな機能が追加された時だっけ??」ってなることがあるので、よく利用する言語毎にメモメモ。…

Goメモ-253 (go tool trace コマンドを使って実行トレースを見る)(runtime/trace)

概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでメモメモ。。。 Goには標準で実行トレースを採取する機能がついています。pprofとかもあるのですが、手軽に扱えるのが runtime/trace さん。 これをトレースを取りたいプログラムの先頭で …

Goメモ-252 (文字列に対してのruneとbyteでの操作)

概要 サンプル 参考情報 概要 Goを始めた人からよく聞かれる内容なので、ついでにここにメモメモ。。。 Goで文字列は string ですが、他の言語と同様にイミュータブル(不変)です。 文字列の内容を一部だけ変更したい場合でも、新しい文字列を作る必要があ…

Goメモ-251 (チャネルの内容をスライスにする)(chans.Slice, chans.SliceContext)

概要 サンプル チャネル関連の記事 参考情報 概要 小ネタ。せっかくサンプル作ったので、ここにメモメモ。 チャネルを使って処理することはよくありますが、チャネルのデータをスライスにしてしまいたいときも結構あります。 Go 1.18 までは、それぞれの型ご…

Goメモ-250 (特定の値がスライスに含まれているかを判定)(slices.Contains)

概要 サンプル 参考情報 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 Go 1.18 が出るまではジェネリクスが無かったので、特定の値がスライスに含まれているかどうかは自分でループさせて確認するのがGoでは普通でした。 で、以前記事にした …

Goメモ-249 (特定のGOOS,GOARCHで標準ライブラリをpre buildする)

概要 試してみる 参考情報 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 多分、使うことは無いと思いますが、Tipsとして知っていても良いかも。 Goは、クロスコンパイルが得意な言語です。 特定のGOOSとGOARCH向けにコンパイルする際、当然そ…

Goメモ-248 (crypto/aesで暗号化と復号)(CBC, Cipher Block Chaining Mode)

概要 サンプル 参考情報 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 AESで暗号化する必要があったので、ECBモードとCBCモードで試してみました。 今回はCBCモードでの利用です。ECBの場合は参照情報をご参照ください。 ECBとかCBCって何?…

Goメモ-247 (crypto/aesで暗号化と復号)(ECB, Electronic Codebook Mode)

概要 サンプル 参考情報 概要 以下、自分用のメモです。忘れないうちにメモメモ。。。 AESで暗号化する必要があったので、ECBモードとCBCモードで試してみました。 今回はECBモードでの利用です。 ECBとかCBCって何?って方は Wikipedia の以下が分かりやす…

Goメモ-246 (セキュリティ的に安全な乱数を取得する)(crypto/rand, Reader)

概要 サンプル 参考情報 概要 cryptoパッケージの下の処理を利用しようとするときなどに、乱数が必要になるときがあります。 また、セキュリティ的に安全な乱数を取得したい場合もあります。 そのようなときに Go では、crypto/rand の中に rand.Reader が存…

Goメモ-245 (ビルド時にキャッシュを使わないように設定する)(force rebuild)

概要 参考情報 概要 以下、よく忘れるので自分用のメモです。 Goのビルドはキャシュが存在すれば、それを利用してくれるので速いです。 ですが、たまにキャッシュを使ってほしくないときがあります。 そのような時は、以下のように -a オプションを付与しま…

Goメモ-244 (GoでDeprecatedの表し方)

概要 試してみる 参考情報 概要 以下、よく忘れるので自分用のメモです。 Goで、特定の関数やメソッドなどを非推奨(Deprecated) にしたい場合は、関数ヘッダコメントの部分で Deprecated: xxxxx.... と記載すれば良いです。 stackoverflow.com で、staticch…

Goメモ-243 (flag.FlagSetを使う)

概要 サンプル 普通にflagパッケージを利用 flag.FlagSet を利用 ユニットテスト ついでに fuzz テスト Taskfile.yml 参考情報 概要 以下、よく忘れるので自分用のメモです。 Goには標準ライブラリにアプリケーション引数を処理してくれる flag パッケージが…

Goメモ-242 (charmbracelet/bubbletea にマルチバイトサポートが入った)(v0.22.1)

概要 参考情報 概要 忘れないうちにメモメモ。。TUIアプリを作る際によく話題に上がる charmbracelet/bubbletea の v0.22.1 がリリースされました。 内容みると、マルチバイトサポートが入ったとのこと。 github.com このPRを出してくれたのは mattn さん。…

Goメモ-241 (go testの結果をjson形式で出力)(go test -json, jq)

概要 参考情報 概要 いつも忘れるので、以下自分用のメモです。 たまに、go test の結果をプログラム側からいじりたいので json形式 で欲しいときがあります。 go test には、-json フラグがあるので、それを指定すると結果が JSON で取得できます。 (昔は、…