Super なんとか

先日 https://deno.land/x を見ていたら、SuperOak というモジュールを見つけた。

名前だけ見た時は、「誰かが oak を魔改造してそういう名前でも付けたか?」と中身を見ると、oak の HTTP アサーションをするモジュールだった。

スーパーバイザー的な意味での super~~であったらしい?

(2022/07/18 19:45追記: この名前の経緯について、Twitterで教えてもらった。 visionmedia/superagentの登場以降、HTTPテストライブラリには super~~ と付けるのが、慣習になっているんだそう。)

というわけで、見つけた super~~ なモジュールを試してみたい。

Read More

oak のミドルウェアを書いていくときの技らしきもの

Deno の Web アプリケーションを作ろうとして最初にお世話になるモジュールはstd/httpoak ではないかと思う。

特に oak は、ミドルウェアフレームワークだと説明されるくらいなので、ミドルウェアを上手く使えると都合がいい。
oak 向けの拡張モジュールの多くも、ミドルウェアとして公開されているように思う。

ミドルウェアで機能拡張をしようとしたときのうまい手を見つけたのでメモしておきたい。
(知ってる人からしたら当たり前かもしれない。)

2022年08月14追記
orkの標準機能で回避できる方法を見つけた。

Read More

EC2 から CloudWatch にログを送る

先日、Deno のコミュニティでログ関連のモジュールのファイル出力に関して質問していた。
質問自体は解決したが、今時はリモートにログ溜める方が一般的かもという話があって、確かにそうだなと感じた。

が、今作ってるものはEC2で動作させてお安く運用したいというのもあり、Fargate使うときみたいにあまり気にせず出力をCloudWatchに吐いてくれる感じにならない。

というわけで、EC2上で動作させたアプリケーションのログをCloudWatchで取得するまでのメモしておきたい。

Read More

OAuth 2.0 認証サーバーを作る(Client Credentials Grant だけ)

SQLite をデータベースに使用し、アプリケーションを作ってみたくなった(単純にお安く済みそうだから)。
SQLite は、ネットワーク機能は持っていないので、そこは API サーバーとしてフォローする必要があった。
認証機能として、OAuth 2.0 Client Credentials Grant を実現する簡単なアプリケーションを書いたメモ。

Read More