<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Kaisekukun</title><link>https://netguide.jp/en/posts/</link><description>Recent content in Posts on Kaisekukun</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Kaisekukun</copyright><lastBuildDate>Wed, 14 Oct 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://netguide.jp/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Practical use of modern CSS new features (subgrid/container queries)</title><link>https://netguide.jp/en/posts/practical-use-of-modern-css-new-features-subgrid/container-queries/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/practical-use-of-modern-css-new-features-subgrid/container-queries/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/modern-css-subgrid-container-queries-guide-en.png" alt="Featured image of post Practical use of modern CSS new features (subgrid/container queries)" /&gt;&lt;h3 id="paradigm-shift-from-viewport-standards-to-free-standing-components"&gt;Paradigm shift from Viewport standards to free-standing components
&lt;/h3&gt;&lt;p&gt;Traditional responsive web design relies on the overall width of the screen (viewport). However, in today&amp;rsquo;s world of component-oriented design, the available width of UI parts differs depending on the parent element (sidebar or main column) in which they are placed.&lt;/p&gt;
&lt;p&gt;With the advent of CSS Grid&amp;rsquo;s &amp;ldquo;Subgrid&amp;rdquo; and &amp;ldquo;Container Queries&amp;rdquo;, layout flexibility and maintainability have dramatically improved.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="recipe-1-subgrid-to-synchronize-button-positions-while-aligning-card-heights"&gt;Recipe 1: &lt;code&gt;subgrid&lt;/code&gt; to synchronize button positions while aligning card heights
&lt;/h3&gt;&lt;p&gt;Even if the number of characters in the title is uneven in a multi-column card UI, the heights of &amp;ldquo;images, titles, text, and buttons&amp;rdquo; in each card can be perfectly aligned in a horizontal line.&lt;/p&gt;</description></item><item><title>Efficient front-end testing with Vitest and Testing Library</title><link>https://netguide.jp/en/posts/efficient-front-end-testing-with-vitest-and-testing-library/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/efficient-front-end-testing-with-vitest-and-testing-library/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/efficient-frontend-testing-vitest-testing-library-en.png" alt="Featured image of post Efficient front-end testing with Vitest and Testing Library" /&gt;&lt;h3 id="increased-development-speed-brought-about-by-vite-native-testing-environment"&gt;Increased development speed brought about by Vite native testing environment
&lt;/h3&gt;&lt;p&gt;Jest has been the mainstream for front-end testing for many years, but its setup complexity and overhead were issues. By combining &amp;ldquo;Vitest&amp;rdquo; and &amp;ldquo;React Testing Library&amp;rdquo;, which share Vite settings, you can get an extremely fast testing environment.&lt;/p&gt;
&lt;p&gt;We have summarized practical principles for building test suites that are highly maintainable and hard to break.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="principle-test-user-behavior-not-implementation-details"&gt;Principle: Test “user behavior” not “implementation details”
&lt;/h3&gt;&lt;p&gt;Directly testing a component&amp;rsquo;s internal state results in brittle tests that break with every refactoring. The basic idea is to verify the behavior of the screen as it appears to the user.&lt;/p&gt;</description></item><item><title>UI component design with web accessibility (a11y) in mind</title><link>https://netguide.jp/en/posts/ui-component-design-with-web-accessibility-a11y-in-mind/</link><pubDate>Tue, 29 Sep 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/ui-component-design-with-web-accessibility-a11y-in-mind/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/accessible-ui-components-design-a11y-en.png" alt="Featured image of post UI component design with web accessibility (a11y) in mind" /&gt;&lt;h3 id="accessibility-foundation-that-balances-design-and-usability"&gt;Accessibility foundation that balances design and usability
&lt;/h3&gt;&lt;p&gt;Web accessibility (a11y) is a quality standard that improves the experience for everyone, not just for people with specific disabilities, but also for keyboard users and users with temporary injuries or one-handed operation.&lt;/p&gt;
&lt;p&gt;We organize the main points of component design so that anyone can operate it intuitively.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="three-essential-requirements-for-modal-dialog-design"&gt;Three essential requirements for modal dialog design
&lt;/h3&gt;&lt;p&gt;Modals are the part where accessibility violations occur most often. You must ensure that the following three requirements are met.&lt;/p&gt;</description></item><item><title>Introduction to full-stack WebAPI created with Next.js and Hono</title><link>https://netguide.jp/en/posts/introduction-to-full-stack-webapi-created-with-next.js-and-hono/</link><pubDate>Tue, 22 Sep 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/introduction-to-full-stack-webapi-created-with-next.js-and-hono/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/building-fullstack-web-apis-nextjs-hono-en.png" alt="Featured image of post Introduction to full-stack WebAPI created with Next.js and Hono" /&gt;&lt;h3 id="development-revolution-brought-about-by-nextjs-app-router--hono"&gt;Development revolution brought about by Next.js App Router × Hono
&lt;/h3&gt;&lt;p&gt;Next.js&amp;rsquo; Route Handlers are powerful, but the complexity of boilerplate and type sharing that comes with increasing endpoints tends to be an issue.&lt;/p&gt;
&lt;p&gt;By incorporating the web standards-compliant ultra-lightweight framework &amp;ldquo;Hono&amp;rdquo; into the API layer, you can easily create a sophisticated end-to-end, type-safe RPC (Remote Procedure Call) environment.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="step-1-hono-initialization-with-catch-all-route"&gt;Step 1: Hono initialization with Catch-all Route
&lt;/h3&gt;&lt;p&gt;Place a wildcard route in App Router and delegate all &lt;code&gt;/api/*&lt;/code&gt; to Hono.&lt;/p&gt;</description></item><item><title>Type-safe coding techniques to practice in TypeScript 5 series</title><link>https://netguide.jp/en/posts/type-safe-coding-techniques-to-practice-in-typescript-5-series/</link><pubDate>Tue, 15 Sep 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/type-safe-coding-techniques-to-practice-in-typescript-5-series/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/type-safe-coding-techniques-typescript-5-en.png" alt="Featured image of post Type-safe coding techniques to practice in TypeScript 5 series" /&gt;&lt;h3 id="type-design-philosophy-required-in-the-typescript-5x-era"&gt;Type design philosophy required in the TypeScript 5.x era
&lt;/h3&gt;&lt;p&gt;TypeScript 5 series introduced a number of new features that maximize the accuracy of type inference without compromising the developer experience. Code that relies on excessive type assertions (as) is a breeding ground for run-time errors. With the kata system on your side, we will explain practical techniques that will naturally narrow down your kata.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="1-const-type-parameter-smarter-literal-type-inference"&gt;1. &lt;code&gt;const&lt;/code&gt; type parameter: smarter literal type inference
&lt;/h3&gt;&lt;p&gt;Previously, if you wanted to preserve literal types in function arguments, you had to add &lt;code&gt;as const&lt;/code&gt; on the caller side. TypeScript 5.0&amp;rsquo;s &lt;code&gt;const&lt;/code&gt; type parameter allows you to force literal inference on the function definition side.&lt;/p&gt;</description></item><item><title>Super fast web application built with Next.js 15</title><link>https://netguide.jp/en/posts/super-fast-web-application-built-with-next.js-15/</link><pubDate>Tue, 08 Sep 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/super-fast-web-application-built-with-next.js-15/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/building-blazing-fast-web-apps-nextjs-15-en.png" alt="Featured image of post Super fast web application built with Next.js 15" /&gt;&lt;p&gt;&amp;ldquo;Next.js 15&amp;rdquo; has finally been released in beta with the recent update, and is causing a lot of excitement in the front-end world.
I also immediately upgraded my personal project from Next.js 14 to 15 and tried out some new features. In this article, I will provide a review of the ``amazing evolution&amp;rsquo;&amp;rsquo; that I felt after actually touching it.&lt;/p&gt;
&lt;h2 id="the-evolution-of-nextjs-15-that-surprised-me-when-i-touched-it"&gt;The evolution of Next.js 15 that surprised me when I touched it
&lt;/h2&gt;&lt;p&gt;If I had to describe it in one word, it would be &amp;ldquo;the ultimate improvement in developer experience (DX) and performance.&amp;rdquo;
Next.js has been in the middle of a major paradigm shift since App Router was introduced, and version 15 feels like it&amp;rsquo;s nearing completion.&lt;/p&gt;</description></item><item><title>Introduction to performance tuning in backend development</title><link>https://netguide.jp/en/posts/introduction-to-performance-tuning-in-backend-development/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/introduction-to-performance-tuning-in-backend-development/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/backend-performance-tuning-introduction-en.png" alt="Featured image of post Introduction to performance tuning in backend development" /&gt;&lt;p&gt;As the number of users of web services increases, they will inevitably encounter performance problems such as slow response times and server crashes.
Front-end optimization is important, but the back-end, which is responsible for fundamental data processing, is often the bottleneck.&lt;/p&gt;
&lt;p&gt;This article provides a list of practical checkpoints for engineers working on improving backend performance for the first time.&lt;/p&gt;
&lt;h3 id="-5-checkpoints-to-review"&gt;🚨 5 checkpoints to review
&lt;/h3&gt;&lt;p&gt;Performance tuning will not be effective if performed blindly. First, check whether the following items are the cause.&lt;/p&gt;</description></item><item><title>Learning from Autumn Night: Latest front-end technology trends</title><link>https://netguide.jp/en/posts/learning-from-autumn-night-latest-front-end-technology-trends/</link><pubDate>Sun, 30 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/learning-from-autumn-night-latest-front-end-technology-trends/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/learning-autumn-nights-latest-frontend-trends-en.png" alt="Featured image of post Learning from Autumn Night: Latest front-end technology trends" /&gt;&lt;p&gt;It&amp;rsquo;s the season when you can hear the faint sounds of insects outside your window.
I love the summer months when I write code in an air-conditioned room with a cold drink in hand, but as an engineer, there&amp;rsquo;s nothing quite like the long autumn nights when you can leisurely look at new technology documents while feeling the cool night breeze.&lt;/p&gt;
&lt;p&gt;This time, I would like to relax a little and look back on the technological trends that have been making waves in the front-end world this year in an essay style.&lt;/p&gt;</description></item><item><title>Implementing secure authentication functionality: Introduction to NextAuth.js</title><link>https://netguide.jp/en/posts/implementing-secure-authentication-functionality-introduction-to-nextauth.js/</link><pubDate>Fri, 28 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/implementing-secure-authentication-functionality-introduction-to-nextauth.js/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/secure-authentication-nextauth-js-en.png" alt="Featured image of post Implementing secure authentication functionality: Introduction to NextAuth.js" /&gt;&lt;p&gt;When developing a web application, one thing that cannot be avoided is the implementation of an &amp;ldquo;authentication function.&amp;rdquo;
However, implementing password hashing, session management, CSRF countermeasures, OAuth integration, etc. on your own from scratch poses high security risks and requires significant development costs.&lt;/p&gt;
&lt;p&gt;Therefore, this time we will introduce some best practices for implementing secure authentication using &amp;ldquo;NextAuth.js&amp;rdquo; (currently Auth.js), which is the de facto standard for authentication in Next.js environments.&lt;/p&gt;</description></item><item><title>How React Server Components works and usage examples</title><link>https://netguide.jp/en/posts/how-react-server-components-works-and-usage-examples/</link><pubDate>Sat, 22 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/how-react-server-components-works-and-usage-examples/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/react-server-components-mechanism-use-cases-en.png" alt="Featured image of post How React Server Components works and usage examples" /&gt;&lt;p&gt;React Server Components (RSC) is revolutionizing front-end architecture. You may have heard the name, but do you know exactly how it differs from SSR (server side rendering) and what kind of processing is going on behind the scenes?
In this article, we will take a deep dive into its technical mechanism and consider examples of its practical use.&lt;/p&gt;
&lt;h3 id="definitive-difference-from-ssr"&gt;Definitive difference from SSR
&lt;/h3&gt;&lt;p&gt;Conventional SSR was a technology that generated HTML on the server side during the initial load and returned it to the browser. But then the browser had to load JavaScript and re-run (hydrate) the component to make it interactive. In other words, the component code itself was ultimately being downloaded to the browser.&lt;/p&gt;</description></item><item><title>Automated deployment and leveraging preview environments with Vercel</title><link>https://netguide.jp/en/posts/automated-deployment-and-leveraging-preview-environments-with-vercel/</link><pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/automated-deployment-and-leveraging-preview-environments-with-vercel/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/vercel-automated-deployment-preview-environments-en.png" alt="Featured image of post Automated deployment and leveraging preview environments with Vercel" /&gt;&lt;p&gt;“Mr. 〇〇, now that the implementation has been completed, could you pull the branch in your local environment and check if it works?”
Are you wasting your time in team development due to such interactions? The hassle of setting up an environment and waiting time for local builds significantly reduces the productivity of the entire team.&lt;/p&gt;
&lt;p&gt;Vercel&amp;rsquo;s automated deployment and preview environment elegantly resolved this issue and caused a paradigm shift in front-end development workflows.&lt;/p&gt;</description></item><item><title>Differences between GraphQL basics and REST API</title><link>https://netguide.jp/en/posts/differences-between-graphql-basics-and-rest-api/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/differences-between-graphql-basics-and-rest-api/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/graphql-basics-differences-rest-api-en.png" alt="Featured image of post Differences between GraphQL basics and REST API" /&gt;&lt;p&gt;&amp;ldquo;REST API&amp;rdquo; has long been the industry standard as an API design method. However, in recent years, as front-ends have become more sophisticated, an increasing number of companies are adopting GraphQL.
Before we get into the technical details, let&amp;rsquo;s first think about the difference between the two using the analogy of ordering at a restaurant.&lt;/p&gt;
&lt;h3 id="limitations-of-rest-api-in-restaurants"&gt;Limitations of REST API in Restaurants
&lt;/h3&gt;&lt;p&gt;REST API is like a &amp;ldquo;food court&amp;rdquo; with different counters for each menu.
For example, let&amp;rsquo;s say you want to order a hamburger set. You must first go to the burger counter (&lt;code&gt;/api/burgers/1&lt;/code&gt;), then to the potato counter (&lt;code&gt;/api/sides/potato&lt;/code&gt;), and finally to the drinks counter (&lt;code&gt;/api/drinks/coke&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Best practices for web performance optimization</title><link>https://netguide.jp/en/posts/best-practices-for-web-performance-optimization/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/best-practices-for-web-performance-optimization/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/web-performance-optimization-best-practices-en.png" alt="Featured image of post Best practices for web performance optimization" /&gt;&lt;p&gt;Website display speed is a very important factor that is directly connected to user abandonment rate and SEO.
However, when it comes to performance optimization, the common wisdom of the past that ``just do it this way&amp;rsquo;&amp;rsquo; may actually have the opposite effect in modern browser environments.&lt;/p&gt;
&lt;p&gt;Here, we&amp;rsquo;ll debunk common performance improvement myths and explore true best practices.&lt;/p&gt;
&lt;h3 id="myth-1-all-images-should-be-lazy-loaded"&gt;Myth 1: “All images should be lazy loaded”
&lt;/h3&gt;&lt;p&gt;It&amp;rsquo;s easy to misunderstand that if your images are heavy, adding &lt;code&gt;loading=&amp;quot;lazy&amp;quot; will make them all faster. While it is certainly effective for off-screen images, it is a big mistake to apply Lazy Load to images that are in first view (the first area you see when you open a page). The browser postpones this, resulting in significantly worse LCP (Largest Contentful Paint). The correct answer is to load first-view images with priority (consider &lt;/code&gt;fetchpriority=&amp;ldquo;high&amp;rdquo;`).&lt;/p&gt;</description></item><item><title>Introduction to backend construction using Supabase</title><link>https://netguide.jp/en/posts/introduction-to-backend-construction-using-supabase/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/introduction-to-backend-construction-using-supabase/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/backend-development-with-supabase-en.png" alt="Featured image of post Introduction to backend construction using Supabase" /&gt;&lt;h2 id="a-savior-for-front-end-engineers"&gt;A savior for front-end engineers?
&lt;/h2&gt;&lt;p&gt;&amp;ldquo;Building the backend is time-consuming, making it difficult to prototype the app.&amp;rdquo;
&amp;ldquo;Supabase&amp;rdquo; is rapidly gaining support among developers who have such concerns in recent years. It is often talked about as an alternative to Firebase, but what exactly is the difference?&lt;/p&gt;
&lt;p&gt;We have summarized frequently asked questions in Q&amp;amp;A format.&lt;/p&gt;
&lt;h3 id="q1-what-is-supabase-in-one-word"&gt;Q1: What is Supabase in one word?
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; It is an open source &amp;ldquo;BaaS (Backend as a Service)&amp;rdquo;. Based on PostgreSQL, it is surprisingly easy to incorporate the complete set of functions required for a backend, such as a database, authentication function, storage, and real-time listener, into your project.&lt;/p&gt;</description></item><item><title>How to compare and choose headless CMS</title><link>https://netguide.jp/en/posts/how-to-compare-and-choose-headless-cms/</link><pubDate>Sat, 25 Jul 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/how-to-compare-and-choose-headless-cms/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/headless-cms-comparison-guide-en.png" alt="Featured image of post How to compare and choose headless CMS" /&gt;&lt;p&gt;The &amp;ldquo;headless CMS&amp;rdquo; architecture, which separates the front end and back end (administration screen), has become firmly established in modern web production.
However, when it comes to introducing it, there are many options such as &amp;ldquo;Contentful&amp;rdquo;, &amp;ldquo;microCMS&amp;rdquo;, and &amp;ldquo;Strapi&amp;rdquo;, and many people are confused about which one to choose.&lt;/p&gt;
&lt;p&gt;In this article, we will suggest how to choose the most suitable headless CMS according to the characteristics and situation of your project.&lt;/p&gt;</description></item><item><title>Efficient UI development using Tailwind CSS</title><link>https://netguide.jp/en/posts/efficient-ui-development-using-tailwind-css/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/efficient-ui-development-using-tailwind-css/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/efficient-ui-development-tailwind-css-en.png" alt="Featured image of post Efficient UI development using Tailwind CSS" /&gt;&lt;p&gt;Until a few years ago, when it came to front-end styling, it was common practice to come up with unique class names according to naming conventions such as BEM, and to create designs by going back and forth to CSS files.
But now, that landscape has completely changed with &amp;ldquo;Tailwind CSS&amp;rdquo;. Why has the utility-first concept attracted so many developers?&lt;/p&gt;
&lt;p&gt;This time, for those who are considering implementing Tailwind CSS, we will thoroughly analyze its advantages and disadvantages.&lt;/p&gt;</description></item><item><title>Build robust web applications with TypeScript</title><link>https://netguide.jp/en/posts/build-robust-web-applications-with-typescript/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/build-robust-web-applications-with-typescript/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/building-robust-web-apps-with-typescript-en.png" alt="Featured image of post Build robust web applications with TypeScript" /&gt;&lt;p&gt;JavaScript is a very flexible and easy-to-write language, but its flexibility can sometimes lead to unexpected bugs during large-scale development.
&lt;code&gt;I passed a number to a function that expected a string'' or &lt;/code&gt;I accessed a non-existent property from an API response&amp;rsquo;&amp;rsquo; - everyone has experienced these errors at least once.&lt;/p&gt;
&lt;p&gt;In this article, we will use a problem-and-solution approach to understand why TypeScript is essential for modern web application development.&lt;/p&gt;</description></item><item><title>Next.js App Router basics and benefits of introduction</title><link>https://netguide.jp/en/posts/next.js-app-router-basics-and-benefits-of-introduction/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0900</pubDate><guid>https://netguide.jp/en/posts/next.js-app-router-basics-and-benefits-of-introduction/</guid><description>&lt;img src="https://netguide.jp/img/thumbnail/nextjs-app-router-basics-benefits-en.png" alt="Featured image of post Next.js App Router basics and benefits of introduction" /&gt;&lt;p&gt;&amp;ldquo;App Router&amp;rdquo; was introduced in Next.js 13 and has now become standard. The concept has changed significantly from the previous Pages Router, so some people may still be hesitant to migrate.
This article provides a step-by-step guide to the basics of understanding App Router.&lt;/p&gt;
&lt;h3 id="step-1-understand-the-differences-in-directory-structure"&gt;Step 1: Understand the differences in directory structure
&lt;/h3&gt;&lt;p&gt;In the previous Pages Router, the file name in the &lt;code&gt;pages&lt;/code&gt; directory was used as URL routing (for example, &lt;code&gt;pages/about.tsx&lt;/code&gt; → &lt;code&gt;/about&lt;/code&gt;).&lt;/p&gt;</description></item></channel></rss>