はじめに
この記事は新人エンジニアの時に知っておきたかったことに含まれます。
他の記事は上記のリンクから遷移可能です。あわせてご覧ください。
情報管理
エンジニアとして技術を磨くにあたり、情報管理は重要な習慣となります。
仕事やプライベートで収集した情報の中で今後も参照したい情報は少なからずあるものです。
そういった情報に素早くアクセスするための情報管理を身につけておくことは、エンジニアとして効率よくスキルアップする上で大切な習慣のはずです。
そこで、この記事では私が実践している情報管理の1つの方法をご共有します。
対象者
この記事の対象者としては、新人エンジニアの方々を想定しています。
特に、ターミナルアプリを常用する方が対象です。
情報検索の際にGrepを多用することが主な理由です。
もしGrepを使用せずにディレクトリ内の文字列検索が可能であれば、
ターミナルアプリを常用しない方であってもこの記事でご共有する情報管理方法をご利用いただけるはずです。
目標
この記事で扱う情報管理法は以下の目標達成を目指します。
- [情報の保管] 各技術やツールの使い方、便利なスニペットを保管する
- [情報の検索] ストックした情報の中から欲しい情報を取得する
- [情報へのアクセス] PCだけではなく、スマホからもストックした情報にアクセスできるようにする
- [バージョン管理] 必要に応じてストックした情報をバージョン管理する
使用するツール
ターミナルアプリ(iTermなど)
保管している情報を検索(Grep)する際に使用します。
Gitを用いてソース(情報)管理する際にも使用します。
エディタ(Vimなど)
情報を追加・修正する際に使用します。
VimやAtom, Visual Studio Codeなどあります。
モバイルアプリ(Bywordなど)
外出時など、手元にPCがない場合に管理している情報にアクセスするために使用します。
また、markdown形式で情報を編集することも可能です。
バージョン管理(Gitなど)
バージョン管理は必須ではありませんが、いつ・どんな情報を追加したのかや変更履歴を知りたい場合に重宝します。
クラウドストレージ(Dropbox, iCloud等)
クラウドストレージに情報を保管することで、デバイスに依存することなくどこからでも情報にアクセスできるようになります。
ローカルのPCやスマホが壊れたとしても、クラウドストレージに保管した情報に影響は出ません。
PCとスマホで同じクラウドストレージ上の情報を参照・編集可能なので情報を一元的に管理可能です。
サンプルソース
このサンプルコードは使い方を理解するためのものです。
実施に運用するにあたっては、各自のディレクトリ構成、ファイル構成で運用してみてください。
Info.md
良さげなソースURLをタイトルとともに蓄積していきます。
Snippets.md
良さげなコードや使い方を蓄積していきます。
Memo.md
情報収集の際に気になったことや、メモしておきたいことを蓄積していきます。
Account.md
アカウント情報管理に使用します。
セキュリティに問題があるかもしれませんが、非公開リポジトリで管理する分には問題ないかなという感じです。
Task.md
タスク情報を管理するために使用します。
初期設定
~/Dropbox/以下にサンプルソースをcloneします。
git clone https://github.com/hirokisan/InfoManage.git ~/Dropbox/
BywordでDropboxと連携する
使い方
情報を追加する
情報を検索する
unite.vimを使うとファイル検索が快適になります。
まとめ
この記事では情報管理の1つの方法をご共有しました。私はこの方法を数年続けています。
情報収集の際に良さげな情報やソースリンクを蓄積していくことで、困った時に「あ、前にもこんなことあったなぁ」という薄っすらとした記憶を頼りに検索(Grep)してみると解決策にたどり着けたりします。
自分自身、情報管理をどうしようかと試行錯誤の末、今のところはこの方法に落ち着いています。
これは1つの方法ですので、みなさんもご自身に合った情報管理法を見つけてみてください。