2020-01-01から1年間の記事一覧
度重なる延期でお待たせしました。 Release 4.4.6_0 · zetamatta/nyagos 前回:(リリース予告)NYAGOS 4.4.6_0 - 標準愚痴出力 での案内以降の追加変更は以下のとおりです。 start の後のタブキーは(which と同様に)コマンド名補完をするようにした コマ…
Bitbucket の Mercurial レポジトリとその Downloads ページに上げたバイナリパッケージのバックアップをとらねばと思ったのはよいが https://bitbucket.org/zetamatta/nyaos3000/downloads/ https://bitbucket.org/zetamatta/nyaos3000/downloads/ > 64フ…
現在、まだ手元で試験運用中ですが、次の nyagos では次のような修正が盛り込まれる予定です。公開時期は未定ですが、特に不具合が発覚しなければ連休明けくらいが無難かなと考えています。 なお、master ブランチにはすでにマージされているので、使ってみ…
前回:「CGIをローカルテストするための簡易ウェブサーバー xnhttpd をGoで書きました 」で実装した CGIテスト用ウェブサーバー xnhttpd に、静的コンテンツや markdown を発信する機能を実装しました。 zetamatta/xnhttpd: Tiny Web Server to test CGI on …
これな zetamatta/xnhttpd: Tiny Web Server to test CGI on localhost. 今は昔、wifky という 1ファイルで動作するPerl製 WikiEngine を開発していました。当時は、AN Httpd でローカルテストしてからサーバーにアップするということをしていたのですが、…
とある slack で reflect のよい使用例についての話題が出てました。 reflect を使用したいというケースは、encoding とか O/R mapper 以外となると、ほとんどの場合「interface で済むんじゃね?さもなければプログラマがよく Go 言語を理解していないんじ…
Qiitaで不祥事があって退会者が結構出てるみたい。 LGTMがもったいないから、自分はすぐ退会しようとは思わないけど、一応、備えはしとこう。 ということで、一応、自分の記事を全部ダウンロードして、GitHub にアップしてみた。 zetamatta/my-qiita-article…
「git 互換 patch」で検索すると、次のようなページがすぐ見つかる。 Git - パッチ互換のdiffを作成する | git Tutorial こうか! $ git show --no-prefix 5f682fb657439fe518475e6effc6e7e30b1dfd33 > patch.1 だが、Windows では、このパッチを適用すると …
%PATH%が長すぎて、これ以上フォルダーを追加できないけど、いちいちコマンド毎に alias の設定もやってられない場合: nyagos.envadd("NYAGOSPATH", "C:\\Program Files\\Oracle\\VirtualBox") とか nyagos.envadd("NYAGOSPATH", "~\\Share\\Program Files\\…
ちょっと、立て続けですが、4.4.5_3~4 を公開しています(4.4.5_3 でちょっと失敗したので、_4 をすぐリリースした的な) 一番、すぐ直したかったのはコレ echo $(gawk "BEGIN{ print \"\x22\x22\" }") で二重引用符が出ない不具合を修正 プロセスの出力結…
nyagos で %date% の展開ができないというご指摘を耳にした。 もともと %CD% とか %ERRORLEVEL% みたいに「本当は環境変数ちがうけど、環境変数みたいに展開できる動的変数」はサポートしていたんだけど、%DATE% や %TIME% は未対応だった。 というわけで実…
最近の Windows はファイルのコピーがたいへんだ。 以下のバッチファイルはビルドしたファイルを C:\Program Files\xxxxx にコピーするだけの代物。だが… C:\Program Files\xxxxx に書き込むには管理者権限が必要 PowerShell で管理者モードに昇格 管理者モ…
zetamatta/go-windows-osversion 仕様は簡単で、readme にあるように osversion.Query() を呼べば、OS のバージョン情報を格納した構造体へのポインタが帰ってきます。 ( Windows 以外の OS だと、バージョンナンバーはどれもゼロになります) どういうこと…
なぜなら svn status -q | gawk "{ print $2 }" が My の部分で見事に切れる。だが、 svn status -q | gawk "{ $1 = \"\" ; print $0 }" 以上のように $1 をつぶしてやるという方法もあるのだ。覚えておこうな!>未来の自分 未来の自分より これ、$1 と $2 …
だが、PowerShell のバージョンが古いので、そのままでは入らない。 PS C:\Users\Administrator> Get-Host | Select-Object Version Version ------- 4.0 Download Windows Management Framework 5.1 from Official Microsoft Download Center より、OS の種…
go-windows10-ansi Enable Windows10's native ansi-escape-sequences Windows10 ネイティブのエスケープシーケンスを有効にする go-windows-shortcut Make or read shortcut-files on Windows Windows のショートカット(*.lnk)を作る go-windows-consolei…
(2020.02.25 追記あり) 通常は BackgroundWorker からダイアログのコントロールを操作することはできない。だが、Delegate を経由すれば、可能になる。 Public Class Form1 '*** UIスレッドで実行される関数 *** Private Sub AddRow(color1 As Color, objs…
現在のコマンドプロンプトでの文字列のピクセルサイズを測る API(gdi.dll のGetTextExtentPoint32W)を呼ぶパッケージを作成した。 zetamatta/go-windows-consolefontpixel これを使って、引数のテキストの長さを測るプログラムを書いた。 package main imp…
前回:パッケージマネージャの「scoop」経由で nyagos をインストールしてみましたからの続き scoop install vim でインストールされる素の vim × skk.vim × git のコミットログ編集をすると、やはり日本語が厳しい。 (そりゃ SKK の辞書は EUC-JP で、コミ…
昨年2019年の6月末に ironsand さんが scoop という Windows のパッケージマネージャに nyagos 4.4.5_2 を登録してくださいました(ありがとうございました)。 今頃になりましたが、どんなものか、試してみました。 (1)scoop をインストールする インス…
以下はどこかの記事を読んで知った方法なのだが、どこだったかわからなくなってしまったので、改めてここに記す(つまり、自分が考えついた方法ではない) *_test.go を使わないテストコードとかサンプルコードを書きたい時どうするか。 普通は別フォルダー…
Luaでは「関数のパラメータがテーブルコンストラクター1個の時、関数コールの丸括弧を省略できる」という書式があります。 これはつまり function f(a) for key,val in pairs(a) do print(key.."="..val) end end f( { param1="12345" , param2="abcdef" } …
DOSコマンドで、好きな形式に「パスのコピー」する - Qiitaより echo -n MESSAGE 相当の改行しない echo は SET /P ="MESSAGE" < NUL で実現できるようだ。 この SET は本来 SET /P VAR=PROMPT という形式で、PROMPT を表示した後、ユーザが入力した値を環境…
環境変数を参照する場合は os.getenv が使えるが、設定するための os.setenv 相当のものはない。 が、os.execute で自分自身を呼び出せば、無理やり設定することも可能だ(ただし、起動時のみ) --- LANG=C を設定したい時: if os.getenv("LANG") ~= "C" th…
型が違っても nil 判定ができる関数を作ってみた。 package main import ( "fmt" "reflect" ) func IsNil(p interface{}) bool { if p == nil { return true } value := reflect.ValueOf(p) switch value.Kind() { case reflect.Ptr, reflect.Map, reflect.S…