본문 바로가기

TIL/기술면접 대비11

DI, IoC DI = 의존성 관계 주입 객체를 직접 생성해 의존관계를 만드는 것이 아니라 외부에서 객체를 생성한 뒤 setter나 생성자를 통해 외존관계를 주입하는 방식이다. 이렇게 함으로서 유연성은 높이고, 결합도를 낮출 수 있다. 스프링에서는 객체를 Bean이라고 부르며 프로젝트가 실행될 때 사용자가 Bean으로 관리하는 객체들의 생성과 소멸에 관련된 작업을 자동적으로 수행해주는데 객체가 생성되는 곳을 스프링에서는 Bean 컨테이너라고 부른다. IoC = 제어의 역전 메소드나 객체의 호출방법을 개발자가 아니라 외부에서 결정하는 것 의존성을 역전시켜 DI와 마찬가지로 유연성을 높이며 결합도를 낮추며, 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 해준다. 객체의 생성과 실행 순서를 객체 생성 - 의존성 객.. 2023. 8. 28.
http, https 차이점 http 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약으로, 80번 포트를 사용하고 있다. http의 구조 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동 무상태성을 가짐 Method, Path, Version, Headers, Body로 구성 암호화를 하지 않고 데이터를 주고받기 때문에 제 3자가 개인정보를 조회할 수 있음 이 단점을 극복하고자 https가 나타남 https http에 데이터 암호화가 추가된 프로토콜로 443번 포트를 사용하고 있다. https는 대칭키 암호화와 비대칭키 암호화 방식 모두 사용해 안정성과 빠른 연산 속도를 모두 얻음 대칭키 암호화 서버와 클라이언트가 동일한 키를 사용해 암호화/복호화를 진행 키가 노출되면 위험한 대신 연산이 빠름 비대칭키 암호화 1개의 쌍으로 구.. 2023. 8. 26.
TCP/UDP TCP와 UDP = 전송 계층에서 데이터를 보내기 위해 사용하는 프로토콜 전송 계층 = 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층 TCP 인터넷 상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 IP가 데이터의 배달 처리를 담당한다면 TCP는 패킷을 추적 및 관리한다. 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용된다. TCP의 특징 연결 지향 방식(패킷을 전송하기 위한 논리적 경로를 배정)으로 패킷 교환 방식 사용 (연결형 서비스로) 높은 신뢰성 보장 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제 흐름 제어 및 혼잡 제어 UDP보다 느림 전이중(Full-Duplex), 점대점(Point to .. 2023. 8. 25.
쿠키, 세션의 개념과 차이 쿠키 로컬에 저장되는 키와 값을 가지는 작은 데이터 파일. 클라이언트와 서버는 아래와 같은 특징을 가지는 HTTP 프로토콜을 통해 통신하기 때문에 쿠키를 사용한다. 비연결성 서버는 클라이언트의 요청에 대한 응답을 보내고 연결이 끊어진다. HTTP 1.1 은 연결을 유지하는 keep-alive가 기본 옵션이긴 하지만 HTTP 1.0은 기본적으로 비연결성을 지킨다. 무상태성 서버는 클라이언트의 상태를 따로 저장해두지 않는다. 즉, 지난 요청은 물론 지난 요청에 대한 응답도 기억해두지 않는다. 이와 같은 이유로 HTTP는 쿠키를 사용하고, 쿠키에는 다음과 같은 정보가 담겨있다. 이름, 값, 유효시간, 도메인, 경로 만약 쿠키가 없다면 사용자는 인증이 필요한 서비스를 사용할 때마다 로그인을 해야 할 것이다. 쿠.. 2023. 8. 24.