標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

2019-02-01から1ヶ月間の記事一覧

Windows のアプリケーションディレクトリ

nyagos では、ヒストリなどを Windows では %APPDATA%\nyaos_org Linux では $HOME/.nyaos_org に保存している。このパスは環境変数を元に生成しているのだが、ここのところで OS ごとに処理を分けるのは可読性を下げるので、できれば標準ライブラリが吸収し…

Shift-JISファイルの作成

go

現在のコードページの文字形式ではなくて、本当に ShiftJIS 固定となるので、日本語特化のアプリとなるが package main import ( "fmt" "os" "path/filepath" "golang.org/x/text/encoding/japanese" ) const fname = "search.lst" func main1() error { fd,…

PowerShell で .NET のアセンブリ内の関数の動作確認

HogeHoge.exe の中のクラス Config の shared メソッド Load を呼んでみる。 test.ps1: [reflection.assembly]::LoadFrom("bin\Release\HogeHoge.exe") $data = [HogeHoge.Config]::Load("hogehoge.xml") Write-Host("---") Write-Host($data.ToString()) Wr…

NYAGOS保守ノート: 欧州向けキーボード対応ふたたび(AltGR キー処理)

日本では馴染みがないのだが、ヨーロッパのキーボードには AltGR というキーがあるようだ。用途としては、英語圏にない文字等を入力する時にシフト的に用いるようだ。 それが入力できなくなったという issue を起案いただいた。 [regression] AltGR issue ・…

続・GoでCygterm っぽいことをやりたいので、ソケットサーバーを書いている

go

Go で Cygterm っぽいことをやりたいので、ソケットサーバーを書いている(勉強中) - 標準愚痴出力 アドバイスをいただきました(ありがとうございます) enter しないと文字が送られないのは、たぶん tera term のオプションで local echo を off にすると…

a[:0] と append の秘密

go

a = a[:0] は領域のサイズをリセットするが、a = make([]T,0,cap(a)) と違って、使っていたメモリブロックを再利用するため、allocation 回数を削減できる。 だが、旧a の領域が他で使われていないかを気にせず、無頓着に使うと append でおかしいことになる…

Go で Cygterm っぽいことをやりたいので、ソケットサーバーを書いている(勉強中)

go

(続きの記事 あり) serv.go : package main import ( "fmt" "net" "os" "strings" ) func handler(conn net.Conn) { defer conn.Close() var buffer [255]byte for { n, err := conn.Read(buffer[:]) if err != nil { fmt.Fprintln(os.Stderr, err) return …

Go Modules 使用時、最新タグよりも新しい Commit でモジュールを使用したい時

go

go mod -m github.com/<USER>/<REPOSITORY>@<COMMIT-HASH> でいいようです。</commit-hash></repository></user>

("bufio".Reader) ReadString('\n') と ("bufio".Scanner) Scan() の違い

go

違い ("bufio".Reader) ReadString('\n') 改行をカットしない ("bufio".Scanner) Scan() 改行をカットする 改行コードのない最終行の扱い 最後の行が abcd(EOF) というテキストの場合 ("bufio".Reader) ReadString('\n') "abcd",io.EOF という戻り値となる (…

go mod 試験導入

nyagos の依存パッケージである zetamatta/go-texts/mbcs に不具合があったので、それをちゃんと import するよう、go modules を設定してみた。 そのメモ。間違っている箇所があればご指摘歓迎 go-texts 側 go modules を使用するモードに切り替える set GO…