概要

この記事は個人で開発したWebアプリ「EyeHelpManager」の開発に関して記述したものです。
主な内容は以下になります。

  • 開発メモ
  • 工夫点
  • 開発話

開発メモ

技術構成

Docker環境

  • node: node:16.14-slim
  • NODE_VERSION: 16.13.1

    Web_front

  • React: v17
  • styled-component:

工夫点

開発話

Docker君について探る

現在取り組んでいるバイトで開発メンバー間の環境の違いによるエラーが続出したので、Dockerで環境を作ろうと思ったのですが、ふとDockerのイメージは何を採用すればいいのか悩みました。調べてみると、Dockerは頻繁にbuildする場合があり、できるだけimageサイズが小さい必要がある模様。よく技術記事で見かけるのはnodeの場合alphinが使われていたが、最近のだとslimが良いらしい(2022/2)。理由としては、alphinはimageサイズは小さいが、必要なパッケージが足りない場合がままあるらしく、極限まで削る必要がある、または動作検証が十分にできない場合はslimの仕様が無難らしい。

tty (typo test yoroshiku <= 違う)

docker-composeのオプションで見つけたもの。由来はUNIX系のコマンドらしい。sshとかした時の仮想端末のデバイス名を調べるときに使用する。という背景を記憶のためのキーにしつつ、Dockerではこの仮想端末を配置するコマンドを実行させる(tty=true)ことでフォアグラウンドで動くプログラムを永続化させてる。

docker-run -it

オプションのitってiとt別物だったんですね。tは上記のttyを指していて、こちらは仮想端末を割り当てることで、コンテナの標準出力をホストの出力につなげている。一方、iオプションinteractiveの略で、ホストの入力をコンテナの標準出力につなげる。

改行コードとGit for Windows君

GitHubからpullすると、Expected linebreaks to be 'LF' but found 'CRLF'.というエラーが発生しました。今までVSCodeでCRLFとLFという文字が右下に表示されているのを何度も見ましたが、ついに何かを知る時が来たようです。これはUNIXとWindowsにおける改行コードの違いの様です。GitHubからpullもしくはpushした時に、改行コードをよしなに変換してくれるようです。(eslintの設定でここに最初躓きました。)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です