エンジニア2年目が選ぶ新人に紹介したいツールとその使い方      

現場や自学自習で使っていて便利だった無料ツールを紹介します。
![1213327.jpg](https://qiita-image-store.s3.amazonaws.com/0/235933/aaee4fdc-1000-5f76-9cf3-404ca126a3a7.jpeg)

##はじめに
紹介する私がいったいどういう人間なのかというと、元々はサービス業でＰＣを使う頻度はあまりなく、デスクワークとは無縁な生活でした。そこからMOS等の資格を取得し事務職に転職したのが３年前。そして異業種からIT業界に未経験で入社したのが約2年前。最初はインフラ寄りの事を学びながらLinuxサーバに構築したC言語の業務アプリテストが中心でした。最近はjavaでWebアプリの製造とテストチームの管理や障害改修等を行えるようにもなってきました。そんな未経験から学んでいった私が、現場で使っていて、役に立ってるツールを紹介します。

##ツール紹介
ツールは全部で5つ。Windows端末で使っているツールになります。
###1.サクラエディタ
「紹介するまでもないだろ！」と言われてしまうくらいの定番ツール。プログラミングにも使える高性能なテキストエディタ。
#####・表示設定
ファイルをサクラエディタで見ると以下のように見える。カーソル位置の縦線を入れて使えばインデントを合わせるのにも使いやすい。
また、強調キーワードという機能によって言語に合わせて見やすく色付けしてくれる。対応してない言語もキーワードファイルを読み込んで追加することも出来る。
◼htmlの場合
[![Image from Gyazo](https://i.gyazo.com/2b99a99fec212cd2232c4a24fdde624c.png)](https://gyazo.com/2b99a99fec212cd2232c4a24fdde624c)
◼Javaの場合
[![Image from Gyazo](https://i.gyazo.com/2d35ead51150bddff1dbe888c86d2987.png)](https://gyazo.com/2d35ead51150bddff1dbe888c86d2987)
#####・ファイル名のコピー
ファイル名をまとめてコピーしたい時に、例のように保存階層から含めて名前をコピーできる。Excelじゃこうはいかないので、編集し易いサクラエディタを一回介してからExcel使うことが多い。
[![Image from Gyazo](https://i.gyazo.com/236f4fe976bcb166848ea96d24b64961.gif)](https://gyazo.com/236f4fe976bcb166848ea96d24b64961)

#####・編集(一部切り取り)
矩形選択を使って選択し、例のように削除が出来る。例ではAltキーを押しながらカーソル移動することで矩形(くけい)に選択している。
Excelでも文字列の切り取りは出来るが関数を使うことになる。このように感覚的に扱えて、欲しいところをすぐに切り取れる編集は何かと便利。
[![Image from Gyazo](https://i.gyazo.com/4f0830dedf0135463156e4465c99e083.gif)](https://gyazo.com/4f0830dedf0135463156e4465c99e083)

#####・正規表現
正規表現を使い、編集／検索ができる。
正規表現のチェックボックスにチェックを入れて使う。置換えを例に行うと、行の先頭にあるタブが不揃いでも正規表現でタブを0回以上の繰り返しで表現しているので数が違ってもそれぞれの列のタブをすべて削除できている。
[![Image from Gyazo](https://i.gyazo.com/74eeab1d251bae0911ac642e72bb44d1.gif)](https://gyazo.com/74eeab1d251bae0911ac642e72bb44d1)

#####・grep機能
grep機能が使える。ショートカットキーは```Ctrl+g```でダイアログを表示できる。
個人的にはこれを１番活用している。
ファイルの中から検索したい文字列を含んだファイルを一覧にして出してくれる。
更にはその一覧はリンクになっているので、クリックすれば対象ファイルの検索文字列がある位置にとんでくれる。
「ソースでこの定数使ってんのか？」みたいな調査やeclipseを使わずにサクッと調べものしたりなど使う場面も多い。
[![Image from Gyazo](https://i.gyazo.com/558ed618951bb6b9c2fb73168a718677.gif)](https://gyazo.com/558ed618951bb6b9c2fb73168a718677)

#####・マクロ
やりたい作業をマクロに記憶して実行することができる。
単純に使うなら```Shift+Ctrl+M```でマクロの記憶を開始と終了し、```Shift+Ctrl+L```で実行出来る。
下の例はhtmlで繰り返しタブを入力するのに記憶したマクロで行っている。
[![Image from Gyazo](https://i.gyazo.com/cb6a63e55720fa576c4c716724b759f2.gif)](https://gyazo.com/cb6a63e55720fa576c4c716724b759f2)
頻繁に使うようならマクロを保存しショートカットキーの設定を行って次回からそのボタンで実行することも出来る。

以上のように調査や事務作業の補助的な役割やソースの編集など多岐に渡って活用できる。

###2.WinMerge
差分比較ツール。
ファイルやフォルダ内の差分を比較できる。
使用方法はシンプルで、アプリに比較したい対象をドラッグ＆ドロップするだけである。
#####・差分比較
以下のように、比較結果で差分があるファイルにはオレンジ色が付き、どちらかのフォルダにしか存在しないファイルには、灰色がついている。
[![Image from Gyazo](https://i.gyazo.com/b44abfbca9c0abc597a52b12bd97f1ae.gif)](https://gyazo.com/b44abfbca9c0abc597a52b12bd97f1ae)
差分ファイルを開くと、詳細が表示され左右に並べられたファイルの差分箇所に色がつき、編集したファイルとの差分比較等に使える。
[![Image from Gyazo](https://i.gyazo.com/9d1e3ecc79b77cf8fded9af80929f1a4.png)](https://gyazo.com/9d1e3ecc79b77cf8fded9af80929f1a4)

#####・修正
差分比較しながらファイルをその場で修正し、更新する事も出来る。
[![Image from Gyazo](https://i.gyazo.com/c44ebd063ce02c39f342494020af0764.gif)](https://gyazo.com/c44ebd063ce02c39f342494020af0764)

#####・ファイル出力
また、レポートの生成を行なえば、ファイルに比較結果を出力できる。
[![Image from Gyazo](https://i.gyazo.com/985bdf73bee9943da0e1ba98dce60d2c.gif)](https://gyazo.com/985bdf73bee9943da0e1ba98dce60d2c)


開発においての差分比較であれば、SVNやGitHubでリビジョン間の差分を見れば良いので必要ないと思う。
WinMergeの活用場面としては、開発以外の調査やテストや事務処理などにある。例えば、業務ログにエラーが複数出ていて通常時とどこが違うのか前日ファイルと比較をしたり、テストでログの出力結果の比較をしてエビデンスに残したり、仕様書の差分を確認したりが出来る。
最後の仕様書の差分確認では本当に重宝している。プラグインを入れることで、***Word***や***Excel***の比較も出来るのだ。ドキュメント類の作成課程で、「昨日の編集箇所をこのように直して」「前回の編集に付け足して」とか修正箇所を探すのにとても便利。

###3.TeraTerm
これもサーバにアクセスする際に、使っている方は多いだろうリモート接続ツール。
クラウドサーバや仮想サーバでの構築時の操作端末。IPアドレスとパスワードやカギ認証を使ってサーバに接続できる。

####・マクロ
サーバ接続用にIPやパスワード入力不要でクリックすれば接続できるTeraTermマクロを作っておくと便利。
マクロの作り方は[こちら](https://qiita.com/shimatter/items/4d738b173e40acb5fd76)
[![Image from Gyazo](https://i.gyazo.com/07ba46bdcf2397658f699db3ab785a6d.gif)](https://gyazo.com/07ba46bdcf2397658f699db3ab785a6d)

####・設定でログ保存
設定→その他の設定→ログと進み設定すれば、操作したコマンドや出力結果をログに履歴として保存することが出来る。
[![Image from Gyazo](https://i.gyazo.com/998e0fadc60ca0b4d7886f8dd40c3e28.png)](https://gyazo.com/998e0fadc60ca0b4d7886f8dd40c3e28)

####・転送機能
デスクトップからファイル等をドラッグ＆ドロップすれば、デフォルトではサーバのログインユーザのホームディレクトリにファイルが転送できる。
[![Image from Gyazo](https://i.gyazo.com/4ae2deeb24dbdd5b12ea5bffca77a522.gif)](https://gyazo.com/4ae2deeb24dbdd5b12ea5bffca77a522)
####・マクロの活用
これは「こんな機能あるよ」という紹介だけに留めるが、マクロを使えばサーバにコマンド実行をするシェルのような使い方が出来て、サーバのログ採取やバックアップ作成などbatファイルと組み合わせて現場で使うこともある。
[![Image from Gyazo](https://i.gyazo.com/6134721a100e6664ce4a9417b0a64b1b.gif)](https://gyazo.com/6134721a100e6664ce4a9417b0a64b1b)

サーバのコンソールで操作するよりも何かと使い勝手が良いので覚えとくと便利。

###4.WinSCP
サーバとのファイル転送を安全に行うことが出来るツール。階層移動も容易に出来る。
インターフェーススタイルがコマンダーの場合は、ログインすると以下のように左に自身の端末、右にサーバが表示されている。
[![Image from Gyazo](https://i.gyazo.com/63050655bfbdd455375e174b4fb07263.png)](https://gyazo.com/63050655bfbdd455375e174b4fb07263)

####・転送
このように階層移動し、ドラッグ＆ドロップで簡単にコピーができる。
[![Image from Gyazo](https://i.gyazo.com/4f81b1794e85a1e71fdd6e490e1613f1.gif)](https://gyazo.com/4f81b1794e85a1e71fdd6e490e1613f1)
デスクトップから直接コピーすることもできる
[![Image from Gyazo](https://i.gyazo.com/c0f933b757137619015b148ad8c34ea1.gif)](https://gyazo.com/c0f933b757137619015b148ad8c34ea1)

####・削除
ファイルの削除もこのように簡単に行える。
[![Image from Gyazo](https://i.gyazo.com/058e5c0ce75b8fde5c793add82c80b72.gif)](https://gyazo.com/058e5c0ce75b8fde5c793add82c80b72)

TeraTermもファイル転送は出来るが、Windowsでファイルサーバを移動するような感覚で簡単に操作ができるので、使いやすい。
ffftpに比べ、転送速度や機能は劣るかもしれないが、私は好んで使っている。

###5.A5:SQL Mk-2
SQL開発ツールで、SQLの実行、テーブルの編集などができるツール。

####・SQLの実行
例のように実行したいSQLを選択し、```Ctrl+Enter```キーで実行
出力された結果をExcelのようにセルに対して直接編集して更新することも出来る。
[![Image from Gyazo](https://i.gyazo.com/532593f08e1289f10e25c88de64793a9.gif)](https://gyazo.com/532593f08e1289f10e25c88de64793a9)
####・Excelへの出力
出力結果をエビデンスとして保存することも出来て、テストでも便利。
[![Image from Gyazo](https://i.gyazo.com/787f5851e11999a21df1741251a0a824.gif)](https://gyazo.com/787f5851e11999a21df1741251a0a824)

####・ドキュメント作成
私は活用したことがないが、テーブル定義書やER図の作成も出来る。
以下のようにDBの情報をまとめて出力できるので、DB設計書や誰かに説明したりなど、資料の作成の手助けになるのでは。
[![Image from Gyazo](https://i.gyazo.com/5bb38d40990eff06144ae0fc24c988b0.png)](https://gyazo.com/5bb38d40990eff06144ae0fc24c988b0)

以上で紹介を終わります。
今回紹介したツールは私の説明以外にも、まだまだ活用方法があり、私もその半分も引き出せてないと思います。良い使い方があったら逆に教えて下さい。
よろしくお願いします！