기술과 생각을 기록하는 공간

오늘 먹은 음식도 기억이 안납니다. 그래서 모든걸 기록합니다.

이전 블로그 포스팅들은 여기서 확인할 수 있습니다
2025.11.5부터 포스트 마이그레이션을 진행하고 있습니다

Yarn Berry PnP + Next.js에서 발생한 ERR_MODULE_NOT_FOUND 문제 원인 분석

Next.js 실행 시 ERR_MODULE_NOT_FOUND가 발생했던 이유와, Yarn Berry PnP의 zip 기반 구조 때문에 .pnp.loader.mjs / unplugged 설정이 왜 필요한지 정리했다.

Yarn BerryPnPNext.jsESMCJSunplugged

API Gateway API Key, 정말 의미가 있을까?

클라이언트 → 서버 → API Gateway 구조에서 API Key가 실제로 어떤 보안적 의미를 가지는지 정리

API GatewayAWSAPI KeyBackend

Ruler — 모든 AI 코딩 도구에 동일한 규칙 적용하기

GitHub Copilot, Claude, Cursor 등 여러 AI 도구를 사용할 때 각각 설정 파일을 관리하는 번거로움을 해결하는 도구

aitoolsproductivitycoding

NoSQL vs RDBMS — 확장성과 도메인 관점에서 정확히 이해하기

두 DB가 제공하는 기능 차이를 넘어서, 대규모 서비스가 왜 둘 다 사용하는지와 마이크로서비스 관점에서 어떤 기준으로 선택해야 하는지를 정리한다.

databasenosqlrdbmsarchitecturescalabilitymicroservices

RDS vs DynamoDB — 서버리스 관점에서 명확하게 이해하기

둘 다 서버를 직접 운영하지 않지만, 왜 DynamoDB만 서버리스로 분류될까? 서버리스 정의를 기준으로 RDS와 DynamoDB의 차이를 정리한다.

awsserverlessdynamodbrdsdatabase

AWS CloudFront Signed URL 가이드: Private Key 저장 위치부터 실제 URL 생성까지

CloudFront Signed URL을 처음 사용할 때 가장 헷갈리는 private key 보관 위치, public key 등록, 그리고 실제로 서명된 URL을 애플리케이션에서 만드는 흐름까지 정리했다.

AWSCloudFrontSigned URL보안S3

리소스 로딩과 CORS: 화면에 보이는 것과 JS가 '읽는 것'의 차이

img, video, iframe은 잘 보이는데 JS로 데이터를 읽으면 왜 CORS 에러가 날까? 리소스 로딩과 데이터 접근의 차이를 정리했다.

CORS브라우저JavaScript웹보안

보이지 않는 영역을 SEO에 활용할 수 있을까? (결론: 절반은 되고 절반은 안 된다)

바텀시트처럼 화면에 안 보이는 영역이 SEO에 반영되는지, 어떤 숨김 방식이 허용되고 어떤 것은 패널티인지 구글 공식 문서를 기준으로 정리했다.

SEOFrontendHidden ContentGoogle SEO

Beanstalk vs ECS: AWS 웹서비스 배포 환경 선택 가이드

AWS로 웹서비스를 배포할 때 Elastic Beanstalk과 ECS 중 무엇을 선택해야 할까? 프론트엔드와 백엔드 배포 전략, 그리고 CloudFront와 API Gateway의 차이까지 실전 경험을 바탕으로 정리했습니다.

AWSElastic BeanstalkECSCloudFrontAPI GatewayDevOps

모바일 웹뷰/브라우저 Viewport Height 대응

모바일 환경에서 주소창, 인디케이터 등의 브라우저 UI 변화에 따른 viewport 높이 대응 방법

CSSViewport모바일

Braze - 마케팅 메시징 플랫폼

사용자 타겟팅 및 메시징을 위한 마케팅 자동화 플랫폼 Braze의 개념과 세션 관리 방식

Braze마케팅분석

Chrome Extension에서 Sentry 에러 추적

Content Script의 CORS 문제 해결, 에러 객체 직렬화, Sentry 필터링 이슈

SentryChrome ExtensionError TrackingContent Script