> For the complete documentation index, see [llms.txt](https://mml.gitbook.io/mml/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mml.gitbook.io/mml/programming/system-abstract.md).

# プログラミング（概要）

個人で継続的に開発可能な最小構成でカスタマイズ可能な環境を目指す。

今回の構成は

1. あまりお金がない
2. プログラミング以外にも勉強したいことが山ほどある

という一介の大学院生のときに、費用と時間に関するコストパフォーマンスが最もよくなるよう考案したものである。使う言語としては

1. 学習コストが低い言語
2. 強い静的型付けによってコンパイル時にエラーを検出してくれる堅牢な言語

の条件を満たす Elm と golang をそれぞれフロントエンドとサーバーサイドの開発言語に厳選し、ミドルウェアには MySQL, Redis, nginx といったオーソドックスなコンポーネントを配置した。SSL証明書に Let's Encrypt のものを用いていることを除けば小規模な商用サービスと比較しても遜色ない構成となっている。

ここで紹介する構成はWebサービスに必要な機能をほとんど備えている。
