Deno Deploy EA でDB接続を試す

Deno Deploy EA で、データベースの接続を簡易にする方法が提供されるようになったようです。

これまで Deno Deploy からデータベース接続するには、個別のプロジェクトにそれぞれ環境変数を埋めるなど、面倒多いものでした。

やってみます。

Read More

Rails x dry-monads を考える、と境界の話

最近、関数型プログラミングを詰めていった中で、dry-monads に出会った。
(実は、かなり昔にブクマしていたので再会であった。)

Railsに組み込んで使う例をLLMをいくつか出してみたうえで、有望そうであったので、改めてサンプルをつくったので記しておく。

また、システム境界についても考慮する。

実装だけ見たい場合はこちら。

github.com - Octo8080X/think-rails-x-dry-monads

Read More

アトムの個

最近、「データ志向プログラミング ソフトウェアがもつ複雑さの軽減に向けて」を読んだ。

この本、翻訳技術書でたまに見かける「エキサイティングな体験」を感じた書籍であった。
プログラミングパラダイムの本となると、理念的な話が先行しているものを見かけることが多いと感じる。
本書は、現実の目の前にあるアプリケーションへどう適用するのかといった点までフォーカスされておりそれが良かった。

で、本書で、「アトム」が説明されるのだが、マルチスレッド環境と思ってjsで書くというものであった。
内容について納得はできるものの、ここはあえて触っておきたい。

Read More

Fresh 2 の拡張として、プラグイン的なものを作る

先日、Fresh 2 のミドルウェアを作る方法について確認した。

ExpressやHonoに似たことで移植もしやすいことを見込んでいた。
なので移植する形で、実装しプルリクを出した。
結果、CORSミドルウェアとCSRFミドルウェアをFresh本体のリポジトリに入れ、CORSミドルウェアはマージとなった。

今回は、Fresh 2 の拡張として、プラグイン的なもの作ってみる。

Fresh 2 では、Fresh1のようなプラグイン機能は移植されていない。
しかし、Fresh2 のミドルウェアなら、ある機能のために複数の拡張をまとめて行うプラグイン的なものを、実装できるだろうことを見込んだ。

実際に試してみる。

Octo8080X/fresh2-password-auth-sampleにもアップしたので、全体を見たい場合はそちらを参照してほしい。

Read More

Saga パターンを具体的に考える

最近、サービス間の整合性とトランザクションそしてその中で一連の見せ方について、Sagaパターンに一定の理解を持つことができたので、メモを残しておく。

何をまた仰々しくと読む向きもあるだろうが、一定の結論を自分の中で持てるというのはそれ自体に価値がある。

最終的に Denoの提供するインフラ(ランタイムの機能)を利用し、Sagaパターンを下敷きにしたマイクロサービスが裏に控えるWebアプリを実装した。

Read More

Active Record で feature options を試してみる

先日読んだ「システム開発・刷新のためのデータモデル大全 著:渡部幸三」を読んでいました。
その中で、feature optionsという考え方が紹介されていました。
ある対象の属性群を別のテーブルで持つという考え方のものとなり、似たようなものを考えこそすれ、十分検討されたものだと感じました。

この考え方を踏まえ Active Record で試すとどうなるか確認します。

Read More

Deno で OpenTelemetry を使って New Relic にデータを送出する

Deno 2.1.8 が、2025年1月末にリリースされた。
このリリースの中に、feat(unstable): support https otlp endpoints という PR が含まれている。
そして 2月19日に公開された Deno 2.2 の公開で改めてリリースノートでも掲載された。

Deno 2.1.0 くらいからOTELがreleasesに載るようになっていた、
初期では、[OpenTelemetry Collector] といったデータを受信・処理・送出するサーバー/サービスを要していた。
先のプルリクで、https エンドポイントに対応した。
httpsエンドポイントに対応したことで、経験した範囲ではNew Relic に対して、データを送出できるようになったはずである。

今回は、それを試し共有する。

Read More