개발을 하다 보면 수도 없이 마주하는 에러, CORS(Cross-Origin Resource Sharing). 초기에는 이를 단순히 "서버가 내 요청을 튕겨내는 귀찮은 에러" 정도로 여겼습니다. 하지만 브라우저의 보안 모델과 쿠키의 동작 원리를 파고들면서, 실무에서 왜 그토록 복잡하게 프록시(Proxy)를 설정하고 BFF(Backend For Frontend) 구조를 가져가는지 명확한 해답을 얻게 되었습니다.
최근 개발 생태계의 뜨거운 감자인 '바이브 코딩(Vibe Coding, 자연어 지시만으로 AI가 코드를 작성하게 하는 개발 방식)'. 실무에서 복잡한 트랜잭션을 다루던 백엔드 개발자인 저는, 상대적으로 도메인 로직이 가벼운 개인 포트폴리오 웹사이트 구축을 기회 삼아 '단 한 줄의 코드도 직접 타이핑하지 않는 100% 바이브 코딩' 을 기획하고 실행해 보았습니다. 이 실험을 통해 깨달은 AI 시대 개발자의 진짜 역할과, 아키텍처 설계의 중요성에 대한 회고입니다.
"클라이언트에서 비밀번호를 평문으로 보내면 해킹당하는 거 아냐?" 웹 개발자라면 누구나 한 번쯤 크롬 개발자 도구의 Network 탭을 열어보고 식겁한 경험이 있을 것입니다. 저 역시 로그인 API를 만들며 프론트엔드에서 비밀번호를 암호화하여 서버로 보내는 치밀한(?) 계획을 세웠던 적이 있습니다. 하지만 브라우저와 네트워크 구간의 암호화 원리를 깊이 이해하면서, 이것이 얼마나 거대한 오해에서 비롯된 헛수고였는지 깨닫게 되었습니다.
NestJS
MySQL
AWS
Jenkins
PM2
NestJS
MySQL
AWS
Jenkins
PM2
NestJS
MySQL
AWS
Jenkins
PM2
NestJS
MySQL
AWS
Jenkins
PM2
하드코딩 기반의 복제형 예약 시스템을 "설정 주도(Config-driven) 아키텍처"로 전면 재설계하여, 소스 코드 수정 없이 다수의 신규 프로젝트 확장이 가능한 프론트엔드 플랫폼 환경을 구축한 프로젝트입니다.