본문 바로가기

study

(125)
엉터리 정리 - CORS 인터넷을 돌아다니며 공부한 내용입니다. 틀린 내용이 있을 수 있으니, 혹시 있다면 댓글 부탁드립니다. 출처는 글 하단에 있습니다. 최근 cors를 접하게 된 기회가 생겼는데, 개인적으로는 "서버가 헤더에 요청할 수 있는 도메인을 추가해서 응답해주는 거" 정도로 알고 있었다. 왜 있는지도 몰랐다. 그런데 공부하다 보면서 생각보다 중요한 정책임을 알았다. 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청..
프로그래머스 - 주식가격 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 스택/큐 문제이다. 모든 시점에서의 주식 가격이 담긴 배열이 파라미터로 넘어온다. 나는 모든 원소를 순회하면서 해당 원소의 다음 원소들을 순회하며 기준 원소보다 작은 원소가 나올 때까지 순회하고 작은 원소가 나오면 기준 원소와 해당 원소의 배열의 인덱스 차이를 정답 배열에 담았다. 그런데 다른 사람의 풀이를 보니, 정답 배열을 모든 원소를 0으로 초기화하여 선언한 후 순회를 하였다. 그리고 기준 원소보다 순회하는 원소가 ..
HTTP 웹 기본 지식(7) - 일반 헤더(1) HTTP 헤더 개요 헤더의 구성 header-field = field-name ":" OWS field-value OWS (OWS:띄어쓰기 허용한다는 뜻.)(field_name에는 대소문자 구분이 없다.) HTTP 전송에 필요한 모든 부가정보를 담고 있다. 메시지 바디의 내용, 크기, 압축, 서버 정보 등등 필요시임의의 헤더를 추가할 수도 있다. 헤더 또한 HTTP가 발전하면서 그 내용도 조금씩 달라졌다. 과거의 HTTP 헤더 구성(RFC2616) General 헤더: 메시지 전체에 적용되는 정보 Request 헤더: 요청 정보 Response 헤더: 응답 정보 Entity 헤더: "엔티티" 바디의 정보를 담고 있다. Entity는 HTTP 바디에 담기는 실제 데이터를 의미한다.(https://www.w..
HTTP 웹 기본 지식(6) - HTTP 상태 코드 이 글은 인프런 김영한 님의 강의 모든 개발자를 위한 HTTP 웹 기본 지식을 듣고 정리하는 글입니다. HTTP 상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 코드를 통해 알려주는 기능이다. 100번대(Informational) : 요청이 수신되어 처리중이라는 뜻인데 거의 사용하지 않는다. 200번대(Successful) : 요청이 정상적으로 처리된 경우. 300번대(Redirection) : 요청을 완료하려면 추가 행동(Redirect)이 필요할 때 오는 응답이다. 400번대(Client Error) : 클라이언트 오류. 잘못된 문법 등으로 서버가 요청을 수행할 수 없는 경우. 500번대(Server Error) : 서버 오류. 서버가 정상 요청을 처리하지 못하는 경우. 만약 모르는 상태..
백준 - 유기농배추(1012) 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net DFS/BFS 문제이다. dfs/bfs 문제는 오랜만에 풀어보는데도 이전에 쓴 포스팅 보면서 잠깐 복습해보니 금방 풀 수 있었다. dfs/bfs 문제에 대한 풀이 방식을 간단히 적어놓았다. 풀어본 적이 별로 없다면 한 번 보고 오면 금방 이해가 될 것이다.(https://jang-sn.tistory.com/89?category=943527) 문제: 배추 밭에 해충이 있는데 해충을 잡으려면 배추흰지렁이를 풀어야 한다. 이 지렁이는 인접한 배추로 이동이 가능하다. 문제에는 배추..
HTTP 웹 기본 지식(5) - HTTP 메서드 활용 이 글은 인프런 김영한 님의 강의 모든 개발자를 위한 HTTP 웹 기본 지식을 듣고 정리하는 글입니다. 클라이언트에서 서버로 데이터 전송하는 경우를 살펴보자. 데이터 전달 방식은 크게 2가지가 있다. 쿼리 파라미터를 통한 데이터를 전송 - GET에서 사용하고, 주로 정렬 필터 등에서 많이 사용한다. 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH 등에서 사용하고, 회원가입, 상품 주문, 리소스 등록, 리소스 변경 등에서 사용한다. 쿼리 파라미터를 사용하는 경우를 두 상황으로 나눠서 보자. 정적 데이터 조회하는 경우 쿼리 파라미터를 사용하지 않는 경우이다. 이미지를 요청한다면, 그냥 uri 정도만 있어도 된다. 따로 필요한 파라미터는 없다. 보통 정적 데이터는 쿼리 파라미터 없이 리소스 ..
HTTP 웹 기본 지식(4) - HTTP 메서드 이 글은 인프런 김영한 님의 강의 모든 개발자를 위한 HTTP 웹 기본 지식을 듣고 정리하는 글입니다. HTTP API를 설계할 때는 리소스를 중심으로 URI를 설계해야 한다. 예를 들어 회원 관리 API를 설계한다고 했을 때, 리소스는 회원이 되고, 그에 대한 행위는 조회, 등록, 삭제, 수정 등이 된다. 그럼 행위는 어떻게 구분하는가? HTTP 메서드를 통해 구분할 수 있다. 그래서 URI는 리소스만 식별하면 된다. 리소스를 중심으로 회원 조회 URI를 설계했다면 get 요청으로 /members/{id} 정도가 될 수 있지만, 그렇지 않으면 /read-members-by-id/{id} 등이 될 것이다. HTTP 메서드를 알아보자. GET: 리소스 조회 POST: 요청 데이터 처리. 주로 등록에 사용...
HTTP 웹 기본 지식(3) - HTTP 기본 이 글은 인프런 김영한 님의 강의 모든 개발자를 위한 HTTP 웹 기본 지식을 듣고 정리하는 글입니다. 모든 것이 http HTTP - HyperText Transfer Protocol 본래는 HyperText를 전송하는 프로토콜 요새는 html, text, image, json, 거의 모든 형태의 데이터 전송이 가능하다 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용. Http의 역사 초반에는 get메서드만 지원하고 헤더도 없었다. 현재 가장 많이 사용하는 버전은 HTTP/1.1(1997)이다. 1.1 내 개선 버전으로 RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)가 있다. Http의 기반 프로토콜 HTTP/1.1, HTTP/2 - TCP ..