2015/08/23


最近、俳句が流行ってますよね。

どうしても golang から簡単に俳句を検出する必要があったので、作ってみました。
mattn/go-haiku · GitHub
https://github.com/mattn/go-haiku

インストールは以下の様に簡単。ただし kagome という形態素解析ライブラリを使っており辞書を static にリンクするのでコンパイルは凄く遅いです。

$ go get github.com/mattn/go-haiku/cmd/haiku

使い方としてはまず引数

$ haiku あぁ柿くへば鐘が鳴るなり法隆寺
柿くへば 鐘が鳴るなり 法隆寺

そして標準入力

$ cat README.md | haiku
古池や 蛙飛び込む 水の音

さらに URL から

$ haiku -u "https://ja.wikipedia.org/wiki/ハノイの塔"
中央に 穴の開いた 大きさの
円盤の 上に大きな 円盤を
有効な 問題として 有名で
円盤を 移動させると すると次
一回り 大きい物の 右隣
一回り 大きい物の 右隣
円盤を 対応付けた とき数字
円盤を 動かすことで 解答が
円盤を 別の柱に 移し替え

さらにパターンを変える事出来て

$ haiku -r 5,7,5,7,7 -u "https://ja.wikipedia.org/wiki/フクロウ"
フクロウが 鳴くと明日は 晴れるので 洗濯物を 干せという意味

と短歌を検出する事も出来ます。超便利!よろしければお使い下さい。ライブラリとしても使える様になっています。

Posted at by



2015/08/20


golang 1.5 がリリースされました。

Go 1.5 is released - The Go Blog

Go 1.5 is released 19 August 2015 Today the Go project is proud to release Go 1.5, the sixth major s...

https://blog.golang.org/go1.5

内容かなり盛りだくさんです。その中でも目を引くのが internal パッケージです。

golang ではパッケージ内のシンボルを外部から参照可能にする為に名称の先頭を大文字にする必要があります。しかしながら、そうしてしまうと無関係のパッケージからも参照可能になってしまう問題がありました。

ライブラリパッケージを作っていて内部の共通関数を切り出したい、しかしながらライブラリ以外の物からは使わせたくない、そういう場合に internal を使います。

mattn/go15internal · GitHub
https://github.com/mattn/go15internal

このライブラリパッケージは、foo および bar からそれぞれ internal/hello にある Hello を呼び出していますが、これを外部から呼び出そうとすると以下の様にエラーとして扱ってくれます。

c:\dev\go\src\github.com\mattn\go15internal_main>go build -x
WORK=C:\Users\mattn\AppData\Local\Temp\go-build408769714
package github.com/mattn/go15internal_main
        imports github.com/mattn/go15internal/internal/hello: use of internal package not allowed

どんどん使っていきましょう。

Posted at by



2015/07/03


ちょっと書き物をする用事があって、markdown で書かなきゃいけなかったんですが

  • 余計なインストールの手間が不要で
  • 余計な設定は一切不要で
  • 使い勝手は Linux や Windows 全て同じで
  • 出来れば Markdown 保存したら自動更新されて
  • GitHub Flavour Markdown でコードハイライトト
  • GitHub Flavour Markdown でテーブル表記

こういうのが欲しくて、あるアプリケーションを見つけたんだけど外部の JavaScript を使ってる上にそのリソースURLが無くなり動かなくなってて困ったので作った。

今後もこういう事あるだろうし、自分用に作っておくべきだと思った。書き物をする予定だったのに気付いたら作ってたのでしょうがない。僕のせいではない。

mattn/mkup - GitHub

README.md mkup Portable Markdown Previweer Usage 1 mkup Installation 1 go get github.com/mattn/mkup ...

https://github.com/mattn/mkup
$ mkup

でカレントディレクトリ配下のファイルがサーブされます。.md, .mkd, .markdown の拡張子が付いたファイルは GitHub Flavour Markdown で綺麗に表示されます。ただし GitHub の API は使いません。ブラウザで http://localhost:8000 を開いておけばファイル更新後に勝手にリロードされます。テーブルタグもサポートしていますし、コードハイライトもサポートしています。ただし Google Code Prettify なので誤爆はあり得ます。

尚、mkup は JavaScript や CSS といった全てのリソースを実行モジュール内に保持していますので、Windows であれば exe ファイル1個あればどこでもプレビュー出来ますし、ちょっと別のPCで作業する必要があるって時にも exe ファイルだけコピーすればすぐ Markdown を書きが始められます。

自分専用なので最少の機能しかないですが、よろしければどうぞ。リリースにバイナリが置いてあるので持ってってください。

Releases - mattn/mkup - GitHub
https://github.com/mattn/mkup/releases
Posted at by