[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
안녕하세요, Response 200이긴 하지만 Unexpected character (?) at position 0 라는 에러가 뜹니다. 인텔리제이 콘솔을 보니 아마 일본어가 깨져서 물음표로 나오고 있는 것 같습니다. 그런데 왜 JSON.parse도 없는데 이런 에러가 뜨는걸까요? 다른 언어로 헤더를 설정했을 때도 Unexpected character 라는 에러가 뜨고, 심지어 /hello-world로 리퀘스트를 보내도 마찬가지입니다. HelloBean 객체를 반환할 때는 에러가 없고, String을 반환할 때 이 에러가 뜨는 것 같아요.
개발 환경에서는 nginx가 아닌 개발서버를 이용하고, local에서 진행하기 때문에 elastic beanstalk을 사용하지 않는 것 아닌가요? 저는 개발환경에서 개발을 하고 깃헙에 푸시 -> travis ci 이후에 elasticbeanstalk 에 deploy 되는 걸로 이해했었습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니ㅗ 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 회원 도메인 개발- 회원 기능 테스트 강의에서 위와 같이 테스트 코드를 돌려보았는데 아래와 같은 오류가 발생하였습니다. 원인을 알려주시면 감사하겠습니다. <오류 코드> java.lang.NullPointerException at jpabook.jpashop.repository.MemberRepository.findByName(MemberRepository.java:27) at jpabook.jpashop.repository.MemberRepository$$FastClassBySpringCGLIB$$97f1c501.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) at jpabook.jpashop.repository.MemberRepository$$EnhancerBySpringCGLIB$$bf170db8.findByName(<generated>) at jpabook.jpashop.service.MemberService.validateDuplicateMember(MemberService.java:27) at jpabook.jpashop.service.MemberService.join(MemberService.java:21) at jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) at jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$22be2b5c.join(<generated>) at jpabook.jpashop.service.MemberServiceTest.회원가입(MemberServiceTest.java:28) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
안녕하세요! 강의를 듣다가 1*1 convolution을 듣다가 생각이 난건데 제가 일전에 시계열분석을 할때 cnn의 conv1d layer와 lstm을 섞어서 모델을 만든적이 있었는데, conv1d와 conv2d의 1*1 필터를 씌운 convolution이 동일한 것인지 궁금합니다!
안녕하세요 강사님 강의 감사히 잘 듣고 있습니다 다름이 아니라 @Configuration 어노태이션을 통해서 싱글톤이 보장된다는 것을 확인할 수 있었습니다 허나 @Configuration이 없는 경우 순수 AppConfig 자바 클래스가 스프링 빈에 올라가고 여기서 @Bean으로 작성된 부분들은 스프링 빈에는 등록이 되지만 싱글톤을 보장하지 않게 된다고 이해했습니다 허나 @Autowired 애노테이션을 통해서 싱글톤을 보장할 수 있게 만드는 방법도 확인할 수 있었습니다 그럼 @Configuration은 의존관계 주입을 하는 기능이 있는지 궁금합니다. @Bean으로 스프링 빈에 올리기만 하면 싱글톤이 보장되지 않고 의존관계 주입을 해야 싱글톤이 보장된다 라고 해석을 해도 되는지 궁금합니다
먼저 질문을 너무 많이 드려죄송합니다. 먼저 저의 실습환경은 윈도우 기반에서 docker를 이용하여 centos를 올려놓고 진행중이고요. centos에서 mysql 명령어(mysql -uroot -p)를 사용하려면 앞서 강의에서 얘기해주신 rpm파일 3개를 설치해야하는 것 같은데 현재 저는 아래와 같이 그런파일을 찾을수 없다고 에러가 생겨 진행이 되지 않고 있습니다. 해당 rpm파일 3개를 다운 받았는데 어느 경로에 위치해야할까요?
안녕하세요 :) 좋은 강의를 통해 학습하고 실제 프로젝트를 도커 이미지화 해보려고 노력하고 있습니다 이 과정에서 궁금증이 생겼는데요 현재 react + nginx 를 사용한 클라이언트단 이미지를 만들어서 컨테이너를 생성하고, mysql 이미지를 통해 컨테이너를 생성하고, spring boot 프로젝트를 빌드하여 이미지 생성, 컨테이너 생성하였습니다. network를 생성하여 3개의 컨테이너를 하나의 network로 묶어두었는데 클라이언트앱에서 서버 api를 호출할 때, 로컬에서만 작업을 했다보니까 POST localhost:8080/api/user/signup 이런식으로 호출을 하고 있습니다. 저는 같은 네트워크로 묶었고, 포트80으로 연결을 해서 통신이 될거라고 생각을 했는데 엔진엑스에서 405 Not Allowed가 뜨네요ㅠㅠㅠ api 호출하는 기본 url을 서버단 컨테이너의 ip주소로 해야한다거나 통신하는 방법이 따로 있을까요 ..? + 도커 컴포즈 depends on 이나 link를 사용하지 않을 경우 서버 컨테이너를 먼저 띄우고, 클라이언트 컨테이너를 띄울때 주는 옵션이나 이런게 있을까요 ?
@UseGuards(new NotLoggedInGuard), @UseGuards(new LoggedInGuard) - 데코레이터를 회원가입과, 로그인에 각각 추가를 해주고 -> postman으로 회원가입, 로그인 할 시 에러가 발생합니다. { "statusCode" : 500 , "message" : "Internal server error" } [Nest] 6463 - 2022. 02. 03. 오후 4:28:14 ERROR [ExceptionsHandler] request.isAuthenticated is not a functionTypeError: request.isAuthenticated is not a function 회원가입, 로그인 라우터에 @UseGuards 를 뺴고 실행 할 시 정상적으로 작동합니다. not-logged-in.guard.ts, logged. 쪽 auth 폴더쪽을 아에 삭제하고 제로초님 완성본 slack 본 auth 파일을 그대로 가져와서 실행해봤는데 계속 똑같은 에러가 발생하는 거 같습니다. 왜 에러가 발생하는 것일까요.. 또 신기한게 로그인 라우터 @UseGuards(LocalAuthGuard)는 정상적으로 동작하는 거 같습니다. NotLogged, Logged 만 실행이 안되네요.. @ ApiResponse ({ status : 200 , description : ' 회원가입 성공 ' , type : UserDto }) @ ApiOperation ({ summary : ' 회원가입 ' }) @ UseGuards ( new NotLoggedInGuard ) @ Post () async SignUpUser (@ Body () body : JoinRequestDto ) { await this .userService. SignUpUser ( body .email, body .nickname, body .password) } @ ApiCookieAuth ( ' connect.sid ' ) @ ApiOperation ({ summary : ' 로그아웃 ' }) @ UseGuards ( new LoggedInGuard ) @ Post ( ' logout ' ) async logout (@ Response () res ) { res . clearCookie ( ' connect.sid ' , { httpOnly : true }); return res . send ( ' ok ' ); }
쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
selenium과 이미지 크롤링 기법 이해와 활용 위 제목의 강의에서 이미지 크롤링 관련 강의 내용이 없습니다. 다른 분이 강의 누락 되어있다고 해서 수정이 된줄 알았는데 아직 업데이트가 안된건가요..? 해당 강의 들어보면 이미지 크롤링 자료를 다루기 전에 강의가 끝납니다. 업데이트를 해야 된다면 최대한 빨리 업데이트 부탁드립니다. 흐름이 중간에 끊겨서요 ㅜㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 저는 영한님의 로드맵 추천을 따라 강의를 수강하고 있습니다. 아마 저처럼 2022년 1월에 시작하신 분들은 h2데이터 베이스가 2.x.x 버전이실 것 같습니다. 저는 2.1.210을 사용 중이었는데 hibernate.hbm2ddl.auto옵션에 update로 설정을 해 주어도, 컬럼이 추가 되지 않고, 에러가 발생하는 현상을 겪었습니다. Hibernate ORM은 5.6.5Final 버전부터 H2 2.x.y버전을 지원한다고 합니다. hibernate버전을 올려보세용...
안녕하세요 선생님! 늘 강의 잘 듣고있습니다. 감사합니다. yolovV5를 돌려보던 중 training log에서 labels의 의미에 대해 궁금증이 생겨 질문 남깁니다. box, obj, cls에 대해서는 loss 값이라고 말씀을 해주셨는데 labels 숫자의 의미는 정확히 무엇인가요? input image 파일의 끝번호 3자리인가요? 덧붙여 1epoch이 끝날 때마다 찍히는 images와 labels 아래의 값이 무엇인지도 궁금합니다 감사합니다.