inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

DELETE 메소드의 코드 설계

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

강의 잘 듣고 있습니다. 좋은 강의 감사합니다. 강의 주제를 벗어난다고 생각하지만 질문이 있습니다. 예시를 드신 것처럼 DELETE method 를 호출해서 파일을 삭제한다고 했을 때, 두번째 호출의 응답을 어떻게 하는 것이 코드 레벨에서 좋은 설계인지 궁금합니다. 가정 클라이언트에서 파일 삭제를 요청, 서버에서 성공했으나 정상 응답을 주지 못함 클라이언트는 정상 응답을 받지 못했으니 재요청을 함 위 가정에서 서버는 재요청으로 인해 존재하지 않는 파일을 삭제하라는 요청을 받은 상황이 되는데요 제가 생각하는 방식은 2가지가 있습니다. 1. 없는 파일을 삭제하라고 하는 요청이니 '파일이 존재하지 않습니다.' 같은 오류 메시지와 함께 오류 코드를 응답 ```java File file = fileRepository.find(File.class, id); if (!file.isExist()) { return FileNotExistException("파일이 존재하지 않습니다."); } ``` 2. 사용자의 요청은 파일을 삭제하는 것이다. 파일의 존재 유무가 어떻든 요청에 성공한 상태이니 성공했다고 응답 ```java File file = fileRepository.find(File.class, id); if (!file.isExist()) { return true; } ``` 저는 둘 다 일리가 있지만 1번 방식이 더 좋은 방식이라고 생각하는 편입니다. 재요청을 받았을 때 실제로는 파일을 삭제하지 않았으면서 사용자에게는 삭제했다고 응답을 주는 게 맞지 않다고 생각해서요. 그런데 이렇게 생각하던 당시 제 머리 속에는 '멱등' 에 대한 개념을 고려하지 않은 상태였었습니다. 개념은 알고 있었지만 평소에 신경 써서 고려하던 것은 아니었거든요. 더 정확하게는 민망하지만 잊고 있던 내용이었습니다. ㅎㅎ 오늘 이렇게 강의를 들으면서 다시 한번 궁금해지는 내용이라 질문을 남깁니다. 서비스에 따라 정답이 없는 영역이라는 생각도 듭니다. 그렇다면 좀 더 '정설'에 가까운 쪽이나 사례, 선생님의 견해가 궁금합니다!

  • network
네번째카페 댓글 1 좋아요 1 조회수 304

HTTP Form 과 HTTP API 질문입니다.

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

QnA를 읽다가 이런 답변을 봤습니다. "HTTP API는 HTTP를 사용해서 서로 정해둔 스펙으로 데이터를 주고 받으며 통신하는 것으로 이해하시면 됩니다." 여기서 질문입니다. 1. 위 말씀대로라면 HTTP Form 도 HTTP API의 일종 같은데, 맞나요? 2. HTTP Form과 HTTP API를 강좌에서는 아예 따로 설명하는데, 둘을 나누는 기준이 뭔가요?

  • network
식빵 댓글 2 좋아요 8 조회수 408

영구 리다이렉트와 일시 리다이렉트

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 강사님, 질문 드리겠습니다. 영구 리다이렉트와 일시 리다이렉트의 차이점을 모르겠습니다. 물론 강의에서 말씀하신대로 영구는 앞으로도 쭉 리다이렉트 해야하고 일시는 그러지 말아야 할 수도 있는 상황에 사용한다고 하지만.. 어쨌든 영구든 일시든 3xx로 보내면 리다이렉트 된다는 결과는 둘 다 똑같지 않나요? 그냥 의미적으로만 구분하기 위해 나눠서 사용하는 것인지, 아니면 사용 측면에 있어서 다른 차이점이 있는지 궁금합니다. 감사합니다.

  • network
akakakakak 댓글 3 좋아요 9 조회수 668

True and False 이면 False 가 되는 이유가 무엇인가요?

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

