-
브라우저에 google.com을 입력하면 어떤 일이 일어날까? - 2
아래 내용 중 1~3번에 대해 간략하게 요약해 작성하고 4, 5번에 대해 자세히 작성하겠다.1~3번의 자세한 내용은 이전글에 작성했다. 0. 사용자가 google.com을 입력1. 캐시 검사 : 해당 도메인에 대한 IP가 캐시에 있는지 검사한다. 2. DNS 조회 : 만약 캐시가 되어있지 않다면 DNS를 조회해 IP값을 조회한다. 3. TCP (및 TLS) 연결 설정 : DNS를 통해 얻은 IP 주소로 TCP(+TLS) 연결을 시도한다. 4. HTTP 요청 및 응답5. 브라우저의 페이지 렌더링 3번에서 TCP 연결이 완료되면, 이제 해당 IP를 통해 실제 요청을 보낼 차례이다. 실행 흐름대로 작성해야 해서 4번과 5번에 대해 함께 작성하고 이후 추가 설명을 덧붙이도록 하겠다. 4. HTTP 요청 및..
-
브라우저에 google.com을 입력하면 어떤 일이 일어날까?
도메인과 연결된 IP를 바꾼다거나, xxx.co.kr 도메인으로 접속했을 때 xxx.com 도메인으로 변경이 필요했던 적이 있다.AWS로 구성된 인프라 환경이었기에 Route53에 있는 레코드 값을 변경해주면 됬지만, 각각의 레코드가 어떤 의미인지 모르고 있었기에 이번에 한번 정리해보고자 한다.추가적으로 DNS에 대해 공부하며 브라우저에 google.com을 입력하면 어떤 일이 일어나는지에 대해서도 작성해보겠다. 아래와 같은 순서로 작성할 예정이다.1. DNS?2. 브라우저에 "google.com"을 입력하면 어떤 일이 일어날까? 1) 캐시 검사 2) DNS 조회 3) TCP (및 TLS) 연결 설정 4) HTTP 요청 및 응답 ..
-
스택이 매우 커질 수 있다면 힙은 불필요할까?
https://www.youtube.com/watch?v=9TSojdIr8Q0이 영상을 보고 "나라면 어떻게 답변했을까?" + 부족했던 점을 작성하고자 한다. 알고 있는 지식, ChatGPT와 더불어 이것 저것 찾아보겠지만 잘못된 내용이 있을 수 있습니다.잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다 :)나라면 어떻게 답변했을까? (잘못된 내용이 있습니다.)메모리 할당 영역은 Data, Stack, Heap 영역 이렇게 3가지가 있는 것으로 알고 있다. Data영역- 전역변수, static 변수 등이 존재Stack 영역- 고정 크기, 지역변수, 매개변수, 함수 리턴 주소가 존재Heap 영역- 동적 크기, 동적 할당 변수 존재 이정도로 배경지식이 있는 상태이다.그렇다면, 스택이 매우 커질 수 있다면..
-
Spring Batch와 Scheduler
Spring Batch와 Scheduler의 차이점이 궁금해져서 관련 내용에 대해 작성해보겠다. 결론부터 말하자면 Spring Batch는 실제 데이터 처리 로직과 비즈니스 처리를, Scheduler는 작업들을 정해진 시점에 실행하도록 관리한다.Spring Batch는 스케줄러를 대체하기보다는 스케줄러와 함께 작동하도록 설계돼있다. (Spring Batch is intended to work in conjunction with a scheduler rather than replace a scheduler.) 아래와 같은 순서로 작성할 예정이다.1. Spring Batch 1-1. Spring Batch의 핵심 구성 요소 1-2. 배치 처리 전략 1-3. 배치 시스템의 처리 전략2. Sched..
인기글 + 내용
-
Springboot에서 ChatGpt연동하기Spring(boot) 2025.02.09 22:49
Springboot에서 외부 Api(ChatGpt)를 연동한 프로젝트를 만드는 방법에 대해 작성해보고자 한다. 1. 프로젝트 초기 환경 세팅2. OpenAI Docs를 보고 FeignClient를 활용해 Api 호출을 하여 사용하는 방법3. SpringAI를 사용해 연동하는 방법순서로 작성하겠다.0. OpenAi Api key 발급Chat GPT API 호출은 유료이다.먼저 외부 Api를 연동하기 위해서는 Api key 발급이 필요하다.https://platform.openai.com/api-keys 위 url에 들어가서 로그인(회원가입)을 한 뒤에 Create Api Key 버튼을 클릭한다.발급된 Api key는 다시 볼 수 없는 것 같아서 어딘가에 저장해 놓는 것을 추천한다. 1. 프로젝트 초기 환경..
-
99클럽 코테 스터디 29일차 TIL / MongoDB, Postgres, MariaDB 차이점항해99 2024.08.19 21:11
오늘의 학습 키워드 - CS공부한 내용 본인의 언어로 정리하기MongoDB / Postgres, MariaDB 차이 요약MongoDBNoSQL 문서 지향 데이터베이스로, 유연한 스키마와 수평적 확장을 지원하며, 비정형 데이터 처리에 적합MariaDBMySQL의 포크 버전인 관계형 데이터베이스로, 고정된 스키마와 ACID 트랜잭션을 지원하며, 웹 애플리케이션이나 전통적인 관계형 데이터 관리에 적합PostgreSQL고급 기능을 갖춘 관계형 데이터베이스로, ACID 트랜잭션, 복잡한 쿼리 처리, 다양한 확장 기능 등을 제공하며, 엔터프라이즈급 애플리케이션에 적합1. 데이터 모델MongoDBNoSQL DB, 문서 지향형DB데이터를 JSON 형식의 문서로 저장, 컬렉션(=테이블)에 여러 문서 저장데이터는 키-..
-
Q. 4615. 재미있는 오셀로 게임(D3)SWEA_Java 2023.05.12 13:38
Q. 4615. 재미있는 오셀로 게임(D3) 0. 문제 D3 난이도의 문제이고, 어려운 구현 문제라고 생각된다. 오셀로 게임에 대한 문제이다.처음에 전체 판의 크기가 주어지고, 중앙에 돌 4개는 기본으로 놓여져 있다.이후에 놓는 돌의 색깔과 좌표가 주어지고, 돌을 놓을 때 마다 오셀로의 규칙에 맞춰서 돌의 색깔이 계속 바뀔 때,마지막에 흰색/검정색 돌의 개수를 출력하는 문제이다. 1. 풀이 다 풀고나서 자꾸 틀리길래 좀 찾아보다 보니.. 좋은 팁을 발견했다. 바둑돌의 색깔이 1 또는 2로 주어지는데, 그렇다면 3에서 내 색깔을 빼면 상대편의 색깔이 나오게 된다. 이를 이용해서 다행히도 맞추게 되었고 아래와 같은 방식으로 풀었다. 좀 복잡해서 함수별로 기능을 최대한 분리해서 풀려고 노력했다. 0) dy, ..
-
브라우저에 google.com을 입력하면 어떤 일이 일어날까?기타 2025.04.14 00:30
도메인과 연결된 IP를 바꾼다거나, xxx.co.kr 도메인으로 접속했을 때 xxx.com 도메인으로 변경이 필요했던 적이 있다.AWS로 구성된 인프라 환경이었기에 Route53에 있는 레코드 값을 변경해주면 됬지만, 각각의 레코드가 어떤 의미인지 모르고 있었기에 이번에 한번 정리해보고자 한다.추가적으로 DNS에 대해 공부하며 브라우저에 google.com을 입력하면 어떤 일이 일어나는지에 대해서도 작성해보겠다. 아래와 같은 순서로 작성할 예정이다.1. DNS?2. 브라우저에 "google.com"을 입력하면 어떤 일이 일어날까? 1) 캐시 검사 2) DNS 조회 3) TCP (및 TLS) 연결 설정 4) HTTP 요청 및 응답 ..