Works

中小企業診断士がつくったアプリの作品集

技術スタック

どの技術を軸に作り、どこまで広げてきたか

この作品集の 件のうち 件は、。動かす場所は 、AI・外部サービスは を使った作品が、それぞれいちばん多い。

そのほかの技術は、作品ごとに選んできた。使った技術は全部で 種類あり、 つの役割にまたがる。内訳は、 種類。

数字と技術名は、どれも作品の台帳(作品ごとの情報をまとめたファイル)から、ページを開くたびに数えている。数え方と、数えきれなかったものは、第 06〜08 節にまとめた。

01 いちばん使っているもの

技術ごとに、何件の作品で使ったかを、役割に分けて並べた。役割とは、言語・土台・データの置き場のように、その技術が受け持つ仕事のこと。棒の長さは、どれも作品の総数を 100% にしてある。だから役割が違っても、長さをそのまま比べられる。役割ごとに、いちばん件数の多い技術に色を付けた(同じ件数で並んだときは、全部に色が付く)。

同じ技術が台帳の複数の欄に書かれていても、1 つの作品では 1 回と数える。役割によって、上の数本に件数が集まるものと、横並びになるものがある。どちらなのかは、次の図でまとめて見られる。

上と同じ件数を、役割ごとにまとめ直した。1 つの技術に決めている役割か、作品ごとに選び分けている役割かが、この図で見分けられる。上の図とは、割る数だけが違う。上の棒は作品の総数で割っている。この図は、その役割の技術を台帳から読み取れた作品の数で割る。読み取れなかった作品まで分母に入れると、書いていないだけの作品を「使っていない」と数えてしまう。

    帯の長さは、その役割でいちばん多い技術が、分母の何割を占めるかを表す。「◯ 種類」は、その役割で使った技術が何種類あるか。帯が短く、種類が多い役割ほど、作品ごとに違う技術を選び分けている。

    02 いつもの組み合わせと、そこから外れた作品

    横によく使う技術を件数の多い順に 個、縦に作品を並べた。印の付いたマスは、その作品がその技術を使ったことを表す。上から下まで埋まった列は、どの作品でも使う技術。空きの多い行は、いつもの組み合わせから外れた作品。右端の「計」は、その作品がこの 個のうち、いくつを使っているか。

    計が少ない行ほど、いつもの組み合わせから外れた作品。どれが外れているかは、次の図の下に、台帳から数えて並べた。

    上の表の右端の「計」だけを取り出し、同じ値の作品が何件あるかを数えた。横が「計」の値、棒の高さがその件数。1 つの作品が、よく使う技術をいくつ使っているかの分布になる。どの作品も必ずどれか 1 本に入るので、棒の件数を全部足すと作品の総数になる。

    棒がいちばん高いところが、この作品集の「ふつうの作り」だ。左端は、よく使う技術を 1 つも使っていない作品の件数。右端は、表に並べた技術をすべて使った作品の件数。

      03 いつも一緒に使うもの

      よく使う 個の技術を 2 つずつ組にして、両方を使った作品が何件あるかを数えた。前の節の「いつもの組み合わせ」を、作品ごとではなく、技術の組ごとに見直したことになる。左上から右下へ斜めに並ぶ、色の付いた数字だけは組ではない。行と列が同じ技術のマスで、その技術を使った作品の件数だ(その技術だけを使った作品の数ではない)。

      行と列が交わるマスの数字が、その 2 つを両方使った作品の件数色の濃さでは量を表していない。数字の上に濃淡まで重ねると、読む人は数字より先に「濃い=多い」と受け取ってしまう。両方を使った作品が 1 件も無い組には、 を置いた。

        04 いつ、何を使いはじめたか

        棒は、作品を作りはじめた月ごとの件数。その下に、その月に初めて出てきた技術を並べた。「初めて」は、その技術を使っている作品のうち、いちばん早く作りはじめた作品の月を指す。作りはじめたあとで乗り換えた技術は、乗り換えた月ではなく、作品を作りはじめた月に入る(この取りこぼしは第 07 節にも挙げた)。

        右端の「未」と書いた斜線の棒は、作りはじめた月を台帳に書いていない作品月の並びとは別物なので、ほかの棒とは高さを比べない。月が分からない作品も、黙って外さずに 1 本立てて、その数を見せている。

          05 分野と、動かし方の組み合わせ

          作品を分野ごとに分け、公開して動いているものと、手元で起動するものの件数を数えた。技術そのものではなく、何の分野の道具を作ってきたかを見る表で、ほかの図と違って技術の欄は使っていない。

          行ごとに、公開して動くものと、手元で動かすものの分かれ方が分かる。どの分野に手を広げてきたかと、そのうちどれを人に渡せる形まで仕上げたかが、この表 1 つで同時に見える。まだ公開していないだけのものも、手元の列に入っている。

          06 何を数えたか

          台帳は、作品ごとに埋まっている欄が違う。使った言語を書いていない作品もあれば、コミット数(変更を記録した回数)を測れない作品もある。そこで割合を出すときは、その欄を書いてある作品の数で割る。作品の総数で割ると、書いていないだけの作品まで「使っていない」と数えてしまう。

            どの帯も、端まで伸びきった長さが作品 件にあたる。斜線の部分は、その欄を台帳に書いていない作品。斜線を除いた色の部分で割るのは、第 01 節の 2 枚目の図だけ(その図では、帯の横に「使った件数 / 分母」を並べてある)。それ以外の図は、断りが無ければ作品の総数で割る。どちらで割ったかは、図ごとに書いた。

            07 数えられなかったもの・測り間違い

            上の図が何を数えていないかを、数字で示す。このページは、台帳の欄に書かれた文から、あらかじめ用意した技術名の一覧に載っている名前を探して数えている。この一覧を別名表と呼ぶ(「Tailwind CSS v4」も「Tailwind CSS」も同じ技術として数えるための、名前の対応表)。だから、表に無い書き方は拾えないし、台帳に書いていないものはそもそも数えられない。その取りこぼしは消さずに、この節に全部並べる。

            全作品の技術の欄を合わせた 個の内訳。斜線は、読んだが別名表に当たらず数えられなかったもの。破線は、台帳に「なし」と書いてある欄(もともと使っていないもの)。集計するとどちらも 0 に見えるので、印を分けた。斜線の帯が伸びたぶん、上の図は数え落としている

              別名表に無い書き方だった 個を、1 つも省かずに並べる。台帳に書かれていた文と、それがどの作品のどの欄かを、そのまま出している。

                08 出典と数え方

                使ったのは、作品台帳(works.js)の 4 つの欄だけ。技術(spec。フレームワーク・言語・データベース・動かす場所など)・動かし方(runtime)・分野(category)・稼働期間(period)。外から持ってきた数字は 1 つも無い。

                  ここの件数や割合は、すべて自分で書いた作品台帳から、ページを開くたびに機械で数え直している。台帳が変われば、誰も書き直さなくても、このページの数字も変わる。何をどう数えたかは、上の手順を順に追えば確かめられる。

                  数えられなかった値は、第 07 節にそのまま載せた。都合の悪いものも隠していない。

                  c:\work 作品紹介ギャラリー