TypeORMで、One to Manyのリレーションを使う時、子のオブジェクトもまとめて登録・更新したい時は、以下のように記述するかと思います(コードはあくまでイメージです)。 前提:idが1、2のbookが既に存在している この時、bookテーブルの各レコードへの期待する動作としては、以下のようになると思います。 id1:削除 id2:更新 id3:新規作成 ただ、TypeORMのデフォルトの […]
業務では主にAWSを使用していますが、趣味開発ではできれば無料でサーバを使用したいため、Herokuを使用しています。今回は、Goで作成したアプリをHerokuにデプロイする方法についてのメモ。 前提 Heroku CLIがインストールされている GoのパッケージをGo Modulesで管理している Gitを使用している やったこと go.modにHerokuで使用するGoのバージョンを記載する […]
Tailwindをほとんど使用したことのない自分が、React NativeにTailwindを導入しようとしたところ、VSCodeの補完の設定などに少し詰まったのでメモ。 Tailwindについて メリット cssクラスのネーミングについて悩む必要がなくなる。Reactなどが出てくる前は、FLOCSSなどのcss設計手法を使って、html、cssのレベルで使いまわせる要素を作成していた。そのため […]
やりたいこと Docker上でginを動かす ソースの変更を検知して自動ビルドする(ホットリロード) やったこと 最終的なディレクトリ構成 Go+GinをMacで動かす 最低限の実装で、まずはMac上で動かします。Goのインストールや、モジュールモードでの開発についてはここでは解説しません。以下のmain.goをsrcディレクトリ以下に配置し、src配下で go run main.go を実行する […]
最近はCDKなどの他のツールに押され気味のServerlessFrameworkですが、API Gateway+Lambda+ DynamoDBといった構成の場合、記述のシンプルさ故、ServerlessFrameworkを選択するケースはまだ多い印象です。今回は、GoのアプリケーションをServerlessFrameworkで構築する方法について記載します。 ServerlessFramewor […]
最近、Goの勉強を始めたのでメモ。Go自体のインストールはすでに終えている前提。インストールはgoenvを使うのが良さそう。 GOPATHモードとモジュール対応モード Goでは上記の2つのモードが存在する。2021年5月現在、Goの最新バージョンは1.16(1.17は2021年8月ごろのリリース予定)で、1.16ではデフォルトでモジュール対応モードが有効になっている(GO111MODULEがonに […]
関数型言語の考え方を学びたいと思い、すごいHaskellを購入して読んでいますが、読むだけだとすぐに忘れそうなので、ここにメモを残していきます。自分が忘れそうな箇所を箇条書きのように書いていく感じなので、前後に繋がりなどなくて読みにくいかもしれませんがご容赦ください。この記事の対象は1章〜3章までです。 プロジェクトの新規作成 Stackを使って、以下のコマンドを打つと新規プロジェクトが作成できる […]
Serverless FrameworkでAppSyncを開発する基本的な方法や、ローカル開発のためにserverless-offlineと連携する方法、また、最近リリースされた、VTLを書かなくて済む、Direct Lambda Resolversを設定する方法についてメモ。 こちらの記事を参考にさせていただきました。 https://qiita.com/G-awa/items/095faa9a […]
TypeScriptのプロジェクトで、Jestを使ってテストを書いているのですが、基本的なクラスのモックの使い方や、モックのメソッドに渡された引数のチェックのしかたが最初わからなかったので、動作するようになった結果をメモ。 前提として、Service層とRepository層にレイヤ分けされた構造において、Repository層のクラスをモックにして、Service層のテストをしたい場合を想定して […]
amplifyでECSをデプロイする機能がリリースされたので使ってみました。 https://aws.amazon.com/jp/about-aws/whats-new/2020/12/amplify-cli-enables-serverless-container-deployments-using-aws-fargate/ この記事の通り進めていくと、ネットワークの設定など行うことなく、簡単に […]