Blog

Thoughts, ideas, and tutorials on web development, design, and technology.

SQLJavaScriptPrismaDrizzleZipWebCloudflareD1ChromeSafariAppleSvelte5Vue3Frontend
2025-04-28

Recording a Migration from Prisma to Drizzle

Recently, I've been using Cloudflare D1 as the server database and chose Prisma as the ORM, which is recommended by many people. However, I encountered several issues during use, including

SQLJavaScriptPrismaDrizzle
2025-04-26

Extracting Large ZIP Files with Directory Structure in Web

I initially noticed a Reddit post from someone seeking a Firefox extension that could extract ZIP files. Curious about this need, I discovered the author was using a restricted computer environment that prevented installation of local programs. This prompted me to examine existing online decompression tools, only to find that the top five online extraction tools failed to fully support

ZipWebJavaScript
2025-04-04

Journey to Optimize Cloudflare D1 Database Queries

Recently, I've been working on server-side projects using Cloudflare Workers with D1 database. During this process, I encountered several database-related challenges. Since databases are quite unfamiliar territory for frontend developers, I decided to document my experiences.

CloudflareD1SQL
2025-04-01

Converting Chrome Extensions to Safari

I recently attempted to convert a Chrome extension to Safari—something I had postponed due to Xcode's poor development experience. This article documents the conversion process for Redirector, which is already available on Chrome/Firefox/Edge, into my first Safari extension on the App Store.

ChromeSafariApple
2025-03-08

Svelte5: A Less Favorable Vue3

Svelte5 was released in October last year, touted as the best version of Svelte to date. The team was particularly proud of "runes," a reactive state system built on proxies. However, after experiencing Vue3's Composition API and SolidJS signals, I didn't feel particularly excited.

Svelte5Vue3Frontend