kstm Advent Calendar

はじめに

この記事は信州大学のものづくりサークル「kstm」の アドベントカレンダー1日目の投稿です。 qiita.com

TL;DR

  • プログラマの三大美徳
  • 繰り返し同じ流れでコマンドを打つのであればShellScriptを書きましょう。
  • 複雑なことをするならPerlを利用するのも手。
    • 大抵のLinux環境にはデフォルトでPerl5がインストールされている。

ご挨拶

この記事を書くために久しぶりに自分のはてなブログを見ました。 この一つ前の記事を見ると、昨年書いたAdventCalenderが目に付きます。 つまり、1年ぶりにブログを書くことになりますね。 昨年まではYAPCに参加することで定期的にブログを書く機会もあったのですが、 今年はコロナ禍で様々なイベントの中止。記事を書く機会が減ってしまいました。

...。言い訳ですね。ちゃんとアウトプットします。 アウトプットとすることで自分の頭の中を整理することができますし、 他の人からの意見もいただけますからね。

本題

このAdventCalenderでは、サークルのメンバーが主に技術的な内容を共有していきます。 はじめの人はできるだけハードルを下げて、次からの人にどんどん書いてもらうのがお仕事かなと思っています。

というわけで私の書く内容はさほど難しくなく、どちらかというと考え方に近い内容です。

プログラマの三大美徳

さて、私たち「kstm」はプログラマの集団であるといえます。もしくはこれからプログラマになろうとしています。 ですので、プログラマの三大美徳について知っておいて欲しいと思っています。 「プログラマの三大美徳」といえば、「怠惰」「短気」「傲慢」です。 つい最近書かれたプログラマの三大美徳についての記事を貼っておくのでぜひ読んでみて下さい。 (この記事を読んだからこの段落を書いたと言っても過言ではない。) blog.magnolia.tech

開発を楽にするために

プログラマの三大美徳ではコードを書く上での姿勢を示していました。 ですが、プログラマはあらゆるところで「怠惰」になるべきであると思います。 繰り返しの作業はできるだけ、行わない方が良いでしょう。 と言っても何からすれば良いか分かりません。まずは小さなことから始めます。

例えば、私は開発をする時、Dockerfileに開発環境を書いてコンテナで作業します。 新しくアプリケーションを入れたり、設定を変更する場合、

  1. Dockerfileに記述する。
  2. ImageをBuildする。
  3. Imageからコンテナを作成。
  4. コンテナに入る。

という手順を踏みます。しかしこのコマンドを毎回打つのは面倒臭いです。 そこで、このコマンドをshellscriptに書いて1コマンドで済むようにします。

#!/bin/bash

TAG=$1;
export tag=$TAG
docker build -t $TAG app/.
IMAGE=`docker images | perl -wnale '/$ENV{tag}/ and print $F[2]'`
docker run --rm -it $IMAGE /bin/bash

これで1 ~ 4のコマンドを1コマンドにすることができました。

  • shellscriptの中でperlワンライナーを使用していますが、多分使わなくてもできます。分からなかったのでできる方法を取りました。
  • 大抵のLinux環境にはデフォルトでPerl5がインストールされているので安心して使えます。

最後に

技術的な内容は薄い記事とはなってしまいましたが、プログラマとしてあまり言われないことであったり、指摘されにくいところかなと思います。 今後の開発に少しでも役に立てばと思います。

参考文献

blog.magnolia.tech

qiita.com