백엔드3 톰캣 서블릿 (OSI 7계층, HTTP 서블릿, 로그인 구현) 솔직히 처음 톰캣을 접했을 때, "이걸 왜 쓰는 거지?"라는 생각부터 들었습니다. 소켓 통신으로 서버를 직접 만들 수 있다는 걸 배웠는데, 또 다른 도구를 쓴다고 하니 순간 머릿속이 복잡해졌습니다. 그런데 막상 직접 손을 대보니, 톰캣이 왜 존재하는지 자연스럽게 납득이 됐습니다. 소켓 통신부터 HTTP 파싱, 파일 입출력까지 직접 짜야 한다면 서비스 기능을 만들 시간이 없다는 걸 바로 체감했기 때문입니다.소켓 통신과 OSI 7계층, 톰캣이 필요한 이유웹 서버를 이해하려면 OSI 7계층 모델을 먼저 짚어야 합니다. OSI 7계층이란 네트워크 통신 과정을 역할별로 7단계로 나눈 국제 표준 모델로, 물리 계층부터 응용 계층까지 단계적으로 데이터를 처리합니다. 우리가 흔히 쓰는 HTTP, FTP, SSH 같은 .. 2026. 6. 20. Java 어노테이션 (메타데이터, MVC패턴, 레이어드 아키텍처) @Override 하나 붙인다고 코드가 달라질 거라고 생각하셨나요? 저도 처음엔 그냥 IDE가 붙여주는 장식 정도로 여겼습니다. 그런데 직접 커스텀 어노테이션을 만들고 리플렉션으로 클래스 동작을 제어해보니, 어노테이션이 단순한 메모가 아니라 실행 흐름 자체를 바꾸는 장치라는 걸 몸으로 이해하게 됐습니다.어노테이션, 그냥 주석이 아니었습니다어노테이션(Annotation)이란 Java 소스코드에 메타데이터(Metadata)를 추가하는 기능입니다. 여기서 메타데이터란 코드 자체의 로직은 아니지만, 코드가 어떻게 처리돼야 하는지 부가 정보를 제공하는 데이터를 의미합니다. @Override, @Deprecated처럼 JDK에서 기본 제공하는 것부터, @Autowired나 @RequestMapping처럼 Sprin.. 2026. 6. 17. 스프링 부트 입문 (IoC/DI, JPA, Spring Security) 솔직히 처음 Spring Boot를 접했을 때 가장 당황했던 부분은 new 키워드가 없어도 객체가 알아서 생겨난다는 점이었습니다. 분명히 어디서도 객체를 만든 적이 없는데 실행하면 콘솔에 "서비스 객체 생성됨"이 찍혀 있었습니다. 이게 도대체 왜 되는 건지 이해하는 데 꽤 시간이 걸렸고, 그 과정에서 Spring Boot의 핵심이 무엇인지 조금씩 보이기 시작했습니다.IoC와 DI, 객체를 내가 안 만들어도 되는 이유Spring Boot의 핵심을 한 마디로 표현하면 제어의 역전, 즉 IoC(Inversion of Control)라고 할 수 있습니다. IoC란 객체 생성, 연결, 관리 같은 작업을 개발자가 직접 처리하지 않고 프레임워크가 대신 처리하는 방식을 말합니다. 원래 자바 코드에서는 new TestS.. 2026. 6. 14. 이전 1 다음