묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
패키지 의존성을 확인해보는법?
해당 챕터를 들고 궁금한 점이 있어 문의를 남깁니다. 7분를 들어보면 패키지 의존성을 확인해보라는 말이 나오는데 그런 의존성을 파악하는 툴 같은게 있는건가요?
-
해결됨코딩테스트 [ ALL IN ONE ]
postorder 문제 문의드립니다!
안녕하세요!현재 postorder 트리 문제 풀었는데요!선생님이 공유해주신 코드가class Solution(object): def lowestCommonAncestor(self, root, p, q): if root == None: return None left = self.lowestCommonAncestor(root.left, p, q) right = self.lowestCommonAncestor(root.right, p, q) if root == p or root == q: return root elif left and right: return root return left or right이렇게 인데 class에 대해서 잘 몰라서 그런지 이후로 어떻게 해야 답이 나오는지 모르겠습니다ㅜㅜresult = Solution([3, 5, 1, 6, 2, 0, 8, None, None, 7, 4], 6, 4)이렇게 했는데 에러가 나는데 어떻게 해야할까요?++ 선생님 파이썬 전자책으로 공부하고 했는데, 제가 잘 못찾아서 그런지 그때 클래스에 대해서 보지 못한것 같은데 설명해주셨으면 좋겠어요🙏🙏
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링 프레임워크 동작 구조 정리
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 !![1] 요청 시에 @RequestBody와 HttpEntity를 안 쓰는 경우 , 응답 시에 @ResponseBody와 HttpEntity를 안 쓰는 경우[2] 요청 시에 @RequestBody와 HttpEntity를 쓰는 경우 , 응답 시에 @ResponseBody와 HttpEntity를 쓰는 경우이 두 가지 케이스로 나누어 스프링 프레임워크의 동작 구조를 정리해보았는데 제가 이해하는 게 맞는지 너무 길지만 한번만 피드백해주시면 감사하겠습니다 !![1]요청 : 파라메터 타입에 @RequestBody X 이거나 HttpEntity X의 경우응답 : 반환 값에 @ResponseBody X 이거나 HttpEntity X의 경우 1. 클라이언트의 요청 2. DispatcherServlet를 호출(urlPatterns = /* 경로이기 때문) 3. HandlerMapping의 가장 우선순위에 있는 구현체인 RequestMappingHandlerMapping을 통해 @Controller이 붙은 클래스의 객체를 매핑 정보로 활용 4. doDispatch()의 getHandler()에서 해당 매핑 정보의 컨트롤러 객체 반환 5. doDispatch()의 getHandlerAdapter()을 통해 HandlerAdapter을 호출 후 컨트롤러를 처리할 수 있는 어댑터 있는지 검증(supports()) 후 어댑터 호출(handle()) 6. 이때 컨트롤러는 @Controller의 @RequestMapping이 붙어있으므로 HandlerAdapter의 가장 우선순위의 RequestMappingHandlerAdapter 어댑터 구현체가 호출되는 것! 7. 어댑터는 컨트롤러의 파라메터에 해당되는 객체가 ArgumentResolver의 구현체로 존재하는지 검증(supportsParameter()) 후 존재하면 생성(resolveArgument()) 8. 어댑터는 생성된 객체를 컨트롤러의 파라메터에 주입하면서 컨트롤러 호출 9. 컨트롤러는 로직 수행 후 return 값(객체)을 어댑터에 반환 10. 어댑터는 ResultValueHandler 호출하면서 반환값에 해당되는 객체가 존재하는지 검증(supportsReturnType()) 후 존재하면 생성(handleReturnValue()) 11. 어댑터는 생성된 객체 및 논리적 뷰 이름으로 초기화된 ModelAndView 객체 생성 후 DispatchServlet에 반환 12. DispatchServlet에서 ViewResolver에 논리적 뷰 이름을 넘겨주면서 호출 13. ViewResolver에선 논리적 뷰 이름을 물리적 뷰 경로로 바꿔주고 그 값으로 초기화된 View 객체 반환 14. DispatchServlet에서 View객체 이용해서 render() 호출 15. JSP 뷰 템플릿이었으면 render()에서 JSP 코드로 포워드 후 랜더링하고 나머지 타임리프 같은 뷰 템플릿이면 render() 받자마자 바로 화면 랜더링 [2]요청 : 파라메터 타입에 @RequestBody O 이거나 HttpEntity O의 경우응답 : 반환 값에 @ResponseBody O 이거나 HttpEntity O의 경우 1. 클라이언트의 요청 2. DispatcherServlet를 호출(urlPatterns = /* 경로이기 때문) 3. HandlerMapping의 가장 우선순위에 있는 구현체인 RequestMappingHandlerMapping을 통해 @Controller이 붙은 클래스의 객체를 매핑 정보로 활용 4. doDispatch()의 getHandler()에서 해당 매핑 정보의 컨트롤러 객체 반환 5. doDispatch()의 getHandlerAdapter()을 통해 HandlerAdapter을 호출 후 컨트롤러를 처리할 수 있는 어댑터 있는지 검증(supports()) 후 어댑터 호출(handle()) 6. 이때 컨트롤러는 @Controller의 @RequestMapping이 붙어있으므로 HandlerAdapter의 가장 우선순위의 RequestMappingHandlerAdapter 어댑터 구현체가 호출되는 것! 7. 어댑터는 컨트롤러의 파라메터에 해당되는 타입의 객체가 ArgumentResolver의 구현체로 존재하는지 검증(supportsParameter()) 8. ArgumentResovler이 검증하던 중 컨트롤러의 파라메터 타입이 @RequestBody 혹은 HttpEntity임을 감지하고 RequestResponseBodyMethodProcessor 구현체가 동작하며 HTTP 메시지 컨버터 호출 9. RequestResponseBodyMethodProcessor 구현체는 HTTP 메시지 컨버터의 canRead()를 통하여 파라메터의 클래스 타입과 미디어 타입(Content-Type)을 검증하고 조건 만족하면 read()를 통해 HTTP 메세지 바디에 있는 데이터 변환 10. RequestResponseBodyMethodProcessor 구현체는 변환된 객체를 어댑터에 반환 11. 어댑터에선 반환된 객체를 컨트롤러의 파라메터에 주입하면서 컨트롤러 호출 12. 컨트롤러는 로직 수행 후 return 값(객체)을 어댑터에 반환 13. 어댑터는 ResultValueHandler 호출하면서 해당 반환값이 존재하는지 검증(supportsReturnType()) 14. 이때 ResultValueHandler에선 컨트롤러의 반환값이 @ResponseBody , HttpEntity임을 감지 후 RequestResponseBodyMethodProcessor 구현체가 동작하며 HTTP 메시지 컨버터를 호출 15. RequestResponseBodyMethodProcessor구현체는 HTTP 메시지 컨버터의 canWrite()를 통하여 파라메터 클래스 타입과 HTTP 요청 메시지에서의 미디어 타입(Accept)을 검증하고 조건 만족하면 write() 수행 16. write()에선 데이터를 변환하여 HTTP 응답 메세지 바디에 삽입 후 응답 메세지 클라이언트에게 반환감사합니다 !! 그리고 만약 제가 정리한 부분이 맞다면 HTTP API 방식으로 동작하는 경우 맨 마지막 16번에서 write() 이후에 만들어진 응답 메세지를 어디서 클라이언트에게 반환하는 건지 궁금합니다 !
-
해결됨[쥬신게임아카데미 버거쌤] 완전 초보자를 위한 게임 C++
컴파일러 셋팅 및 코딩의 시작에서
폰트 자료 올려두셨다는 곳이 어디예요...????
-
미해결
엑세스강의 를 추천받고 싶읍니다.
쉽고 빠르게 익히는 Access 2016 위 강의를 아주 유용하게 청강 하였읍니다. 기초를 확실하게 다져주는 좋은 알찬 내용이었읍니다.위 강의를 연속해서 상급수준으로 더 청강하고 싶은데강의가 개설되어 있으면 안내부탁합니다.엑세스와관련된 매크로와 모듈기능을 익히는 것도 좋습니다.감사합니다.
-
미해결GSAP의 ScrollTrigger를 활용한 포트폴리오 제작
스크롤라 js에대해서..
선생님 질문이있습니다. 스크롤라 제이에스를 $(document).ready(function(){ $(".animate").scrolla({ mobile:true, once:false })})작성하고,html 에 동일하게 넣었는데<section class="visual animate" data-animate="motion">클래스가 motion 이렇게 붙는게아니라.. 선생님과 다르게 animate__motion 이렇게 붙습니다 혹시..이유를 할수있을까요?
-
미해결
React + Spring Oauth2.0 (구글로그인)질문있습니다..
아직 잘몰라서 궁금해서 여쭈어 봅니다 . 다른 방법이 있으면 힌트 부탁드립니다.. 꾸벅..<1>React + Spring oauth2.0 구글로그인 하는 중인데 이걸 스프링시큐리티해서 리다이렉트 경로로 바로 React 주소 + queryString 으로 accessToken을 넘겨주고 중간 페이지를 리액트에서 만들어서 그걸 저장하고 그걸로 회원정보를 조회할까요 ?<2> 아니면 그냥 RestController 에서@react-oauth/google 라이브러리로 버튼 만들어서 client_id 로 로그인 성공후 받은 구글 소셜 토큰을 스프링 RestController 에 받아 그럴로 Googleverify를 사용해 직접 구글 정보를 가지고 서비스단에서 회원가입 + 토큰 발급을 하고 난 후 유저정보를 json 으로 넘겨주는게 맞나요?.. 이러면 스프링 api 권한관련 설정이 또 흠..설명을 잘 못해서 죄송합니다.. <1> redirect + parm or 스프링 시큐리티 oauth successHandler send Redirect 에서 사용React 구글 로그인 버튼 = server주소/oauth2/authorization/google<2> 스프링 RestController 소설 임시 토큰 (스프링 Oauth successHandler사용 x)React 구글 로그인 버튼 = @react-oauth/google client_id 사용 고수님들 부탁드립니다.
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
Spring05 버전에서 이미지를 설정했을 때 권한이 보이지 않습니다
안녕하세요. 강의를 잘 듣고 있습니다.다름이 아니라 Spring05에서 로그인 후에 ( ) 안에 권한이 보여지는 부분의 문제 때문에 질문합니다.초기에 회원가입 후 권한을 설정했을 때는 아래와 같이 권한이 잘 나옵니다.하지만 프로필 사진을 등록하면 그 이후부터는 로그아웃 후 다시 로그인을 해도 권한이 보이지 않습니다. SQL을 확인해 보면 테이블에 권한은 삭제되지 않고 있는데 나오구요...header.jsp에서 권한이 보여지는 부분은 잘 작성된 거 같고 maapper.xml도 정상인 것 같은데 왜 프로필 사진을 등록한 이후에는 권한이 보여지지 않는건지 잘 모르겠습니다ㅠㅠ도움을 부탁드립니다!
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
강의자료 텍스트 파일 마지막 줄에 있는 문장 질문드립니다
안녕하세요.. <button onclick="javascript:location.href='http://www.daum.net', '_blank'">다음사이트 바로가기</button> 여기서 _blank 는 무엇을 의미하나요? 그리고 쌍따옴표 안에 맨 앞에 javascript: 는 붙여도 되고 안 붙여도 되는걸까요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
"@ant-design/icons": "^5.0.1" 다운그레이드 하고서 error
package.json "dependencies": { "@ant-design/icons": "^5.0.1",위와 같이 수정 후 yarn.lock, node_modules 삭제 - yarn install 하여 재 설치 하여도 아래와 같이 err 문구는 사라지지 않았으며 yarn dev를 통해 웹페이지 확인 하면 정상적으로 icon은 출력됩니다.icon = 정상 출력 되나 코드상 error 문구는 삭제되지 않습니다.VS code 를 재시작 하여도code_modules 등 삭제 후 재설치 3~4번 하여도 동일합니다. yarn.lock 첨부합니다."@ant-design/icons-svg@^4.3.0": version "4.3.2" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.3.2.tgz#ab2e082991877fdc85b2b32f0b68628b716bad23" integrity sha512-s9WV19cXTC/Tux/XpDru/rCfPZQhGaho36B+9RrN1v5YsaKmE6dJ+fq6LQnXVBVYjzkqykEEK+1XG+SYiottTQ== "@ant-design/icons@^4.8.1": version "4.8.1" resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.8.1.tgz#44f6c81f609811d68d48a123eb5dcc477f8fbcb7" integrity sha512-JRAuiqllnMsiZIO8OvBOeFconprC3cnMpJ9MvXrHh+H5co9rlg8/aSHQfLf5jKKe18lUgRaIwC2pz8YxH9VuCA== dependencies: "@ant-design/colors" "^6.0.0" "@ant-design/icons-svg" "^4.3.0" "@babel/runtime" "^7.11.2" classnames "^2.2.6" lodash "^4.17.15" rc-util "^5.9.4" "@ant-design/icons@^5.0.1": version "5.2.6" resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.2.6.tgz#2d4a9a37f531eb2a20cebec01d6fb69cf593900d" integrity sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw== dependencies: "@ant-design/colors" "^7.0.0" "@ant-design/icons-svg" "^4.3.0" "@babel/runtime" "^7.11.2" classnames "^2.2.6" rc-util "^5.31.1"
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
args.BytesTransferred가 0인 이유가 뭘까요
강의 잘 보고 있습니다. 하나하나 다 따라해봤는데 전 강의 까지는 문제가 없었지만이상하게 이번강의 따라해보니 유니티와 서버의 연결은 잘된듯 한데 유저가 2명 이상이면 Disconnect를 호출하더군요 이유를 찾아보니까 OnRecvCompleted에서 첫 if문에 있는 args.BytesTransferred 가 계속 0인데 이는 서버측이든 클라측이든 0으로 되어있었습니다. 혹시 코드가 잘못된지 확인해봐도 모르겠어서 강사님께서 올려주신 코드로 서버와 클라를 연결 시켜봐도 똑같이 BytesTransferred가 0이어서 문제가 생기는데 왜 이러는지 알 수 있을까요?? 기기에 따라 다른가요
-
미해결
강의 수강 전 문의드립니다.
안녕하세요저는 AI 전공자인데 자연어처리쪽은 거의 다뤄본 적이 없어서 관련 강의를 찾고있습니다.현재 특정 산업 특화 챗봇 서비스 개발이 필요한데 강사님의 강의가 가장 적합해 보여서 문의드립니다.해당 강의 수강후 특정산업에 관련된 설계문서, 표준문서 현장 문제점 등을 기입한 PDF 등의 정보에 특화시킬 수 있는 챗봇 서비스를 구현할 수 있을까요?(소수의 학습데이터)또한, GPT 기반 모델을 오프라인 환경에서 구동할수도 있을까요?? 이상입니다.감사합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp파일 관련 에러 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.모든 jsp 파일 첫 줄에 아래와 같은 에러가 나는데 구글링을 해보니 자신이 사용할 톰캣을 facets에 추가해주면 된다고 하더라구요! 그런데 제가 수업때 배운내용은 스프링 컨테이너 안에 이미 톰캣이 내장되어있는데 제가 따로 다운 받아두었던 톰캣을 사용해도 되나? 가 궁금합니다! Description Resource Path Location TypeThe default superclass, "javax.servlet.http.HttpServlet", according to the project's Dynamic Web Module facet version (2.4), was not found on the Java Build Path. new-form.jsp /servlet/src/main/webapp/jsp/members line 1 JSP Problem
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
인캡슐레이션과 멀티플렉싱
TCP 관련해서 공부하다가 문득 인캡슐레이션과 디캡슐레이션, 멀티플렉싱과 디멀티플렉싱의 개념이 모호해서 질문 남깁니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
SyntaxError: Cannot use import statement outside a module 오류
SyntaxError: Cannot use import statement outside a module 오류가 발생하는데 boards에서 수정하기, 상세페이지를 들어갈 때는 문제가 없다가 수정하기, 상세페이지 안에서 f5를 누르면 위와 같은 오류가 발생했습니다. 어떤게 문제인지 알려주시면 감사하겠습니다.
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
ESXi의 구성이 이해가 안갑니다
강의 중 진행된 내용을 기반으로 각 구성이 잘 이해가 되지 않습니다.ESXi host가 저희가 구동한 전체 ESXi환경이고VM은 말그대로 저희가 ESXi올려둔 VM으로 이해했는데요,포트 그룹과 업링크 포트 그룹과, 스위치가 각각 무엇이 다른지 너무 혼란스럽습니다.1) 각 역할과 관계가 궁금해요.첫번째 그림에서는 가장 위에도 vNIC라는 것이 나오고 가장 아래에 Physical Switch와 연결된 vmnic가 있습니다. 여기서 저희가 ESXi를 가상으로 구동중인데도 2) 왜 물리 스위치가 나온건지, 3) vNIC와 vmnic의 차이도 모르겠습니다.이렇다보니 4) 업링크 포트 그룹 위에 포트 그룹이 있는건지, 도대체 이것들이 5) 스위치랑은 어떤 관련이 있는지 혼란스럽습니다.강의 자료에서는 또 6) vmnic와 vmknic가 나오는데 이것은 또 첫번째 그림 중 어떤 NIC와 겹치는 것인가요?질문이 많은데 그림 자체를 이해 못해서 생기는 질문 같아서, 어떻게 이해하면 좋을지 여쭤보고 싶습니다. 감사합니다
-
해결됨실전! Querydsl
응답 시 DTO에 Entity를 그대로 노출해도 괜찮은가요?
안녕하세요. 강의를 듣다가 궁금한 점이 생겨 질문드립니다!저는 클라이언트로 데이터를 반환할 때 Entity를 그대로 반환하면 안 되고 DTO로 변환 후 반환해야 한다고 해서 @Service 단에서 MapStruct을 이용하여 항상 DTO로 데이터가 반환되게끔 구현했습니다.이번에 querydsl로 데이터를 DTO를 이용하여 조회하게 되면서QStoreDto 클래스의 Member 참조형과QStore 클래스의 Member 참조형 이 일치하지 않아 에러가 발생하고 있습니다.제가 궁금한 것은 아래 두 개 중에 어떤 방식으로 구현을 하는 것이 맞는지(?) 효율적인지 궁금합니다. Entity를 절대 외부로 반환하지 말고 .select(Qstore) 로 조회하고 service 계층에서 dto로 매핑 후 리턴DTO 내부에 Entity 클래스를 사용 후 그대로 외부로 반환 (Response DTO 클래스 내부 Entity는 외부로 노출되어도 괜찮은가요) 감사합니다. ==== 코드도 같이 첨부드립니다! ==== Store Dto @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class StoreDto { private Long id; private String name; private MemberDto member; // Entity를 반환하지 않기 위해 DTO 클래스로 반환 @Builder(toBuilder = true) @QueryProjection public StoreDto(Long id, String name, MemberDto member) { this.id = id; this.name = name; this.member = member; } } Store Entity@Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Store { private Long id; private String name; private Member member; @Builder(toBuilder = true) public Store(Long id, String name, Member member) { this.id = id; this.name = name; this.member = member; } } // QStoreDto.member = MemberDto // QStore.member = Member jpaQueryFactory .select(new QStoreDto(store.id, store.name, store.member)) .from(store).fetch();
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
v3 프로그램 작동원리 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문이 총 2가지 인데요.http://localhost:8080/front-controller/v3/members/new-form 이 url을 호출하게 되었을 때 FrontControllerServletV3 클래스가 생성되는 것 까지는 이해 할 수 있는 데 그 이후에 service 매서드가 자동적으로 실행이 되는 건가요?마지막 html 응답을 하는 부분에서 RequestDispatcher dispatcher = request-getRequestDispatcher (viewPath); dispatcher. forward (request, response);이렇게 하는 데 viewPath 경로의 jsp 파일에 request랑 response를 주면 어떤 과정을 통해 화면에 html이 보이게 되는 것인 지 잘 모르겠습니다. 제가 이해한 바로는 forward가 내부적으로 서버에 정보를 전달한다고 이해를 했는데 그렇게 되면 서버에서 클라이언트로 응답은 누가 하는 것인지 이해가 잘 안돼서요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
연결리스트 Remove 관련 질문입니다.
public void Remove(Room<T> room) { if (room == Head) { Head = Head.Next; Head.Prev = null; } else if (room == Tail) { Tail = Tail.Prev; Tail.Next = null; } else { room.Prev.Next = room.Next; room.Next.Prev = room.Prev; } Count--; } 제가 구현한 Remove는 이렇습니다.강의에서 room.Prev 와 room.Next 의 null 유무를 체크하던데, 여기서 이해가 안 되어 질문드립니다. 1, 2, 3, 4, 5의 경우라고 가정해보면1은 head, 5는 tail, 이를 삭제하려고 할 경우 앞의 두 조건문에서 걸립니다.나머지의 2, 3, 4 를 가정해보면 이 노드들은 필히 Next 와 Prev가 존재합니다. AddLast를 보더라도 Tail의 next와 newRoom의 Prev를 서로 연결하는 부분이 존재하니 말이죠. 그러니 이를 굳이 조건절에서 검증해야 할 필요가 있나?가 궁금합니다. 또 head, tail 조건에서도 Head.Prev = null, Tail.Next = null 을 하지 않으면 remove의 조건을 정확히 충족하지 못한다고 생각합니다. 어찌됐든 접근할 수 없도록 만드는 게 이론적으로 삭제와도 같으니깐요. null 처리를 안 할 경우 만약 Head.Prev를 하게 되면 삭제했던 노드를 다시 호출할 수 있게 된다고 봅니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
53강 disallowedhost
aws로 진행중입니다. 53강 마지막 부분에서 nginx컨테이너 만들고난 후에 사이트 접속하니 위와같은 에러가 발생합니다. settings.py 의 allowed_hosts는 [*]로 되어있는 상태입니다. 강사님과 다르게 한 점은 aws ec2 인스턴스에 탄력적ip 연결한 것 이외에는 없습니다.ㅠㅠ