maybe daily dev notes

私の開発日誌

Backend

AWS CDKでSOCIインデックスをデプロイする

TL;DR; 以下のコードでCDKからSOCIインデックスをビルドし、ECRにプッシュすることができます。 # 依存関係のインストール npm install deploy-time-build import { SociIndexBuild } from 'deploy-time-build; const asset = new DockerImageAsset(this, 'I…

AWS Lambda特化のJavaScriptランタイム「LLRT」を紹介

最近にわかに話題沸騰中のJavaScriptランタイム LLRT を紹介する記事です。 github.com LLRTとは LLRT (Low Latency Runtime) は、軽量なJavaScriptランタイムです。サーバーサイド向けのJavaScriptランタイムはNode.js、Deno、Bunなどが有名ですが、それら…

Aurora Postgres Data APIをあらゆるORMから使う試み

あけましておめでとうございます。冬休みの自由工作レポートを提出します。 はじめに 最近Amazon RDS AuroraでData APIが使えるようになりました。Auroraインスタンスに対してHTTP APIでSQLクエリを発行できる便利なものです。 この記事では、Data APIをより…

Infrastructure from Code (IfC) ツールまとめ

昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅…

AWS Lambda Pythonでsqlite-vssによるベクトル検索を利用する

昨今LLMの台頭により、テキストをベクトル化して類似文書の検索に利用する手法が流行っています。 今回はAWSでこの検索を実現するための一方法として、SQLiteのプラグインであるsqlite-vssをAWS Lambda上で使う方法をまとめます。 github.com 意外とハマりど…

AWS CDK Tips: クロスリージョンのデプロイ

AWS CDK TIpsシリーズの記事です。 AWSでサービスを構築する際、単一リージョンで提供するサービスであっても、クロスリージョンのデプロイが必要になる場合がまれにあります。AWS CDKでは、そのような構成も簡単に実装可能です。今回はCDKを使ったクロスリ…

AWS SDK JavaScript v3でS3のファイル操作 チートシート

ワタミチートシート以来、久々のカンペ記事。 AWS SDK JavaScript v3がリリースされて久しいが、移行は進んでいるだろうか? LambdaのNode.js v18ランタイムではv3 SDKのみビルトインされているなど、そろそろ移行を進めないとまずい状況も増えてきている。 …

TypeScriptのcode-firstなGraphQL開発ツール比較: TypeGraphQL vs Nexus vs Pothos

GraphQLサーバーを開発する際は、まず schema-first か code-first かを決めることになるでしょう。前者はまず graphql.schema を手書きし、そこから言語固有のコードを生成する方法です。後者は言語固有のコードを書いてから、 graphql.schema を生成する方…

Next.jsをLambda + API Gatewayでサーバーレス化する (standaloneモード)

これは AWS LambdaとServerless Advent Calendar 2022 の記事です。 Next.jsをホスティングする手段の一つとして、Standaloneモードで動かす方法があります。 コンテナ1個で動かせるため非常にお手軽な選択肢で、GCPのCloud RunやAWSのApp Runnerなどで動か…

趣味Webサービスをサーバーレスで作る ― 格安編

はじめに 最近AWSのサーバーレスサービスで作るWebサービスの雛形を公開してみた*1。小規模サービスならかなり安く (ほぼ無料になるケースも多そう) で運用できるので、割と良い選択になる場面も多いと考えている。今日はその布教記事。 github.com 全体構成…

DynamoDB、シングルテーブルにするか否か

はじめに DynamoDBを使っていると、とかくテーブルは1つにまとめるべきという声や、複数テーブルからシングルテーブル設計に移行したという事例を耳にすることがあります。 しかし、その理由を聞いてみると、性能のためだったり管理を簡単にするためだったり…

小さめのデスクトップPCを組んだ #JONSBO T8

最近新型デスクトップPCを組んだので、顛末を記録しておく。 要件 顧客からの要望は以下の通り。 予算10万円程度 (OS/周辺機器含まず) 最新ゲームがそこそこできる かさばらない (部屋においてもじゃまにならない) 3がなにげに厄介。 というのも私はこれまで…