@Get(':id') getOneCat(@Param('id', PositiveIntPipe) id: number) { console.log(id, typeof id); return 'one cat'; } 이전에 작성되었던 아이디로 검색 메서드가 있었는데요, 이번 강의에서 @Get('all') 을 추가해서 포스트맨으로 테스트하는데 위에 getOneCat 으로 넘어가는데 왜 이런건지 알 수 있을까요? @ApiOperation({ summary: '현재 고양이 가져오가' }) @UseGuards(JwtAuthGuard) @Get() getCurrentCat(@CurrentUser() cat) { return cat.readOnlyData; } 만약 이게 더 위에 있다면, 여기서 걸린다면 이해 하겠는데 그렇지도 않고 @Get('all') 일때만 걸리는 이유가 뭘까요..?
new UsernamePasswordAuthenticationToken(accountContext.getAccount(), null, accountContext.getAuthorities()); 아래처럼 토큰을 생성하신 이유가 궁금합니다. UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(accountContext.getAccount(),null, accountContext.getAuthorities()); 강사님께서 다른 질문에 답변해주신걸 보면 1. pricipal 객체는 UserDetails 타입의 Wrapper 객체가 아닌 실제 객체(?)를 참조하는게 더 낫다. 2. credentials는 이미 우리가 만든 CustomAuthenticationProvider에서 비밀번호를 검증했으므로 null로 세팅했다. 라고 이해햇습니다. 그렇다면 역으로 1. 다음 필터에서 principal 객체는 유저의 이름만 필요하다고하면 유저이름만 세팅해도 무방한가요? 즉, 어플리케이션에서 필요로하는 principal 객체가 무엇이냐에 따라 다르게 세팅하면 되는게 맞나요? 2. 다음 필터에서 credentials 항목을 필요로 한다면, 해당 항목도 null이아닌 account객체에 있는 패스워드로 채우는게 맞나요?
안녕하세요 강사님. 오늘 갑자기 빅데이터분석기사 자격증을 취득해야겠다는 생각과 함께 온라인 강의를 알아보고 미리듣기 하다가 오리엔테이션이 제 스타일이셔서 일단 결재를 했습니다. 제가 프로그래밍해본적도 없고 완전 입문자예요. 이 강의가 물론 도움은 많이 되겠지만 이강의만 듣고 입문자인 제가 쉽진 않을 것 같아요. 결론은 필기든, 실기든 추가로 준비할 때 도움이 되는 책이라던지 공부 방향을 설정해주시고 추천해주실 수 있을까요.
안녕하세요 나도코딩 강사님 인터페이스 강의를 듣다가 이해가 안가는 부분이 많아서 질문드립니다 챕터8의 02인터페이스 코드 부분에서 질문 1 : Detectable fireDetector = new FireDetector(); Detectable advancedFireDetector = new AdvancedFireDetector(); FactoryCam factoryCam = new FactoryCam(); factoryCam.setDetector(fireDetector); factoryCam.setReporter(normalReporter); 코드 첫번째줄을 해석하면 Detectable 이라는 인터페이스를 구현하는 FireDetector 클래스로부터 fireDetector 객체를 생성한 것이라고 이해하는게 맞는건가요? 질문 2 : public class FactoryCam extends Camera implements Detectable, Reportable { private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; FactoryCam 클래스에서 인터페이스 변수들(Detectable, Reportable)을 선언해주고 setter 메소드를 만들어서 매개변수로 Detectable 이라는 인터페이스 변수인 detector를 전달받게 했는데 FactoryCam factoryCam = new FactoryCam(); factoryCam.setDetector(fireDetector); factoryCam.setReporter(normalReporter); 메인 메소드에서 setDetector() 와 setReporter() 메소드의 전달값으로 왜 인터페이스 변수(Detectable, Reportable)를 전달해주지 않고 클래스로부터 생성된 객체인 fireDetector 와 normalReporter를 전달값으로 전해주는지 이해가 안됩니다
강의에서는 type updateProduct = Partial<Product> 에서 updateProduct의 모든 속성들이 아래 처럼 옵셔널이 된다고 말씀하셨는데 id?: number; 현재는 타입스크립트 버전이 달라서 그런지 단순히 옵셔널이 되는게 아니라 undefined도 될 수 있다고 나옵니다. id?: number | undefined; 따라서 함수에서 만약 brand 속성을 가져온다면 //강의 내용 productItem.brand.length //현재 버전 productItem.brand?.length 이렇게 undefined가 아닐 때만 가져오도록 변경되어 있는데 조금 헷갈리는 개념은 Partial 유틸리티를 사용함으로 써 Product의 모든 속성을 옵셔널로 바꾼다 이지만 여기서 왜 undefined가 될 수 있는지 이해가 안됩니다. 모든 속성을 옵셔널로 가져오기 때문에 가져오는 속성은 undefined가 될 수 없는게 아닌가요? 추가적으로, lib.es5.d.ts 파일에서는 강의 내용과 같지만 Partial에 마우스 커서를 올렸을 때 나오는 결과는 다릅니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의 후반부에 최악이 아닌 경우(한 명의 회원이 2개의 Order를 가질때) 영속성 컨텍스트에 멤버가 있기 때문에 멤버조회 쿼리가 1번 덜 나간다고 설명해주셨는데요. 같은 트랜잭션이어야 동일한 영속성 컨텍스트를 바라보기 때문에 강의에서 설명한 내용이 들어맞을 거라 생각하는데요. 강의에서는 트랜잭션을 설정해주는 부분이 안보여서요. 혹시 트랜잭션을 따로 설정하지 않으면 같은 리퀘스트 스코프 내에서는 동일 트랜잭션을 보장하는 기본설정??같은게 있는건가요? 아니면 혹시 제가 놓친 부분이 있을까요?
[질문 내용] 이런 바보같은 실수 하시는 분은 잘 없으시겠지만... 실제 소스하고 테스트 소스하고 패키지 구조가 같아야하네요..ㅎㅎ; 실제 OrderService를 jpabook.jpashop밑이 아닌 jpabook 밑에다가 Service 패키지 만들어서 테스트 코드에서 OrderService 빈 객체를 생성을 못하더라구요 한시간 반 주고 배웠습니다...!! ㅋㅋㅋㅋ 이런 질문글 아무도 없길래 구냥 남기고갑니다..!! o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@3e74829] to prepare test instance [jpabook.jpashop.service.OrderServiceTest@6d4f266] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jpabook.jpashop.service.OrderServiceTest': Unsatisfied dependency expressed through field 'orderService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'jpabook.service.OrderService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue( AutowiredAnnotationBeanPostProcessor.java:660 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject( AutowiredAnnotationBeanPostProcessor.java:640 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.InjectionMetadata.inject( InjectionMetadata.java:119 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties( AutowiredAnnotationBeanPostProcessor.java:399 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.populateBean( AbstractAutowireCapableBeanFactory.java:1431 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.autowireBeanProperties( AbstractAutowireCapableBeanFactory.java:417 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.test.context.support .DependencyInjectionTestExecutionListener.injectDependencies( DependencyInjectionTestExecutionListener.java:119 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.support .DependencyInjectionTestExecutionListener.prepareTestInstance( DependencyInjectionTestExecutionListener.java:83 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance( SpringBootDependencyInjectionTestExecutionListener.java:43 ) ~[spring-boot-test-autoconfigure-2.7.10.jar:2.7.10] at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:248 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest( SpringJUnit4ClassRunner.java:227 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall( SpringJUnit4ClassRunner.java:289 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.internal.runners.model.ReflectiveCallable.run ( ReflectiveCallable.java:12 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock( SpringJUnit4ClassRunner.java:291 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:246 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.run ( ParentRunner.java:413 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run ( SpringJUnit4ClassRunner.java:190 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runner.JUnitCore.run ( JUnitCore.java:137 ) ~[junit-4.13.1.jar:4.13.1] at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs( JUnit4IdeaTestRunner.java:69 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) ~[junit-rt.jar:na] at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) ~[idea_rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:235 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:54 ) ~[junit-rt.jar:na] Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'jpabook.service.OrderService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support .DefaultListableBeanFactory.raiseNoMatchingBeanFound( DefaultListableBeanFactory.java:1801 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .DefaultListableBeanFactory.doResolveDependency( DefaultListableBeanFactory.java:1357 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .DefaultListableBeanFactory.resolveDependency( DefaultListableBeanFactory.java:1311 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue( AutowiredAnnotationBeanPostProcessor.java:657 ) ~[spring-beans-5.3.26.jar:5.3.26] ... 32 common frames omitted
싱글 스레드가 멀티스레드 이슈로부터 안전한게 다른 스레드의 개입이 없어서라고 알고있습니다. 멀티코어 다중 스레드 PC에서 싱글스레드 프로그램을 동작시킨다 가정합니다. 싱글스레드 환경에서 메인스레드 한개만 동작할것이고 스레드 아이디가 123이라 치고 싱글 스레드 환경에서 변수 a가 있다치고 무한루프로 증가 시킨다고 칠때 컨텍스트 스위칭이 일어나도 a라는 변수는 무조건 스레드 아이디 123이고 같은 코어에 있는 스레드가 동작시키는 건가요?? 컨텍스트 스위칭 과정에서 운영체제가 스레드를 맘대로 할당해 주는 것으로 알고 있는데 다른 코어에 잇는 스레드를 할당해 줄수도 있지 않나해서요. 그럼 다른 코어에 있는 캐시 등에 접근 가능하여 가시성, 코드 재배치 문제가 잇지 않을까합니다
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 강사님. 강의를 듣다 질문이 생겨 글 남깁니다. 평소에 습관적으로 spring boot로 개발을 할 때에, User class에 @Id private Long id; 위와 같은 코드를 붙이곤 하는데요, 강사님 강의에선 response dto에만 id값이 들어가 있어서 질문 드립니다! 도메인 클래스에는 없어도 상관 없는 것일까요? 항상 좋은 강의 감사드립니다!
안녕하세요 선생님 좋은 강의 열심히 듣고 있습니다! 5주차 개념강의를 듣다가 선긋기 문제의 선생님 코드를 보고 의문이 생겨서 질문 들립니다. 선생님 코드에서 else if(L[i].first <= r && L[i].second >= r){ r = L[i].second; } 이 부분인데요. 여기서 r을 최신화하기 전에 현재의 r과 크기를 비교해야되지 않을까요? 예를 들어 현재의 l = 1, r = 5일때 (2,4)가 들어온다면 r을 5로 유지해야 할 것 같습니다 질문읽어주셔서 감사합니다!
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
'brew install cocoapods' 를 실행하고 설치를 완료한 바로 다음에 flutter doctor을 실행했을때는 모두 다 체크가 된건 확인했는데 한 번 더 flutter doctor을 실행하면 다시 이런 메세지가 나오네요 며칠 째 계속 해결을 못하고 있네요 도움을 주시면 감사드리겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] pdf 6장22쪽에서 model에 객체 넘겨주기 위해서 memberRepository에서 찾은거 이해했는데.. 로그인할때 loginService.login()을 통해서 레포지토리에 있는지 확인하고 null인지 확인하잖아요. 근데 다시 homeLogin()에서 null값을 확인하는데 그저 이중검증이라고 생각하면 될까요??아님 제가 잘못이해하고 있는걸까요??? (pdf 6장 22쪽) loginService.login()