技術初心者の私が業務中に得た、仕事の効率化の方法の話

はじめに

こんにちは、2019年度の新入社員の佐々木です。

WEBサービス開発グループに所属しており、3カ月間のOJTを行っていました。業務では自社サービスの改修として、AWSなどインフラ周りの構築のお手伝いを主にやっており、現在はライブラリの1つであるReactを勉強中です。

私自身、「WEBエンジニア」として実務を経験し、入社前と現在を比較してさまざまな変化や学びなどがありました。

特に、実務ではスピードが求められるため、「仕事の効率化」について考えることが多く、業務について調べながらも、技術初心者ながらさまざまな業務上の便利機能をこの期間に学びました。

仕事の効率を高めるための工夫は、どの場面でも活用できるものだと思います。

そこで今回は、業務中に私が得た「仕事の効率化の方法」を一例として紹介します。

エディタについて

Vim

Vimとは

Vimとはテキストエディタの内の1つで、コマンドを使用して高速で編集ができるものです。また、「移動用モード」・「編集用モード」といったさまざまなモードが用意されています。

メリット

以下の三つのコマンドで、エディタ上で素早く「起動、編集、保存」が可能です。

デメリット

  • コマンドが大量にあるため、慣れが必要になる。
  • 「インデントの整形」や「機能ごとに色付けする」には適さない。
    • コードそのものを書く用途には向かない。

まとめ

覚えるべきコマンドが大量にあり、またほかのエディタと比べると見づらいのが難点です。よって用途としては簡単な編集向きで、本格的なコーディングには向かないと感じました。

 

Atom

Atomとは

オープンソースのテキストエディタの1つで、タブでテキストを管理できるのが特徴です。

メリット

  • ファイルを簡単にディレクトリ階層で確認できる。
  • 容易にインデント管理が行える。
  • 便利なマルチカーソル機能がある。
    • 「Ctrl + マウスクリック」で以下のように複数ケ所を一度に編集できます。

デメリット

  • 動作が重い。

まとめ

  • インデントを揃えるのにはとても便利なエディタなので、普段はコマンドのメモ用として使用しています。

 

Visual Studio Code (VSCode)

VSCodeとは

  • Microsoftが提供しているオープンソースのテキストエディタの一つで、拡張機能などが豊富なカスタマイズ性の高いエディタです。

メリット

  • カスタマイズ性が高い。
  • 差分の比較ができる。

デメリット

  • 設定すべき拡張機能が多い。

まとめ

  • ニフティ社内でも使用率が高い便利なエディタです。
  • 特に差分表示がとても便利なので、以下でそれについて紹介します。

 

VSCodeの便利機能

よく使ったショートカットキー

  • Ctrl + N
    • 新しいタブを開きます。
  • Ctrl + Shift + P
    • コマンドパレットを開きます。

 

差分で比較

開発で欠かせないのが差分の比較です。

既存のコードを参考にする際、必要な部分はどこなのか、どこが抜け落ちているのかが、地道に探すのは大変です。

解決する方法を模索していた所、トレーナーの方から「diffコマンドで差分を取る」というアドバイスをいただき、その後のコーディングの作業効率が上がったという事がありました。

とても便利な機能なため、その後自分の中でいくつか試したものをを紹介します。

 

Vimでのdiffコマンド

コマンド上で比較するファイル名を指定します。

このように分割して表示されます。

 

 

このままVim上での編集もできますが、私はVimの操作がやりづらく感じたので、以下のVSCodeを主に使っています。

 

VSCodeでの差分表示

エディタを開いた状態で、エクスプローラーから比較したいファイルを「右クリック」→「選択項目の比較」をクリック。

次のような画面が出ます。

 

2画面を比較しながら差分を表示してくれます。

差分を見ることで、同じようなファイルがある場合、「半角が全角になっていた」や「1行抜け落ちていた」などのミスにすぐに気付くことができます。

私自身、コードの簡単な抜け落ちを探す作業に時間を割いていたため、これを知ってからはコード書く時の作業スピードが大きく改善しました。

ほかにもVSCodeにはさまざまな機能があるので、皆さんぜひ試してみてください。

 

 

CLI上のコマンドについて

CLI上でサーバー間の移動や、バッチファイルの操作などを行った際に、実務で使って便利に感じたCLI上のコマンドについても紹介します。

 

コマンドの履歴を見る

以下の二つの方法を使いました。

方法1: history | grep ~

パイプライン処理を使って、grepで文字列を検索する方法です。

 

 

方法2:Ctrl + R

Ctrl + Rで文字列を直接入力することで履歴を検索できます。再度Ctrl + Rを入力することで、その単語が含まれている履歴を辿ることができます。

 

どちらが良いか

検索すべき単語が決まっている場合は、Ctrl + Rの方が便利だと感じました。

また、目的のコマンドがすぐに見つかる場合は「↑」で検索すると早いので、目的によって使い分けます。

 

 

検索 find

findコマンドで検索を行います。こちらも良く使っていました。

目的のファイルがディレクトリ上のどこにあるのか分からないときや、また存在しているか分からないときは、一度ルートに戻ってから検索を行うと便利だと感じました。

そこでcdコマンドを組み合わせます。

 

 

当初cdコマンドやlsコマンドで探していたのに比べ、ルートから辿れるようになったので作業効率がアップしました。

ただし、本番サーバーを触る際は、「&&」で繋げて実行するのは注意が必要です。使用目的によってはコマンドを間違えて打った際に切り戻しができなくなる可能性があるからです。

 

 

まとめ

今回は、実際の業務を通して学んだ、作業の効率化の一部について紹介しました。

これらは、すべて初めて社会人として実務の経験を通して学んだことです。

新人としてまだまだ、分からない部分も多いですが、このような作業の効率化を常に念頭に置いて業務に取り組むのは、エンジニアとして非常に大切なことだと思います。

また、私が入社時と比べて一番成長できたと感じたことは、エンジニアとしての視野が広がったことです。
実務を通して幅広い技術に触れることで、見えて来なかった部分やエンジニアとしての考え方の基礎ができたと感じています。

WEBサービスを作る社員の一員として、今後も開発業務を頑張っていきたいです。