CLOVER🍀

That was when it all began.

TypeScript

Serverless FrameworkでAWS Lambda関数をローカル環境でエミュレーションで動かす

これは、なにをしたくて書いたもの? これまでServerless Frameworkを使って作成したサービスをLocalStackにデプロイして動かしていましたが、デプロイせずとも動作確認する パターンも試しておきたいなと思いまして。 invoke localとgenerate-event 使うの…

Serverless Framework+LocalStackで、Amazon SNSのトピックをサブスクライブするAWS Lambda関数を作る

これは、なにをしたくて書いたもの? 今まで試してきたServerless Frameworkを使った例では、ずっとAmazon API Gatewayを使ったものだったのですが、別のものでも試して みようかなと思いまして。 今回は、Amazon SNSを使ってみたいと思います。 Amazon SNS …

Serverless Esbuildを使って、TypeScriptのServerless Frameworkサービスを作る

これは、なにをしたくて書いたもの? 前に、Serverless FrameworkをTypeScript(とLocalStack)で使ってみました。 Serverless FrameworkをLocalStack+TypeScriptで使ってみる(Amazon API Gateway+AWS Lambda) - CLOVER この時、テンプレートにaws-nodej…

JavaScriptのArray.prototype.forEachにasyncな関数を渡しても、awaitで終了を待てないという話

これは、なにをしたくて書いたもの? Array.prototype.forEachをなにも考えずに使っていて、ちょっとハマったので。 Array.prototype.forEachはawaitと組み合わせて使えないようです。 Array.prototype.forEachとasync/await MDNリファレンスでのArray.prot…

Amazon EventBridgeでスケジューリング起動するAWS Lambda関数を、AWS SAM+LocalStackで試す

これは、なにをしたくて書いたもの? Amazon EventBridgeを使って、AWS Lambda関数をスケジュール実行させてみたいなということで。 LocalStackでAmazon EventBridgeを使えそうだったので、試してみることにしました。 Amazon EventBridge Amazon EventBridg…

aws-ses-v2-localを使って、Amazon SES API v2をローカルで試す

これは、なにをしたくて書いたもの? Amazon SESをローカルで動作確認できるような代替ツールはないのかな?と思って調べてみたのですが。 LocalStackはAmazon SES v1は使えますが、v2はProでないと利用できないようです。 LocalStack Coverage / ses LocalS…

Node.jsでMySQL 8.0のデフォルトの認証方式(caching_sha2_password)に対応するには、mysql2を使う

これは、なにをしたくて書いたもの? MySQL 8.0になって、デフォルトの認証方式がcaching_sha2_passwordからmysql_native_passwordに変更されました。 For the server, the default value of the default_authentication_plugin system variable changes fro…

Serverless FrameworkをLocalStack+TypeScriptで使ってみる(Amazon API Gateway+AWS Lambda)

これは、なにをしたくて書いたもの? Serverless FrameworkでTypeScriptなAWS Lambdaアプリケーションがどういう感じなのか見てみたいというのと、それをLocalStackに デプロイしてみたい、ということでちょっと試してみることにしました。 今回は、Serverle…

TestcontainersをNode.js(TypeScript)で試す

これは、なにをしたくて書いたもの? JUnitを使ったテストでコンテナの利用をサポートする、Testcontainersというライブラリがあります。 Testcontainers こう書くとJava向けのライブラリのようなのですが、他の言語でも扱えるようなので試してみることにし…

AWS SAMのTypeScriptサポート(プレビュー)をLocalStackで試す

これは、なにをしたくて書いたもの? 自分はAWS SAMでTyepScriptを使う時はほぼ自前で設定を書いているのですが、今年の2月に出ていたAWS SAMのTypeScriptサポートを 1度試しておこうかなと思い始めたので、やってみようかなと。 AWS Serverless Application…

AWS SAM+LocalStackで、Amazon SQSキューからメッセージを受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? 先日、AWS SAM+LocalStackを使ってAmazon SNSの通知を受け取るAWS Lambda関数を書きました。 AWS SAM+LocalStackで、Amazon SNSの通知を受け取るAWS Lambda関数をTypeScriptで書いてみる - CLOVER 今度は、Amazon SQS…

AWS SAM+LocalStackで、Amazon SNSの通知を受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? AWS SAM+LocalStackを使って、Amazon SNSの通知を受け取るAWS Lambda関数を書いてみようかなと。 AWS Lambda関数は、Node.js+TypeScriptで作成します。 Amazon SNSのトピックからの通知をAmazon Lambda関数で受け取る …

Node.jsのサーバーサイドフレームワーク、NestJSを試す

これは、なにをしたくて書いたもの? Node.jsのサーバーサイドフレームワークといえば、ExpressやFastifyあたりが有名なのかなと思っていたのですが。 Express - Node.js web application framework Fastify, Fast and low overhead web framework, for Node…

Node.js × TypeScriptのORM、TypeORMをMySQLで試す

これは、なにをしたくて書いたもの? Node.js+TypeScriptのORMは、このあたりが有名みたいです。 Sequelize | Sequelize ORM v5以降、TypeScriptをサポート TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, Postgre…

Amazon DynamoDBのローカル版とDocumentClientで、セカンダリインデックスを試す

これは、なにをしたくて書いたもの? 最近、Amazon DynamoDBで遊んでいましたが、今回で一区切りにしようかなと思います。 もしかしたら、DynamoDB Streamsあたりは試したくなるかもしれませんが。 今回は、セカンダリインデックスをテーマにします。 セカン…

Amazon DynamoDBローカル版とDocumentClientで、トランザクションを試す

