夢のかけら

Goエンジニアの技術ブログ

2021-10-01から1ヶ月間の記事一覧

【Docker】Go 1.17 + Air で環境構築

Dockerfileを書く FROM golang:1.17-alpine RUN mkdir /go/src/app WORKDIR /go/src/app RUN go install github.com/cosmtrek/air@v1.27.3 COPY . . EXPOSE 8080 CMD "sh" "-c" "go mod tidy && air -c .air.toml" キャッシュを使ってビルドを高速化するため…

【Goland】外部パッケージをimportする時にエディタ上でエラーになる時の対処法

問題 go.modを作る。 $ go mod init main.goにimport "github/hoge/huga"を書く。 $ go mod tidy という手順でパッケージをインストールした。しかしmain.goではimportのところでエディターがエラーを吐いている。 エディターがパッケージを見つけられていな…

【Golang】go get とgo installの違い

go.mod go getをすると中身が変わる。自分で触るファイルではない。 go get このコマンドはgo.modを書き換えてソースコードのダウンロード、ビルド、インストールを行う。 環境変数GOMODCACHEで指定されているディレクトリにダウンロードされる。 コマンドの…

docker-composeでコンテナへの通信が届かない時の対処法

問題 docker-compose.ymlにポート番号を書いているのに、$ docker-compose run --rm container_name shでコンテナの中に入ってサーバを立てても http://localhost:3000/へアクセスできない。 ports: - "3000:3000" 原因 docker-compose runは--service-ports…

WebStormで保存時にPrettierが効かない時の対処法

原因 nodeのバージョンがおかしいから。 自分は2つのプロジェクトを担当している。1つはnodeのバージョンが古いアプリケーション。もう1つはnode16をDockerに入れている新しいアプリケーションだ。 コーディング中にESLintを使いたいのでnode_modulesはコン…

npm installとnpm ciの違い

npm install npmi iはpackage.jsonを見てライブラリをインストールする。pacakge.jsonのバージョン指定には幅があるため、npm iする時期によってはpackage.json.lockを書き換えてしまう。 つまり完全に同じ開発環境を再現できない(可能性がある)。これはnpm …

【Docker】Next.js + TypeScriptの環境構築

試行錯誤して0からDockerfileを書いた記録です。 まず適当にDockerfileを書く。 FROM node:16-alpine WORKDIR /app ビルドしてコンテナに入る。 $ docker build . $ docker run --rm -it -p 3000:3000 a5e52242bb4f sh コンテナの中でサーバーを立てる /app …

Dockerの備忘録

コンテナの中に入るときは -v オプションでhostのファイルシステムと同期する $ docker run -it --rm -v (ホストの絶対パス):(コンテナの絶対パス) -p 3000:3000 <イメージ名> shでコンテナの中に入る Dockerfileは1つのプロジェクトに1つだとは限らない。い…

Goに入門したので備忘録を書く

パッケージ 同じパッケージに属するなら、そのパッケージ内で変数や関数を参照できる。 つまりパッケージとは1つのファイルを複数に分割する仕組み。 文字列 Goの文字列はかなり特殊なので挙動に注意する。 イミュータブル。 値型なのに関数の引数に渡しても…