영한님 안녕하세요. 우선 너무 좋은 강의 듣고 많은 도움 받고있습니다. 항상 감사합니다!! ㅎㅎ 공부하다가 몇가지 궁금한게 생겨서 질문드립니다!! 1. HTTP 요청 메세지에서 궁금한게 있습니다. 예를들어 GET의 경우 크게 start-line, header로 구성되어 있는데, 혹시 QueryString으로 들어오는 parameter들은 HTTP 메세지 구조에서 어디에 속해서 들어오는지 알 수 있을까요?? 코드를 직접 짜서 확인해보니 request.getParameter() 이런식으로 확인 가능한데 이 parameter가 header에 속하는지 아니면 그 위의 start-line에 속하는지 어떠한 위치에 들어오는지 궁금합니다. 2. 개인 프로젝트를 진행하면서 QueryString으로 들어온 파라미터에 대해 검증하는 부분을 처리해야하는 상황이 생겼는데, 이부분에 있어서 인터셉터, AOP 두가지를 고민중에 있습니다. 개인적으로 느끼기엔 AOP에서는 dto 형태로 파라미터들을 받아와서 사용할 수 있기에 간편하다 생각해 현재 AOP로 적용을 시켰습니다. 혹시 실무에서는 이러한 부분을 어떻게 처리하는지 궁금합니다. 감사합니다!! 건강하세요 ㅎㅎ
네트워크 강의는 들을수록 재미있기도하고 라이브코딩도 없어서 그냥 이야기꾼이 이야기해주는가보다 하고 듣고있습니다. 뭐 물론 이해를 잘하고 넘어왔는지는 모르겠지만요 ㅠ 그리고 듣고나서 나와 같은 강의를 들었을 사람들이 어떤 질문을 했는지도 모두 읽어보고 넘어갑니다. 사람마다 같은 강의를 보더라도 생기는 의문은 아주 다양하더라구요?? 단순 수업내용에 대한 질문부터 기술의 한계점에 대해 의문을 가지시는분, 보안이슈, 현업 적용 등등 아주 다양한 주제의 질문들이 쏟아져나옵니다. 근데 강사님께서는 그 모든 질문에 빠짐없이 디테일하게 대답을 해주시는거보고 엄청 대단하게 느껴지면서도 신기했습니다. 저는 이제 막 졸업한 취준생이라서 아직 현업에 대해 잘 모르지만 어디든지 제가 웹 개발자가 되어서 바쁘게 살다보면 그런 지식들은 자연스레 획득하게 되는것일까요?? 아니면 강사님이 그저 다른 개발자들보다도 많은 경험을 했던것일까요?? 다음 강의 시청하러 가겠습니다! 수업 잘 듣고 있습니다.
customer = "Robert" index = 1 while True: print("{0}, Your order is ready.".format(customer)) index += 1 if index => 2 print("{0}, Your order is ready. We called you {1} times".format(customer, index)) index += 1 나도코딩님 무료파이썬 강의 while편에서의 질문입니다. 강의에서는 한글이니까 아래의 코드는 안넣어도 상관없지만 영어로 하면 처음 불렀는데 times라고 하면 문법이 안맞다는걸 깨닫고 처음 불렀을때와 그다음 불렀을때의 문장을 구분해서 출력하고 싶어서 넣은 코드입니다. if index => 2 이부분에서 invalid syntax (<unknown>, line 8)이라고 에러메시가 출력이 됩니다. 원인은 도저히 모르겠습니다. 알려주시면 정말 감사하겠습니다.
좋은 강의 만들어주셔서 감사합니다. 정말 잘 가르쳐주셔서 너무 익혀나가고 있습니다. 다름이 아니라 혹시 웹서버와 게임서버의 활용에 관하여 질문이 개인적인 질문이 있는데 어디에 문의를 드려야 할지 모르겠어서 여기로 질문드립니다... 친구들과 같이 진행중인 프로젝트가 있는데 서버를 처음 다루다보니 AWS를 활용한 웹서버 + 클라이언트 구조로 활용하여 게임을 개발하려 하였습니다. 그런데 이제 OT에서 웹서버와 게임서버의 활용법을 얘기하셔서 저희 게임의 기획에 맞게 게임서버를 활용하기로 하였습니다. 다만, 웹서버와 게임서버를 병행하여 랭킹시스템, 유저정보 등은 웹서버를 활용하여 매치메이킹을 해주는 등에 활용하고 실제 게임이 매치되어 진행하는 동안에는 게임서버를 사용하는 것으로 구상중에 있습니다. 이제 로딩시 버전체크 등 파일 확인에도 웹 서버를 활용하면 괜찮을거 같아서 이렇게 진행을 하고 싶은데 하나의 게임 안에서 서버를 교체하여 매치를 진행한다는 것이 가능한 것인지가 궁금합니다. 저희가 아직 학생신분을 가진 상태라서 서로가 공부목적으로 진행하는 프로젝트이다 보니 웹서버에 관심을 가지고 있는 친구가 있어 포기할 수는 없는 상태인데 이게 이중연결이 진행이 되는 것인지 아니면 웹서버의 연결을 끊고 게임서버로 다시 연결시켜주는게 괜찮은 방식인가 싶습니다... 강의와는 무관한 질문 정말 죄송합니다 ㅠㅠ
[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
안녕하세요 선생님! 9분쯤에 컬럼순서 바꾸려고 리스트해서 하는건 이해하고, value값도 변하지 않는거 까지는 알겠습니다! 근데 iso2를 삭제하고 1번자리에 다시 넣었는데 value값도 그대로 온거면 value값은 iso2라는 컬럼에저장되어있기에 자동으로 오는건가요? 그래서 cols.insest(1, 'iso2') 해야 iso2값이 그래도 오지 여기서 컬럼명을 바꾸고싶다고 다른걸 넣으면 value값은 안따라오는건가요?
32:00 (패킷트레이서 기본 및 라우터 스위치 기본설정) 안녕하세요, 강의를 들으며 네트워크에 대해 매일매일 새롭게 배워가고 있는 학생입니다. 좋은 강의 정말 감사드립니다. 패킷 트레이서로 강의를 들으면서 실습을 해보고 있는데, NIM-2T 모듈을 라우터에 장착하는 부분에서 문제를 겪고 있습니다. ㅜ 저 모듈 버튼이 당최 말을 듣지 않습니다...프로그램의 오류일까요? 사용환경은 macOS (Big Sur)이며, 패킷트레이스 버전은 8버전입니다.
안녕하십니까, 현재 RetinaNet을 구현해보고자 Retitanet paper를 읽고 케라스 공식홈페이지의 Retinanet 예시 코드(https://keras.io/examples/vision/retinanet/#implementing-smooth-l1-loss-and-focal-loss-as-keras-custom-losses) 를 이해하고자 하는데 제가 전반적인 흐름을 이해하질 못하고 있습니다. 본 강의에 있는 Fast RCNN 파트에서, 예측 박스가 Ground Truth 좌표값을 따라가는 것이 아닌 Anchor Box 중에서 Ground Truth와 IOU 높은 Positive Anchor Box를 따라간다고 하였습니다. 그렇다면 1. RetinaNet이 작동하기 전 과정이, 우서적으로 Anchor box들 생성하고 그 중에서 Ground Truth와의 IoU>= 0.5인 Positive Anchor Box 찾기 가 맞는지요. 2. 그리고 RetinaNet 구조를 보면 FPN 에서 나온 P3 ~ P7(Retinanet paper 기준) feature map을 class subnet과 box subnet으로 각각 들어가게 되고, 위 케라스 공식 홈페이지 예제 코드 이때, box subnet의 결과값이 W x H x (4 x 9) 꼴인데, Positive Anchor Box의 좌표는 (x, y, w, h)로 4개인데 어떻게 regression 계산이 되는지 궁금합니다. class subnet에 들어가게 되면 W x H x (num_classes x 9) 꼴의 결과값이 나오는데, 이는 2번질문과 마찬가지로 class labeling은 0,1,2,...과같은 정수형이거나 벡터형으로 나타날텐데 어떻게 regression 계산이 되는지 궁금합니다. 3. 또한, Positive Anchor Box를 제외한 나머지 Anchor Box들은 결국에는 직접적인 학습에 사용되지 않는 것인지요? 만약 사용된다면 Negative Anchor Box(IoU < 0.4)와 Ignorance Anchor Box(0.4 <= IoU < 0.5)가 어떤식으로 사용되는 지에 대해 설명 부탁드립니다. 4. 또한, 한 이미지에 서로 다른 객체가 2개 이상일 때, feature map이 class subnet에 들어가서 도출된 결과값( (num_classes) X 9)이 어떤 방식으로 해당 객체의 레이블과 대응하여 학습되는지 궁금합니다. 예를 들어, 사과(0), 고양이(1), 강아지(3) 클래스가 3개인 데이터셋에서, 사과(0)와 고양이(1)가 존재하는 특정 이미지를 RetinaNet에 training시키게 되면, P3 ~ P7의 feature map이 class subnet으로 들어가서 W x H x (3 x 9)꼴의 결괏값이 나올텐데, 이때 해당 결괏값이 사과(0)인지, 고양이(1)인지 어떤 값이 대응하여 학습해야할 지에 대해서 알 수가 없어 이렇게 질문드립니다. 대략적인 이론을 알고 있다고 생각하여 직접 코딩을 하려했지만, 막막하여 keras 예제를 통해 역으로 이론을 이해하려 시도했습니다. 하지만 코드 자체가 이해가 되질 않고, 어떤 식으로 데이터가 흘러가지는에 대해서도 파악할 수가 없었습니다.. 혼자서 해결해보려 했으나 며칠동안 해결되지 않고 오히려 이해가 되지 않는 부분이 많아져서 이렇게나마 질문을 드립니다...
안녕하세요 김영한 강사님!! 이렇게 또 질문을 올리게 되었습니다..! 토이프로젝트로 api를 설계할때마다 너무나도 궁금한점들이 있었습니다. 간단한 예제로 회원 정보 api 설계로 예를 들어보겠습니다! . 회원 조회 api 설계라고 하면 보통 /members/{id} 이런식으로 알고 있습니다. . Spring Security를 이용해 jwt나 세션을 사용하면 Principal 객체에 회원 데이터가 들어있어서 이를 이용해 /members/me -> 이런 api 설계도 가능했었습니다 (jwt decode 된 정보나 세션 정보를 확인해서 정보조회) . 클라이언트 입장에선 로그인 후 회원 정보를 보고싶으면 회원조회를 요청하는 uri 주소를 띄워줘야 하는데 회원 리소스의 식별 값을 알아야지 조회가능 하지 않나? 라는 생각이 들었습니다. . Admin 페이지에서의 예를 들어보면 회원들 관리를 위해 전체 회원 목록 조회를 하면 회원 entity들을 dto로 반환하고 hateoas를 이용해 각각의 회원 정보를 조회하는 uri를 PagedResourcesAssembler를 이용해 각 회원마다 만들어 주었었습니다. (예시를 들자면 회원 목록 조회후 @Id 값들로 회원 조회, 게시판 글 목록 조회 후 @Id 값들로 게시판 글 조회, 주문 목록 조회후 @Id 값들로 주문 조회 이런식입니다!) ex) "id" : 1 , "username" : member1 , "links" :[ { "rel" : "회원 정보" , "href" : "http://localhost:8080/members/1" } ] "id" : 2, "username" : member2 , "links" :[ { "rel" : "회원 정보" , "href" : "http://localhost:8080/members/2" }] ..... 하지만 로그인한 일반 유저 입장에선 -그냥 세션을 이용한다면 세션에 setAttribute한 값을 가져와서 회원을 조회해서 정보를 나타내주면 되고 -jwt를 이용한다면 decode된 정보를 바탕으로 회원을 조회해서 정보를 나타내주면 되는데 /members/{id} 로 api 설계를 하고 api 문서를 적어놨다고 하였을때 클라이언트 쪽에선 어떻게 개발을 하는지 궁금합니다. (보통 실무에선 restful을 지키기가 힘들기 때문에 보통 지켜지지 않으며 개발이 된다고 하신 답글을 보았었습니다!) . - /members/1 이라고 했을때 1번인걸 클라이언트가 어떻게 알고 회원 정보를 보는 페이지로 가는 uri를 적는걸까? -> 서버로 로그인 요청을 보내면 서버에서 1 번 응답을 줘서 클라이언트에 따로 저장시켜놓는건가 ? . 이런 생각들입니다..! 제가 이부분에선 잘못 생각하고 있을수도 있지만 이상하게 헷갈리는 부분은 꼭 알고 가고싶어서 여쭤보게되었습니다. 구글에 찾아봐도 설계만 딱 있을뿐 저에게 답이 되는 부분은 찾지 못하였습니다..ㅜ . 그래서 정리하자면 1. /members/me -> Principal 에 저장된 정보로 회원조회 하는 설계랑 /members/{id} -> @PathVariable id 값으로 회원 조회 하는 설계가 명확히 어떤 측면에서 장단점들이 있고 제가 앞에서 말씀드린 내용의 대한 것과 제가 어떤 부분을 잘못 알고있는지 궁급합니다! 2. 보통 rest가 아닌 실무에서의 http api 설계를 할때 해당 페이지에서 이동 가능한 link 까지 포함해서 응답을 주는지 궁금합니다! (회원 정보 페이지 라고 한다면 회원 정보 페이지에선 회원 수정, 회원 탈퇴 의 링크가 있다면 이걸 포함시켜서 응답을 해야하는지)
안녕하세요. 강의를 듣고 여러 프로젝트를 하면서 개념이 정리가 잘되지 않아서 이렇게 질문 드립니다. 실제로 일을 하다보면 여러 쿠키에 대한 여러 설정값이 나오더라구요. withcredentials, sameSite, secure, httponly 등등... 첫 번째로 서로 다른 도메인에서 쿠키를 주고 받으려면 클라, 서버 둘 다 withcredential = true 로 설정해야 된다는 것을 알고 있습니다. 만약 클라가 aaa.com이고 api요청을 api.aaa.com을 가지고 있는 서버에 준다고 하면 withcredential에 대한 설정을 어떻게 해야 하는 건지 궁금합니다. aaa.com과 api.aaa.com은 sameSite이고 서로 다른 origin 인것까지는 이해했습니다. 인터넷에 여러 글을 찾아봐도 어떤 글은 서로 다른 도메인간의 쿠키 전달이라고 명시되어 있는 반면 아떤 글은 서로 다른 origin 간의 쿠키 전달 옵션이라고 되어 있어 혼란스럽습니다. 결론적으로 1. 도메인과 서브 도메인의 도메인 일치 여부 2. withcredential 옵션의 기준 -> 서로 다른 도메인인지, 서로 다른 origin인지 3. sameSite 가 같은 도메인을 의미하는지 그래서 클라: aaa.com 서버: api.aaa.com 환경에서 withCredentials 설정을 해줘야하는지 궁금합니다. 답변해주시면 감사합니다.
안녕하세요. 강의 잘 보고 있습니다. 기존에는 전부 Post 로 createMember, deleteMember, modifyMember 등으로 api를 설계 했었는데요. 강의 보면서 createMember -> Post /members modifyMember -> Patch /members/멤버Id deleteMember -> Delete /member/멤버Id 이런식으로 바꾸려고 합니다. 근데 생각하다보니 만약 클라이언트에서 편리성을 위해 한번에 한개씩이 아닌 여러개의 회원을 만들거나 수정하거나 삭제하려고 할때 저런식으로 하면 애매한 부분이 있어서요. 예를들면 3명의 회원을 한번에 등록하기 위해 Post /members body에 { [{name: 홍길동, age: 20}, {name: 임꺽정, age: 25}, {name: 심청이, age: 22}] } 이런식으로 요청한다고 할때 응답코드의 Location 값은 어떻게 넣어주는게 좋을까요? (회원Id 값이 3개라서요) 그리고 Put, Patch 같은경우 클라이언트가 "리소스 위치를 알고 URI 지정" 이라고 하셨는데 일괄 수정하기 위해 Patch /members { [{id: 1, age: 21}, {id:2, age: 22}] } 이런식으로 호출하는건 규칙위반이라는 뜻인가요? (URI에 리소스 위치를 넣어준게 아니라 body에 리소스id값인 id를 넣어줌) 마지막으로 Delete /members 해서 임꺽정과 심청이를 삭제하려고 하는데 Delete 메소드는 요청에 body가 허용 안된다고 나와 있어서요. 이럴땐 어떻게 설계하는게 좋을지 궁금합니다.
안녕하세요 김영한멘토님, 매번 잘 듣고있습니다. 웹개발을 시작한지 7개월정도 되었는데요, 대부분의 홈페이지 프로젝트에선 전자정부 프레임워크로 개발을 하고 있구요. 강의를 보게 된건 aJax통신을 하던 중에 http 헤더와 바디에대한 개념을 잡고 싶어 바로 보게 되었고, 많은 궁금증이 풀려가고 있습니다. 다만, SI웹개발 현업에선 정말 Get,Post메소드만 사용하고 aJax통신에서도 다른 메소드를 사용하는 경우가 거의 없는데 그러다보니 MVC2와 Spring에 이 메소드들이 어떤 연관이 있는지 잘 이어지지가 않습니다. 다른 질문글에 있는 답변 중, 어차피 HTTP URI를 설계 했으면 스프링에서도 컨트롤러에서 매핑을 시켜주는 과정이 필요하다 라고 하셨는데, 그럼 혹시 스프링MVC에 PUT, DELETE등을 사용하는게 더 나은 경우가 어떤게 있을까요? 감사합니다.
안녕하세요. 노드버드 강의 보면서 제가 맡은 프로그램을 짜보고 있습니다. 다름이 아니라, mysql 디비에서 라우팅해서 관련 데이터가 포스트맨으로 넘어오는거까지 확인이 되었는데요, 프론트엔드 부분에서 statusView 페이지에서 관련 데이터 받아와서 뿌리는 테스트 코드를 작성해봤는데, 아무런 반응이 없습니다. 테스트 코드는 다음과 같습니다. 크롬창에서 localhost:3000/statusView 들어가보면 Hello Town1 List만 나오고 console.log(test) 이부분은 undefined로 나옵니다. getInitialProps가 동작을 했다면 console.log('aaaaaa')가 나왔어야 하는데 이건 출력이 안되더군요. 참고로, 백앤드 서버는 실행한 상태에서, 새로 폴더를 만들어서 react, react-dom, next 만 설치한 상태에서 pages 폴더를 만들고 statusView 페이지에 위에 코드를 넣어보니 이때는 또 데이터가 잘 넘어 옵니다. 어디서 부터 디버깅을 해야할지 막막해서 두서없지만 질문 올립니다.