Tech Blog
Engineering Notes
플린랩스 멤버들의 기술 연구와 엔지니어링 노트 모음.
총 10개의 글
/
- SecurityNode.js 10월 보안 패치: Brotli RCE와 컨테이너 점검10월 21일 Node.js가 취약점 10개(High 4개)를 고쳤습니다. Brotli 원격 코드 실행 결함은 fetch() 한 줄로도 닿습니다. 컨테이너 Node.js 8개 점검과 next/image 허용 범위 축소까지 정리했습니다.

- SecurityPHP2Shell 취약점 정리, 그리고 AI 시대 개발자의 자리인증 없이 서버를 장악할 수 있는 PHP 엔진 결함 PHP2Shell(CVE-2026-109618, 109619)의 원리와 고친 버전, 우리가 서버에서 확인한 순서를 정리했습니다. AI가 찾은 취약점 앞에서 개발자의 자리도 생각해 봤습니다.

- ArchitectureSSR, ISR, 정적 생성, 페이지마다 고른 기준과 측정값한 사이트 안에서 정적 생성, ISR, SSR을 페이지마다 다르게 고른 기준을 정리했습니다. ISR인 줄 알았던 글 페이지가 SSR로 돌던 일과, 두 방식의 응답 시간 차이(18.2ms→2.9ms)도 함께 다룹니다.

- Engineeringnpm에서 pnpm으로 바꾼 이유, 직접 재 본 속도와 디스크캐시가 있을 때 설치 시간 8.8초→1.4초, 같은 의존성 프로젝트 3개의 디스크 2,246MB→723MB. 직접 측정한 수치와 함께, 우리가 속도보다 중요하게 본 pnpm의 엄격함을 정리했습니다.

- ArchitectureN100 미니 PC 한 대로 회사 사이트 셀프호스팅하기플린랩스 홈페이지와 API, DB는 저전력 N100 미니 PC 한 대에서 돌아갑니다. 엣지 서버와 Tailscale로 외부 노출을 줄인 구성, 실제 자원 사용량, 저전력 서버의 한계를 정리했습니다.

- EngineeringNext.js App Router SEO 기본기, 우리가 빠뜨린 다섯 가지화면에 보이지 않아 놓치기 쉬운 canonical, 메타데이터, Open Graph, sitemap, RSS를 Next.js App Router에서 어떻게 점검하고 고쳤는지 정리했습니다.

- EngineeringNext.js 이미지 최적화, AVIF를 끄고 WebP만 남긴 이유N100 서버에서 재보니 AVIF 인코딩이 WebP보다 최대 약 7배 느렸습니다. Next.js 이미지 최적화의 포맷, 캐시 TTL, 원본 크기를 조정하고 운영에서 놓친 설정 파일까지 바로잡은 과정입니다.

- ArchitectureNext.js + NestJS 모노레포 아키텍처Turborepo 기반으로 프론트와 백엔드를 함께 관리하는 방법.
- AnnouncementFleanlabs 기술 블로그를 시작합니다플린랩스의 엔지니어링 문화와 앞으로의 기술 노트를 소개합니다.
