メニューを閉じる

テクノデジタルグループ

メニューを開く

2024.12.25

すべて

学生時代に勉強しておけばよかったこと #2

初めまして、新卒2年目のTTです!(イニシャルではなくニックネームです!)

 

以前、こちら(学生時代に勉強しておけばよかったこと)のブログを投稿しました。

この度、10ヵ月ぶりに採用ブログを書く機会をいただいたので、勝手にシリーズ化しようと思います。

 

選定基準は「仕事に役立つこと(圧倒的主観)」です。

もしかしたら、実務に近いことを勉強しているという点で就活でアピールできるカモ…!しれませんね(笑)

1. シェルスクリプト or インタプリタ言語

一つ目からなにやらふんわりとした表現になってしまいましたが、

要するに「実行が簡単な言語」ということです。

 

私自身、一年目はプログラマー・テスターとして仕事をしていましたが、

現在はインフラ周りの仕事をしています。

 (AWSにサーバーを立てたり、データベース(以下DB)を作ったり、ネットワークを構築したり)

 

そのような仕事をしていると

 ・DB操作(DBへの接続・SQLの実行)
 ・API打鍵(cURL実行等)
 ・テストデータの作成

といった作業が頻繁に発生します。

 

このようなときに、毎回手作業で作業しているとそれだけで業務時間が終わってしまうので、

サクッとスクリプトを書いて自動化できるとすごい嬉しいです。

 

こんなシチュエーションにマッチした言語の要件は

 ・コンパイルが不要であること
 ・実行環境の用意が簡単なこと

ざっくり言うとこんなところで、具体的な言語は下記などでしょうか?

 (実はこの話って結構色んなところで話されているのでうかつに断言するのが怖いです💦)

 ・シェルスクリプト
 ・Python / Ruby / Perl
 ・Go (go runでインタプリタ言語のように動く)

 

シェルスクリプトならパッケージのインストールすら不要で、

サーバーを触るときの操作そのままに書けますし、そもそも記述量も少ないです。

プログラミング言語なら構文やエラー等がしっかりしているので、

再利用できるものが作りやすかったり、後に引き継ぐ資産にしやすいなどのメリットがありますよね。

 

あくまで、「ちょっとした作業を自動化したい」が目標なので、この言語が最強!みたいな正解はないですし、

そもそも絶対覚えないといけないものでもないですが、

「めちゃくちゃ仕事の早い輩が実はそういうスクリプトをめっちゃ用意していた」という

私の実体験に基づく話なので、覚えて損はないと思います!

 

もちろんアプリが作れるのが一番大事だとは思いますが、

こういう細かい部分でも作業効率に差がつくんだなと感じています。

 

2. Docker

二つ目はDockerです。

いわゆるコンテナ型仮想環境というやつですが、何やら難しいですよね(笑)

 

私自身も最初は「これは何が嬉しいんだ?」と思ってましたが、こんな風に理解しました。

 

  1. ソースコードはファイルをそのまま他の人に渡せば作業できる
  2. ソースコードは渡せたけど、その実行環境が無ければアプリは動かないし、環境依存でバグが起こるかもしれない
  3. Dockerで実行環境もコード化して人に渡せるようにしちゃおう!

 

もちろんDockerのメリットはこれだけではないですが、

自分の理解をざっくり言語化するとこのような感じです。

Dockerはアプリの実行環境(Python・Java・Node.js・Go等々)を用意できますが、

DBやCacheなんかも用意できちゃいます。

ローカル環境とは隔絶された領域で動くので、PCが汚れるみたいなことも起こりません!

すごく嬉しいです!

 

Dockerなどのコンテナ型仮想環境は、Web開発ではもはや使わない案件はないレベルで普及しているので、

絶対覚えた方が良いですね!

 

最後に…

今回のご紹介は以上です!

以前ご紹介した内容は

 ・Git
 ・サーバーへのデプロイ経験

こちらの内容です!

今回の内容とあわせて身に着けておくと、業務が早く進むと思うので、余裕があれば挑戦してみてください!

 

ではまた~~~

最近の記事