Golang
Windows環境でgo-sqlite3を使い始める際に少し迷ったことがあったので書き残しておく Windows環境でgo-sqlite3が組み込まれたプログラムを実行しようとしたところ、 Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a …
私は普段からPocketを利用している。後でチェックしたいと思ったものはなんでもPocketに放り込んでおり、Pocket経由で見返すということをしている。 ちなみに読んだ記事をアーカイブする、とかそういうことは面倒なのでしていない。 Pocketに放り込んだら、…
最近、自身の事業として運用しているソフトウェアをGoですべて書き直した。 元はPythonで書かれていたソフトウェアだったが、それをGoに書き換えた形となる。 なぜGoに書き換えたのか?というのにはいくつか理由があるのだが、そこについては表題から外れる…
GoのWailsで書いているアプリでM1 MacBook AirからWindows向けのバイナリをクロスコンパイルした際の起きたことメモ。 作成したWindowsバイナリを実際にWindowsマシン上で実行しようとしたらMicrosoftのWindows Defenderから Trojan Wacatac.H!ml として検知…
windows環境にて Goのexec.Command経由で start コマンドを実行した際に exec: "start": executable file not found in %PATH% というエラーが出たので解決方法をメモ。 目次 目次 goのexec.Command経由で startコマンドを実行する方法 Explorerを開く場合に…
lser というローカルサーバを簡単に立ち上げるためだけのツールを作った。 github.com ローカルサーバ起動が作業フローに組み込まれていない環境で、手元のマシンでローカルサーバを立ち上げて確認をしたくなるようなことが最近多く、そういうとき普段はPyth…
Go初心者による備忘録。 Goのtime.Duration型を用いることで経過時間を表すことができる。 そしてこの time.Duration は int64 のため、数値型としての比較ができるようだ。 https://pkg.go.dev/time#Duration つまり経過時間の比較をするケースで、どちらの…
例えば 5個の林檎 というようにスペースを挟まずに数値と文字列が連なったテキストを分割させたいケースがあったとする。 このような場合、Goではどう対応できるかを調べた際の備忘録。 下記のスタックオーバーフローを参考にした。 どうやらこういうケース…
昨日に引き続き、Playwright for Goに関する個人的な備忘録。 Playwright for Goで指定した場所にスクロールさせる方法だが、playwright.Locator に ScrollIntoViewIfNeeded というメソッドが用意されているのでこれを利用する。 実際のサンプルを下に記載し…
Playwright for Goに関する個人的な備忘録 Seleniumであれば clear 関数を用いてinputフォーム内を空にできるが、Playwrightの場合は fill を用いる。 Playwright for Goであれば playwright.Locator に Fillメソッドが用意されているのでそちらを利用する。…
完全に自分向けの備忘録。 time.Duration で表される秒数を日本語に変換したかったので、下記のような関数を作って対応した。 package main import ( "fmt" "strings" "time" ) func jaDuration(t time.Duration) string { var jaStr string jaStr = strings…
基本的に下記を見ればOK wails.io イベントの送り方は EventsOn とか EventsOnceとか複数あるが、ひとまずどうやって送るかのサンプルだけ下記に書き残しておく。 GoからJS側にイベントを送る場合 Goでは下記のようにEventsを設定する ※コードはかなりいい加…
Playwright for Go(というかPlaywright)では launchPersistentContext を使うと、例えばChromeで普段利用しているユーザデータ(ブラウザプロファイル)を参照することができる。 https://playwright.dev/docs/api/class-browsertype#browser-type-launch-p…
WailsのREADMEを日本語でも読めるように作成していたPRをマージしていただいた。 github.com というわけで、現在WailsのREADME内にある Internationalization から日本語を選択することで日本語のREADMEが読めるようになっている。 github.com 最近Twitterな…
go-ttyを試そうとしたときに遭遇したエラーと、対応時のメモを記載する。 github.com go-ttyを試してみようと思い、READMEに書かれているコードを参考にして入力したキーを出力させるだけのコードを書き、実行しようとしたら下記のようなエラーに遭遇した。 …
最近GoでGUIアプリが作れるWailsを試していた。 最近GoでGUIを作るならwailsが良いらしいので触ってみるhttps://t.co/mTuXtJtFvh— Yuki Shindo (@shinshin86) August 19, 2022 Failed to load resource: The resource could not be loaded because the App T…
Playwrightではデフォルトでの実行の場合、別途Playwrightで利用するためのブラウザをインストールしてそちらを利用するようになっている。 もし手元のChromeから実行したい場合、下記のようにしてインストールをスキップし、かつて元のマシンのChromeを参照…
Goのお勉強として作ったツール。 github.com 車輪の再発明すぎる内容だと思うので目新しさは一切ない。 下記のコマンドを叩くとインストール可能です。 (Goがインストールされている前提) go install github.com/shinshin86/chv@latest CLI上で chv と実行…
夏休みの朝のラジオ体操よろしく、朝にGoで頭の準備体操をした。 Todoist APIを利用して、現在設定しているプロジェクトの一覧を取得するだけのスクリプト。 Todoist APIについてはこちらにも以前書いていた。 shinshin86.hateblo.jp プロジェクト一覧を取得…
Slackのフリープランが変更されることについて以前書きました。 shinshin86.hateblo.jp 今後は90日より前のメッセージは消えてしまうが、それらのメッセージについてもどんなやり取りをしていたかは後からでも確認できるようにしたかったので、Slackからダウ…
この記事はGoの1.18.1で検証しています。 go version go1.18.1 darwin/arm64 ちなみに1.19ではここらへんに修正が入るようですが、まだちゃんと見ていないので公式ドキュメントを貼っておきます。 exec package - os/exec - Go Packages さて、本題。 例えば…
Go初心者による備忘録のため、Go経験者にとっては当たり前の内容を書いていると思うことを先に書いておく exec.Commandの出力をCLI上に表示させる方法 Goでは exec.Command を利用することでシェル上でコマンドで実行するような形で、Goプログラムを通じてコ…
最初に Goはまだまだ詳しくなく、かつ下に書いたstack overflowの内容は2016年頃のものなので、もっと良い方法があるのかもしれない。 が、今回ググってみたところ、一番しっくり来た内容がこれだったので、これを採用した。 Goでos.Exit(1)の終了をテストし…
Goを触る上での前提知識になるかと思うが、知らないで軽くハマったのでメモ書き。 そもそもGoでは *_test.go というファイル名のファイルはテスト用のファイルとなるため go run では実行できない。 *_test.go のファイルを実行しようとすると( 例えば go ru…
Goで最近ちょっとしたテストのためのモジュール(ライブラリ、パッケージ?なんて呼べばいいのだろう?)を作成した。 github.com 完全に自分向けのライブラリであり、現在はまだ開発中の段階となっている。 これについては開発の区切りがついたタイミングで、…
Goでpackageをinstallする際に特定のブランチを指定して、下記のようにインストールしていた。 # go install <package>@<branch> go install github.com/shinshin86/go-leet@add-package-leet 上のパッケージは実際にあるもので、下記になる。 (Goのパッケージ周りに関する理</branch></package>…
macとwindows間でサクッとファイル転送したい 最近閉じたネットワーク内でwindowsとmac間でファイル転送することがたびたびある。 今まではDropboxを使っていたが、windowsマシンの方は常にDropboxにログインしているというマシンでもないので、ファイル転送…
Go言語で文字の切り捨てを行う際はrunewidth.Truncateがとても便利だった Go言語を学習しながら触っている際の備忘録。 Go言語でターミナル周りのテキストを、いい感じに切り捨て(Truncate)するときは go-runewidth がとても便利だった。 (最初、苦労しなが…
備忘録です。 Goに対してGitHub Actionsからテストを実行するのはそれほど複雑ではありませんでしたが、未来の自分が忘れたときにいつでもこれを参照できるように備忘録として残しておきます。 Goのテストを行うためのGitHub Actions用の設定 以下を .github…
目次 目次 初心者はgoenvは使わないほうが良いかもしれない? goenvをuninstallする goenvの遺産をすべて削除する Goをインストールする M1 MacにGoをインストールするときの注意点 [余談] go fmtの挙動が変わった!? 初心者はgoenvは使わないほうが良いか…