OBONO’s Diary

へっぽこプログラマの戯言

Go 言語勉強の顛末 後編

前編では、全然 Go 言語っぽいことをしていなかったので、こりゃイカンと思い、改めて何か Go 言語で作ろうといろいろ悩んでみる。しかし、さっぱりアイディアが出てこない。Ebiten というライブラリでゲームでも作ってみようかな…とも思ったが、これもどうもしっくりこない。

Go 言語は Web アプリを作るのに向いてるらしいので、何か Web アプリを作ってみようかな。Identicon みたいに、何かの文字列から一意の画像を生成するのはどうだろうか。じゃあ、どんな画像を生成すれば良いかな。やっぱり、ここはドット絵だよね! でも、抽象的な画像だと面白くいないから、任意の画像が作れると良いな。ファミコンっぽい感じのアイコンとかだったら、少ないデータで表現できそうだ。16×16ドット×4色(2ビット)だと、情報量としては64バイト。これを Base 64 Encode すると86文字。カラーパレット情報+αを含めるとして、画像を90文字で表現できそうだ。
f:id:OBONO:20181216200049p:plain
というわけで、リクエストされた URL を解析して、png または gif の画像を生成するプログラムを書く。標準機能だけで、Web サーバーや、画像ファイル出力を実現できるのはラクチンですな。


さて、こいつを一般公開するにはどうすれば良いのか…とググったところ、Heroku なるサービスに行き着く。Go 言語のソースコードを git push すると、自動的にデプロイされて、ブラウザ等から利用できるようになるという代物だ。

Web アプリを公開できるメドは立ったものの、いきなり公開したところで、URL の仕様が分からないことには、使いたくても使えないだろうから、その辺のドキュメントを整備しなければならないな。あと、ドキュメントだけではあまりに不親切だから、ブラウザ上で簡易的にお絵描きができるようにして、URL を自動生成してあげるべきだよね――って、また Go 言語と関係ないことばかりやってるな。
sample1sample2sample3sample4


何はともあれ、必要最低限の体裁は整ったので、Twitter でその事を告知してみる。その際、Twitter カードとして情報が見えるように、HTML のヘッダにいろいろ書いておいた。

予想はしていたけど、イマイチ反応が薄い。冷静になって考えると、我ながら、この Web アプリの使いどころがさっぱり思いつかない。何でこんなモノ作ったんだろう?


これまでのアクティビティで Go 言語が身に付いたかというと、全然身に付いていないな。既に、Go 言語に対する情熱も冷めてしまった。季節外れの暖かさが続いた秋の日のお話でした。


リンク