golang
概要 サンプル それぞれ別々のファイルにしておいて埋め込む 一つのファイルにバージョンとかをまとめておいて埋め込む 概要 前回、ビルド時に -ldflags を使ってパッケージ情報を埋め込むサンプルを記載しました。 devlights.hatenablog.com Go 1.16 から e…
概要 git からビルド番号などを取得して go のビルド時に埋め込む サンプル 参考情報 概要 前回、git でビルド番号とかを取得する記事を書いたのでついでに。 devlights.hatenablog.com Go では、ビルド時に -ldflags オプションをつかって、プログラム内の…
概要 参考情報 概要 いつも忘れるので、ここにメモ。 PowerShell 環境で、クロスコンパイルしたい場合、以下のように GOOS と GOARCH を指定する。 $ $env:GOOS="linux"; $env:GOARCH="amd64"; go build -o xxx 参考情報 stackoverflow.com docs.microsoft.c…
概要 サンプル signal.Notify 何もせずに5秒経過した場合 5秒以内にCtrl-Cで割り込み入れた場合 signal.NotifyContext 何もせずに5秒経過した場合 5秒以内にCtrl-Cで割り込み入れた場合 参考情報 概要 Go 1.16 のリリース自体については以下の記事を参照くだ…
概要 参考情報 概要 Go 1.16 のリリースノート見て、気になったところを自分用にメモメモ。 golang.org Go 1.16 のリリース自体については前回の記事を参照ください。 devlights.hatenablog.com 1.15から6ヶ月後にリリース 言語の変更なし Mac上の64ビット A…
概要 Go 1.16 をダウンロードしてインストール (Linux)(Gitpod) 参考情報 概要 Go 1.16 がリリースされましたね。 今回は、embed パッケージが追加されていたりとちょっと楽しみなリリースです。 以下、リリースに関しての自分用の参考情報です。 blog.golan…
概要 サンプル 概要 よく忘れるので、ここにメモメモ。 os.Stat() から取得した os.FileInfo から Mode().Perm() で取得 https://golang.org/pkg/os/#Stat https://golang.org/pkg/os/#FileInfo 後は、それに調べたいパーミッションをANDして判定。例えば、…
概要 概要 知らなかったので、メモメモ。 io/ioutil パッケージが Go 1.16 から deprecated な予定になっていくみたいですね www.srcbeat.com github.com もともと ioutil に存在していた関数とかは、それぞれ io や os パッケージ側に移動されるみたいです…
概要 Dockerfileを用意 (.gitpod.Dockerfile) gitpod.yml を用意 サンプルアプリを用意 Makefileを用意 確認! 今回作ったサンプルリポジトリ 参考情報 概要 Gitpod で VNC を使って、GUIアプリを動作できるとのことなので、試してみました。 www.gitpod.io …
概要 サンプル 概要 小ネタ。せっかくサンプル作ったので、ここにメモメモ。 何らかのデータシーケンスがあるとして、それを一定数貯めてから処理するというのはよくあるシチュエーションですね。 個人的には、fan-outさせる際に各非同期処理に処理してもら…
概要 サンプル 概要 以前チャネルで同じような動きするものを記事にしました。 devlights.hatenablog.com context.Contextを受けるバージョンもついでに作成。中で上の記事で作った関数を呼んでいるだけですがw サンプル package ctxs import ( "context" "…
概要 サンプル 概要 以前チャネルで同じような動きするものを記事にしました。 devlights.hatenablog.com context.Contextを受けるバージョンもついでに作成。中で上の記事で作った関数を呼んでいるだけですがw サンプル package ctxs import ( "context" "…
概要 サンプル 概要 小ネタ。 仕事によっては、試験のエビデンスを画像で取得しておいて、それを後からExcelに一個一個貼り付けたりするような場面もあったりしますよね。。。。 対象のファイルが5個とかそれくらいなら、まだ手でやってもいいと思いますが…
概要 yumのソースコードにていい関数発見 ついでなので Go で移植 ついでにプチツール作った 概要 ちょっと興味が湧いたので、調べてみました。自分用のメモ書きです。 rpm のパッケージ名って apt のやつと違って、一見どこがパッケージ名でどこがバージョ…
概要 サンプル チャネルを nil にして無効にするサンプル nilなチャネルをnon-nilにして出力を切り替えていくサンプル おすすめ書籍 概要 小ネタ。select ステートメントと チャネル はよく利用される組み合わせです。 このときに、チャネルの値を nil にし…
概要 シートコピーする関数がない GoはやめてPythonでスクリプト書いちゃおう 自前ライブラリにシートコピー関数を追加する サンプル おすすめ書籍 概要 以下、自分用メモも兼ねています。 以前にExcel関連の処理をGoからいろいろ操作したりした記事を何個か…
概要 投げっぱなし(完了検知なし) doneチャネルを使って完了検知 sync.WaitGroup を使って完了検知 context.Context を用いて完了検知(context.Context.WithCancel) context.Context を用いてタイムアウト付きで完了検知(context.Context.WithTimeout) …
概要 おすすめ書籍 概要 勉強になりそうなサイトだったので忘れないうちにメモメモ。。。 play-with-go.dev こんな感じのものです。 A series of hands-on, interactive, browser-based guides that introduce the tools required to work with the Go progr…
概要 time.Tickは goroutine leak する サンプル おすすめ書籍 概要 小ネタ。知らなかったので忘れないうちにメモメモ。 time.Tick は、特定のインターバルで処理をする場合にとても便利。 指定時間の間、特定のインターバルで処理を繰り返すようなものが書…
概要 -f オプション 試してみる おすすめ書籍 概要 小ネタ。前回「外部テストパッケージ」について書きましたが devlights.hatenablog.com ついでに、go list でビルド対象のファイルとテスト対象ファイルを出力してみます。 -f オプション go list コマンド…
概要 Example作るときに謎だったこと 外部テストパッケージという仕組み 先のExample関数を外部テストパッケージにする export_test.go というトリック サンプル 今回のサンプルリポジトリ 参考情報 おすすめ書籍 概要 ずっと謎だったことがやっと理解できた…
概要 サンプル おすすめ書籍 概要 よく忘れるので、ついでにメモメモ。 文字列末尾の改行コードを除去したいときがたまにあるのですが、Goの場合は正規表現を使うよりも strings パッケージの関数を使った方が楽なときが多いです。 以下のような感じ。Unix系…
概要 で、自分の場合 参考情報 おすすめ書籍 概要 忘れないうちにメモメモ。 最近、ちょっとVSCodeちゃんと使おうと思って、Goのプログラムをデバッグしてみたりしてたのですが 標準入力を受けて、動作するプログラムをデバッグ実行してみたところ、デバッグ…
概要 参考情報 おすすめ書籍 概要 忘れないうちにメモメモ。 たまたま、WSL1の環境でVSCodeを Visual Studio Code Remote - WSL 拡張機能経由で起動してGoのプログラムをデバッグしようとしてたのですが デバッガが動かない という事態になりました。他の環…
概要 サンプル 実行してみる 参考情報 おすすめ書籍 概要 たまに使った時に忘れているので、ここにメモメモ。 個人的に、Excel処理する場合は tealeg/xlsx を使わせてもらっています。使いやすいので重宝しています。 github.com んで、1つのセルの中に複数…
概要 おすすめ書籍 概要 最近は、golangci-lint があるので、golint と go vet を直接利用することはあまり無いかもしれませんが、よく忘れるのでメモメモ。 go list ./... とすると配下のパッケージ全部を出力してくれます。 なので、それを golint に食べ…
概要 サンプル ビルド対象とするソース 普通にビルド ldflags オプションを付けてビルド trimpath オプションを付けてビルド ldflags と trimpath を両方指定してビルド ビルドしたものに upx で圧縮かける 実行速度は? 全部の実行結果まとめ 参考情報 おす…
概要 追記 概要 とても、有益な情報があったので、忘れないようにメモメモ。 この知識は、使っているプログラミング言語関係なく有用。 qiita.com qiita.com 記事書いてくださった方に感謝です。 一つ目の記事の冒頭にある サーバがコネクションをclose後し…
概要 サンプル 参考情報 おすすめ書籍 概要 忘れそうなのでメモメモ。 書籍「プログラミング言語Go」を見てたら、以下のようなフォーマット書式が記載されていました。 fmt.Printf("%*s<%s>\n", depth*2, "", .n.Data) 説明の部分には以下のように記載されて…
概要 概要 面白いサイト見つけたので、忘れないうちにメモメモ。 learnxinyminutes.com 各言語の特徴とか機能を1ページ分で一気に説明してくれています。 たいていの言語はあるので、ざっくり掴むのにちょうどいいかもしれません。 過去の記事については、…