Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

TbpgrKnowledge | 大量のインプットと自動化

概要

大量のインプットと自動化

大量のインプット

・学習の量を増やせば増やすほど、新たに学習したい内容は増える
・学習意欲は向上してもっと学習したくなる

より効率よく学習する方法を模索するフェーズへ

同じ時間でより多く学習するために以下の様な事を行うようになります。

・もっと多く学習するにはどうやって効率化すればよいか考えるようになる

・作業の中で日々繰り返し行なっている内容の自動化を行う

=>自動化のスキルアップ。繰り返し行っている内容の自動化は自宅の学習以外にも
役立つケースが多く二重、三重の利益を得る。

より効率よく学習する方法の次のフェーズへ

効率化の手法に慣れてくると、さらに次の思考に辿り着くようになります。

・自動化しやすい作業手順、フォーマットを追求するようになる。
=>テキストのフォーマット、ディレクトリ構成、ファイル名など自動化を加味
した構成を意識するようになる。

・自動化の内容が使い捨てから汎用的なものになる。
個別の問題に特化しすぎて他に使い回しの効かないツールから、
汎用的で多目的に利用できる自動化が可能になる。
汎用性は設定ファイルやコンソールの引数にする。

自動化の利益を自分以外にも提供するフェーズへ

・自動化の内容が汎用化してくると、その内容が他の人間にも役立つものになります。
そこで、汎用化したツールを開発チーム全体やGitHubへの公開で全世界へ公開します。
公開を行うには他の人間も分かるようにドキュメントなどを整備する必要もでてきます。

Ruby+GitHub+RubyGemsを利用したツール公開はこの内容と非常に相性がいい。

・自動化のためのツールを公開するためにツールにテストを付属するようになる
=>自動テストのスキルアップ

参照

私が自動化のために作成したツール

gem名 GitHub URL Gem URL 自動化の目的
tbpgr_utils https://github.com/tbpgr/tbpgr_utils https://rubygems.org/gems/tbpgr_utils 似たような処理を何度も記述しないで済むようにするための汎用ライブラリ
tbpgr_utils_snippets https://github.com/tbpgr/tbpgr_utils_snippets -- tbpgr_utilsを利用したソースコードの記述を短時間で行うためのスニペット
rspec_piccolo https://github.com/tbpgr/rspec_piccolo https://rubygems.org/gems/rspec_piccolo パラメタライズドテストを書くための時間を節約するためのテストのひな形生成
tudu https://github.com/tbpgr/tudu https://rubygems.org/gems/tudu タスクの細分化を管理することによる作業効率向上と、gemで公開するツール内で利用することによる利用者支援の一環
sublime_sunippetter https://github.com/tbpgr/sublime_sunippetter https://rubygems.org/gems/sublime_sunippetter SublimeText2のスニペットを作成する時間を短縮
dslable https://github.com/tbpgr/dslable https://rubygems.org/gems/dslable gemを利用したCLIツールのひな形生成。毎回利用するコードを書かないで済むようにする
templatable https://github.com/tbpgr/templatable https://rubygems.org/gems/templatable ERBを利用するようなテンプレート処理のひな形を生成

その他、外部公開していない個別問題に特化したツールなどは自宅のPCのGitLabで管理