【ふわラボ】Go 言語で作る便利ツール群の紹介と制作の経緯など
2018/09/04 23:22
  • 「ふわラボ」始動

    しれっと「ふわラボ」っていうチームを作りました。
    チームと言っても自分ひとりですが、ちょっとしたツールやアプリケーションは
    すべてこのふわラボ名義で行っていく予定です。

    今回作ったもの

    コマンドラインで扱うアカウント管理と文字列の暗号化/複合ツール

    https://github.com/fuwalab/tools

    開発した経緯

    もともと各サービスのアカウントとパスワードの管理に困り始めていたのが発端で、
    1password やらその手のパスワード管理アプリ、Web Service なら Last Pass などを使えば要件を満たせたのかもしれないけど、
    僕がそのあたりは妙にミニマリストなので、必要以上にアプリやブラウザ拡張は極力インストールしたくありませんでした。

    だったら勉強がてら自分でキチンと作ってみるか、となったのがそもそもの始まりでした。
    また、一週間まとまったお休みが取れたので、その期間を利用して合宿的な感じで開発できたというのも大きかったです。

    開発ツール/開発手法

    開発環境: MacBook Pro
    IDE: IntelliJ IDEA
    言語: Go
    パッケージ管理ツール: dep
    開発手法: github issue 駆動開発
    

    言語は正直なんでも良かったんですが、せっかく Go 言語を勉強しているのだしもう少し経験を積みたかったので選択。
    やりたいことはすべて github に issue を立て、プルリクエストで消化していく運用にしました。


    テスト

    テストはしっかり目に行いました。

    ユニットテスト
    少なくともそれぞれのパブリックな(大文字で始まる)関数に対しての単体テストを Go の標準テストパッケージで書くことにしました。


    Travis CI による自動テスト
    特定ブランチへのプッシュやプルリクエストをトリガーとして Travis CI を自動実行するように設定しました。

    プロジェクトルートの設定場所

    通常のプロジェクトでは $GOPATH 直下にプロジェクトを設置するのですが、今回は
    godoc のバッジを readme に置くことを想定して、 $GOPATH 直下にプロジェクトルートを置く方法は取りませんでした。


    Go Report Card に完全対応

    すべて 100% になるように対応しました。

    https://goreportcard.com/report/github.com/fuwalab/tools

    頑張った点

    ・すべて見える化したこと(Issueベースの開発、Apache 2.0 ライセンスでの公開など)
    ・ユニットテスト/自動テストを導入したこと
    ・新メンバーをいつでも迎える体制を整えたこと


    正直個人のどうでもいいツールにここまでやるのはやりすぎ感がありますが、今後の機能追加や
    一緒に作ってくれるひとがいるといいなぁ…という期待も込めてやってみました。

    さいごに

    やりたいことをやりたいときにやりたいだけやる…というのをモットーに、
    またしても1円にもならないツールを生み出してしまいました…。(;´∀`)

    まだまだ課題があるのでブラッシュアップしつつ、より使い勝手の良いツールを作っていけるようにがんばります。
    Go 言語、少しずつ分かってきたけど、まだ全然…_| ̄|○ il||li


    以上、ざっくりとアウトラインだけ紹介しました。

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • 2018/09/04 23:22
  • ツール
  • ツールGolangGo 言語プログラミングgithubApache 2.0OSSオープンソースライセンスlicenseふわラボfuwalab
  • 新しい記事へ
    MySQL の文字列連結で一つでも NULL なカラムがあると連結結果も NULL になる問題

    古い記事へ
    6月の振り返りと7月の展望(ポエム)

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。