print('e4:', 5+10>0 and not 7+3 == 10) 에서 5+10>0 인건 true 이고 not 7+3 == 10 인건 false 잖아요. 그러면 true and false 가 되니까 이런 경우는 무조건 false 인가요?

  • python
댓글 1 좋아요 1 조회수 213

TCP/IP 패킷 정보 부분에서 질문이 있습니다.

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

서버의 응답을 클라이언트가 받는 과정에서 질문이 있습니다. 클라이언트는 요청을 할 때 출발지 IP, 목적지 IP 와 기타 정보를 IP 패킷에 넣어서 하고, 서버는 응답 시 출발지 IP 와 목적지 IP 를 반대로 해서 한다고 이해했습니다. 큰 틀에서는 이해했습니다만 IP와 관련해서 의문이 있습니다. 대부분의 서버는 공인 IP를 사용할테니 찾아가는데 문제가 없을 것이라 생각합니다. 문제는 클라이언트인데 일반적인 인터넷 사용자는 통신사에서 할당한 공인 IP 에 내부 IP 를 받아 사용할텐데요. 목적지 IP를 찾아오는 방식이 궁금합니다. 클라이언트가 요청할 때 출발지 IP 정보에 내부 IP 와 공인 IP, mac address 를 다 넣어서 요청을 하는건가요? 아니면 다른 방식이 있는건가요?

  • network
네번째카페 댓글 1 좋아요 6 조회수 269

POST 사용 예시 질문

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

강사님 안녕하세요:) 강의 내용 중 POST 예시에서 "기존 자료에 데이터 추가 ex) 한 문서 끝에 내용 추가하기" 에서 궁금한 점이 생겨 질문드립니다. 위 경우 저는 PATCH 나 PUT을 사용해서 /contents/{id} 이런식으로 기존 내용에 추가해야 할 것이라고 생각했는데, 왜 POST를 사용하는지 궁금합니다. 또한, POST를 사용할 경우 http body에 기존 문서의 id를 넣어서 전송해야 되는 것 맞나요? 그리고 뒤에 HTTP API 설계 예시 강의 "HTTP API -컬렉션 회원관리 시스템" 부분에서 PATCH와 PUT을 사용하기 애매한 경우에는 POST를 사용하여 수정하라고 하셨는데, 어떤 경우가 애매한지 궁금합니다("기존 자료에 데이터 추가"가 그 애매한 경우인가요..?). 쓰다보니 질문이 많아졌네요,,ㅜ 강의를 들으면서 많이 배우고 있습니다. 정말 감사합니다!!

  • network
현집 댓글 2 좋아요 2 조회수 413

API 질문

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 강사님, 질문 드리겠습니다. 클라이언트가 서버에게 요청할 uri를 설계하는 것이 API 설계로 표현되었다면, 백엔드 개발자가 개발하게되는 모든 백엔드 로직들을 API라고 보면 되는 건가요? 지금까지 제게 있어 API는 그냥 남이 만들어놓은 것을 가져다 편리하게 쓸 수 있는 도구(ex 구글맵 API) 정도였는데요. 백엔드 개발자가 개발하는 서버 프로그램들도 API의 범주에 포함되는 것인가요? 감사합니다.

  • network
akakakakak 댓글 2 좋아요 5 조회수 229

