inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

[리뷰] 잘 들었습니다!

해결됨

김영한의 실전 자바 - 중급 2편

40% 정도 들었을 때 리뷰를 이미 남겨버려서 이후에 추가로 남길 수는 없는 것 같아서 아쉬운대로 여기에라도 남깁니다. 개발자의 길을 걷기로 정한 지 얼마 지나지 않았을 때, 파이썬이나 C 등을 배우고 나서 항상 아쉬웠던 부분이 "이 다음 스텝을 밟으려면 뭘 해야 되는 거지?"라는 막막함에 쉽사리 다음 스텝으로 가지 못하고, 그대로 다른 개념들을 배우러 가게 되어서 어느정도 배웠던 개념들이 꽤나 많이 사라져 버리는 경험을 했을 때입니다(ex. 파이썬 기초 책을 완독하고, 다음에 중급 단계를 배우고 싶은데, 뭘 선택해야 하지?). 그런데 영한님은 정말 탄탄하게 로드맵을 정해 주셔서 "내가 한번 배운 기초 지식이 무의미하게 희석되지 않겠구나, 결국 다음 강의에 도움이 되는구나"하는 믿음을 가진 채로 듣다 보니 열정도 더 생깁니다. 마지막 카드 게임 문제를 풀고난 뒤에 영한님의 풀이와 비교했을 때도 너무 재미있었습니다. "이렇게 해야 더 객체지향적이구나", "ENUM을 여기서 사용할 수가 있구나" 등등 내 코드보다 더 개선된 코드를 보면 그 수준까지 도달하고 싶은 열망에 더욱 공부 의욕도 샘솟네요. 이제 저는 미리 결제해 둔 고급1편과 스프링 입문을 병행하며 듣고, 그 뒤로는 아마 고급 2편과 스프링 로드맵을 따라가지 않을까 싶습니다. 또한 나온 지 1년도 채 되지 않은 강의들이라 그런지 고급 자바편의 리뷰 수가 상대적으로 적은 것을 보면 뭔가 제 마음도 아프고, "영한님이 적은 리뷰 수에 의욕이 저하되면 안 될텐데"하는 생각이 들기도 합니다. 그 덕분(?)인지 "아 나는 꼭 고급편 듣고 리뷰를 야무지게 남겨야지"라는 저만의 목표가 생기기도 하네요. 저는 비록 학생에 불과하지만, 본인이 충분히 알고 있는 개념이라고 하더라도 그것들을 체계적이고, 오류없이 누군가에게 전달하려고 한다면 강의시간의 수 배만큼의 시간과 노력이 필요함을 잘 알고 있습니다. 저도 가끔 무언가를 남에게 가르쳐주려고 할 때 초반에는 정말 탄탄한 순서와 검증된 자료들만으로 준비하면서 계획을 세우다가, 어느 순간 그 과정이 너무 힘들어서 헤이해지는 경우가 참 많았거든요. 결국 하고 싶은 말은 스프링에 이어 그 기초가 되는 자바까지 이렇게 탄탄하게 준비해 주시니 그걸 듣는 저로써는 너무나 감사할 따름입니다. 영한님의 덕을 너무나도 잘 보고 있는 인간 1명이 있다는 사실에 조금이나마 강의 준비하시는 데에 도움이 되셨으면 합니다. 파이팅!

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
dev.rudevico 댓글 2 좋아요 1 조회수 158

mysql 연결관련 에러 질문있습니다

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

application.yml파일을 작성하기 전에는 libraryappapplicition을 실행하면 잘 되었었은데 강의를 따라 yml파일을 작성이후 연결이 되지않는다는 에러가 발생하였습니다 driver-class-name에서 driver를 찾을수 없다고 나오는데 이 문제 때문인것 같아요 혹시 버전이나 어떤 문제 때문인지 궁금합니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
양준호 댓글 2 좋아요 0 조회수 221

안녕하세요 구구단 관련해서요

미해결

