GoBlinkのラッパー作ったよという話
プログラム
さて、powerBlinkという、blink(1)用のGoBlinkラッパーライブラリ。 ひと通り機能の実装ができたのでまとめを書く。
powerBlinkの動作確認はubuntu14.04でやってます。
言語はgoを使っています。うう〜ん、書いてて楽しい言語だな!
powerBlink
Blink(1)用のライブラリで、GoBlinkのラッパーライブラリです。
GoBlink単体だとちょい地味なんで、手軽に、少し派手に光らせる事ができるようにしたかったので作った。
光ってるgifでも載せようかと思ったけど、あれって動画取るんじゃなくて連写使ったほうが楽ちんなんだねぇ…(哀しみ)
やれる事
- 点灯
ぴかっと光り続けます。
- 消灯
静かに消えます。
- 点滅
ぴかぴか光ります。眩しい。 光る時間と、ON,OFFの切り替え時間を決められます。
- フェードイン,アウト
ゆるやかに明るく/暗くなります。 期間と明かりの更新間隔を決められます。
- 色のフェードイン,アウト
ゆるやかに色を変更できます。 期間と色の更新間隔を決められます。
作った感想
- もっと綺麗に簡潔に書きたいと思った。
golang楽しい! 楽しいけど俺のソースあんまり綺麗じゃない、っていうか簡潔じゃない!
人のgoのコードをあまり読んでないから、綺麗な書き方っていうのがどういうものなのか、 あまり理解できていないので、それも含めて、とにかくしばらくは人のgoコードを見て、勉強したほうがよさそう。
- 学べた事
今回図らずとも勉強になったのは、ゴルーチンとチャネル周り。タイマーは、チャネルを理解する入門編としてはかなり良い選択だった。処理終了時の通知と、timeのtickぐらいでしか使っていないのだけれど、それでも謎の機能という理解からは、進展があったのでよしとしよう。
- コードの不満点
不満点はたくさんあるけど、一番不満なのは設定用のstructをセコセコと作る必要がある所。 これはもっとうまいやり方があるんじゃないかと思った。
あとは、color.Fadeのラムダを取るやり方も、あまり良い方法だとは思えなかったけど、他に思いつかなかったなぁ。
ううん……。
次までに
そんな所か。
それから…
あと、ソースのここは直したほうがいい、とか、こういう機能があればいいな、みたいなのがあれば、プルリクエストでもissueでも、ブログのコメントでもなんでもいいんで教えてください。
はい。