본문 바로가기

분류 전체보기43

[Network] CDN 이란? CDN 을 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 [Network] CDN 이란? CDN 을 사용하는 이유 [Network] GSLB 란? GSLB 를 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 에 이어서 CDN (Content Delivery Network) 을 사용하는 이유는 무엇인지에 대해 작성하겠습니다. 현실세계에서 어떤 두 지점의 물리적 위치가 멀어질수록 이동하는데 필요한 시간이 길어지듯이, 네트워크의 세계에서도 마찬가지입니다. 때문에 사용자의 접속 위치에 따라 서비스가 원활하지 않을 수도 있습니다. 이러한 문제를 해결하고자 CDN 을 사용합니다. CDN 은 서버를 특정 지역에 전략적으로 위치시킴으로써 서버와 사용자의 실제 거리를 줄여줍니다. 즉 CDN.. 2022. 10. 5.
[Network] GSLB 란? GSLB 를 사용하는 이유 [Network] 브라우저에 URL 을 입력하면 일어나는 일 [Network] CDN 이란? CDN 을 사용하는 이유 [Network] GSLB 란? GSLB 를 사용하는 이유 [Network] CDN 이란? CDN 을 사용하는 이유 에 이어서 GSLB (Global Server Load Balancing) 을 사용하는 이유는 무엇인지에 대해 작성하겠습니다. GSLB 의 풀네임으로 봐서는 로드밸런서의 한 형태라고 착각할 수도 있지만, GSLB 는 DNS 의 발전된 형태입니다. GSLB 와 DNS 의 차이를 중심으로 작성하겠습니다. 1. health check DNS 는 서버의 상태를 알 수 없어 서비스 접속에 실패하는 사용자가 생길 수 있습니다. 반면에 GSLB 는 서버의 health check 를 주기.. 2022. 10. 5.
[Network] 브라우저에 URL 을 입력하면 일어나는 일 "브라우저에 URL 을 입력하면 일어나는 일" 이라는 주제에 대해서는 크게 OSI 7 계층과 관련하여, 각 layer 에서의 장비들이 수행하게 되는 일을 순차적으로 입력한 URL 을 어떻게 찾아서 접속을 하는지, 그 일련의 과정에서 어떤 일들이 일어나는지 두 가지 방향의 대답이 있을 수 있을 것 같습니다. 해당 글에서는 2번에 조금 더 집중하여 작성해보았습니다. www.google.com 이라는 url 에 접속하기 위해서는 google.com 이라는 도메인의 ip 주소를 알아야 하기 때문에 DNS 에 질의를 하게 됩니다. 하지만 직접 DNS 에 질의를 하기 전에 각 위치에서의 DNS 캐시를 먼저 확인하게 됩니다. 웹 브라우저 캐시, 운영체제 캐시, ISP (Internet Service Provider .. 2022. 10. 4.
[Network] TCP 3-way handshake & 4-way handshake TCP 3-way handshake & 4-way handshake 란 클라이언트는 서버에 요청을 전송할 수 있는지, 서버는 클라이언트에게 응답을 전송할 수 있는지 확인하는 과정이다. 3-way handshake (이동) 4-way handshake (이동) 기타 질문 (이동) 3-way 인 이유? 2-way 로는 부족한가? TCP 의 연결 설정 과정과 연결 종료 과정의 단계가 차이나는 이유? Server 에서 FIN 플래그 전송 전에 전송했던 패킷이 FIN 패킷보다 늦게 도착한다면? ISN 이 0부터 시작하지 않고 난수를 생성해서 설정하는 이유? 용어 설명 SYN : Synchronize Sequence Number ACK : Acknowledgement 포트 설명 CLOSED : 포트가 닫힌 상태 L.. 2022. 9. 19.
[Git] git 실수로 변경한 파일의 변경사항을 되돌리는 방법 필요한 부분에 따라 링크를 해두었으니 '이동' 을 통해 확인하면 좋을 것 같다. 문제상황설명 (이동) 내가 생각한 문제 해결 방식 2가지 (이동) 첫 번째 방식이 부적절하다고 생각하는 이유 (이동) 해결한 방법 (이동) 두 번째 방식이 적절하다고 생각하는 이유 (이동) 1. 문제상황설명 하나의 repository 안에 backend 와 frontend 파일을 위치시키고 버전을 관리하고 있었는데, 다른 프론트엔드 팀원에게 backend 폴더가 PR 변경사항에 잡혔다고 연락이 왔다. 프론트엔드에서 backend 폴더에 작업 내용이 있을 리 없으니 당연히 변경사항으로 잡힐 일이 없는데, 뭔가 실수가 있었던 것 같아 원래대로 되돌려야 하는 상황이었다. 2. 내가 생각한 문제 해결 방식 2가지 이 때 생각난 방식.. 2022. 8. 20.
[예외처리] @Valid 예외처리에 사용되는 BindingResult 객체는 무엇일까? 이번 글에서는 @Valid 에 의해 발생되는 MethodArgumentNotValidException.class 에 속하는 'BindingResult' 에 대해 알아보고자 한다. 문제 상황, 찾아보게 된 계기 - MethodArgumentNotValidException 에 속하는 BindingResult 가 무엇인가? (이동) 학습 과정 - BindingResult 파고들기 (이동) 결론 - 예외처리 코드가 동작하는 원리에 대한 이해 (이동) 1. 문제상황 - MethodArgumentNotValidException 에 속하는 BindingResult 가 무엇인가? 더보기 https://github.com/cheese10yun/spring-jpa-best-practices/blob/master/doc/s.. 2022. 7. 17.