[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트

이렇게 알려 주신 거랑 조금 다르게 각 세팅값을 a,b get으로 넣고 해봤는데 b값은 +1이 되는데 a값이 +1이 안되더라고요 그래서 2*1=2 2*2=4 ~ 2*9=18 하고 끝나버려요 만약 b도 안 늘어나면 세팅값을 get으로 넣어버려서 안되는구나 하겠는데 아니 이게 왜 b값은 올라가고 a값은 안올라가죠?

  • unreal-engine
  • ue-blueprint
오왕좌왕 댓글 2 좋아요 0 조회수 155

cors설정방법

미해결

스프링 시큐리티 OAuth2

강의에서처럼 시큐리티에서만 설정하면 mvc 쪽에서는 다른 설정이 필요없어도 cors가 허용되나요?

  • java
  • spring
  • spring-boot
  • oauth
플하 댓글 1 좋아요 0 조회수 130

다른 질문과 답변을 보고 질문드립니다.

해결됨

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

https://www.inflearn.com/courses/lecture?courseId=326750&unitId=72711&tab=QnA&category=questionDetail&q=229953 저도 이 글처럼 lt와 rt로도 풀었었는데, 이 코드가 reverse()를 사용하는 것보다 효율적이라 하셨는데 어떤 면에서 효율적인지 궁금합니다.

  • java
  • 코딩-테스트
11 1 댓글 2 좋아요 0 조회수 81

dtype not found 에러

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

package hellojpa; import javax.persistence.*; @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn(name="DTYPE") public class Item { @Id @GeneratedValue private Long id; private String name; private int price; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } } 이런 식으로 작성해 둔 상태고, create Table 작성 시 DTYPE varchar(31) not null,는 나오는데 그 이후 alter table에서 아이템이 나오지 않고, dtype insert가 안 됩니다

  • java
  • jpa
snowflake 댓글 2 좋아요 0 조회수 108

GA에서 Attribute를 가져올때 발생하는 C6011 Warning과 관련하여 질문드립니다.

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

안녕하세요 교수님. 좋은 퀄리티의 강의를 제공해주셔서 정말 감사드립니다. 저는 현재 언리얼 엔진 5.4.4, Visual Studio 2022 17.12.3 버전으로 강의를 수강하고 있습니다. 다름이 아니고 "6강 : 캐릭터 어트리뷰트 설정"의 35분 즈음에 Source와 Target의 AbilitySystemComponent를 가져오고, 해당 ASC에서 AttirbuteSet을 가져오는 부분을 구현하던 도중, 초록색 줄이 나오면서 C6011 Warning이 발생하였습니다. https://learn.microsoft.com/ko-kr/cpp/code-quality/c6011?view=msvc-170 이는 null포인터 역참조에 의한 경고임을 확인했습니다. 근데, SourceASC의 경우 checked 함수를 통해서 점검하고 가져오기 때문에 null포인터가 발생할 수 없지 않나요? 아니면 check함수가 unreal에서만 사용하는 함수이기 때문에 C++은 이를 인지하지 못하여 저렇게 디레퍼런싱 경고를 띄워주는 것일까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
eric1306 댓글 2 좋아요 0 조회수 129

Item#9 W_Inventory_PocketWorld가 열리지 않습니다

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

Item #8 강의를 보면 강의에서도 PocketWorld부분이 열리지 않은것처럼 보이던데 Item #9에서는 작동하는것처럼 나오네요 캡쳐 방지때문에 올리지는 못하지만 Item#8 14:55에서 W_Inventroy_PocketWorld관련해서 오류 발생한거처럼 보이는데 어떻게 해결하나요?

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
윤성현 댓글 1 좋아요 0 조회수 326

언리얼5.5 UE_LOG

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

언리얼 5.5 버전을 통해 학습 중입니다. 강의 내용대로 코드 작성하였고 다른 에러도 보이지 않는데 게임 실행을 눌렀을 때 TEXT문자가 뜨지 않습니다. 5.5에선 다른 방식으로 코드를 작성해야 하는 건지 궁금합니다.

  • unreal-engine
  • 언리얼-c++
냥냥이 댓글 2 좋아요 0 조회수 322

home.html이 뜨지 않고, index.html이 뜹니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 비슷한 글을 찾아보고 왔으나, 저랑 다르게 @Controller를 작성하지 않은 게 문제라서 올립니다. 저 같은 경우엔 HomeController 파일에 @Controller를 작성했으나, 똑같이 index.html이 뜹니다. 또한 home.html 위치도 템플릿 폴더에 들어가 있는 걸 확인했습니다. 제 경우에는 뭐가 문제인 걸까요 ?

  • java
  • spring
  • mvc
  • spring-boot
말랑말랑한 캥거루 댓글 2 좋아요 0 조회수 224

