묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
web 과 domin패키지 구조에 대해 질문이 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 클라이언트에서 값을 받아와서 저장하는 경우는 formDto를 따로 생성해서 modelattribute로 받아온 후 컨트롤러 메서드 안에서 실제 저장 될 entity로 컨버팅해서 서비스단이나 리포지토리로 넘겨주면 되면 웹과 도메인 분리가 가능한데 findById처럼 db에서 엔티티에 값을 담아 서비스를 거쳐 컨트롤러에 뿌려줄 땐 어떻게 해야 할까요? 결국 컨트롤러까지는 Entity자체가 들어오긴 해야 서비스나 리포지토리영역에서 웹 dto에 의존하지 않는것일텐데 컨트롤러 영역에서 가져온 엔티티를 그냥 바로 모델에 add하나요? 아니면 response할 dto를 따로 생성한 후컨트롤러 영역에서 response할 dto객체를 생성해서 가져온 엔티티의 값을 넣어줘서 (setter든 생성자든) dto를 모델에 add하나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http status code 모두 200인 경우
안녕하세요 선생님, 좋은 성탄절 보내셨기를 바랍니다! :) 다름이 아니라, http status code를 모두 200으로 주는 것에 대해 선생님의 의견을 여쭙고자 커뮤니티에 글을 남깁니다. 많은 백엔드 개발자분들이 "http status code는 네트워크 통신코드이기 때문에 통신이 되기만 하면 200으로 내려주는 것이 맞다. 세부적인 api 호출 결과는 따로 주는 것이 맞다." 라는 입장을 가지고 있습니다. 또한 자체적으로 창의력을 발휘하여 0, -1등을 사용하는 회사도 많이 보았습니다. 이에 대해 선생님은 어떻게 생각하시나요? 이런 이슈는 웹프론트로 치면 모든 html element를 div로 만드는 것과 같이, "그렇게 해도 서비스가 돌아가긴 하지만, 웬만하면 그러지 말아라" 정도의 이슈인걸까요? 순수한 궁금증이 들어 문의 남깁니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요 영한님 질문이있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니요2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 강의잘보고있습니다 다름이 아니라 제가 취업준비하려는 회사가 jsp를 사용하는데 jpa활용2편 까지의 기능을 타임리프 대신 jsp로 적용하여 구현할수있는지 궁금합니다 구현하려면 코드수정이 컨트롤러 에서도 일어나야하는지 궁금합니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이동 순서 출력
이동 순서 출력하려면 어떤 식으로 코드를 작성해야 하나요.. 쉬울 것 같았는데 막상 해보니까 잘 안되네요..
-
미해결스프링부트 시큐리티 & JWT 강의
안녕하세요 주호님 강의를 보던중 궁금한점이 생겨 질문 남깁니다.
강의에서 10분대 설명중 청군이 청군에게 '문서'를 보낸다 라고 비유를 해서 설명해주셨는데요. 일반적인 웹 어플리케이션에 상황에서 '문서'를 'HTTP 메세지' 라고 해석하는게 맞을까요?? 해석한게 맞는지 궁금해서 질문 납겨봅니다. 좋은강의 올려주셔서 감사합니다! (_ _)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결실전! Querydsl
from 절의 subquery와 view 테이블 관련
안녕하세요, 김영한님 강의 잘 듣고있습니다! 혹시 from 절에 subquery를 사용하게 되는 경우 JPA에서는 한계가 있다면 View 테이블을 만들어 놓고 Entity class를 생성하여 사용하는건 실무에서 문제가 있을까요? (유지보수 관점에서요!) select * from (select ~~~ from ~~) ~~ 이거를 create view XXX as select ~~~ from ~~ view 를 만들어놓고 select * from XXX; 요렇게요 답변 미리 감사합니다 :)
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print, type는 뭘까요?
안녕하세요! 복습을 해보다 보니, print와 type을 뭐라고 불러야할지 모르겠어요. str1 = apple이라고 정의한다면 str1은 변수가 될텐데, 여기서 print(type(str1)) 이라는 구문을 썼을 때 print, type은 뭔지 (함수? 메소드?) 결과로 나오는 <class 'strl'>에서 class는 뭘지 궁금해요. 강의 잘 듣고 있습니다! 쏙쏙 들어오는 강의 감사합니다. 도움 주시는 선배 개발자 분들도 감사합니다~!
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
Deployment error
안녕하세요. 마지막까지 잘 따라오다가 막히게 되었습니다. 외부 접근이 차단된다고 나오는데요. 몇번 코드를 원복하고, 코드도 다시 점검해보았지만 안되네요. ㅠㅠ 깃허브 주소는 아래와 같습니다. https://github.com/JJingu/jjinkong.git
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - 이론과 실습
강의 잘들었습니다. then은 되는데 on이 안되네요..
deposit에서 once를 then으로 수정하면 잘 되는데 on이나 once로 하면 안되네요.. caver공식문서봐도 틀린게 없는거 같은데 안되네요. 강의 잘 봤습니다. 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프에서 th:errorclass가 정확히 어떤 것인지 궁금합니다!
안녕하세요! 항상 좋은 답변해주셔서 감사합니다. 이번에는 타임리프에서 th:errorclass를 사용할 때 궁금증이 생겨서 코드로 여쭤보고 싶어 글을 작성하게 되었습니다. 정확하게는 th:errorclass에서 errorclass가 true일 때, th:field="*{price}"를 통해서 나와야 할 th:value = "${item.price}"가 왜 안 나오는지를 이해하지 못해서 글을 적게 되었습니다. <input type="text" id="price" th:field="*{price}" th:errorclass="field-error" class="form-control" placeholder="가격을 입력하세요"> 위 코드를 보면 errorclass='field-error'가 있고, 이것이 여러가지의 형태를 축약해서 보여주는 것으로 알고 있습니다. <input type="text" id="price" th:field="*{price}" th:classappend="${#fields.hasErrors('price')} ? 'field-error' : _" class="form-control" placeholder="가격을 입력하세요"> 타임리프 독스를 활용하면 위의 코드가 축약되는 것이 errorclass로 이해를 하고 있습니다. 즉, errorclass는 현재 선택표현식으로 나오는 값이 에러가 있으면, 클래스에 field-error를 더해서 사용하고, 에러가 없으면 form-control만 사용하는 것으로 이해를 하고 있습니다. bindingResult.addError(new FieldError("Item","itemName","상품 이름은 필수입니다.")); 그런데 RejectedValue를 사용하지 않고, 위 코드를 사용하게 될 경우 Validation을 통과하지 못한 값들은 다시 HTML Form으로 나오지는 않습니다. 그런데 확인해보니 @ModelAttribute로 요청 파라미터가 바인딩 될 때는, 로그 상에서 잘못된 값이 들어오더라도 Item 객체에는 정상적으로 바인딩 되는 것이 확인되었습니다. 이 상황들을 요약해보면 다음과 같습니다. 1. @ModelAttribute로 객체 Binding이 될 때는 타입 에러만 아니면, Validation을 통과하지 못하는 모든 값들도 자동적으로 객체에 Binding이 된다. 2. 따라서 다시 addForm으로 넘어갈 때, Model에 들어있는 Item에는 비정상적으로 입력된 값도 들어가있다. 3. 뷰 템플릿에서 Model에서 item을 찾아서 값을 꺼내려고 할 때, 값이 없기 때문에 안 꺼내지는 것은 아닌 것으로 확인된다. 위의 세 가지 상황을 요약해보면... <input type="text" id="price" th:field="*{price}" th:errorclass="field-error" class="form-control" placeholder="가격을 입력하세요"> 위 코드에서 price로 된 error가 있다면, th:field에 의해서 자동으로 생성되는 th:value=${price}만 실행되지 않는다로 이해를 해야할 것 같습니다. 왜냐하면 error가 있을 때, 레드박스는 발동하기 때문입니다. 아무리 찾아봐도... 없어서... 위처럼 이해를 해도 되는 것인지 궁금합니다! 항상 좋은 답변 감사드립니다! 좋은 하루 되세요!
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한 수락이 안된 것 같아요...
수락이 된게 맞을까요?? github joshua1988 로 들어가서 repositories 에서 vue-intermediate 검색을 하고 아무리 찾아봐도 해당 결과가 안 나오네요 ㅠㅠ ..
-
미해결코틀린 3강으로 끝내기 feat. 안드로이드 개발
ignoreNulls 함수
ignoreNulls함수에 파라미터 변수 타입이 String?인데 그 밑에는 str!!로 하셨습니다. ?는 null값일 수도 있다고 하셨는데 밑에 !!로 null이 아니다를 뜻하는데 왜 굳이 ?를 썼는지 궁금합니다.
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
클래스명.__init__()사용시 에러
강의에서 알려주신 것처럼 클래스명.__init__()를 실행 시 아래와 같은 에러가 뜨는데 잘몰라서 구글링을 해도 명확히 이해가 되지 않는데 왜 그런건가요?
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
사진이 업로드되지 않는 에러
1. profile 수정해도 화면에 표시되지 않거나 2. "413 Request Entity Too Large" 에러가 발생합니다. 설정오류일까요? 깃주소는 아래와 같습니다. https://github.com/JJingu/jjinkong.git
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
service를 만들엇고 serviceimpl에서 저 단어가 왜나왔나 지금 의문이 해소가안되네요 답변좀요
빨간 표시한 EgovAbstractServiceImpl은 어디서 나온것인가 도저히 이해할수가없어요 이거 어디에 연결이되서 어떻게 저단어가 나오게된거죠? 비전공자가 알기쉽게 설명 부탁드립니다.
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
타입추론이 제대로 안됩니다 ㅠㅠ
routes의 middleware.ts에 isAuthenticated() 부분이 타입추론이 안됩니다. passport에 index.ts를 켜놓은 상태에서는 추론이 됩니다. passport에 index.ts에서도 types/index.d.ts 를 켜놓은 상태에서는 user.id 에 타입이 추론되는데 꺼져있으면 또 에러가 생깁니다. 왜그럴까요?
-
미해결팀 개발을 위한 Git, GitHub 입문
좋은 강의 잘 들었습니다.. ppt자료 부탁합니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 입문자에게 유익한 강의네요..강의 잘 들었습니다... ppt자료 부탁합니다.. sisky77@gmail.com
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문 있습니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @GetMapping("/{postId}/edit")public String editForm(@PathVariable Long postId, Model model) { PostDetailDto post = postService.findByPostId(postId); model.addAttribute("post", post); return "post/post_edit_form";}@PostMapping("/{postId}/edit")public String editForm(@PathVariable Long postId, @Validated @ModelAttribute("post") PostUpdateRequestDto dto, BindingResult bindingResult) { //글로벌오류 if ( !StringUtils.hasText(dto.getTitle()) && !StringUtils.hasText(dto.getContent())) { bindingResult.reject("globalError"); } //검증실패시 다시 입력 폼으로 if (bindingResult.hasErrors()) { log.info("errors ={}", bindingResult); return "post/post_edit_form"; } postService.updatePost(dto, postId); return "redirect:/post/{postId}";}@Getterpublic class PostDetailDto { private Long postId; private String title; private String content; private String author; private Date regDate; public PostDetailDto(Post entity) { this.postId = entity.getPostId(); this.title = entity.getTitle(); this.content = entity.getContent(); this.author = entity.getAuthor(); this.regDate = entity.getRegDate(); }}@Getter@Setterpublic class PostUpdateRequestDto {@NotBlank private String title; @NotBlank private String content;}이런식으로 editForm을 보여줄 때 모델에 바인딩 되어서 넘어가는 dto가 다를때는 어떻게 해야 할까요? @GetMapping으로 조회 할 땐 db에 있는 값이 다 담겨져서 조회가 가능 하지만@PostMapping으로 수정 할때 haserror가 걸리면 수정폼으로 리턴 될 때 수정 폼의 필드들에 @Validated @ModelAttribute("post") PostUpdateRequestDto dto -> 이 값이 넘어가서 editForm에 있는 다른 필드들(author,content등..)에 매칭이 안돼서 오류가 납니다리다이렉트로 editForm에 넘기는 방법도 해봤는데 결국 findById로 조회해서 모델에 바인딩시켜주는거라 전에 있던 value값들이 적혀서 나오네요( 강의에서는 빈값으로 나옵니다 )dto를 합치는 방법밖에 없을까요?
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
[코드 질문] 코드 관련 질문드립니다!
안녕하세요. 강사님 우선, 연말 잘 보내세요 : ) 강사님 덕분에 파이토치를 열심히 공부하고 있습니다! 현재, LSTM가지고 여러가지 시도를 해보면서 공부중에 있습니다. 강의에서 다루시지는 않았지만, CNN + LSTM + LSTM 위의 형식으로 레이어를 구성해서 활용해보고 싶습니다. LSTM 2개를 연속해서 사용하기 위해서는 어떻게 해야할까요? 열심히 구글링 해봤지만, 명확하게 알기 힘들어서 질문드립니다. 현재 강의에서 알려주신 LSTM에 CNN과 드랍아웃을 적용한 상태입니다. 여기에서 LSTM을 추가로 Stack하려면 어떻게 해야하는 알려주실 수 있을까요? 바쁘신 와중에 감사드립니다 : )