PDF 강의자료

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 영한님 모든 강의 잘 듣고 있는 수강생입니다! 다름이 아니라 이번에 HTTP 강의를 수강하기 시작하면서 PDF파일이 350이 넘는 방대한 양을 가지는 것을 알게되었습니다. 수강생 개개인 마다 학습 스타일이 다르다고 생각하지만 복습 하는 과정에서 제가 원하는 내용이 pdf의 몇 페이지에 있는지 찾는데 어려움을 느끼고 있습니다. 제가 기억하기로는 Spring jpa강의에서는 코드 중심의 교육 자료가 아닌 정보전달 위주로 준비하셨기에 챕터마다 구분된 PPT로 제공해주셨고 data jpa에서는 코드가 중요한 부분을 차지하고 있기 때문에 한 개의 pdf파일로 구성되었다고 생각합니다. 따라서 혹시 강의 자료를 PPT로 제공해주셔도 되고, 아니면 Spring jpa처럼 챕터를 구분하여 강의자료를 올려주실수 있는지 질문드립니다. 사실 data jpa 실전편 강의들을 때도 강의 자료가 하나의 pdf로 되어있어서 복습하고 싶은 부분이나, 까먹었던 부분 바로바로 찾아보기에 힘듦도 있습니다 ㅠㅠ 마지막으로 강의마다 강의자료의 기본 페이지 크기가 차이가 많이 나는듯 합니다. 요즘 pdf나 ppt를 노트앱에 저장해놓고 팬슬이나 키보드 사용해서 강의 내용을 받아 적으면서 공부하는데 기본 페이지 크기가 들쭉날쭉해서 강의 들을 때 마다 자료의 크기에 맞게 환경을 조정하니 자연스레 강의에 몰입하는데 시간이 좀 걸리는거 같아요 ㅠㅠ 혹시 기본 페이지 크기를 완벽하게 맞추지는 못하더라도 어느정도 균일하게 만들어서 제공해주시면 어떤지 생각합니다ㅠㅠ 두서가 상당히 없지만 항상 강의 잘 듣고 있습니다!

  • network
호호알락 댓글 1 좋아요 1 조회수 831

IP 4계층 질문

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요, 질문 드리겠습니다. 웹 통신에서는 강의에서 설명하시는 IP 4계층을 통해서만 통신이 이뤄지나요? 흔히 알려져있는 OSI 7계층과 완전히 개별적인 것인지 궁금합니다. 감사합니다.

  • network
akakakakak 댓글 2 좋아요 1 조회수 309

GridSearch 질문입니다.

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요 GridSearch 가 어떻게 작동되는지 많이 햇갈려서요 예제코드가 iris data 값들을 파라미터값들인 깊이 와 split 으로 분할해서 학습시키는것이 맞는지요? 그리고 학습시키고 예측은 어느부분에서 실행되는것인지요 감사합니다.

  • python
  • 머신러닝 배워볼래요?
  • 통계
Jin 댓글 1 좋아요 2 조회수 213

모바일에서 flow

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 김영한님. 강의를 듣다가, 문득 모바일의 경우에는 flow가 어떻게 되는지 궁금해져서 질문남깁니다. 인터넷에서 통신은 결국 IP와 Port번호를 알아야 data를 전송할 수 있는 것으로 이해하고 있습니다. 그런데, 모바일은 IP가 계속 바뀌고 Port번호를 따로 설정하지 않아도 카톡 메시지를 서버로 부터 수신할 수 있습니다. 검색을 통해, FCM이나 APNs과 같은 Push 서버를 이용해서 보낸다는 개념은 이해하였습니다만, 이 Push 서버들이 어떻게 바뀌는 모바일의 IP를 알아내는 건지, port 포워딩?은 어떻게 해결하는지 궁금합니다. 바쁘시겠지만, 답변남겨주시면 정말 감사하겠습니다.

  • network
뎁꼼 댓글 1 좋아요 2 조회수 232

Persistent Connection 질문입니다.

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 김영한님. Persistent Connection 질문입니다. 제가 간단한 웹 프로젝트를 운영하고 있는데, 자동으로 Persistent Connection가 적용된 것처럼 보입니다. 원래 따로 설정을 해주어야 적용이 되는 건지, g유니콘이나 그런 앱에서 알아서 처리를 해주는 건지, HTTP 자체적으로 기본설정이 되어 있는 건지, 궁금합니다!

  • network
뎁꼼 댓글 1 좋아요 0 조회수 259

균일한 데이터 셋은 그럼 반반인 데이터인가요?

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