Maven resources compiler 에러가 뜨면서 빌드가 안되네요

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JpaMain.java 실행시 이런 에러가 계속 발생합니다. Maven resources compiler: Maven project configuration required for module 'hello-jpa' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE. persistence.xml 은 다음과 같고 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.password" value=""/> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <!--<property name="hibernate.hbm2ddl.auto" value="create" />--> </properties> </persistence-unit> </persistence> pom.xml 은 다음과 같이 했습니다. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>11</source> <target>11</target> </configuration> </plugin> </plugins> </build> <groupId>org.example</groupId> <artifactId>hello-jpa</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.3.10.Final</version> </dependency> <!-- H2 데이터베이스 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.200</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> </dependencies> </project> 진짜 3시간 넘게 하고 있는데 뭐가 문제인지 모르겠네요 pom.xml에 빌드가 등록 안 되어 있다길래 챗지피티한테 물어봐서 따로 추가도 해봤는데 저기서부터 막혀버리니 답이 없네요 진짜 ㅋㅋㅋ 무슨 정확한 에러 사유도 안 뜨고 Maven resources compiler: Maven project configuration required for module 'hello-jpa' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE. 이런 문장만 계속 보여주니까 답답해 미쳐버리겠습니다.. 데이터베이스는 강의 환경하고 맞추려고 1.4.200으로도 해보고 최신버전으로도 해봤고 java 버전도 17, 11 둘 다 해봤는데 둘 다 똑같은 에러가 발생해서 미쳐버리겠습니다 아 참고로 강의에서 제공해주신 최신 버전 코드도 다운 받아서 open으로 열어봤는데 다 똑같은 에러가 발생합니다. 애초에 프로젝트 만들 때부터 잘못 만들어진건지 계속 똑같이 저 상태인데 왜 그러는걸까요..

  • java
  • jpa
sim2 댓글 2 좋아요 0 조회수 821

메소드 이름으로 쿼리 생성에 대한 질문

미해결

실전! 스프링 데이터 JPA

스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 조회: find…By ,read…By ,query…By get…By 예:) findHelloBy 처럼 ...에 식별하기 위한 내용(설명)이 들어가도 된다 이 부분에 대한 의문입니다 spring공식문서를 찾아보고 chatgpt 에 질문도 해본 결과 findBy는 항상 붙어있어야 하고 사이에 단어를 넣어 작성하면 안된다는게 제가 얻은 답변인데 강의 자료에는 가능하다고 나와 있습니다 어떤게 정확히 맞는건지 혼란스럽네요 시간이 흘러서 문법 규칙이 바뀌어서 그런건지 이와 관련해 답변 부탁드리겠습니다.

  • java
  • spring
  • spring-boot
  • jpa
IGOR 댓글 1 좋아요 0 조회수 139

BT 데코레이터 문제

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요. 강의를 완강하고 다시금 따라하며 게임을 제작해보고 있는 한 학생입니다. 강의와 크게 상관은 없지만 질문해봅니다. Selector를 통해서 공격범위에 있다면 Attack을 아니라면(inverse) Move to하게 했습니다. 근데 제가 하고 싶은 건 공격범위 안에 들어가는 즉시 공격을 하고 싶은데(CheckAttackRange에서 공격사거리 측정) 지금은 무조건 Target의 위치까지 Move to 한 뒤에 Attack 을 하게 됩니다. Move to 위에있는 CheckAttakcRange(inverse)에 옵션으로 Observer Aborts을 self로 해봐도 결과는 동일합니다. 어떤 이유로 인해 발생하는지 계속 고민해봐도 모르겠어서 질문 드립니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
qmal789 댓글 3 좋아요 0 조회수 150

main 실행 화면이 제대로 작동하고 있는 건지 모르겠습니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 영한 님 수업 자료랑 강의 보고 똑같이 작성하고 있는 상태이긴 합니다. 하지만 run을 할 때 실행 장면이 뜨지 않아 이게 무슨 오류가 있는 건지, 아니면 작동이 되고 있는 건지 잘 모르겠습니다. 이렇게 뜨면 무슨 문제가 있는 걸까요?

  • java
  • spring
  • mvc
  • spring-boot
말랑말랑한 캥거루 댓글 2 좋아요 0 조회수 113

