いろいろ備忘録日記

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

windows 10 では dependency walker じゃなくて dependencies を使う

概要 概要 忘れないうちにメモメモ。。。知らなかったです。 依存関係を調べたいときに Dependency Walker をよく使っていたので、久しぶりに使おうとおもったら以下の情報を発見。 frontl1ne.net まじか。。。知らなかったです。 なので、Windows 10 では以…

Gitpod で .NET 5 の環境を用意して遊んでみる (.NET 5.0, C# 9.0)

概要 .gitpod.Dockerfile の調整 .gitpod.yml の調整 C# 9.0 の構文を使うとエディタで赤い波線が表示される 参考情報 概要 先日、.NET 5 がリリースされましたので、Gitpodで使えるように調整してみました。 忘れないうちにメモメモ。 .NET 5.0 リリースに…

Goメモ-123 (selectでのチャネル選択の有効無効を切り替える)

概要 サンプル チャネルを nil にして無効にするサンプル nilなチャネルをnon-nilにして出力を切り替えていくサンプル おすすめ書籍 概要 小ネタ。select ステートメントと チャネル はよく利用される組み合わせです。 このときに、チャネルの値を nil にし…

ncコマンドでUDP通信の確認をする

概要 自分が受信側 自分が送信側 概要 意外と周りで知らない人が結構いたので、ついでにメモメモ。。 Linuxで、UDP通信している場合に対向先から送られてきたデータがちゃんと来ているのかを軽く確認したいときがたまにあります。そういうときは、nc コマン…

Goメモ-122 (別ファイルのExcelシートをコピーしてもってくる)

概要 シートコピーする関数がない GoはやめてPythonでスクリプト書いちゃおう 自前ライブラリにシートコピー関数を追加する サンプル おすすめ書籍 概要 以下、自分用メモも兼ねています。 以前にExcel関連の処理をGoからいろいろ操作したりした記事を何個か…

Goメモ-121 (ゴルーチンの完了検知方法あれこれ)

概要 投げっぱなし(完了検知なし) doneチャネルを使って完了検知 sync.WaitGroup を使って完了検知 context.Context を用いて完了検知(context.Context.WithCancel) context.Context を用いてタイムアウト付きで完了検知(context.Context.WithTimeout) …

Goメモ-120 (play-with-go.dev)(インタラクティブにGoの勉強が出来るサイト)

概要 おすすめ書籍 概要 勉強になりそうなサイトだったので忘れないうちにメモメモ。。。 play-with-go.dev こんな感じのものです。 A series of hands-on, interactive, browser-based guides that introduce the tools required to work with the Go progr…

Goメモ-119 (time.Tickとtime.NewTickerの使い分け)

概要 time.Tickは goroutine leak する サンプル おすすめ書籍 概要 小ネタ。知らなかったので忘れないうちにメモメモ。 time.Tick は、特定のインターバルで処理をする場合にとても便利。 指定時間の間、特定のインターバルで処理を繰り返すようなものが書…

VSCode 1.51 でコミットメッセージの入力履歴が保存されるようになった

概要 概要 個人的にとても欲しかった機能が VSCode October 2020 (Version 1.51) で導入されました。 ついでにメモメモ。 code.visualstudio.com コミットする際に以前に入力したコミットメッセージを矢印キーの上下で表示できるようになりました。 これ欲し…

.NET 5.0 リリース

概要 今回のリリースの重要性 C# は 9.0 に ついでにこれまでのバージョンの分も その他の情報 概要 ついに .NET 5.0 がリリースされましたね。記念にメモメモ。。 devblogs.microsoft.com www.publickey1.jp news.mynavi.jp devblogs.microsoft.com 今回の…

linuxでアプリが32ビット版か64ビット版かを判定 (file, od, hexdump)

概要 file コマンドで見る od コマンド, hexdump コマンドでみる 試してみる 概要 小ネタ。頻繁に使うわけでもないですが、知っておくと便利なことなので、メモメモ。 linux の実行ファイルは ELF (Executable and Linkable Format) というフォーマットのバ…

Goメモ-118 (go list でビルド対象ファイルとテストファイルを出力)

概要 -f オプション 試してみる おすすめ書籍 概要 小ネタ。前回「外部テストパッケージ」について書きましたが devlights.hatenablog.com ついでに、go list でビルド対象のファイルとテスト対象ファイルを出力してみます。 -f オプション go list コマンド…

Goメモ-117 (外部テストパッケージについて)(External Test Package)

概要 Example作るときに謎だったこと 外部テストパッケージという仕組み 先のExample関数を外部テストパッケージにする export_test.go というトリック サンプル 今回のサンプルリポジトリ 参考情報 おすすめ書籍 概要 ずっと謎だったことがやっと理解できた…

Chromebook の Linux コンテナ の python3 で venv と pip を使えるようにする

概要 概要 いつも、環境初期化し直した後で、忘れているのでここにメモメモ。 ChromebookのLinuxコンテナ(debian)では、python3 は最初から入っています。 $ python3 -V Python 3.7.3 なのですが、debianなので、venvとかpipはインストールされていません。 …

Youtubeアプリで動画を上下にスワイプでフルスクリーンの切り替えが可能に

概要 概要 忘れないうちにメモメモ。モバイル版のYoutubeアプリで便利な機能が追加されましたね。 www.lifehacker.jp 動画を上にスワイプするとフルスクリーンになって、下にスワイプすると元に戻るのは何気にめっちゃ便利。 過去の記事については、以下のペ…

Goメモ-116 (文字列末尾の改行を除去)(strings.TrimRight)

概要 サンプル おすすめ書籍 概要 よく忘れるので、ついでにメモメモ。 文字列末尾の改行コードを除去したいときがたまにあるのですが、Goの場合は正規表現を使うよりも strings パッケージの関数を使った方が楽なときが多いです。 以下のような感じ。Unix系…

Goメモ-115 (VSCode(Gitpod)でGoプログラムのデバッグ時に標準入力がサポートされない?)

概要 で、自分の場合 参考情報 おすすめ書籍 概要 忘れないうちにメモメモ。 最近、ちょっとVSCodeちゃんと使おうと思って、Goのプログラムをデバッグしてみたりしてたのですが 標準入力を受けて、動作するプログラムをデバッグ実行してみたところ、デバッグ…

Goメモ-114 (WSL1だとVSCodeでGoのデバッグが出来ない)

概要 参考情報 おすすめ書籍 概要 忘れないうちにメモメモ。 たまたま、WSL1の環境でVSCodeを Visual Studio Code Remote - WSL 拡張機能経由で起動してGoのプログラムをデバッグしようとしてたのですが デバッガが動かない という事態になりました。他の環…

Goメモ-113 (tealeg/xlsx にて1セルに複数行テキストを設定した場合のメモ)

概要 サンプル 実行してみる 参考情報 おすすめ書籍 概要 たまに使った時に忘れているので、ここにメモメモ。 個人的に、Excel処理する場合は tealeg/xlsx を使わせてもらっています。使いやすいので重宝しています。 github.com んで、1つのセルの中に複数…

chromebookのターミナルで貼り付けをする方法

概要 概要 よく忘れるので、ここにメモメモ。 chromebookのlinux コンテナ (crostini) のターミナルアプリで貼り付けをしたい場合、以下の2つの方法があります。 マウスの右クリック(タッチパッドを指二本でクリック) Ctrl+Shift+v いつも Ctrl+Shift+vの…

Goメモ-112 (配下の全パッケージに対してgolint と go vet する)

概要 おすすめ書籍 概要 最近は、golangci-lint があるので、golint と go vet を直接利用することはあまり無いかもしれませんが、よく忘れるのでメモメモ。 go list ./... とすると配下のパッケージ全部を出力してくれます。 なので、それを golint に食べ…

Goメモ-111 (ビルド時にデバッグ情報とかを消してサイズを小さくする, ldflags, trimpath, upx)

概要 サンプル ビルド対象とするソース 普通にビルド ldflags オプションを付けてビルド trimpath オプションを付けてビルド ldflags と trimpath を両方指定してビルド ビルドしたものに upx で圧縮かける 実行速度は? 全部の実行結果まとめ 参考情報 おす…

wcコマンドでファイルサイズを表示 (linux, コマンドライン)

概要 概要 ちょっとした小ネタです。 コマンドラインでファイルサイズを出力したいときって $ ls -l total 7220 -rwxr-xr-x 1 gitpod gitpod 2056769 Oct 20 02:52 build-normal -rwxr-xr-x 1 gitpod gitpod 1409024 Oct 20 02:52 build-with-ldflags -rwxr-…

git worktreeで複数ブランチを並行させて作業する

概要 試してみる 補足)worktreeが間違って削除されないようにする 概要 便利なのだけど、いざ使う時に忘れていることが多いので、ここにメモメモ。 git には、git worktree という便利なサブコマンドがあります。 ソースコードを修正しながら対応するドキュ…

