BottleCold

왜 사설 IP와 NAT가 필요해졌나 - IPv4 부족의 역사와 기업 네트워크 설계 실전

📗 1. 들어가며 지난 글에서 서브넷마스크, CIDR, 사설 IP 같은 개념 자체를 정리했다면, 이번 글에서는 왜 이 개념들이 생겨나야 했는지, 그리고 실제 기업 환경에서 공인 IP를 어떻게 받고 내부 네트워크를 어떻게 설계하는지를 이어서 살펴본다. 개념만 외우는 것보다, “이 문제가 있었고, 그래서 이게 만들어졌다”는 흐름으로 이해하면 훨씬 ...

네트워크 기초 다지기 - IP 주소, 서브넷마스크, CIDR, 공인/사설 IP 한 번에 정리

📗 1. 들어가며 개발하다 보면 네트워크 설정을 피할 수가 없다. Docker 컨테이너 간 통신, 클라우드 VPC 설계, nginx 리버스 프록시 설정, IP 기반 접근 제어까지. 정작 이 개념들을 제대로 정리한 적이 없어서 필요할 때마다 검색하기를 반복했는데, 이번에 확실히 정리해두기로 했다. 📗 2. IP 주소의 구조 IPv4 주소...

딥링크 완전 정복 - URI 스킴, Intent 스킴, Universal Link, App Link

📗 1. 개요 서비스를 운영하다 보면 “앱으로 바로 연결해줘”라는 요구사항을 자주 마주친다. 마케팅팀에서 카카오톡에 공유하는 링크를 클릭했을 때 앱이 바로 열리길 원하거나, 이메일로 특정 상품 링크를 보냈을 때 앱 설치 사용자는 해당 상품 상세 화면으로 바로 이동했으면 한다는 요구다. 이걸 구현하는 기술이 딥링크(Deep Link)다. 그런데...

Nuxt3 특정 IP 대역만 접근 허용하기 - Plugin, Middleware, Spring Boot 연동

📗 1. 개요 서비스를 운영하다 보면 특정 환경에서만 접근을 허용해야 하는 상황이 생긴다. 사내 네트워크에서만 접근 가능한 관리자 페이지, 배포 전 QA 환경, 또는 서비스 점검 중 내부 인원만 접근해야 하는 경우가 대표적이다. 이번 글에서는 Nuxt3 환경에서 특정 IP 대역만 접근을 허용하고, 그 외의 접속에는 점검 페이지를 보여주는 방법을...

주니어 개발자를 위한 이커머스 MSA 프로젝트 시작하기 - 3편. Redis Master-Replica 구성과 RDB/AOF 완벽 이해

Redis란 무엇인가 Redis는 인메모리 데이터 저장소다. MySQL이 디스크에 데이터를 저장한다면, Redis는 RAM에 저장한다. RAM은 디스크보다 100배 이상 빠르다. 쿠팡에서 상품을 조회할 때 매번 MySQL에 접근하면 느리다. 자주 조회하는 상품 정보를 Redis에 캐싱하면 빠르게 응답할 수 있다. 이커머스 프로젝트에서 Redis의 ...

주니어 개발자를 위한 이커머스 MSA 프로젝트 시작하기 - 1편. MSA와 Docker 개념 이해

들어가며 이커머스 플랫폼을 MSA(Microservices Architecture)로 구축하는 여정을 시작한다. 모놀리식 아키텍처만 경험한 주니어 개발자 입장에서, MSA는 생소하고 복잡해 보인다. 하지만 차근차근 개념을 이해하고 실습하면서 배워나가려고 한다. 왜 MSA인가? 대형 쇼핑몰을 하나의 거대한 프로그램으로 만든다고 가정해보자. 하나의...

Servlet 개념과 동작 방식 정리

📗 1. Servlet 스프링을 이해하려면 서블릿 컨테이너와 스프링 내의 스프링 컨테이너에 대해 알고 있어야 한다. 스프링 컨테이너와 서블릿 컨테이너에서 더 세부적으로 들어가, 서블릿이라는 개념에 대해 이해한 후에 점진적으로 넓혀가보자. 📌 서블릿이란? 우선, 서블릿이란 웹 서버나 애플리케이션 서버에서 실행되는 자바 프로그램으로, 웹 서버로...