localhost:8080/hello-stiatic.html 에 관한 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 강사님이 알려주신 html 코딩 내용인 hello-static.html과 localhost:8080/hello-static.html에서 페이지 소스 보기로 본 코드 내용이 다른데, 이유가 무엇일까요? 그리고 html 코드의 body 부분이 영어일 때는 괜찮은데, 한글 입력시 페이지에서 한글이 깨져서 출력됩니다. 1. <hello-staitc.html> <!DOCTYPE HTML > <> <head> <title> static content </title> <meta http-equiv ="Content-Type" content ="text/html; charest=UTF-8" /> </head> <body> 정적 컨텐츠 입니다. </body> </html> <loacalhost:8080/hello-static.html> <!DOCTYPE HTML><html><head> <title>Hello</title> <meta http-equiv="Content-Type" content="text/html; charest=UTF-8" /></head></html>Hello<a href=" /hello ">hello</a></body></html><script>(function() { var ws = new WebSocket('ws://' + window.location.host + '/jb-server-page?reloadMode=RELOAD_ON_SAVE&'+ 'referrer=' + encodeURIComponent(window.location.pathname)); ws.onmessage = function (msg) { if ( msg.data === 'reload') { window.location.reload(); } if ( msg.data .startsWith('update-css ')) { var messageId = msg.data .substring(11); var links = document.getElementsByTagName('link'); for (var i = 0; i < links.length; i++) { var link = links[i]; if (link.rel !== 'stylesheet') continue; var clonedLink = link.cloneNode(true); var newHref = link.href.replace(/(&|\?)jbUpdateLinksId=\d+/, "$1jbUpdateLinksId=" + messageId); if (newHref !== link.href) { clonedLink.href = newHref; } else { var indexOfQuest = newHref.indexOf('?'); if (indexOfQuest >= 0) { // to support ?foo#hash clonedLink.href = newHref.substring(0, indexOfQuest + 1) + 'jbUpdateLinksId=' + messageId + '&' + newHref.substring(indexOfQuest + 1); } else { clonedLink.href += '?' + 'jbUpdateLinksId=' + messageId; } } link.replaceWith(clonedLink); } } };})();</script> 출력 내용 원하는 출력 값 : 정적 컨텐츠 입니다. 실제 출력 값 : <> �뺤쟻 而⑦뀗痢� �낅땲��.

  • java
  • spring
  • mvc
  • spring-boot
8330kdw 댓글 2 좋아요 0 조회수 84

객체지향 프로그래밍의 원리 적용 범위

미해결

김영한의 실전 자바 - 기본편

안녕하세요 강사님! 강사님 덕분에 프로그래밍의 세계에서 재미 있는 시간을 보내고 있습니다! 객체 지향 프로그래밍과 궁금한 점이 있습니다. 자바는 객체지향프로그래밍에 특화 된 언어라고 이해하고 있는데요, 생성자, 메서드, 객체와 같은 개념들이 다른 언어(python, javascript 등)에도 적용할 수 있는건가요? 감사합니다!

  • java
  • 객체지향
침착한치킨다리 댓글 1 좋아요 0 조회수 112

몽타주 바인딩에 대해 궁금한 점이 있습니다.

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요. 혼자 배운 내용을 토대로 개발을 해보고 있는데 콤보 액션 몽타주가 끝나면 델리게이트를 설정을 하는데 이에 대해 궁금한 점이 있습니다. (1번 코드)AnimInstance->OnMontageEnded.AddDynamic(this, &ALuckyCharacterBase::ComboAttackEnd); 콤보 액션이 끝난 후 바인딩하는 코드를 1번 코드처럼 작성을 해도 상관이 없는 건가요? (2번 코드)FOnMontageEnded ComboEndDelegate; ComboEndDelegate.BindUObject(this, &ALuckyCharacterBase::ComboAttackEnd); AnimInstance->Montage_SetEndDelegate(ComboEndDelegate, ComboAttackMontage); 2번 코드처럼 작성하는 이유가 현재 콤보 액션과 다른 콤보 액션을 또 만들면 이 두 콤보 액션을 구분하여 함수를 호출하기 위해 작성을 하는 것인지 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
ajkdfj 댓글 2 좋아요 0 조회수 106

게시글 CRUD 구현 오류 질문입니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 강의 잘 듣고 있습니다. 게시글 CRUD 부분에서 오류가 발생하는데 yml 설정은 강의랑 똑같이 해줬습니다. 서버 실행시키면 java.lang.NullPointerException: Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)" because the return value of "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()" is null at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:116) ~[hibernate-core-6.5.2.Final.jar:6.5.2.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:290) ~[hibernate-core-6.5.2.Final.jar:6.5.2.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:123) ~[hibernate-core-6.5.2.Final.jar:6.5.2.Final] 이런 오류가 발생하고 테스트 실행시키면 Invalid status line: "ÿ900" at org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.createResourceAccessException(DefaultRestClient.java:575) at org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.exchangeInternal(DefaultRestClient.java:498) at org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.retrieve(DefaultRestClient.java:460) at kuke.board.article.api.ArticleApiTest.create(ArticleApiTest.java:24) at kuke.board.article.api.ArticleApiTest.createTest(ArticleApiTest.java:14) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: java.net.ProtocolException: Invalid status line: "ÿ900" at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:962) at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) at org.springframework.http.client.JdkClientHttpRequest.executeInternal(JdkClientHttpRequest.java:102) 이런 오류가 발생합니다. 구글링 해보고 권한 설정이랑 인코딩 설정도 다 했는데 도저히 안돼서 질문 남깁니다.. 추가) server: port: 9000 spring: application: name: kuke-board-article-service datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/article username: root password: root jpa: database-platform: org.hibernate.dialect.MySQLDialect open-in-view: false show-sql: true hibernate: ddl-auto: none yml 설정입니다. 추가) artile의 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' implementation project(':common:snowflake') } 이 부분은 강의 코드 보면서 그대로 쳤어서 runtimeOnly 'com.mysql:mysql-connector-j'는 원래 있었습니다. 스프링 버전 관련 plugins { id 'java' id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.6' } group = 'kuke' version = '1' allprojects { java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 } apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } } 강의에 나온 버전 그대로 맞췄습니다. DB관련 아이디 root에 비밀번호 root로 하면 접속 잘 되고 DB랑 테이블도 article로 통일했습니다. MySQLDialect -> MySQL8Dialect로 변경해도 안되는데 이유를 모르겠네요!... 추가) 이렇게 나오는데 USER는 본명이라 가렸습니다!.. 추가) 테스트 실행시키면 발생하는 오류입니다.. package kuke.board.article.api; import kuke.board.article.service.response.ArticleResponse; import lombok.AllArgsConstructor; import lombok.Getter; import org.junit.jupiter.api.Test; import org.springframework.web.client.RestClient; public class ArticleApiTest { RestClient restClient = RestClient.create("http://localhost:9000"); @Test void createTest() { ArticleResponse response = create(new ArticleCreateRequest( "hi", "my content", 1L, 1L )); System.out.println("response = " + response); } ArticleResponse create(ArticleCreateRequest request) { return restClient.post() .uri("/v1/articles") .body(request) .retrieve() .body(ArticleResponse.class); } @Getter @AllArgsConstructor static class ArticleCreateRequest { private String title; private String content; private Long writerId; private Long boardId; } @Getter @AllArgsConstructor static class ArticleUpdateRequest { private String title; private String content; } } 코드는 강의랑 똑같은데 왜그럴까요..

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
pay 댓글 2 좋아요 1 조회수 387

updateItem 변경감지 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Book에는 저 세 가지 필드 말고도 다른 필드도 존재하는데 현재 merge가 아니라 변경 감지로 값을 수정하는 것이기 때문에 @Transactional public void updateItem(Long itemId, String name, int price, int stockQuantity) { Item findItem = itemRepository.findOne(itemId); findItem.setPrice(price); findItem.setName(name); findItem.setStockQuantity(stockQuantity); } 다음과 같은 형태로 사용해도 다른 필드는 null 값으로 바뀌지 않는 거 맞을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
sim2 댓글 1 좋아요 0 조회수 128

Join 실습 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

public class JoinMainV3 { public static void main(String[] args) throws InterruptedException { log("Start"); SumTask task1 = new SumTask(1, 50); SumTask task2 = new SumTask(51, 100); Thread thread1 = new Thread(task1, "thread-1"); Thread thread2 = new Thread(task2, "thread-2"); thread1.start(); thread2.start(); // 스레드가 종료될 때 까지 대기 log("join() - main 스레드 대기 시작"); thread1.join(); thread2.join(); log("main 스레드 대기 완료"); log("task1.result = " + task1.result); log("task2.result = " + task2.result); int sumAll = task1.result + task2.result; log("task1 + task2 = "+ sumAll); log("End"); } static class SumTask implements Runnable { int startValue; int endValue; int result = 0; public SumTask(int startValue, int endValue) { this.startValue = startValue; this.endValue = endValue; } @Override public void run() { log("작업 시작"); sleep(2000); int sum = 0; for (int i = startValue; i <= endValue; i++) { sum += i; } result = sum; log("작업 완료 result = " + result); } } } 안녕하세요. 위 코드는 강의실습에 사용된 코드입니다. 개인적으로 thread1.join(), thread2.join() 에 대해 main쓰레드가 WAITING 상태인지를 확인하고 싶어 아래와 같이 코드 중간 중간에 상태를 체크해봤습니다. log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread1.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread2.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); 결과는 모두 RUNNABLE로 나타나는데요. sleep시간을 늘려봐도 여전히 RUNNABLE상태가 나옵니다. 코드의 어떤 부분을 수정해야지 WAITING상태를 확인할 수 있는지 궁금합니다~!

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
창신동 장첸 댓글 2 좋아요 0 조회수 184

인기 태그

인프런 TOP Writers

주간 인기글