안녕하세요 ! 강의 잘듣고있습니다 제가 궁금한건 처음 강의에서는 http://localhost:8080/hello<-.html이 붙어 있지않아도 그냥 들어가졌지만 지금강의 에서는 http://localhost:8080/basic/hello-form.html 이런식으로 .html이 붙지않으면 에러페이지가 뜹니다 혹시 이유를 알수 있을까요 ?ㅠ
안녕하세요. 현재 파이썬 socketio 를 사용하여 서버-클라이언트를 구성하였는데요 클라이언트에서 카메라의 url 을 보내면 서버에서 카메라의 url 을 받아서 영상을 스트리밍하게 됩니다. 헌데 서버에서 영상을 스트리밍하게되면 서버가 계속 영상정보를 실행시켜서 추가적으로 클라이언트에서 정보를 전달을 못합니다.. (클라이언트에서 정보 보내면 socketio connection error 가 뜹니다) 혹시 이 사안에 대해서 추가적으로 정보를 보낼수 잇는 방법 아시는분이 계실까요? (궁극적으로 카메라가 켜졋다가 끄는 작업이 완료되어야하는데 켜지는건 되는데 끄는게 안됩니다ㅠ) 알려주시면 감사하겟습니다!!
로그인 예제를 진행하면서 비밀번호 암호화까지 진행해보고 싶었습니다. 그래서 구글링으로 스프링 시큐리티 기능에서 PasswordEncoder 기능만 살짝 달아서 적용해봤습니다. 그런데 생각해보니 프론트에서 HTTP로 비밀번호를 전송해서 서버 측에서 암호화를 진행하는 방식은 네트워크 상에서 해킹당하면 의미가 없는 거잖아요? 이런 건 HTTPS 적용하는 방법 외엔 적당한 해결책은 없나요?
안녕하세요 :) 강의 덕분에 다양한 문법을 알아가면서 파이썬의 이해도를 높이는 중입니다. 수업을 듣다가 질문이 생겼는데요. 리스트 자료형에 *2를 했을 때는 id가 다르고 *=2를 했을 떄는 왜 id가 같은 건지 궁금합니다 결국 같은 연산인데, 내부적으로 둘은 어떻게 동작하는건가요?
강의를 통해 열심히 배우고 있는 학생입니다 이번에 여쭤보고싶은게 있어 질문했습니다. 다중 체크박스에서 서울과 부산을 선택해서 상품 수정시 폼 데이터 전송 방식까지 확인 했습니다. 또한 Item 클래스에서 regions 필드는 List 타입으로 선언되어 있으며 @Data 애노테이션으로 롬복이 getter sertter 등을 자동 생성해준다고 학습했습니다. 여기서 궁금증이 생겼습니다. 컨트롤러에서 @ModelAttribute를 사용할 시 Item 타입의 객체를 생성하고 객체의 프로퍼티까지 셋팅해주며 그 방식이 폼 데이터로 넘어온 name 값으로 setter를 호출한다고 알고있는데 list 타입으로 선언한 regions의 setter호출시 자동으로 값을 넣어주는 기능을 하는건가요?? Item 객체의 regions 필드에 Seoul, Busan과 같은 값이 어떻게 추가 되었는지 궁금합니다.
Exception의 경우 domain마다 다양하게 구성되는 것 같은데 한곳에서 모든 도메인의 익셉션을 핸들링하는것 보다 각 도메인 별로 Exception 패키지를 둬 해당 패키지에 도메인별 익셉션 정의 + 도메인별 advice 공통 익셉션의 경우 public? 패키지에서 관리 이런식으로 구성을 해 관리하는게 더 좋아보이는데, 영한님의 의견이 궁금합니다. + 영한님은 패키지 관리를 어떤식으로 하시는지 + 이런 구조를 효과적으로 잡는데 있어 참고할만한 서적이 있는지 답변주시면 감사드리겠습니다.
@RequestParam(required = false, defaulValue = "-1") int age 일 때 age는 int 자료형인데 defaultValue = "-1" 인데 이럴 경우 숫자 -1인지, 문자 -1 인지 구별할 방법이 없는데 그 변수의 자료형에 맞게 "@@@" 안의 값이 설정되는건가요 ?
요청, 응답시 관련해서 몇가지 질문 사항이 있습니다. 1. 응답코드를 주고자 할때 , 어노테이션 // 리스폰스 엔티티 둘다 사용가능한데 어떤 경우에 어떤걸 사용하는게 더 좋은지 2. 마찬가지로 헤더 값이 필요한경우 어노테이션 // 리퀘스트 엔티티 둘다 사용가능한데 어떤 경우에 어떤걸 사용하는게 더 좋은지 3. modelAttribute 사용시 dto로 parameter들을 받을때 dto니까 setter를 그냥 사용하는게 좋은지 아니면 entity처럼 setter를 사용하지 않고 필드 억세스 하도록 만들어 주는게 좋은지, 그렇다면 왜 그런지 3가지가 궁급합니다. 강의들 다시 복습하면서 요즘 이것저것 여쭤보는데 항상 친절히 답변해주셔서 감사합니다.
HTTP API 경로에 entity의 식별자를 넣어 사용하는게 추세라고 하셨는데 -------- @GetMapping("users/{userId}/posts/{postId}") 라고 할때, mvc2 강의에서 user의 정보는 탈취 당하고 악용될 수 잇으므로 session 을 통해 user의 info를 받아와 사용한다고 말씀하셨습니다 ------ 그러면 user에 대한 경로는 다 없애고 session을 통해 정보를 받아와서 사용하고 그 외 다른것은 저렇게 식별자를 통해서 사용해서 api 경로를 매핑하면 될까요? REST API case에서 자신이 등록한 게시글만 조회하는 api의 경우 ----- @GetMapping("/posts/{postId}") public post(HttpSession session, @PathVariable Long postId){ Long userId = (Long) session.getAttribute(LOGIN_ACCOUNT); } 이런식으로 사용하면 될까요? ------- 추가적으로 위처럼 적용한다고 하면, 자신이 등록한 post를 api 조회하는 경로와, 전체 post에서 어떤 post를 조회하는 api의 경로가 같게 되는데 여기서 또 문제가 있는 것 같습니다. 위 처럼 사용시 자신이 등록한 post들 전체 조회 api => "/posts" 전체 post 조회 api 또한 => "/posts" 어떤 방식으로 접근하는게 좋은지 답변주시면 감사드리겠습니다.
안녕하세요 공부방법 질문드립니다! 저는 비전공자이고 자바만 공부했는데요 자바 배웠으면 프레임워크인 스프링을 공부해야 된다고 해서 주변 사람들에게 추천을 받아 이 강의를 듣게 되었습니다. 김영한 강사님의 커리큘럼 그대로 따라가려고 했는데요 입문 강의임에도 불구하고 생각했던것 보다 어렵고 마음과 다르게 진도 나가기가 힘드네요... 강의를 들으면서 완전 아예 이해가 전혀 안된다! 이건 아닌데요 그래도 많이 어렵습니다. 어려워서 스프링공부법 관련해서 인터넷에 계속 검색하다 보니 스프링 공부 전 jsp를 먼저 공부하는게 좋다는 말들이 있는데요 저 혼자 jsp를 따로 공부한 후에 지금 이 강의 들으면서 김영한강사님의 커리큘럼을 따라가는게 맞는건가요? jsp를 먼저 공부하고 와야 할까요? 공부법 조언해주시면 감사하겠습니다 !
강의를 듣던 중 질문드립니다. SpringMvc패턴에서 v1에서 각각의 클래스에 @Controller 애노테이션으로 등록만 해주었는데 FrontController 역할을 하는 Dispatcher Servlet의 클래스? 등은 따로 존재하지 않는건가요? 이번 소스가 정확히 어떤식으로 돌아가는지 잘 이해가 가지 않습니다 ㅠㅠ Http의 parameter를 입력 받고 스프링 빈에 등록되어 있는 핸들러 @RequestMapping 으로 찾은 다음 따로 무언가 작성해주지 않더라도 스프링 내부에서 자동으로 어댑터를 찾아서 핸들러를 적용시키고 뷰 리졸버까지 자동으로 되는건가요? ㅠㅠ 구조가 잘 이해가 가지 않습니다 김영한 선생님께서 만든건 Controller 클래스와 .jsp의 뷰밖에 없는데 스프링이 어떻게 알아서 다 하는지... 헷갈립니다 그리고 제가 컨트롤러의 리턴값을 무엇을 반환할지도 모르는데 만약 스프링안에 등록된 어댑터로 찾을 수 없으면 에러가 발생하나요 ?
선생님 안녕하세요. MediaType 설정 관련해서 질문이 있습니다. produces 속성을 MediaType.APPLICATION_JSON_VALUE로 설정하면 에러 바디도 JSON 데이터로 만들어서 반환하는 걸 이번 강의에서 배웠고 여기에서 accept 헤더가 중요한 역할을 하는 걸 알았습니다. 그런데 여기서 궁금한 것이 제가 테스트를 해보니, accept=*/*로 설정하면 왜 application/json 방식이 더 우선순위를 갖는 걸까요? ErrorPageContriol에서 produces 값을 더 구체적으로 설정해줘서 처음에는 application/json 방식이 (accept=*/* 로 설정할 경우) 더 우선권을 갖는 거라고 생각했는데, 처음에 만든 produces 값 설정을 안 한 컨트롤러 메서드를 produces=MediaType.TEXT_HTML_VALUE로 변경하고 html과 json 방식 메서드 두 개가 있는 상황에서 테스트해도 여전히 json 형식이 더 우선권을 갖는데 왜 그런지 궁금합니다.