A Width Check Broke a Kanji
A Width Check Broke a Kanji A name went into a terminal table and came out broken. The surname was 𠮷田. The first character is not the common 吉. It is 𠮷 (U+20BB7). This is a rare…
Frontend, backend and devops for the modern web.
A Width Check Broke a Kanji A name went into a terminal table and came out broken. The surname was 𠮷田. The first character is not the common 吉. It is 𠮷 (U+20BB7). This is a rare…
Namecheap 공유 호스팅에 NestJS를 배포하는 방법. Namecheap 공유 호스팅에 NestJS를 배포하는 것은 정적 사이트나 PHP 앱을 배포하는 것과는 다릅니다. 단순히 파일을 업로드하고 실행하는 것만으로는...
Your Agent Didn't Break Prod. Your Pipeline Did. Your agent did not break production. Your pipeline did. Many teams use agents to open pull requests. They use CI to check for lint…
링크 혼동 없이 React에서 이메일 변경 흐름 테스트하기. 계정 이메일을 변경하는 작업은 사소해 보일 수 있지만, 실제로는 테스트 오류가 빈번하게 발생하는 주요 원인입니다. 테스터들은 종종 확인...
브라우저에서 CAD 에디터를 만들고, LLM에게 사용법을 가르쳤습니다. 앱에 "문과 창문이 몇 개 있나요?"라고 물었더니, AI는 개수를 답한 뒤 무언가를 덧붙였습니다...
3개월 동안 성공했던 내 CI/CD 파이프라인 — 그러다 로그를 읽게 되었다. 초록색 체크 표시를 보면 기분이 좋다. 모든 풀 리퀘스트가 통과되었고, 모든 배포도 성공했다. 그러다 한 사용자가 기능 오류를 보고했다. 그것은...
완벽한 Lighthouse 점수를 달성하기 위한 모든 최적화 과정. 저는 제 사이트에서 지속적으로 Lighthouse를 실행합니다. 로컬 실행 시 항상 100점을 유지하며, Vercel의 Real Experience Score에서도 100점을 기록하고 있습니다. 이 과정들은...
HTTP가 20년 만에 처음으로 새로운 메서드를 도입했습니다. 아마 전에도 이런 경험이 있으실 겁니다. 제품을 검색해야 하는데, 검색 필터가 URL에 담기에는 너무 큰 상황 말이죠. 이를 해결하기 위해 여러분은...
This Is What I Learned As a Sync PHP Developer About Async PHP I worked with Laravel for years. I used sync PHP. A request comes, a process runs, and a response goes out. I never…
수신함 충돌 없이 React 초대 이메일 테스트하기. 초대 흐름이 공유 QA 수신함을 가득 채우면 프리뷰 환경이 제대로 작동하지 않습니다. 한 테스터가 잘못된 링크를 열고, 다른 테스터는 오래된 메시지를...
My Coding Agent Remembered Sessions, Not Work A coding agent can keep a thread alive and still feel forgetful. I ran into this issue while building CliGate. I fixed session contin…
시각 장애가 있는 사용자를 위한 디자인. 애플은 키노트에서 개발자들에게 앱을 더욱 아름답게 만들라고 강조했습니다. 새로운 투명도 효과와 정교해진 가장자리를 선보였죠. 하지만 당신은...
OAUTH HISTORY: FROM PASSWORDS TO GLOBAL STANDARDS You see it every day. You click "Login with Google" or "Login with GitHub." You do not type a password. You enter the site instan…
기업들이 챗봇을 넘어 생성형 AI를 활용하는 방법. 진정한 변화는 채팅창 안에서 일어나는 것이 아닙니다. 변화는 여러분이 매일 사용하는 도구 내부에서 일어나고 있습니다. 챗봇은 시작에 불과했습니다...
Lovable과 Supabase로 16개의 제품을 운영하며 겪은 기술적 실수들. Inithouse는 16개의 제품을 운영하고 있습니다. 모든 제품에 Lovable과 Supabase를 사용하며, 하나의 팀이 모든 것을 관리합니다. 관리...
모노레포 ETL을 위한 4가지 GitHub Actions 패턴. 하나의 모노레포에서 세 개의 사이트를 운영하면 문제가 발생합니다. 세 개의 별도 ETL 작업, 세 번의 콘텐츠 재빌드, 그리고 세 번의 배포...
나만의 터널링 플랫폼을 직접 구축해 보았다. 노트북으로 웹 앱을 다듬는 데 사흘을 보냈다. 화면은 완벽해 보였다. 하지만 휴대폰으로 테스트를 해보려 하자 모든 것이 망가져 버렸다. 로컬 개발...
초보자를 위한 AWS: S3, 중복 제거 및 Presigned URL. 연습용 앱 개발은 이제 그만하세요. 실제 운영 시스템 구축을 시작하세요. 서버가 언제든 교체될 수 있는 소모성 자원이라면, 파일은 서버 디스크에 저장되어 있어서는 안 됩니다...
멤버십 제한이 있는 워드프레스 사이트를 위한 검색 모달 구축하기. 대부분의 워드프레스 검색 튜토리얼은 헤더에 위젯을 추가하는 단계에서 끝납니다. 하지만 p...와 같이 제한된 콘텐츠가 있는 경우에는 이 방식이 제대로 작동하지 않습니다...
AI를 활용한 권한 부여 버그 탐지. 버그 바운티 프로그램이 변화하고 있습니다. 일부 프로그램은 보상 지급을 중단했고, 다른 프로그램들은 지급액을 80%나 삭감했습니다. 그 이유는 AI가 너무 많은 버그를 찾아내기 때문이 아니라...
실용주의 프로그래머: 20년 후. 20년도 더 전에 '실용주의 프로그래머'를 읽었습니다. 당시에는 그저 좋은 관행들의 목록처럼 느껴졌습니다. 오늘날, 수년간 시스템을 망가뜨리며...
아무도 요청하지 않은 정원. 6월 21일, 나는 정원을 하나 만들었다. 코드베이스나 대시보드를 만든 것이 아니다. 나는 ALICE Garden을 만들었다. 이 정원은 내가 일할 때는 로컬 URL에, 그리고 GitHub r...
클라이언트에게 안전한 퍼블리싱 워크플로우를 구축하는 방법. 대부분의 소셜 자동화는 퍼블리싱을 업무의 전부로 취급하기 때문에 실패합니다. 클라이언트 업무에서 퍼블리싱은 단지 마지막 단계일 뿐입니다. 나머지는...
Why Your Vibe Coded Website May Never Rank on Google A founder showed me an impressive website last month. It had clean animations and sharp copy. He built it in one afternoon usi…