Nam Vo Website
I developed this website to
share my knowledge and satisfy my coding passion
LATEST BLOG
PWA and Service Worker: Making Your Web App Feel Native
You might have seen browsers allow you to install a website like an app. Building a native application takes significant effort, and not many common applications support it. Google Calendar and Gemini are examples. To use them like a native app, I ju...
Software Engineer
Software Engineer
Frontend
Frontend
CORS and CSRF: How Attackers Exploit the Gaps
I used to think CORS was a security feature. It is, partially. But the more I understood it, the more I realized how narrow its protection actually is. This post walks through how CORS works under the hood, where it breaks down, what CSRF is, and how...
Software Engineer
Software Engineer
Top blogs
Explore the most popular blog posts. View all
How to customize YJIT in the Rails app
In this post, we'll dive into what YJIT is, how to enable it in your Rails app, and how to monitor and configure it for optimal performance.What is YJIT?YJIT is a lightweight Just-In-Time (JIT) compiler introduced in Ruby to speed up method execution...
Software Engineer
Software Engineer
Ruby on Rails
Ruby on Rails
Common Mistakes When Using Sidekiq
Sidekiq is a popular background job processing library for Ruby that allows you to offload time-consuming tasks from your main application thread. While Sidekiq can significantly improve the performance and responsiveness of your application, it's es...
Ruby on Rails
Ruby on Rails
How to restore scroll position in React Router 6
When developing a Single Page Application (SPA) with React and React Router V6, I encountered a scroll restoration issue. When I go to the new page, the scroll position persists instead of being on the topReact Router V6 offers a ScrollRestoration co...
Frontend
Frontend
Custom Fullscreen Button: A Cross-Browser Solution
Fullscreen functionality is a common requirement in web development, especially with media elements like custom video player. In this blog post, I'll share my experience working with fullscreen APITL;DRNote: On iOS browsers, the element must be a vid...
Frontend
Frontend