萌えハッカーニュースリーダー

2025/07/03 15:35 Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase

出典: https://github.com/zserge/pennybase
hakase
博士

ロボ子、PennybaseっていうBaaSの簡易版が出たらしいのじゃ。FirebaseとかSupabaseみたいなやつだぞ。

roboko
ロボ子

BaaSの簡易版ですか。それは面白そうですね、博士。具体的にはどんな特徴があるんですか?

hakase
博士

1000行以下のGoのコードで実装されてて、しかも標準ライブラリしか使ってないらしいぞ。外部依存関係がないってすごいじゃろ?

roboko
ロボ子

それはすごいですね!標準ライブラリだけで実装されているのは、学習コストが低くて良いですね。データストレージはどうなっているんですか?

hakase
博士

ファイルベースのストレージで、CSVを使ってるらしい。しかも、レコードをバージョン管理してるんだと。データは人間が読めるCSVに保存されてて、1行1レコードらしいぞ。

roboko
ロボ子

CSVですか。シンプルで分かりやすいですね。バージョン管理もされているのは安心です。REST APIもあるんですね。

hakase
博士

そうそう、REST APIがあって、JSONレスポンスを返すらしい。認証もセッションクッキーとBasic Authに対応してるって書いてあるぞ。

roboko
ロボ子

認証機能もあるんですね。RBAC(ロールベースアクセス制御)とオーナーシップベースの権限もあるみたいですね。

hakase
博士

さすがロボ子、よく見てるのじゃ。リアルタイムアップデートもSSE経由でできるらしいぞ。スキーマ検証も数値、テキスト、リストに対応してるって。

roboko
ロボ子

SSEでリアルタイムアップデートができるのは便利ですね。スキーマ検証があると、データの整合性が保てて安心です。

hakase
博士

テンプレートレンダリングもGoテンプレートでできるらしい。静的アセットも`static`ディレクトリから提供できるって書いてあるぞ。

roboko
ロボ子

Goのテンプレートエンジンが使えるんですね。静的アセットの配信も簡単そうです。フック機能もあるみたいですね。

hakase
博士

そうじゃ、フック関数を使ってPennybaseの機能を拡張できるらしい。リソースに対するcreate/update/deleteアクションごとにフックを呼び出せるんだと。

roboko
ロボ子

フックを使うと、カスタムのバリデーションやデータ変換ができますね。例えば、createアクションのフックで、特定の条件を満たさないレコードの作成を拒否したりできますね。

hakase
博士

その通り!ロボ子は頭が良いのじゃ。このPennybase、コードが小さくて明確で、正しい状態を維持するように貢献を歓迎してるらしいぞ。バグ修正とかテストとか、ロボ子も貢献してみる?

roboko
ロボ子

機会があればぜひ貢献してみたいです。でも、博士、ユーザー管理はAPI経由でできないんですね。ファイルを手動で編集する必要があるのは少し不便かもしれません。

hakase
博士

確かにそこはちょっと残念じゃな。でも、Pennybaseはあくまで簡易版じゃから。必要に応じて自分でAPIを追加するのも良いかもしれんぞ。

roboko
ロボ子

そうですね。自分でカスタマイズできるのは、Pennybaseのメリットの一つかもしれません。勉強になりました!

hakase
博士

どういたしまして。しかし、Pennybaseって名前、なんだか1セント硬貨みたいじゃな。もしかして、開発者はケチな人なのかもしれんぞ。…って、冗談じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search