emahiro/b.log

Drastically Repeat Yourself !!!!

2020-01-01から1年間の記事一覧

2020 年の振り返り

振り返りの最後です。 Overview 2020 やったこと 転職 引っ越し 在宅勤務 仕事忙しい 遠出しなかった 2020年やったこと - 番外編 キャッシュフローが改善した 投資継続した 運動継続した 自炊継続した 2021年どうする? Overview 30代に突入してしまった今年…

2020年買ったものたち

振り返り記事第3弾です。 もうそろそろネタ切れなので明日は多分お休みします。 Overview 2020年買って良かったと思ったものを振り返ります。 今年はなんといっても Covid-19 の影響で原則在宅勤務になった1年だったので在宅ワークの設備を整えるための物が…

半年間テックリードをしてみての振り返り

年末なので振り返り記事2段目です。 Overview 今回は現職で今年の7月から半年間テックリードをやってみての振り返りをしてみたいと思います。 前提 僕について キャリアの中でリードという立場でチームを作ることになったのは初めて。 Covid-19 の影響で初め…

テストを書くことについて個人的な考え

年末というのもあって色々振り返り記事を書いていきます。 一応他にもエントリを用意してますが、これで終わるかもしれません笑 振り返りも兼ねて思考を吐き出してるので、若干文章が拙いかもしれないのはご容赦ください。 Overview TL;DR テストを書いた方…

Elastic Container Registory に Image をアップロードする

Overview Lambda on Container を試す際に Elastic Container Registory (以下 ECR) にコンテナイメージをアップロードする必要がありました。 このエントリではその ECR に Docker イメージをアップロードする方法について記載します。 以下に書かれてる内…

Go で unused なコードを検出する

go

Overview staticcheck を使って unused なコードを一括で検査します。 Install $ go get honnef.co/go/tools/cmd/staticcheck ref: https://staticcheck.io/docs 検出する U1000 がどこからも参照されていないコードの警告コードになるので、検査結果を grep…

AWS Lambda 向けに trace 付き Logger を作った

Overview 業務で AWS Lambda を使用してとある実装をしたのでその紹介です。 久しぶりに業務でOSS作りました。https://t.co/5fNBhiRsle— ema (@ema_hiro) 2020年11月19日 github.com なぜ作ったのか? Lambda 上でログを吐くとデフォルトで Cloud Watch Logs…

Firestore が絡んだテストで事前にデータを生成し終わったら削除する

Overview テストを書くときにテストの実行前にデータを作成し、終わったら削除したくなる時がありますね?僕はあります。 Firestore が絡んだテストを書くときに Firestore Emulator を起動した状態で実際にデータを作成して、終わったら削除する場合の実装…

Eureka Advent Calendar 2020 に投稿しました。

所属してる企業のアドベントカレンダーに記事を投稿しました。 Lambda にガッツリ触れた際の振り返りについて書いています。 興味がありましたら是非ご一読ください。 medium.com

MOKUMOKU ONSEN #3 に行ってきました

Overview 定期的に行っている開発合宿に行ってきたログです。 行き先 今回は函館です。 GoTo キャンペーンを使ったので、普段なら考えられないリゾートホテルに宿泊できました。 www.hotespa.net 進捗 ずっっっっっと停滞していたアウトプットをやってました…

Github Actions のビルドマトリックスを使う

Overview Github Actions のビルドマトリックスを使って複数の Go のバージョンでテストを行う方法について記載します。 ビルドマトリックスとは? Github Actions のドキュメントに書いてあります。 docs.github.com strategy.matrix を指定すると matrix …

VSCode の Explorer でファイルやディレクトリを非表示にする

