自己完結

完全に雑記

GoBlinkのラッパー作ったよという話

プログラム

さて、powerBlinkという、blink(1)用のGoBlinkラッパーライブラリ。 ひと通り機能の実装ができたのでまとめを書く。

powerBlinkの動作確認はubuntu14.04でやってます。

言語はgoを使っています。うう〜ん、書いてて楽しい言語だな!

powerBlink

nichijo/powerBlink · GitHub

Blink(1)用のライブラリで、GoBlinkのラッパーライブラリです。

GoBlink単体だとちょい地味なんで、手軽に、少し派手に光らせる事ができるようにしたかったので作った。

光ってるgifでも載せようかと思ったけど、あれって動画取るんじゃなくて連写使ったほうが楽ちんなんだねぇ…(哀しみ)

やれる事

  • 点灯

ぴかっと光り続けます。

  • 消灯

静かに消えます。

  • 点滅

ぴかぴか光ります。眩しい。 光る時間と、ON,OFFの切り替え時間を決められます。

  • フェードイン,アウト

ゆるやかに明るく/暗くなります。 期間と明かりの更新間隔を決められます。

  • 色のフェードイン,アウト

ゆるやかに色を変更できます。 期間と色の更新間隔を決められます。

作った感想

  • もっと綺麗に簡潔に書きたいと思った。

golang楽しい! 楽しいけど俺のソースあんまり綺麗じゃない、っていうか簡潔じゃない!

人のgoのコードをあまり読んでないから、綺麗な書き方っていうのがどういうものなのか、 あまり理解できていないので、それも含めて、とにかくしばらくは人のgoコードを見て、勉強したほうがよさそう。

  • 学べた事

今回図らずとも勉強になったのは、ゴルーチンとチャネル周り。タイマーは、チャネルを理解する入門編としてはかなり良い選択だった。処理終了時の通知と、timeのtickぐらいでしか使っていないのだけれど、それでも謎の機能という理解からは、進展があったのでよしとしよう。

  • コードの不満点

不満点はたくさんあるけど、一番不満なのは設定用のstructをセコセコと作る必要がある所。 これはもっとうまいやり方があるんじゃないかと思った。

あとは、color.Fadeのラムダを取るやり方も、あまり良い方法だとは思えなかったけど、他に思いつかなかったなぁ。

ううん……。

次までに

  • 人のコードをもっと見る事
  • powerBlinkを使ったツールを何か作る事
  • 今度はgifを記事内につっこむ男になろう

そんな所か。

それから…

あと、ソースのここは直したほうがいい、とか、こういう機能があればいいな、みたいなのがあれば、プルリクエストでもissueでも、ブログのコメントでもなんでもいいんで教えてください。

はい。

その他

昨日書くの忘れちゃってたな、残念

仕事がなんか大変な感じになってて、コミケ関係かなり適当なんだけど大丈夫だろうか。

プログラム

まだmasterにはマージしてないけど、色のリアルタイム変更処理を追加した。 リファクタリングしたらマージする。

プログラムは、コツコツ出来ていく感じが楽しいね。

powerBlinkは、とりあえず点滅、点灯、消灯、色変更の実装ができたから、 結構満足感ある。あとはこれを使ってプログラム組んで行けば結構楽にチカチカさせられるだろう。

nichijo/powerBlink · GitHub