CS
-
브라우저에 네이버 URL을 입력했을 때 벌어지는 일CS 2025. 2. 16. 22:38
[요약]URL 파싱 → 캐싱된 DNS 기록 확인 → DNS 조회라우터를 통해 해당 서버의 게이트웨이까지 이동 -> ARP를 통해 IP 주소를 MAC 주소로 변환 네이버 서버 도달대상 서버와 TCP 소켓 연결 -> HTTP(HTTPS) 프로토콜 요청 & 응답 -> 브라우저에서 응답 해석해서 보여준다! [1] URL 파싱프로토콜, 호스트 이름, 경로, 포트 등으로 URL의 구조를 해석합니다.이때 파싱한 호스트 이름을 캐싱된 DNS 기록 확인 단계에서 사용합니다. [2] 캐싱된 DNS 기록 확인브라우저는 DNS 해석 과정을 단축하기 위해 캐싱된 DNS 기록을 먼저 확인합니다.캐시에 IP주소가 존재하면, DNS 쿼리를 추가하지 않고, 바로 연결을 시도합니다.- 브라우저 캐시 -> OS 캐시 -> 라우터 캐시 -..
-
[CS] 디자인 패턴과 프로그래밍 패러다임CS 2024. 10. 22. 17:37
디자인 패턴디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것이다.싱글톤 패턴싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다.보통 데이터베이스 연결 모듈에 많이 사용한다.예시 코드class Singleton { private static class singleInstanceHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return singleInstanceHolder.INSTANCE; } } public class HelloWorld { ..
-
RabbitMQ에 대하여CS 2024. 3. 3. 17:17
RabbitMQ서버간(Producers → Consumers) 메세지를 전달해주는 오픈소스 메세지 브로커AMQP를 구현한 메세지 브로커AMQP(Advanced Message Queuing Protocol)인스턴스가 데이터를 서로 교환할 때 사용하는 방법해당 프로토콜을 구현한 MQ제품들이 여러가지가 있으며, 그 중 하나가 RabbitMQ인 것구성요소ExchangeQueueBinding애플리케이션간 결합도를 낮출 수 있음이럴 때 사용하면 좋다!요청을 많은 사용자에게 전달할 때요청에 대한 처리 시간이 길 때많은 작업이 요청되어 처리를 해야할 때→ 나 같은 경우는 이번 프로젝트에서 크롤링과 gpt api를 사용해야 하는데, 요청 처리 시간이 길어 RabbitMQ 사용을 고려 중이다. [그림 설명]Producer..