불균일한 데이터셋이라는 게 바로 와닿지가 않네요 4:49

  • 통계
  • 머신러닝 배워볼래요?
  • python
달달한 햄스터 댓글 1 좋아요 0 조회수 309

질문있습니다!

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. 좋은 강의를 보고 패킷모아 보내기를 테스트 해보고 있습니다. 강의와 같이 ServerSession을 500개 만들어서 테스트를 해보면 500개 까지 Connect가 안되고 400좀 넘어서 끝나버리는데(실행할때마다 달라요) 이게 피씨 사양과도 관련이 있나요? 아님 다른 이유가 있을까요? (선생님 파일을 받아서 실행해봐도 비슷해서요)

  • unity
  • C#
  • network
CHANI 댓글 1 좋아요 0 조회수 341

cache-control: no-store 메모리 질문

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

캐시 컨트롤 지시어가 no-store일때, 메모리에서 사용하고 최대한 빨리 삭제하라고 되어있는데, 저 메모리는 어디인가요? 보통, 캐시는 웹 브라우저상에 있는 저장공간에 저장되는거로 알고있는데, no-store일때 저장되는 메모리공간은 다른곳인가요?

  • network
hyperpipe 댓글 1 좋아요 1 조회수 315

cache 메타 데이터 갱신

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

클라에서 서버로 요청 할 경우, 1. header에 cache-control의 max-age의 시간은 이미 만료 2. last modified date의 시점이 아직 변경되지 않은 시점일 때 서버에서 클라이언트로 보내주는 header 정보에 cache meta 데이터는 어떤 식으로 갱신이 되는건가요?

  • network
hyperpipe 댓글 1 좋아요 3 조회수 230

내장 함수를 이용하는 건 별로인가요?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

for i in range ( 1 ,n+ 1 ): for j in range ( 1 , n+ 1 ): if (a[i][j] > max (a[i- 1 ][j], a[i][j- 1 ], a[i+ 1 ][j], a[i][j+ 1 ])): cnt+= 1 이런 식으로 푸는 건 별로인가요?

  • python
  • 코테 준비 같이 해요!
코딩왕 댓글 1 좋아요 1 조회수 350

안녕하세요 불린인덱싱에대해 질문드립니다

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요 위 그림과같이 cond1 , cond2, cond3의 조건을 모두 만족하는 행을 뽑아내셨는데 cond1 or cond2 or cond3 와 같은 조건을 한번에 뽑아내는 방법이 있을까요? & 대신 or을 집어 넣어 보았는데 오류가 발생하여 질문드립니다!

  • 머신러닝 배워볼래요?
  • 통계
  • python
iambyunghyun 댓글 1 좋아요 1 조회수 322

print(str_sl[1:4:2]) 질문

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

str_sl = "Nice Python" print(str_sl[1:4:2]) 하면 ie 가 나오는데, 4번째 글자가 아니라 3번째 글자에서 끊어야 하는거 아닌가요? 그래서 i 만나와야 하지 않나요?

  • python
댓글 3 좋아요 0 조회수 389

입력 커서가 자꾸 그 전에 있던 줄로 이동됩니다ㅜㅜ

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요! 수업 잘 듣고 있습니다. 무엇이 문제인지 모르겠는데... 입력 커서가 자꾸 자기 멋대로 이동됩니다ㅜㅜ 예를 들어 10줄에서 입력을 하다가, 잠깐 5줄로 되돌아가 입력한 내용을 수정하거나 빈 줄에 내용을 추가 하려고 하면 커서가 바로 10줄에 있던 마지막 위치로 되돌아가서 5줄에 입력이 안 됩니다ㅜㅜ 되돌아갈 때 마지막 입력 단어가 지워지고 새로 입력하는 내용으로 대체돼서 자꾸 내용이 지워지고요. 무엇이 문제일까요... ㅜㅜ

  • python
달콤한 치와와 댓글 2 좋아요 1 조회수 829

인기 태그

인프런 TOP Writers

주간 인기글