Go の勉強を兼て「これ」を Go で作っていたんだが、その時感じた Go の特徴をまとめておく。 Go は気軽に書けるのに、非常に高い実行パフォーマンスを出せる使い勝手の良い言語だと思う。 また、パッケージマネージャを言語自身に内蔵しているため、 拡張パッケージが揃っていて、今後さらにパッケージが充実して使える言語になるだろう。 こんな様なことは、もう誰もが書いていることだと思うので、 以降では、もう少し違った角度で Go につい
以前 lunescript の紹介記事を書いている時に、 lunescript の日本語訳がふと気になったんで調べていたんだが、 その時の Google 翻訳の結果が衝撃的だった。 <https://ifritjp.github.io/documents/lunescript/tutorial1/#headline-3> で、久し振りに Google 翻訳で lunescript を翻訳してみた。 その結果は次の通り。 めでたく lunescript の日本語訳が lunescript になった。 これは、 LuneScript が Google に固有名詞として認識されたということだろうか? それとも、該当する単語が登録されていないから、 とりあえずそのまま表示しているだけなんだろうか?
tunnel ツールのネタを書いた時、 dot を使ってグラフを作った。 dot は手軽にグラフを書ける便利なツールだが、 レイアウト制御に難があると思う。 グラフ作成ツールの利点と欠点 dot などのグラフ作成ツールの利点には次が挙げられる。 ノードのリンクを指定するだけで、後はツールが良い感じにグラフを自動で作成してくれる。 パワポ等でグラフを作成するのと比べると、これは大きな利点だ。 そして多くの場合、ツールが作成するグラフは、それなり
go で proxy server を建てるには、 github.com/elazarl/goproxy を使うと簡単に実現できる。 https://github.com/elazarl/goproxy github の readme を見れば、簡単な使い方が載っているので特に問題はないだろう。 ただ、一点だけハマったポイントがあるので書いておく。 proxy 環境下で goproxy を使う場合の注意点 package main import ( "github.com/elazarl/goproxy" "log" "net/http" ) func main() { proxy := goproxy.NewProxyHttpServer() proxy.Verbose = true log.Fatal(http.ListenAndServe(":8080", proxy)) } github の readme にサンプルとして上記コードが載っている。 基本的にこれで問題ないのだが、 proxy 環境下で動かす場合には注意が必要だ。 多くの場合、 proxy 環境下では環境変数に次のような設
とある理由から 「Tunnel/Reverse Tunnel over websocket」 が必要になったので作ってみた。 「Tunnel/Reverse Tunnel over websocket」 が何かというと、 「websocket を tunnel にして別の TCP 通信を通すもの」だ。 「Tunnel/Reverse Tunnel over websocket」 とは 「Tunnel/Reverse Tunnel over websocket」を少し具体的にいうと、 次のような構成で通信を可能にするモノだ。 frame