2015/09/01


kan さんが slack での公開型チャットの運用を始めました。

Soozy Slack

#Soozy これはなに? #soozy は元々IRCのfreenodeにあったチャンネルで、日本のperlコミュニティを中心にperlのことを含むプログラミングに関わる話題を中心に話し合っていました...

http://soozy.fushihara.net/
nekokak

皆さんも分かると思いますが、こういったチャットサービスで必ず必要となるのが回転する画像です。どうしても回転するアイコンが必要になったので、簡単に生成出来るコマンドを golang で書きました。

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

使い方は簡単。

$ nekokak input.png

animated.gif というファイルが生成されます。これで今すぐ回転する画像を作る必要に迫られた場合も安心ですね。お役立て下さい。

Posted at by



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