Overview タイトルの通りです。 node_modules などのディレクトリがあると一度開くだけで Explorer がとても広がってしまうのが鬱陶しなくなってしまったので非表示にすることにしました。 手順 Setting.json に以下を追加するだけです。 "files.exclude": {…

A little copying is better than a little dependency について考えてみる

これはたまに書いてる自分自身の思考の dump の一つです。 思考を吐き出してるだけなので、所々話が飛んでるかもしれないですがご愛嬌で。 サマリ そもそも依存が嫌われるわけ 意味が違うコピペ 依存先の継続的な更新がある場合にのみ依存する 結局大事なの…

プライベートリポジトリを go get する

Overview go get でプライベートリポジトリを fetch するのに、コケてその調査で時間を溶かすことが何度か重なったので対応方法について記載します。 またプライベートリポジトリに依存してるプロジェクトで Github Actions を回すときもプライベートリポジ…

python のバージョン起因で gcloud コマンドの実行に失敗する

GCP

Overview タイトルの通りです。 gcloud components update したら python のバージョン違いで gcloud コマンドが動かなくなったのでその解決方法について記載します。 エラーの内容 Traceback (most recent call last): File "/Users/$UserName/google-cloud…

Firestore の Go SDK でドキュメントを操作する

Overview Firestore の基本的な操作 取得 Get GetAll 追記 Save 更新 firestore.FieldPath Transaction Overview firestore でドキュメントを操作するベースとなる方法を記載します。 ※ Go の実装で書いてます。 ref: https://godoc.org/cloud.google.com/go…

指定したディレクトリを goimports の対象から外す

go

import 順を自動で sort するときに、goimports の対象から外したいディレクトリがあるときに $GOPATH/src/.goimportsignore を設定するといいらしいけど、リポジトリごとのディレクトリ分けに依存したり、個人の開発環境に依存するかなーと思ったで、なんと…

MySQL Driver で time.Time 型をパースする

go

以下のような Struct を考える。 type User struct { ID int64 Name String CreatedAt time.Time UpdatedAt time.Time } time.Time の時刻型をもつフィールドがある時、MySQL の時刻型のカラムをそのまま Scan しようとすると以下のエラーが出る。 sql: Scan…

久しぶりに sqlx を使ったら色々忘れてた

Overview すごい久しぶりに sqlx を使ったら色々忘れてたので備忘録です。 github.com driver は blank import しておかないといけない driver の種類は下記を参照 https://github.com/golang/go/wiki/SQLDrivers 例えば MySQL を Driver として選択したい場…

ghq を使い始める

git

Overview Install ghq ghq.root ディレクトリの設定 alias の設定 まとめ See Also Overview 特に避けていたわけではないですが、これ!っていうメリットが特に感じていなかったので ghq を使っていなかったのですが、ふと思い立って使い始めたのでその記録…

VSCode で GitHub と連携する

vscode-github Overview GitHub for VSCode GitHub Pull Requests and Issues VSCode から Issue を作成する VSCode から Pull Request を作成する GitHub Theme まとめ Overview local 環境で VSCode で作業することがほぼベースになってきたので、VSCode …

VSCode の Column Select Mode を Off にする

サマリ タイトルの通りです。 いつからか、VSCode でマウスを使って範囲選択を行うときに選択された範囲が Column Select Mode の状態になってしまってました。 意図してそうしていたならともかく意図せずに On になっていたので VSCode が急に使いづらくな…

Local での DynamoDB の動作確認方法

サマリ DynamoDB を使った機能を Local で動作確認したいケースでは以下の2つのツールが使えそう。 DynamoDB Local ddbcli DynamoDB Local ブラウザでGUIとして操作できる。 Docker image があるので落としてくればそのまま使える。 hub.docker.com ddbcli …

進捗を無にする方法

git

あれこれコードを書いてて、結局その差分が全然意味をなさなくて、自分の差分を無に返したい時がありますね。 僕はあります。 そんな時は $ git checkout . // or $ git restore . を使います。 これで自分の進捗を無にすることできます。 間違っても実装途…

VSCode で Go の自動補完に gopls + TabNine を使ってみる

Summary qiita.com 上記のエントリを読んで試しに、VSCode + TabNine の組み合わせをセットアップしたら gopls を使っているにも関わらず、Go の自動補完が爆速になって開発者体験がめちゃくちゃ向上したのでその手順を記載しています。 と言うのも、元々 In…

VSCodeでMySQLを使用するためのプラグイン

Overview VSCode で MySQL を使うときのプラグインについて記載します。 主に達成したいことは以下です。 クエリの自動補完 インストールしたプラグイン 以下の2つのうちどちらかを入れておけば問題なさそうです。 marketplace.visualstudio.com marketplace…

Deno で 3rd party 製ライブラリをいれる

Overview Deno で 3rd party のライブラリを import する方法についての備忘録です。 Install third party libraries 公式ドキュメントの https://deno.land/x に記載している手順になります。 https://deno.land/x/MODULE_NAME@BRANCH/SCRIPT.ts を import …

Operation CREATE USER failed for 'root'@'%' エラーが出て MySQL コンテナが起動に失敗する

FROM mysql:8.0.20 ENV MYSQL_USER root ENV MYSQL_PASSWORD root ENV MYSQL_ROOT_PASSWORD root ENV MYSQL_DATABASE test ENV MYSQL_HOST 127.0.0.1 ENV MYSQL_PORT 3306 と言う設定で MySQL のコンテナを起動したところ $ docker run --name $ContainerNam…

Import maps in Deno

Summary 以下のマニュアルに書いてある内容。 deno.land About import maps deno ではファイル単位の import で依存関係を解決する。 しかし毎回 https://deno.land/std.../server.ts と書くのは面倒くさい。 そこで Import maps を使う。 main.ts と同じ階…

Deno on Cloud Run

Overview How to get started Install Deno Sample web server VSCode plugin Node Modules Working on docker Build & Run Deploy to Cloud Run Regionの指定 Setting Cloud Build Deploy コンテナを Cloud Registry に登録 Deploy to Cloud Run その他 pri…