ブランチ同士の差をコミットで表示 (git log)

git

概要 概要 よく忘れるので、ここにメモメモ。 git diff で差分は見れるのですが、ソース単位じゃなくてコミット単位でみたいときがあります。 以下のようにすると差分のコミットが表示できます。 $ git log --no-merges master..develop --oneline --no-merg…

TCPソケットがclose状態の時の挙動についての情報メモ (Writing to a closed, local TCP socket not failing)

概要 追記 概要 とても、有益な情報があったので、忘れないようにメモメモ。 この知識は、使っているプログラミング言語関係なく有用。 qiita.com qiita.com 記事書いてくださった方に感謝です。 一つ目の記事の冒頭にある サーバがコネクションをclose後し…

Chromebook の Linux コンテナ (Crostini) の再起動

概要 crosh に入って再起動 ドックのアイコンを右クリックして再起動 概要 croshでのやり方を何気によく忘れるので、ここにメモ。 普通にターミナル上で exit してもウィンドウ閉じてるだけなので駄目です。 以下の2つの方法で出来る。 crosh に入って再起…

VSCode version 1.50 で Linux ARM ビルドが追加

概要 追記 概要 遂に、VSCode が version 1.50 で Linux ARM ビルドが追加になりました。これは嬉しい! やっと、ARMのchromebookで本家のVSCode を使えますね。 以下、リリースノートにかかれている内容を転記。 VS Code is now available for both Linux A…

GitpodがGitLabに組み込まれる (Native GitLab Integration, v13.5から)

git

概要 試してみた 概要 Gitpodヘビーユーザなので、とても嬉しいニュース。 Gitpod が GitLab に組み込まれるみたいです。mattermostみたいな感じですね。 なので、GitLabでは gitpod.io/# を付与しなくてもよくなって、かつ、ブラウザの拡張機能入れなくても…

Windows の git をコマンドラインでアップデート (update-git-for-windows)

概要 試してみる 参考情報 概要 忘れないうちにメモメモ。Windows限定の話です。 Windows 版の git のバージョンアップをしたい場合、今まで公式サイトいって gitforwindows.org ダウンロードしてきて、インストールという手順でやっていたのですが 以下の情…