분류 전체보기 154

8. HTTP 헤더2(캐시와 조건부 요청) - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다 캐시 기본 동작 검증 헤더와 조건부 요청 캐시와 조건부 요청 헤더 프록시 캐시 캐시 무효화 캐시 기본 동작 a. 캐시가 없을 때 1) 첫 번째 요청 브라우저에서 GET /star.jpg 첫번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를 담아 응답을 보낸다. 브라우저에 서버로부터 응답받은 이미지가 표시된다. 2) 두 번째 요청 브라우저에서 GET /star.jpg 두번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를..

7. HTTP 헤더1(일반 헤더) - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다 HTTP 헤더 개요 표현 콘텐츠 협상 전송 방식 일반 정보 특별한 정보 인증 쿠키 HTTP 헤더 개요 a. HTTP 헤더 1) 헤더 용도 HTTP 전송에 필요한 모든 부가 정보 e.g. 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등 표준 헤더가 너무 많기 때문에 모두 다룰 수는 없다... 필요시 임의의 헤더를 추가할 수도 있다. 2) 헤더 분류-RFC 2616(과거) 1) General 헤더: 요청/응답 메시지 전체에 적용되는 정보 (e.g. Connection: c..

6. HTTP 상태코드 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다 HTTP 상태코드 소개 2xx - 성공 3xx - 리다이렉션 4xx - 클라이언트 오류, 5xx - 서버 오류 HTTP 상태코드 소개 a. 상태 코드 상태코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1) 1xx (Informational): 요청이 수신되어 처리중 2) 2xx (Successful): 요청 정상 처리 3) 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4) 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5..

5. HTTP 메서드 활용 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. 클라이언트에서 서버로 데이터 전송 HTTP API 설계 예시 클라이언트에서 서버로 데이터 전송 a. 데이터 전달 방식 데이터 전달 방식은 크게 2가지 경우로 나뉜다. 1) 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 2) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 그렇다면 아래 4가지 상황에서의 데이터 조회 및 데이터 전송을 살펴봅시다. b. 4가지 상황 1) 정적 데이터 조회 이미지, 정적 텍스트 문서 2) 동적 데이터 조회 주로 ..

4. HTTP 메서드 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. HTTP API 을 만들어보자 HTTP 메서드 - GET, POST HTTP 메서드 - PUT, PATCH, DELETE HTTP 메서드의 속성 HTTP API 을 만들어보자 a. 요구사항 회원 정보 관리 API를 만들어라. 1) 회원 목록 조회 2) 회원 조회 3) 회원 등록 4) 회원 수정 5) 회원 삭제 b. API URI 설계1 API 기능에 대응하는 직관적인 이름으로 URI 를 설계하면, 다음과 같이 URL을 모두 따로 만들어야 한다. 1) 회원 목록 조회 - /read-member-list 2) 회원 조회 - /r..

3. HTTP 기본 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. 모든 것이 HTTP 클라이언트 서버 구조 Stateful, Stateless 비연결성 (Connectless) HTTP 메시지 모든 것이 HTTP 일반적으로 휴대폰, 컴퓨터 등에서 필요한 데이터는 서버에 요청하여 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로 크게 HTTP 통신과 Socket 통신 2가지가 있다. a. HTTP(HyperText Transfer Protocol) HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)이다. b. HTTP 메시지에 모든 것을 전송 1) 거의 모든 형태..

2. URI와 웹 브라우저 요청 흐름 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. URI 웹 브라우저 요청 흐름 URI a. URI? URL? URN? 1) URI (Uniform Resource Identifier) 쉽게 말하면 URI = URL + URN 입니다. 위의 단어들을 하나씩 떼어서 해석하면 아래와 같아요. Unifrom : 리소스 식별하는 통일된 방식 Resouce : 자원 = URI로 식별할 수 있는 모든 것(말 그대로 모든 것입니다. 제한이 없어요.) Identifier : 다른 항목과 구분하는데 필요한 정보 그렇다면 URL 과 URN 이 무엇일까요? 2) URL(Unifrom Resou..

1. 인터넷 네트워크 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. 인터넷 통신 IP(인터넷 프로토콜) TCP, UDP PORT DNS 인터넷 통신 a. 인터넷에서 컴퓨터 둘은 어떻게 통신할까? ) 만약, 클라이언트와 서버가 가까이 있으면 케이블로 2PC를 연결하여 통신할 수 있다. 하지만, 클라이언트와 서버의 거리가 멀면 그 사이에 있는 인터넷망을 통해서 Hello,world 라는 메시지를 보내야 한다. b. 복잡한 인터넷 망 그런데 인터넷망은 너무 복잡합니다! 클라이언트(출발지)에서 인터넷 망 내부의 수많은 중간 노드(서버)를 거쳐 메시지를 서버(목적지)로 전달해야 한다. 그럼 어떤 규칙..

자바 코딩 테스트 - 슬라이딩 윈도우. 백준 12891, 11003 문제

'Do it! 알고리즘 코딩테스트 자바 편' 교재로 공부한 내용을 정리했습니다 슬라이딩 윈도우 슬라이딩 윈도우 알고리즘은 2개의 포인터로 범위를 지정한 다음 범위(window) 을 유지한 채로 이동(sliding) 하면서 문제를 해결한다. 위 문장만 읽어봐도 투 포인터 알고리즘과 매우 비슷하다는 것을 알 수 있을 겁니다! 원리도 간단하므로 바로 백준 문제 2개를 풀어보면서 윈도우 알고리즘의 개념과 원리를 공부해 봅시다! 백준 12891 번 https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문..

자바 코딩 테스트 - 투 포인터. 백준 2018, 1940, 1253

'Do it! 알고리즘 코딩테스트 자바 편' 교재로 공부한 내용을 정리했습니다 투 포인터는 2개의 포인터로 알고리즘의 시간 복잡도를 최적화 시키는 알고리즘이다. 알고리즘이 매우 간단하여 문제를 풀면서 이해를 해봅시다. 백준 2018 번 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 1. 문제분석 먼저 시간 복잡도 분석으로 사용할 알고리즘의 범위부터 줄여야 한다. 주어진 N 의 최대값은 10,000,000 이다. 만약 이 ..