묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@JsonIgnore 관련 ClassNotFoundException 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@JsonIgnore을 어느 클래스에 어디어디 붙여야 할까요?"http://localhost:8080/api/v1/simple-orders"api 테스트를 해보니 아래와 같은 에러가 나서 질문드립니다 2024-01-25T22:37:28.102+09:00 DEBUG 32028 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only2024-01-25T22:37:28.226+09:00 ERROR 32028 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.NoClassDefFoundError: javax/persistence/Transient] with root causejava.lang.ClassNotFoundException: javax.persistence.Transient at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[na:na]2024-01-25T22:37:28.277+09:00 ERROR 32028 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost] : Exception Processing ErrorPage[errorCode=0, location=/error]jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoClassDefFoundError: javax/persistence/Transient
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
list와 arraylist
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public List<Member> findAll() { return new ArrayList<Member>(store.values());}에서 method의 return type을 ArrayList의 상위 인터페이스인 List로 지정한 이유가 궁금합니다. MemeberRepository interface가 재사용될 때, list를 implement하는 다른 class들도 반환 type으로 사용할 수 있게 하기 위한 이유인가요? 특별한 이유가 있는 것인지 궁금합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
어빌리티 태스크에서 GetWorld() 얻어올 때 어빌리티에서 가져오는 것
바로 GetWorld() 하는 것과 Ability->GetWorld() 하는 것이 어떤 차이가 있나요?World라는 것이 자신이 생성되어 소속되어있는 레벨의 월드 데이터로만 알고있는데, 월드데이터가 오브젝트마다 다를 수가 있는 건가요?
-
미해결
해커랭크 Top earners
해커랭크 top earners 문제 질문입니다. 강의에서 풀어주신 코드입니다.SELECT salary * months AS earnings, COUNT(* )FROM EmployeeGROUP BY earningsORDER BY earnings DESCLIMIT 1;108064 7 제가 따로 혼자 풀어보다가 몇가지 궁금한 점이 생겼는데요.SELECT (months * salary) AS earnings, COUNT(*)FROM EmployeeGROUP BY (months * salary) AS earningsORDER BY (months * salary) AS earnings DESCLIMIT 1 ;이 코드는 왜 안되는 걸까요? LIMIT 다음에 COUNT(*) 코드가 실행되서 그런건가요? GROUP BY 명령어 바로 뒤에는 (months * salary) AS earnings 와 같은 계산식이 들어가면 안되나요? 3.그리고 제가 이전에 이 문제 관련해서SELECT MAX(salary * months AS earnings) , COUNT(*)FROM EmployeeGROUP BY earnings; 는 왜 안되는지 질문을 한적이 있었습니다.그런데 답변에서 SELECT MAX(months * salary) AS max_earnings, COUNT(*)FROM Employee이렇게 코드를 바꾸면 실행될거라고 답변이 달렸는데요.코드 복사해서 실행해보니 정답이 나오지 않습니다. SELECT salary * months AS earnings, COUNT(* )FROM EmployeeGROUP BY earningsORDER BY earnings DESCLIMIT 1;마지막으로 강사님께서 풀어주신 코드 중 SELECT salary * months AS earnings -> FROM -> GROUP BY -> ORDER BY -> LIMIT -> COUNT 순으로 명령어가 읽히는게 맞죠?순서가 너무 헷갈리네요...
-
미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
쿠폰 적용 안되는데 혹시 수량이 정해져 있는건가요?
9363-87b86b17809c쿠폰 코드로 적용해봤는데 안되서요 ㅠ
-
해결됨[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
소스코드는 어디에 있을까요??
강의 듣는 중에 소스나 참고자료는 어디서 다운로드 받을 수 있을까요? ㅎㅎ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
pyhwpx 사용법도 알려주세요!
한/글 오토메이션 API는 너무 복잡하고 어렵습니다.최근 제작하신 pyhwpx라는 툴에 대해서도 본 강의에서 풀어주시면 감사하겠습니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
jwt 토큰 security에 관하여...
jwt를 사용하는 이유가 무상태의 장점 때문인 것으로 알고 있습니다.그리고 Security의 경우 세션을 기본적으로 생성하는데 jwt 토큰을 발급한 이후에는 세션이 생기지 않도록 설정하신 것 같습니다.그렇다면 궁금한 점이 있습니다.세션을 통해서 로그인 사용자를 인증하는 것이 Spring Security의 장점 중 하나라고 생각하는데 세션을 생성하지 않으면 결국 Spring Security를 사용하는 이유가 없지 않나 싶습니다.강사님께서는 아래와 같이 하시지 않았지만 아래와 같이 UserDetail의 아래 메서드들을 true를 두게 되면 인증이 되는 것이기 때문에 세션이 유지된다고 생각하는데 그렇다면 굳이 세션을 유지하면서 JWT를 사용하는 경우도 발생하는 건가요?결국 궁금한 점은 무상태를 위해 JWT를 사용하는데 굳이 Spring Security를 사용하는 이유가 궁금합니다.@Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return true; }
-
미해결
4568번 문제 질문합니다!
백준 4568번 문제 질문합니다.https://www.acmicpc.net/problem/4568import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int size = s.nextInt(), count = 1; Deque<Character> deque; while (size > 0) { System.out.println("Simulation " + count); String[] splits = s.next().split("!"); deque = new LinkedList<>(); for (String check: splits) { for (char caching: check.toCharArray()) { if(deque.contains(caching)) { deque.remove(caching); } else if(deque.size() == size) { deque.pollFirst(); } deque.offerLast(caching); } for(char print: deque) { System.out.print(print); } System.out.println(); } count++; size = s.nextInt(); } } }자바로 위와 같이 작성했습니다.채점 결과가 시간 초과, 메모리 초과나 런타임 에러같으면 차라리 고민을 해보겠는데, 틀렸습니다로 나옵니다.엄청 오래 생각해보지는 않았지만 반례도 생각이 안나서 질문 올려봐요.어디가 잘못됐을까요?
-
미해결스프링 핵심 원리 - 기본편
MemberServiceTest시 다음처럼 출력됩니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.> Task :compileJava UP-TO-DATE> Task :processResources UP-TO-DATE> Task :classes UP-TO-DATE> Task :compileTestJava UP-TO-DATE> Task :processTestResources NO-SOURCE> Task :testClasses UP-TO-DATE> Task :testDeprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD SUCCESSFUL in 1s4 actionable tasks: 1 executed, 3 up-to-date오후 8:12:13: Execution finished ':test --tests "hello.core.member.MemberServiceTest"'.테스트 실행했을때 다음과 같이 나옵니다gradle버전을 업데이트하라고 하는것 같은데 맞나요?
-
해결됨홍정모의 따라하며 배우는 C언어
scanf()의 작동 원리(?)에 관한 질문 (따배C - 8.7)
#include <stdio.h> int main() { /* Assume that your input is : Hello 123 3.14 */ char str[255], tmp; int i = 0, i2 = 0; double d = 0.0; scanf("%s %d %lf", str, &i, &d); // POINT1 printf("%s %d %f\n", str, i, d); // or (see the difference) scanf("%c", &tmp); // POINT2 printf("My input was %c!!!\n", tmp); // POINT2_1 scanf("%s %d %d", str, &i, &i2); // POINT3 printf("%s %d %d\n", str, i, i2); // or (see the difference) char c; while ((c = getchar()) != '\n') putchar(c); printf("\n"); return 0; }안녕하세요 강의를 듣다가 평소에는 무심코 지나쳤던 부분이 눈에 밟혀 질문 드립니다.POINT1에 정상적인 값들을 입력하고 Enter를 누르면 POINT2에서 '\n'이 입력되고 POINT2_1에서 '\n'이 출력된 것을 확인했습니다.그렇다는 것은 버퍼에 '\n'이 남았다는 것을 알 수 있습니다.여기서 궁금증이 생겼습니다.POINT2, POINT2_1을 지우고 실행하면 왜 POINT3에서 정상적인 값들을 입력했을 때 str에 '\n'이 입력되지 않는지 궁금합니다.처음에는 printf() 함수가 알아서 버퍼를 비워주나 생각했었지만 POINT2, 2_1을 통해 그건 아니라는 것은 확인했습니다.그래서 제 딴에 생각한 것은'scanf() 함수에서 여러 개의 값들을 입력 받으면 (한 개의 값만 입력 받을 때와 달리) 버퍼에 남아있던 '\n'을 자동으로 무시해 주는 것이다.'인데 이것이 맞는지 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SocketUtils::SetTcpNoDelay 부분 오타
bool SocketUtils::SetTcpNoDelay(SOCKET socket, bool flag) { return SetSockOpt(socket, IPPROTO_TCP, TCP_NODELAY, flag); }로 코드를 고쳐주어야 할 것 같습니다. (SOL_SOCKET -> IPPROTO_TCPSOL_SOCKET, TCP_NODELAY로 인자를 넣어주면 SO_DEBUG 옵션을 대신 설정해주게 됩니다. 현재 기준으로 마지막 코드까지 오타가 수정되어 있지 않으니 혹시 실제로 서버를 사용하실 분들은 해당 코드를 수정하여 사용하시는걸 권장드립니다.
-
해결됨실전 연습으로 익히는 고급 타입스크립트 기술
풀어보았지만 실패했습니다.
확실히 어렵네요.type RoutesObject = { [K in Route as `${K["route"]}`]: Route["search"]; };이렇게까지 고민하여 풀었지만 key값은 나오게되었는데 value값을 자꾸 union으로 나와서 결국 못풀었는데, 영상을 보니까 Route를 in으로 반복한R을 가지고 array key인 search로 접근하면 해결 되는 문제 였네요. 잘 배웠습니다!type RoutesObject = { [K in Route as `${K["route"]}`]: K["search"]; };
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
testing api 아이콘(비커)이 뜨지 않습니다.
강의에서 진행하는 브랜치와 동일한 브랜치에서 진행하고 있습니다.의존성 설치도 모두 진행하였고 vitest도 설치했으며 node 버전도 일치합니다.테스트 코드 작성 완료 후에 이 아이콘을 찾아봤는데 도저히 보이질 않습니다.Github 이슈와 stackoverflow 모두 찾아보면서 해답이 될 만한 내용들을 따라해보았으나 위 아이콘은 도저히 찾을 수 없었습니다.혹시 따로 설정을 하신 건가요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
핸들러 매핑과 핸들러 어댑터들도 모두 스프링 빈으로 등록되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]스프링 부트를 사용하면 자동으로 핸들러 매핑과 핸들러 어댑터, 뷰 리졸버 등 여러 가지를 등록해 준다고 하셨는데 저는 처음에 '등록'이라는 의미를 DispatcherServlet에 있는private List<HandlerMapping> handlerMappings;private List<HandlerAdapter> handlerAdapters;private List<ViewResolver> viewResolvers; 이 List에 저장한다는 의미로만 생각했었습니다.그런데 강의가 진행되면서 설명해 주신 내용 중, 다음 코드처럼 스프링 부트에서 InternalResourceViewResolver를 스프링 빈으로 등록해 주듯이 @Bean ViewResolver internalResourceViewResolver() { return new InternalResourceViewResolver("/WEB-INF/views/", ".jsp"); } } 핸들러 매핑과 핸들러 어댑터들도 스프링 빈으로도 등록되는 건가요? 즉,핸들러 매핑, 핸들러 어댑터, 뷰 리졸버들은 스프링 빈으로 등록되고뷰는 기본적으로 스프링 빈으로 등록되지 않지만(https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1&unitId=71204&tab=community&q=782881&category=questionDetail) 원한다면 따로 스프링 빈으로 등록할 수도 있다.(BeanNameViewResolver를 사용할 때) 이렇게 생각해도 되는지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th:action 질문드립니다
상품 등록 버튼을 눌렀을 때, items/add로 이동하는 걸th:action 대신th:onclick="|location.href='@{/basic/addForm.html}'|"로 적어도 되나요? 단순히 url 이동이 아니라, 상품 등록 버튼을 눌렀을 때, 상품을 실제로 저장하는 액션이 있기 때문에 th:action을 사용해야 하는 것인가요? 상품 등록 버튼을 눌렀을 때의 결과를 작업하는 것인데,<button class="w-100 btn btn-primary btn-lg" type="submit">상품 등록 </button>여기가 아닌, <h4 class="mb-3">상품 입력</h4> <form action="item.html" th:action method="post">여기서 처리하는지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
32bit 와 64bit 자료형 크기
정수형 강의 내용 중 long 자료형 크기에 대해 궁금한 점이 생겨 질문드립니다! 64비트 기준으로, long 자료형이 4바이트라고 설명해 주셨는데, sizeof 연산자로 long 변수 크기를 확인할 경우 8바이트로 나오게 되어 질문드립니다.제목과 같이 32와 64간 자료형의 크기를 비교한 자료가 있을까요?? 검색 결과 작성자마다 약간씩 차이를 보여 질문드립니다. 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
안녕하세요 마지막 강의 질문 있습니다.
git actions에서 EB에 배포전에,docker hub에 이미지를 미리 배포하고,그 배포된 docker image 파일을 EB에서 실행한다고한다면,결국 Dockerrun.aws.json 파일만 EB에 배포하면 되는 것 아닌가요?- name: Generate deployment package run: zip -r deploy.zip . -x '*.git*'해당 코드는 소스파일과 그외 파일까지 전부 압축해서 S3에 업로드하자나요? Dockerr.aws.json 파일만 첨부해서는 작동이 안되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
9996번 문제 질문입니다!
예제도 다 맞고 질문게시판에 반례들도 다 넣어서 옳게 출력된 거 같은데 런타임 에러가 납니다ㅠㅠ뭘 빼먹었을까요?http://boj.kr/e808a1c39cc74954a63f14721dc3dce3
-
해결됨실전 연습으로 익히는 고급 타입스크립트 기술
어렵습니다 ㅠㅠ 고민을 해도 못맞췄네요
interface Attributes { firstName: string; lastName: string; age: number; } type AttributeGetters = { [key in `get${Capitalize<keyof Attributes>}`]: () => Attributes[key]; }; type tests = [ Expect< Equal< AttributeGetters, { getFirstName: () => string; getLastName: () => string; getAge: () => number; } > > ]; key는 어찌저찌 나오게 했는데 value값을 어떻게 해야할지 감이 안오네요.영상 해답을 보고나니 꼭 기억해야 될 방법인것 같습니다!