본문 바로가기

전체글236

[HTTP 웹 기본 지식] TCP, UDP TCP 특징 전송 제어 프로토콜(Transmission Control Protocol) 연결지향 - TCP 3 way handshake(가상 연결) 데이터 전달 보증 순서 보장 신뢰할 수 있는 프로토콜 현재는 대부분 TCP 사용 UDP 특징 사용자 데이터그램 프로토콜(User Datagram Protocol) 하얀 도화지에 비유(기능이 거의 없음) 연결지향 - TCP 3 way handshake X 데이터 전달 보증 X 순서 보장 X 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름 정리 IP와 거의 같습니다. + PORT + 체크섬 정도만 추가 애플리케이션에서 추가 작업 필요 참조 모든 개발자를 위한 HTTP 웹 기본 지식 2021. 9. 22.
[HTTP 웹 기본 지식] IP(인터넷 프로토콜) IP 인터넷 프로토콜 역할 지정한 IP주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라질 수 있습니다. 패킷이 순서대로 오지 않을 수 있습니다. 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 어디에 보낼지 구분하지 못합니다. 참조 모든 개발자를 위한 HTTP 웹 기본 지식 2021. 9. 21.
[스프링 핵심 원리 - 기본편] 스코프와 프록시 @Component @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) public class MyLogger { ... } 여기가 핵심입니다. proxyMode = ScopedProxyMode.TARGET_CLASS)를 추가해줍니다. 적용 대상이 인터페이스가 아닌 클래스면 TARGET_CLASS를 선택 적용 대상이 인터페이스면 INTERFACES를 선택 이렇게 하면 MyLogger의 가짜 프록시 클래스를 만들어두고 HTTP request와 상관 없이 가짜 프록시 클래스를 다른 빈에 미리 주입해 둘 수 있습니다. Provider 사용 이전으로 코드 복원 @Controller @RequiredArgsConstructor public cl.. 2021. 9. 21.
[스프링 핵심 원리 - 기본편] 스코프와 Provider 첫번째 해결방안은 Provider를 사용하는 것입니다. @Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider myLoggerProvider; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLog.. 2021. 9. 21.