taisablog

taisa's engineer blog

「 月別アーカイブ:2020年07月 」 一覧

no image

2020年半年の振り返り

2020/07/14   -未分類

2020年も半年が過ぎたので年初に立てた抱負を簡単に振り返ってみます。 2020年の抱負 2020年の抱負 Golang(◯)業務でやれたのでVueJS(△)業務で少しやれたのでReact(✕)Pending(やりたいけど)TypeScript(△)読書会で少しずつ進めてるのでAWS(◯)業務でやれたのでPython (Flask)(◯)大分理解できたので執筆(◯)遅れつつも着実に進められているのでブログ継続(△)執筆に時間をさいているので少なめなので現時点でこの記事含めると8記事なので6記事Delay会社のDeveloperブログが立ち上げられたのでよかった 中長期的な話 楽しく仕事をする 良いプロダクト(◯)良いメンバー(◯)良い技術スタック(◯) これは今の所継続できていますが、年初に採用もやることになってエンジニア採用ができなかったのは反省点。これまでがっつりやることなかったので良い経験にはなりました。 生活面 腕立て・スクワット・プランク(◯)ランニング(✕)後半もリモートが続きそうなので厳しそう家で飲みすぎない(◯)家でタバコをなるべく吸わない(✕)後半もリモートが続きそうなので厳しそう 会社で週1で走ってましたが、フルリモートになったのでランニングはできなくなりタバコ(IQUOS)の量は増えました。筋トレはやり方を変えつつも継続できています。 まとめ Goを書きつつインフラ周りの作業をすることも多くなってきて、これまでやりたくてもできなかったところでもあるのでだいぶ楽しくなってきました。執筆もあと一息なのでなんとか予定通りに仕上げて年内には完成させたい。

no image

docker-composeでGoのWebサーバーを起動する

2020/07/12   -Go

ミニマムにやっておかないと忘れがちなのでメモ サンプル用Goサーバを作成する package main import ( “encoding/json” “net/http” ) type User struct { FirstName string `json:”firstName”` LastName string `json:”lastName”` } func users(w http.ResponseWriter, req *http.Request) { w.Header().Set(“Content-Type”, “application/json”) user := User{ FirstName: “John”, LastName: “Doe”, } var users []User users = append(users, user) json.NewEncoder(w).Encode(users) } func main() { http.HandleFunc(“/users”, users) http.ListenAndServe(“:8002”, nil) } 普通に起動して動作確認をします。 $ go run main.go http://localhost:8002/usersにアクセスするとJSON結果が出力されます。 [ { “firstName”: “John”, “lastName”: “Doe” } ] Dockerfile FROM golang:1.14 #FROM golang:1.14-alpine # コンテナログイン時のディレクトリ指定 WORKDIR /opt/sandbox-docker-compose-go # ホストのファイルをコンテナの作業ディレクトリにコピー COPY . . # ADD . . # ビルド RUN go build -o app main.go # 起動 CMD [“/opt/sandbox-docker-compose-go/app”] docker-compose.ymlファイル version: ‘3’ …

no image

DockerでGoのWebサーバーを起動する

2020/07/12   -Go

ミニマムにやっておかないと忘れがちなのでメモ サンプル用Goサーバを作成する package main import ( “encoding/json” “net/http” ) type User struct { FirstName string `json:”firstName”` LastName string `json:”lastName”` } func users(w http.ResponseWriter, req *http.Request) { w.Header().Set(“Content-Type”, “application/json”) user := User{ FirstName: “John”, LastName: “Doe”, } var users []User users = append(users, user) json.NewEncoder(w).Encode(users) } func main() { http.HandleFunc(“/users”, users) http.ListenAndServe(“:8002”, nil) } 普通に起動して動作確認をします。 $ go run main.go http://localhost:8002/usersにアクセスするとJSON結果が出力されます。 [ { “firstName”: “John”, “lastName”: “Doe” } ] Dockerfile Dockerfileを作成します。alpineをつけるとよりミニマムなイメージができます。参考(https://hub.docker.com/_/golang?tab=description) FROM golang:1.14 #FROM golang:1.14-alpine # コンテナログイン時のディレクトリ指定 WORKDIR /opt/sandbox-docker-go # ホストのファイルをコンテナの作業ディレクトリにコピー COPY . . # ADD . . # ビルド RUN go build -o app main.go # 起動 CMD [“/opt/sandbox-docker-go/app”] 構成 $ …