OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

Next.js : Drizzle ORM で Supabase のトランザクション制御

Supabase は Firebase みたいな mBaaS で、リアルタイムDBとして Firebase みたいな NoSQL でなくて RDB (PostgreSQL) を使うことができるのが特徴。
無料で作れるプロジェクトは2つまでで、もう少し使えると嬉しいところですけど。

javascript 用のクライアントSDKもあるのだけど、なぜか標準ではトランザクションの手動制御ができないっぽい。
つまり1クエリ1トランザクションになる。
これだと複数テーブルまたいで更新したい場合などに、テーブル間の整合性を担保できない可能性がある。

制御したければ Database Functions として定義しろということみたいだが、いやそれはちょっと、、ストアドみたいなのメンテしたくないし。

続きを読む

はじめてのGoogle Chrome拡張機能開発メモ:YouTubeに高評価率を表示

YouTubeでビデオに対する低評価の数が見えなくなりました。

ヘイトからクリエイターを守るという意図はわかるものの、あらかじめおおよその評価を知ることができなくなり、ユーザ視点ではやっぱり不便になった。

せめて、再生回数に対する高評価数の割合を判断材料にしたいと思い、勉強がてらChrome拡張を作ってみることにしました。

続きを読む

Evernoteのノートを画像も含めNotionへインポート

年も明けたので、Evernoteを卒業します。

Webクリップにもメモにも使えて、できるだけ無料か買い切りで使えて、すぐにサービス終了してしまわなさそうなものを条件として探すと、移行先はほぼNotion一択になるかなぁと思いました。

https://www.notion.so/

Notionには公式でEvernoteからのインポート機能があるが、Webクリップや画像のインポートには対応していない。

それ自体はまあ諦めがつくものの、致命的なのは、インポート中にそういうインポートできないノートがあると、コンソールにエラーを吐き捨てて静かに処理を中止してしまうこと。
エラーとなったノートの特定も容易ではない。

この時点でちょっとNotion自体に不安も生じるところではあるが、、まあちょっと諦めずに使ってみることにします。

続きを読む

【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで

祝 .NET 6 GA アドベントカレンダー、23日の記事になります。

.NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。

C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。
その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。

新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。

続きを読む