안녕하세요. 좋은 강의 감사드립니다. HTTP API 설계와 관련하여 궁금한 점 질문 드리고자 합니다. 1. /members/{id} 와 같은 API URL에서 {id}에는 특정 회원을 식별할 수 있는 값, 주로 회원 테이블의 PK 값이 들어간다고 생각하면 될까요? 2. 만약 그렇다면 API 설계 시 URL에 PK 값을 노출시키는 것은 보안 상으로 문제가 되지 않는 것인가요? 3. 만약 회원 테이블의 PK가 id, email이라면(즉 특정 회원을 식별하기 위해서 id, email 두 개의 값이 필요하다면) /members/{id}/email/{email} 이런 식으로 설계해야 할까요? 실제 현업에서는 어떤 방식으로 하시는지 궁금해 여쭤봅니다. 감사합니다.
안녕하세요 이미지 캐시 지정 주체 질문 드립니다. 서버에서 <img src="abc.com"/>이 포함된 응답을 준다고 가정한 상황에서 이 이미지를 캐싱하고 싶은 경우 html을 돌려주는 서버가 캐싱 지정을 해야 하나요 아니면 "abc.com"(이미지 서버)가 캐싱 지정을 해야 하나요? 감사합니다
put 메소드는 한정된 리소스를 일부 수정하고 그 전체 값을 대체할 때 사용한다고 이해했습니다. 그런데, 제 머리 속에는 서버에 메소드를 전달하여 데이터 처리를 하는 것이 쿼리를 수행하는 것으로 느껴집니다. 예를 들어 1번 유저의 정보를 수정한다고 가정할 시 put/post 메소드 모두 같은 쿼리가 수행 될 것 같습니다. 그렇다면, put과 post의 차이는 pathvariable 사용여부의 차이 일까요?
안녕하세요. 강사님. 해당 HTTP 수업과 강사님의 스프링, JPA 수업들을 들었던 상태로 드디어 직접 게시판 REST API 프로젝트를 진행하기 위해 API 명세를 작성해 보면서 검색하던중에 한가지 의문이 생겼습니다. 강사님께선 POST 요청에 대한 201 Created 응답을 할 때, Location 헤더에 생성된 자원의 주소를 포함해서 응답하는걸로 알려주셨는데, 구글링해서 본 글 중 아래와 같은 글을 보았습니다. " 따라서 요청의 응답 헤더에 새로 생성된 리소스를 식별할 수 있는 Content-Location 속성을 이용한다. 출처: https://sanghaklee.tistory.com/57 [이상학의 개발블로그] " 강의 내용과 달라서 구글에 영문으로 검색해 보았는데, 영어로봐도 모르겠고 한글로 번역해서 봐도 이해가 잘 안가서 질문드립니다. 구글링 결과로 Content-Location 헤더는 반환된 데이터에 대한 대체 위치를 가르킨다고 하고, Location 헤더는 리다이렉션의 대상을 가르킨다고 하고 있습니다... 같은말을 다르게 설명하는느낌입니다. 그런데 Location과 Content-Location은 다르다고합니다. 만약 유저 정보를 POST 요청으로 등록한다고 하면 반환된 데이터는 서버에 저장된 데이터이고, 이것에 대한 위치라는 말과 리다이렉션 대상이라는 말은 같은말 아닌가요?ㅜㅜ Content-Location 헤더는 강의 내용에도 있는 콘텐츠 협상시에 쓰인다는 말이 나오는 것 같은데, 그러면 블로그의 정보가 틀린건가요??? 아래는 영어 원문과 번역된 내용입니다... 감이 안잡히네요 The Content-Location header indicates an alternate location for the returned data. The principal use is to indicate the URL of a resource transmitted as the result of content negotiation . Location and Content-Location are different. Location indicates the URL of a redirect, while Content-Location indicates the direct URL to use to access the resource, without further content negotiation in the future. Location is a header associated with the response, while Content-Location is associated with the data returned. This distinction may seem abstract without examples . ======================================================= Content-Location 헤더는 반환 된 데이터의 대체 위치를 나타냅니다. 주요 용도는 콘텐츠 협상 의 결과로 전송되는 리소스의 URL을 나타내는 것 입니다. Location 그리고 Content-Location 다릅니다. Location 리디렉션의 URL을 Content-Location 나타내고 향후 콘텐츠 협상없이 리소스에 액세스하는 데 사용할 직접 URL을 나타냅니다. Location 응답과 연관된 헤더이고 Content-Location 리턴 된 데이터와 연관됩니다. 이러한 구분은 예 없이 추상적으로 보일 수 있습니다 . 추가적으로, GET /users 같은 컬렉션이 반환되는 경우, 정상적으로 처리가 되었지만 데이터가 아무것도 없는 경우엔 200응답으로 빈 내용을 응답할지, 404에러로 응답할지 구글링 해보면 관점에따라 의견이 갈리던데, 강사님께서는 이러한 경우에 200을 사용하시는지 404를 사용하시는지 궁금합니다.
안녕하세요. 궁금한 점이 있습니다. 만약 공인 아이피가 한 개 일때 저와 동생이 동시에 네이버 페이지를 열었다고 했을때 제가 쓰는 사설 아이피는 공인 아이피로 변환되어 네이버로 갈것이고. 이때 라우터는 공인아이피를 제 사설 아이피로 셋팅을 하고 있다고 이해를 했는데요. 그래야 돌아오고 나서 제 피씨로 찾아 들어 올테니까요.. 그럼 동생은 비어있는 공인 아이피가 없으니 제 컴퓨터에서 네이버로 결과를 받을때까진 사용 할수 없는 건가요? 라우터가 사설 아이피를 삭제하는 구간이 언제인지 궁금합니다. 보내고 어딘가 저장하고 지우는건지. 보내고 돌아올때까지 기다리고 있는건지..
안녕하세요, AWS Lightsail 사용 중단 하기 위해서는 어떻게 해야하는지 알 수 있을까요?? 강의 내용 모두 그대로 따라해서 AWS Lightsail 이용 하였구요. 강의 수강 후, 아래와 같이 처리하였는데요. 1) Lightsail 내 인스턴스 삭제 2) Lightsail 탄력적 IP 삭제 3) 깃허브에 올렸던 코드 삭제 그런데 계속 일별로 아주 소액이긴 하지만, 비용이 증가 / 청구 되고 있어서 문의드립니다.
안녕하세요 강의 들으면서 궁금한게 생겼습니다. 같은 시간에 대용량 트래픽이 발생하는 경우 stateless로 설계된 요청은 서버를 확 증설해서 대응이 가능하다고 하셨습니다 1. 접속량이 많은 경우 대기열을 부여하는 경우가 많이 있는데, 서버가 여러 대를 사용할 때 대기인원의 순서 동기화?가 어떻게 이루어지는지 궁금합니다. 2. 로직을 처리하는 서버는 여러대여도 중심 DB는 하나일 것 같은데(완전히 제 추측입니다! 아니라면 알려주세요) 트랜잭션을 할 때 병목이 발생하지 않나요?? 제가 모호하게 이해하는 부분이 많은 것 같습니다 ㅜㅜ 강의 정말 잘듣고 있습니다 답변 주시면 감사하겠습니다!!!
안녕하세요 좋은강의 잘 듣고있습니다. 실습중에 4-7-3, 4-7-6 모두 datareader 관련해서 모듈이 존재하지 않는다고 에러가 발생해서 새로 공유해주신 소스코드로 실행을해도 다음과 같이 에러가 발생합니다. Traceback (most recent call last): File "pandas_datareader.py", line 4, in <module> import FinanceDataReader as fdr File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\__init__.py", line 1, in <module> from .data import (DataReader) File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\data.py", line 1, in <module> from FinanceDataReader.investing.data import (InvestingDailyReader) File "C:\Users\eleste\anaconda3\envs\section2\lib\site-packages\FinanceDataReader\investing\data.py", line 32 raise ValueError(f"Symbol('{symbol}') not found") ^ SyntaxError: invalid syntax 이유가 무엇인지 답변주시면 감사합니다.
최근에 결제관련 개발을 하던중에, 클라이언트사의 강력한 요청으로 POST 요청에 대해서 멱등성(Idempotency)을 보장해준 경우가 있었는데요. 클라이언트사의 특수한?(실제 사유는 설명해주지 않음) 환경으로 인해, 동일한 요청이 중복해서 발생할 수 있기 때문에, 요청 Body내용이 완전히 동일한 경우에는 두번이든 천번이든 동일하게 응답 해달라는 요구가 있었습니다. 물론 POST 요청으로 인해서 일어나는 비즈니스 로직은 수행하지 않고 동일 응답만 달라는 요구사항이었는데요. 이런 경우엔 POST에도 멱등성이 적용된 것으로 봐야할까요?
그전까진 잘됬는데 next url 사용한뒤 글 작성을 누르면 GET /login?next_url=http%3A%2F%2Flocalhost%3A5000%2Fwrite HTTP/1.1" 302 - GET /login?next_url=http%3A%2F%2Flocalhost%3A5000%2Flogin%3Fnext_url%3Dhttp%253A%252F%252Flocalhost%253A5000%252Fwrite HTTP/1.1" 302 - 이런식으로 next url 리디렉션 무한루프에 빠집니다 해결좀 부탁드립니다 , 코드는 아무리봐도 강좌랑 크게 차이가 없어 보이는듯한데
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요. 생짜 초보, 문과 수강생입니다. 7강 6분28초 경에 수업자료를 다운받아서 쥬피터 노트북 파일로 옮기라고 하셨는데... 다운받은 파일이 맞는지 모르겠어요. 쥬피터 노트북으로 이동이 잘 안 되고, 이동을 했는데 강의에서 보이는 화면이 아닌 엉뚱한 화면이 나옵니다. 관련 화면 첨부합니다. 겨우 여기까지 왔는데... 더 못 가고 있습니다. ㅠㅠ
안녕하세요 좋은 강의 너무 잘 듣고 있습니다. 저는 실무에서 be 개발을 맡게된 초보 개발자입니다. api 설계를 하다보면 어려울때가 많더라구요 예를 들면 PATCH(PUT)로 넘길때 키 값을 PathVariable /aaa/{key} 형식으로 넘기게 할것인지 아님 body에 넣게 할것 인지 또는, GET으로 가져올때 PathVariable /aaa/{key} 형식으로 넘기게 할것인지 requestParam으로 넘기게 할것인지 등등 항상 명확한 기준이 없어 이게 맞나? 하는 의구심이 듭니다. 네이밍도 너무 어려워서 항상 고민이구요... rest api로 검색해서 블로그를 찾아봐도 상투적이고 일반적인 내용 뿐이라 실제 업무에 다 커버하기 힘들더라구요 혹시 관련해서 공부를 좀 하고 싶은데 추천할만한 사이트나 책이 있을까요?? 실제 현업에선 어떤 기준으로 개발하고 계신가요?