Android Studio にて、 Jetpack Compose の @Preview アノテーションを使ってプレビューをしたかったのだが、エラーが出て表示されない。 java.lang.NoClassDefFoundError: _layoutlib_/_internal_/kotlinx/datetime/serializers/InstantIso8601Serializer a…
Windows でウィジェット使っていますか?わたしはあまり使っていませんでしたが、これを期に使い始めました。 Windows におけるウィジェットとは、 Windows + W キーで横から出てくるボードに配置できるアプリケーションの事です。 ウィジェットの様子、自作…
趣味で iOS アプリを作っているのですが、今回、 Firebase Cloud Messaging でのリモートプッシュ通知に対応したので、対応方法を紹介します。 今回リモートプッシュ通知に APNs にダイレクトに通知を行うのではなく、 Firebase Cloud Messaging を使った理…
SwiftUI を使って Twitter や Instagram のようなアプリを作っていると、 だいたい一度はこんな UI を作りたくなります。 全体はタイムライン形式で縦スクロール 各投稿には複数枚の写真があって、横にスワイプすると切り替わる よくある UI ですね。 ただ、…
Neon という Serverless PostgreSQL サービスがあるのですが、 24/365 で起動するアプリケーションでは無料枠では収まらない、かつ、 PlanetScale PostgreSQL の最低プラン (15USD/mo) よりも高く付きそうかつ、 PlanetScale は Tokyo リージョンがあるので…
アプリケーションを作る上で OSS は欠かせませんが、 OSS を使うことで悩みの種となるのがライセンス表記をどう自動化するかです。 今回、 iOS アプリケーションを作る上で、 OSS ライブラリ一覧を表示したので、その方法をメモしておきます。 今回使ったの…
Cloudflare のローカル開発コマンドである wrangler を、複数同時に turborepo などで動かすと、タイトル通りのエラーが発生することがあります。 ✘ [ERROR] Address already in use (127.0.0.1:9229). Please check that you are not already running a ser…
以前の記事で、 Vercel から OpenTelemetry のトレースを Mackerel へ送信した記事を書きました。 tech.natsuneko.blog 今回は、プラットフォームを変え Cloudflare Workers から Mackerel へ OpenTelemetry のトレースを送ってみようと思います。 まず、 Cl…
Cloudflare Workers で GraphQL バックエンドを構築する際、最初はサンプルなどから簡単に始められますが、実際の開発では「スキーマをコード内に書きたくない」「型安全性が欲しい」といった課題に直面します。 この記事では、Cloudflare Workers の制約の…
ハマったのでメモしておく。 更新日時は sys.publishedAt、公開日時は sys.firstPublishedAt を使う。 どちらも DateTime が返される。 query SomeQuery { articleCollection(limit: 1) { items { sys { id " このプロパティを使う!" publishedAt firstPubl…