これは、なにをしたくて書いたもの? 今回は、Amazon DynamoDBのトランザクションを試してみようかなと思います。 DynamoDB トランザクションで複雑なワークフローを管理する - Amazon DynamoDB Amazon DynamoDBのトランザクション Amazon DynamoDBにはトラ…

Amazon DynamoDBローカル版とDocumentClientで、スキャンを試す

これは、なにをしたくて書いたもの? 前にAmazon DynamoDBのクエリーを試してみました。 Amazon DynamoDBローカル版とDocumentClientで、クエリーを試す - CLOVER 今回は、スキャンを試してみようかなと思います。 Amazon DynamoDBのスキャン Amazon DynamoD…

Amazon DynamoDBローカル版とDocumentClientで、クエリーを試す

これは、なにをしたくて書いたもの? 前に、Amazon DynamoDBのローカル版を試してみました。 Amazon DynamoDBのローカル版を試してみる - CLOVER Amazon DynamoDBを使った操作を少しずつ見ていこうと思います。 今回は、クエリーをテーマにしてみましょう。 …

Amazon DynamoDBのローカル版を試してみる

これは、なにをしたくて書いたもの? Amazon DynamoDBは使ったことがないのですが、ローカルで動かせるバージョンがあるようなので、試しておきたいなということで。 Amazon DynamoDB とは - Amazon DynamoDB Amazon DynamoDB そもそも、Amazon DynamoDBを知…

Emacs lsp-mode+TypeScript Language Serverで、挙動が微妙な時はLanguage Serverをインストールし直す

TypeScriptを書く時は、Emacs lsp-mode+TypeScript Language Serverを使っているのですが。 JavaScriptでTypeScript Language Serverを使って、Emacs lsp-mode - CLOVER 使用しているLanguage Serverは、こちらです。 JavaScript/TypeScript (theia-ide) - …

Node.js × TypeScriptのORM、PrismaをMySQLで試す

これは、なにをしたくて書いたもの? Node.js+TypeScript環境でのORMはどれを使ったらいいのかな?ということで。 このあたりみたいです。 Sequelize | Sequelize ORM v5以降、TypeScriptをサポート TypeORM - Amazing ORM for TypeScript and JavaScript (…

tsconfig.jsonをextendsして、設定内容をオーバーライドする

これは、なにをしたくて書いたもの? tsconfig.jsonは、extendsで拡張(というかオーバーライド)できるらしく。 ちょっとやりたいことがあったので、試してみました。 tsconfig.jsonのextends tsconfig.jsonは、extendsで拡張することができます。 What is …

Jest+TypeScriptを高速に実行したい(ts-jest、esbuild、SWCを比べる)

これは、なにをしたくて書いたもの? 最近、TypeScriptを使っているわけですが、テストコードを書くとJestを使います。 Jestのドキュメントに習うとTypeScript+Jestではts-jestを使ってテストを実行することになるのですが、これが遅いのでどうにかならない…

AWS SAM+LocalStackで、Amazon S3のイベント通知を受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? 最近AWS SAM+LocalStackで、Amazon API Gateway+AWS Lambdaなサンプルを書いているのですが。 他のパターンも試してみたくなったので、AWS SAMを使ってAmazon S3を扱うAWS Lambda関数を書いてみようと 思います。 今回…

AWS Lambda向けのミドルウェアエンジンmiddyを試す(Amazon API Gateway、LocalStack)

これは、なにをしたくて書いたもの? AWS Lambda関数(Node.js)向けの、middyというライブラリの存在を知ったので、ちょっと試してみることにしました。 middy ライブラリと書きましたが、middyは「AWS Lambda関数を簡単に書くためのミドルウェアエンジンだ…

AWS SAM+TypeScriptでAWS Lambda関数(+ Amazon API Gateway)を作成して、LocalStack上にデプロイする

これは、なにをしたくて書いたもの? AWS SAMを使って、TypeScriptで書いたアプリケーションを試してみたいなということで。 やり方 TypeScriptのビルド結果+package.jsonを配置したディレクトリに、AWS SAMのテンプレート(template.yaml)に 書かれている…

ts-node+Google Chrome DevToolsで、TypeScript+Node.js環境のデバッグ(node --inspect)を行う

これは、なにをしたくて書いたもの? 以前、Node.jsの--inspectオプションと組み合わせて、Node.jsアプリケーションをGoogle ChromeのDevToolsで デバッグする方法を書いたことがあります。 Node.jsアプリケーションを、Google ChromeのDevToolsでデバッグす…

TypeScriptでElasticsearchにアクセスしてみる

これは、なにをしたくて書いたもの? ElasticsearchのJavaScriptクライアントのドキュメントを見ると、TypeScriptのサポートがありそうだったので こちらを使ってElasticsearchにアクセスするコードを書いてみようかなと。 TypeScript support | Elasticsear…

express-sessionを試してみる(メモリ、Redis)

これは、なにをしたくて書いたもの? Expressのセッション管理の仕組みを使ってみようかな、と思いまして。 Expressとセッション Expressのセッションに関する話は、以下に少し出てきます。 Production Best Practices: Security / Use cookies securely Exp…

Serverless Express+TypeScriptを使って、LocalStackにAmazon API Gateway+AWS Lambdaの環境を構成してみる

これは、なにをしたくて書いたもの? AWS Lambdaで使える、フレームワークをちょっと試してみたいなと思いまして。 Serverless Expressというものがあるみたいなので、ちょっと試してみることにしました。 Serverless Express Serverless ExpressのGitHubリ…