묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
파이썬 keras로 학습된 모델 스프링부트로 사용하기
제목처럼 파이썬에서 keras 를 이용해서 만든 모델을 스프링 부트를 이용해서 돌리려고 하는데 방법이 있나요?
-
미해결홍정모의 따라하며 배우는 C++
전방선언에 대한 질문이 있습니다.
함수를 전방선언 한다면 해당 함수와 일치하는 것들을 해당 프로젝트에 있는 .cpp, .h 파일들에서 찾는 방식으로 작동되는 것인가요?
-
해결됨스프링 핵심 원리 - 기본편
[필터 실습 중 ]BeanA 를 인식하지 못하는 현상
어노테이션을 만들고, BeanA에 어노테이션 붙인 후테스트를 하는데 계속 BeanA 가 없다고 나옵니다. 어노테이션 만들기@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyExcludeComponent { }@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyIncludeComponent { }클래스에 필터 붙이기@MyIncludeComponent public class BeanA { }@MyExcludeComponent public class BeanB { }3. 테스트(에러 발생) BeanA에 NoSuchBeanDefinition에러가 발생합니다includeFilters를 적용했는데 이유를 모르겠습니다 ㅠㅠ@Test void filterScan(){ ApplicationContext ac = new AnnotationConfigApplicationContext(ComponentfilterAppConfig.class); BeanA bean = ac.getBean(BeanA.class); assertThat(bean).isNotNull(); Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> ac.getBean(BeanB.class)); } @Configuration @ComponentScan( includeFilters = @Filter( type = FilterType.ANNOTATION, classes = MyIncludeComponent.class), excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = MyExcludeComponent.class) ) static class ComponentfilterAppConfig{ } }
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
interface Aa 타입 오류에 대한 질문
constructor(): void 의 Aa interface 를class A 에서 implements 로 사용할때 class A 에서 타입 에러가 나고 있는데요.이부분은 편집 된것 같은데 위와같은 상황에서 에러를 해결하려면 interface Aa 에 타입을 어떻게 할당 해주어야 할까요?클래스 문법은 낯설다보니, 해결 방법을 찾기가 힘들어서 질문 드립니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 질문
안녕하세요. 타임리프 부분 공부하다 궁금한점이 생겨 질문드립니다.<option th:value="T" ${pageMaker.cri.type == "T"?"selected":""}>제목</option>이런식으로 option 태그에서 pageMaker.cri.type 값이 T라면 selected 속성이 적용되게끔 태그를 만들고 싶은데 JSP에서는 ${}안에 식을 써주면 그대로 적용이 되었는데 타임리프에서는 th를 써줘야 하잖아요. 근데 지금같은 경우는 text나 href 같은 속성이 아니고 태그 안에 식을 써주는건데 어떻게 써야할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
엔티티 연관관계와 테이블의 관계가 헷갈려서 질문드립니다
안녕하세요.엔티티가 Member, Team 이렇게 있을 때, 멤버 1명이 팀을 옮기게 되면 add(member)를 해주고 team에서 기존 멤버를 빼주는 게 맞지만db 관점에서는 괜찮지만 어플리케이션에서는 지워주는게 맞다고 하셨는데요이 부분이 잘 이해가 가지 않습니다.해당링크 : (https://www.inflearn.com/questions/25417)우선 제가 현재 이해하고 있는 것을 말씀드려보겠습니다.저는 엔티티가 곧 테이블이라고 이해하고 있습니다. (틀리다면 정정해주시면 감사합니다)Member, Team 테이블이 각각 있을 때Team에는 team_id, team_name, list team member이렇게 설계가 되는 것까지는 이해했습니다.이 team 에서 list 는 실제 member 데이터가 삽입되는 것이 아니고 team에 있는 team_id를 통해 member 테이블에서 team으로 fk를 걸어 놓은 것으로 알고 있습니다.member가 team을 옮기게 될 경우, member가 team 에 걸어놓은 fk가 변경이 되기 때문에 member 쪽에서만 update 해줘도 된다고 이해하고 있고요.db 관점에서 괜찮다고 하시는 부분은 아마 이 부분을 말씀하시는 거 같고, 어플리케이션 관점은 영속성 컨택스트에서 관리되고 있는 데이터를 말씀하시는 것 같은데제가 제대로 이해하고 있는 게 맞을까요?맞다면 후자의 경우에는 영속성에서 관리되는 부분을 끊으면 된다는 이야기(비영속으로 적용)인 걸까요?감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 관리 웹 MVC 개발 코드 중 html의 폼 관하여 질문
MemberController가 있는 회원 등록 기능 중에서 질문 있습니다.createMemberForm.html 보시면 form이 post 형식으로 name에 저장된 값을 웹 서버에 전달하는데그 name 값이 PostMapping으로 선언된 create 메소드로 전달 되잖아요 여기서 궁금한게name 값이 어떻게 MembetForm 객체에서 name으로 저장이 됐나 궁금합니다.
-
미해결배달앱 클론코딩 [with React Native]
회원가입시 아이폰 에러 ..
강의대로 그리들에 셋팅다하고 핫스팟쓰고있어서 env에 네트워크에서 할당받은 ip 적용시켜서 안드로이드는 회원가입도했고, 가입한 아이디면 오류가 뜨는데ios 에서 회원가입한 아이디로 로그인하려니 이렇게 출력되더라구요 ... LOG Running "FoodDeliveryApp" with {"rootTag":21,"initialProps":{}} ERROR WARN Possible Unhandled Promise Rejection (id: 0):TypeError: undefined is not an object (evaluating 'errorResponse.data.message')@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:132715:60generatorResume@[native code]asyncGeneratorStep@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:24430:26_throw@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:24456:29tryCallOne@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:28646:16@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:28747:27@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:29911:26_callTimer@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:29811:17_callReactNativeMicrotasksPass@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:29846:17callReactNativeMicrotasks@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:30054:44__callReactNativeMicrotasks@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:3033:46@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:2811:45__guard@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:3016:15flushedQueue@http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.FoodDeliveryApp:2810:21flushedQueue@[native code]callFunctionReturnFlushedQueue@[native code]
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
플러터 백엔드 질문입니다
안녕하세요!! 코드 팩토리 강의를 보며 플러터 공부를 하고있는 수강생입니다. 강의를 보면서 직접 앱 개발 해보다가 궁금증이 생겨서 질문 드립니다... 제가 백엔드에 대한 지식이 전혀 없는 수준이라 대부분 파이어베이스에 의존하며 개발하고 있습니다. 만약 유저수가 만단위 십만단위 이상 넘어가도 자체구축서버 없이 파이어베이스만으로도 커버가 가능한지 알고싶어 여쭈어봅니다... 파이어베이스만으로 커버가 불가능하다면 적합만 백엔드 프레임워크는 무엇을 공부하면 좋을지 조언해주셨으면 합니다!!
-
미해결더 자바, 코드를 조작하는 다양한 방법
JIT 컴파일러와 인터프리터
안녕하세요, 백기선님.기존에 저는 JVM 내에서 JIT이 컴파일러와 인터프리터의 역할을 동시에 수행한다고 이해하고 있었는데요.자료(p.4)에서는 [실행엔진 : 인터프리터, JIT Compiler, GC ] 로 구성되어 있어서 질문드립니다.인터프리터와 JIT 컴파일러는 서로 분리되어 역할을 수행하는 것이 맞고,바이트 코드를 실행할 때, JIT 컴파일러가 전체를 싹 훑고, 반복되는 코드에 대해 메모리에 캐싱을 진행한 후, 인터프리터가 처음부터 순차적으로 읽어 나가다가, 반복되는 해당 지점에서 JIT Compiler가 다시 개입하여 캐싱된 코드를 꺼내오는 형태일까요? 이 부분이 조금 헷갈리기도 하고, 궁금하기도 합니다.혹은 어떤 문서를 보면 공부해볼 수 있을까요?(한국어 블로그에는 대부분 인터프리터와 JIT이 같다고 적어둔 경향이 많은 것 같고, 기선님께서 참고에 올려주신 글이나 해외 블로그에서는 둘을 분리해서 말하는 경향이 있는 것 같아서 더 헷갈리는 것 같습니다.)감사합니다!* 아래 질문과 비슷한 내용이지만, 답변 달아주신 링크에 접속이 안되서 부득이하게 다시 질문 드립니다ㅠhttps://www.inflearn.com/questions/99765
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DB 저장 관련 궁금증 질문
안녕하세요 강의 잘 듣고 있습니다.test 코드에서 실행시 @Transactional 실행하면서 Rollback이 계속 되고 있으니까 DB에 저장하지 않는건 알겠는데 실행이 되긴해서 Id값이 계속 올라가더라고요 예전에 예제 다룰때는 따로 Long id 선언해줘서 증감연산자로 올려줬던거 같은데 여기서는 어떻게 올라가는건지 궁금합니다!
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
네이버 쇼핑으로 하면 왜 결과가 안 뜰까요?
이렇게 하면 왜 print들이 다 빈 리스트로 뜨나요? 격자형으로 하면 잘 되던데...import requests import re from bs4 import BeautifulSoup url = "https://search.shopping.naver.com/search/all?frm=NVSCPRO&origQuery=%EA%B3%B1%EC%B0%BD&pagingIndex=1&pagingSize=40&productSet=total&query=%EA%B3%B1%EC%B0%BD&sort=rel×tamp=&viewType=thumb" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") # 네이버쇼핑 리스트형 items = soup.find_all("li", attrs={"class":re.compile("^basicList_item__0T9JD")}) title = soup.find_all("div", attrs={"class":re.compile("^basicList_title__VfX3c")}) print(items) print(title)
-
미해결다양한 사례로 익히는 SQL 데이터 분석
rows between - 관련 질문
안녕하세요 선생님:)다름이 아니라 ntile(5) over (order by)에서 rows between unbounded preceding and unbounded following 관련 질문이 있습니다.혹시 rows between - 을 붙이지 않는다면 값이 드라마틱하게 바뀌는지 궁금하여 질문 드려요.
-
미해결홍정모의 따라하며 배우는 C언어
(14.23)강의 14:45부분 질문
질문1 char(*complicated_function1())[3] 함수는 char3 포인터를 반환해주는 함수인 것은 알겠습니다. 그런데 이 선언을 해석할때 complicated_function1()이 *포인터를 반환하고 이것이 가리키는 것이 char[3]배열이다. 이렇게 해석하면 맞는 것인가요? 질문2 보통 함수를 선언할때 double average(double , double)와 같이 선언하는데 배열의 포인터를 반환할때는 char(*complicated_function1())[3]와 같이 [3]부분을 마지막에 써 준다는 것으로 이해하면 되는것인가요?질문3 char(*complicated_function1())[3]은 char(*)[3]함수 안에 입력으로 complicated_function1()함수를 가지는 것인가요?(자주 질문해서 번거로우실텐데 항상 친절히 답변해주셔서 감사합니다)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Tomcat 서버 충돌 오류
ServletApplication에서 run을 돌렸을때 tomcat오류가 뜹니다.이클립스와 인텔리제이를 모두 사용중이라 오류가 있어 환경변수를 바꿨다가 다시 11.0.2로 돌아와도 오류가 사라지지않네요 ..인텔리제이에서는 포트번호 변경해서 사용중입니다.2022-08-27 00:29:08.038 INFO 11488 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 11.0.2 on LAPTOP-1MO5SDCA with PID 11488 (C:\Users\bh011\IntellJ-servelt\servlet\out\production\classes started by bh011 in C:\Users\bh011\IntellJ-servelt\servlet)2022-08-27 00:29:08.041 INFO 11488 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2022-08-27 00:29:08.943 INFO 11488 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)2022-08-27 00:29:08.952 INFO 11488 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2022-08-27 00:29:08.952 INFO 11488 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65]2022-08-27 00:29:09.029 INFO 11488 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2022-08-27 00:29:09.029 INFO 11488 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 930 ms2022-08-27 00:29:09.060 ERROR 11488 --- [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: java.lang.IllegalArgumentException. Message: Invalid <url-pattern> [servlet/members/new-form] in servlet mapping2022-08-27 00:29:09.075 INFO 11488 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2022-08-27 00:29:09.082 WARN 11488 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat2022-08-27 00:29:09.089 INFO 11488 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2022-08-27 00:29:09.113 ERROR 11488 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:165) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar:2.7.3] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na]Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:479) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:184) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) ~[spring-boot-2.7.3.jar:2.7.3] ... 8 common frames omittedCaused by: java.lang.IllegalArgumentException: Invalid <url-pattern> [servlet/members/new-form] in servlet mapping at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3233) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.Context.addServletMappingDecoded(Context.java:905) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.ApplicationServletRegistration.addMapping(ApplicationServletRegistration.java:193) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.springframework.boot.web.servlet.ServletRegistrationBean.configure(ServletRegistrationBean.java:194) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.ServletRegistrationBean.configure(ServletRegistrationBean.java:51) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.DynamicRegistrationBean.register(DynamicRegistrationBean.java:113) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.RegistrationBean.onStartup(RegistrationBean.java:53) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:237) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53) ~[spring-boot-2.7.3.jar:2.7.3] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486) ~[tomcat-embed-core-9.0.65.jar:9.0.65] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) ~[spring-boot-2.7.3.jar:2.7.3] ... 13 common frames omittedProcess finished with exit code 1
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
테스트 컨텍스트에 대한 질문입니다.
안녕하세요. 강의를 듣던중 테스트와 관련해서 한가지 궁금한 점이 있어서 질문 남깁니다.일단 저는 현업에서 @SpringBootTest 를 사용하지 않고 서비스 계층은 목킹을 해서 별도의 스프링 컨텍스트를 사용하지 않고 테스트를 하고 있습니다. 문제는 컨트롤러 계층을 테스트 할 때인데요. @WebMvcTest 로 테스트를 할 때 하나의 컨트롤러를 테스트 할때는 상관이 없지만 통합테스트 형태로 모든 테스트를 실행시에는 @WebMvcTest 가 각각 달린 컨트롤러 테스트마다 별도의 스프링 컨텍스트가 뜨기 때문에 테스트가 느려지는데요. (모든 컨트롤러 테스트가 같은 빈 조합을 사용한다면 같은 컨텍스트를 사용하겠지만 그런 경우는 거의 없기 때문에 각각의 테스트 클래스마다 대부분 스프링 컨텍스트가 새로 뜨는거 같습니다.)그래서 하나의 추상 컨트롤러 테스트에만 @WebMvcTest 를 달고 여기에 모든 테스트 대상 컨트롤러를 다 추가하고 이 추상 클래스를 상속받아 각각의 테스트 클래스를 사용하고 있습니다. 그래서 전체 테스트 시에는 테스트 속도가 빠라졌지만, 이렇게 하다보니 하나의 컨트롤러 테스트를 할 때도 상속받은 추상클래스에 있는 모든 테스트 컨트롤러가 다 임포트 되어 하나의 컨트롤러 테스트가 너무 느려졌고, 단위 테스트의 의미가 사라지는거 같습니다. 혹시 이와 관련해서 좋은 방법이 없을까 해서 질문을 남깁니다. 그리고 @SpringBootTest 시에는 각각의 테스트 말고 전체를 테스트 할 때 @WebMvcTest 를 할 때처럼 스프링 컨텍스트가 여러개 떠서 테스트 속도가 느려지는 문제가 없을까요? 항상 @SpringBootTest 는 무겁다는 생각 때문에 잘 사용을 안해서 궁금하네요. 그리고 현업에서 @SpringBootTest 를 자주 사용하는지도 궁금합니다. 저는 주로 @WebMvcTest, @DataJpaTest 이정도를 사용하고 도메인 계층은 일반 클래스 처럼, 서비스 계층은 모킹만 해서 스프링 도움없이 테스트를 하고 있습니다.
-
미해결디스이즈 디스커버 디스코드 파이썬봇
디스코드 토큰 권한부족 질문드립니다.
error:Exception has occurred: PrivilegedIntentsRequiredShard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.조언 부탁 드리겠습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
페이징 할 때 Pageable 을 잘 사용하시지 않는 이유
안녕하세요. 혼자 고민해봐도 답이 안나와서 문의를 드리게 되었습니다..!호돌맨님께서는 페이징을 할 때 Pageable 객체를 잘 사용하지 않고, PageSearch 같은 커스텀 객체와 QueryDSL을 이용하여 직접 구현 하여 사용한다고 하셨는데, 혹시 특별한 이유가 있으신지가 너무 궁금합니다.
-
미해결따라하면서 배우는 고박사의 유니티 기초
Debug.Log() 가 안되는 분들
UnityEngine.Debug.Log("Awake 함수가 실행되었습니다.");이렇게 적어보세요 됩니다
-
미해결
gradle 파일들 빨간색
윈도우 사용하는데 저렇게 gradle 파일제목 글씨가 빨간색인데 작동은 정상적으로 됩니다그냥 거슬려서 그런데 왜 빨간색으로 뜨는걸까요? 신경 안써도 되는건가요?