학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx ) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 테스트 할 때 ItemRepositoy 생성자 주입을 했는데 계속 null이라고 나와서요! 혹시 뭐가 문제인걸까요?? package study.datajpa.repository; import jakarta.persistence.Id; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import study.datajpa.entity.Item; import static org.junit.Assert.*; @SpringBootTest public class ItemRepositoryTest { @Autowired ItemRepository itemRepository; @Test public void save() { Item item = new Item("A"); itemRepository.save(item); } } package study.datajpa.repository; import org.springframework.data.jpa.repository.JpaRepository; import study.datajpa.entity.Item; public interface ItemRepository extends JpaRepository<Item, Long> { } package study.datajpa.entity; import jakarta.persistence.Entity; import jakarta.persistence.EntityListeners; import jakarta.persistence.Id; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.domain.Persistable; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import java.time.LocalDateTime; @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @EntityListeners(AuditingEntityListener.class) public class Item implements Persistable<String> { // @GeneratedValue @Id private String id; public Item(String id) { this.id = id; } @CreatedDate private LocalDateTime createdDate; @Override public String getId() { return id; } @Override public boolean isNew() { // 해당 데이터가 new냐 아니냐에 따라 새로운 객체인지 아닌지 판단 return createdDate == null; } } 아래는 오류 내용입니다 Cannot invoke "study.datajpa.repository.ItemRepository.save(Object)" because "this.itemRepository" is null java.lang.NullPointerException: Cannot invoke "study.datajpa.repository.ItemRepository.save(Object)" because "this.itemRepository" is null at study.datajpa.repository.ItemRepositoryTest.save(ItemRepositoryTest.java:19) at java.base/java.lang.reflect.Method.invoke(Method.java:580)
모든 링크 모두 편집 가능하도록 변경해서 올립니다! 05.29에 올린 글이 가장 마지막까지 작업하던 코드라 어떤 식으로 수정하면 좋을지 말씀해주시면 많은 도움이 될 것 같아요! https://drive.google.com/file/d/1ZLSuM4WzJVs4Hec74h64ketY0KtzEEFu/view?usp=sharing ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ <기록> 24.05.29 00:50 작성 [긴급-재업로드]수업질문 로그인 안 되는 문제 수정한 링크(편집 가능) https://drive.google.com/file/d/1ZLSuM4WzJVs4Hec74h64ketY0KtzEEFu/view?usp=sharing 24.05.26 13:19 작성 [긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요 [로그인 로그아웃] 강의까지 수강했는데 도저히 막막해서 고민하다가 답답한 마음에 올립니다. 홈-가입-정보입력-로그인 눌러도 정보가 나타나지 않고 로그인/가입도 프로필/알림 이런 게 아예 안 뜹니다. 그리고 로그인탭을 누르면 우리가 만든 로그인 폼이 아니라 시큐리티 로그인으로 이동하고, 시큐리티 로그인을 해도 시큐리티 로그인화면이 localhost:8080/login으로 나올 뿐입니다. 로그인이 잘 돼서 로그인/가입이 프로필/알림 등으로 잘 보일 수 있도록 코드 어떻게 수정하면 좋을지 도와주세요. 가장 마지막까지 작성한 코드입니다. [로그인로그아웃 13:20]까지 수강했습니다. 수정한 링크(편집 가능) https://drive.google.com/file/d/1D3FexWWHLE0SZrdumtZVRmuqJFP5Atl6/view?usp=sharing
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 이 코드는 batch가 잘 적용되는데 dto로 다음과 같이 조회하게 되면 batch가 적용되지 않습니다. 원래 dto로 o를 조회하게 되면 배치가 적용되지 않나요?
저도 직전 강의에서 "이 hashCode() 메서드는 굳이 멀티 스레드를 걱정하지 않아도 될 것 같은데?" 라고 생각하면서 좀 자세히 보고 생각해 보게 되었습니다. 책에서 해시를 캐싱할 때 지연 초기화를 하려면 스레드 안전하게 만들도록 신경 써야 한다고 쓰여져 있기에 이 문장에 대한 제 생각을 공유하고자 글 남깁니다! 기선님께서도 말씀하셨듯이 강의 초반에 나오는 hashCode() 메서드는 여러 스레드가 동시에 계산을 하더라도 문제는 없어 보입니다. result라는 로컬 변수에 계산을 하기 때문이죠(로컬 변수는 스레드마다 고유하므로). 계산 결과에는 문제가 없으나, 계산을 동시에 한다는 점에 고민을 해보게 되었습니다. 책에서 설명하는 해시를 캐싱하는 전제조건은 불변 객체이면서 해시코드를 계산하는 비용이 클 때입니다. 즉, 불변 객체이기에 해시 코드를 여러 번 계산할 필요가 없고 처음 한 번만 계산한 후 계속 가져다 사용하는 방식인거죠. 스레드에 안전하지 않게 설계하면 여러 스레드가 동시에 해당 인스턴스의 해시를 계산할 수 있기에(크게 문제가 되지 않다고 생각할 수 있으나 해시코드를 계산하는 비용이 크다고 가정했으므로 중복 계산은 성능 저하로 이어진다고 생각합니다) 스레드 안전에 신경 써야 한다고 쓴 것 같습니다. 그러나 역시 결과에는 문제가 없기에 책에서도 "반드시 스레드에 안전해야 한다!"가 아닌 "스레드 안전하게 만들도록 신경 써야 한다"라고 기술되어 있는 것이라고 생각합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 잘 따라하고 있다가 orderV6 부분에서 갑자기 오류가 나옵니다 왜이럴까요ㅠㅠ? 셋팅이 바뀐 부분은 따로 없는 거 같습니다. yml부분데 h2.driver 부분이 오류가 나오네요ㅠㅠ java.lang.ClassNotFoundException: org.h2.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass (BuiltinClassLoader.java:64 1) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass (ClassLoaders.java:18 8) at java.base/java.lang.ClassLoader.loadClass (ClassLoader.java:52 0) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName (Class.java:46 7) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass (RestartClassLoader.java:12 1) at java.base/java.lang.ClassLoader.loadClass (ClassLoader.java:52 0) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName (Class.java:46 7) at org.springframework.util.ClassUtils.forName (ClassUtils.java:30 4) at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.driverClassIsLoadable (DataSourceProperties.java:19 4) at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName (DataSourceProperties.java:17 5) at org.springframework.boot.autoconfigure.jdbc.PropertiesJdbcConnectionDetails.getDriverClassName (PropertiesJdbcConnectionDetails.java:4 9) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource (DataSourceConfiguration.java:5 5) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource (DataSourceConfiguration.java:11 7) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:7 7) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:4 3) at java.base/java.lang.reflect.Method.invoke (Method.java:56 8) at org.springframework.beans.factory.suppor t.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:14 0) at org.springframework.beans.factory.suppor t.ConstructorResolver.instantiate (ConstructorResolver.java:64 7) at org.springframework.beans.factory.suppor t.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:63 9) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory.java:133 4) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:116 4) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:56 1) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:52 1) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.lambda$doGetBean$0 (AbstractBeanFactory.java:32 5) at org.springframework.beans.factory.suppor t.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:23 4) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:32 3) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.getBean (AbstractBeanFactory.java:19 9) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate (DependencyDescriptor.java:25 4) at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:144 3) at org.springframework.beans.factory.suppor t.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:135 3) at org.springframework.beans.factory.suppor t.ConstructorResolver.resolveAutowiredArgument (ConstructorResolver.java:90 7) at org.springframework.beans.factory.suppor t.ConstructorResolver.createArgumentArray (ConstructorResolver.java:78 5) at org.springframework.beans.factory.suppor t.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:54 2) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory.java:133 4) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:116 4) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:56 1) at org.springframework.beans.factory.suppor t.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:52 1) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.lambda$doGetBean$0 (AbstractBeanFactory.java:32 5) at org.springframework.beans.factory.suppor t.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:23 4) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:32 3) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.getBean (AbstractBeanFactory.java:19 9) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:31 2) at org.springframework.beans.factory.suppor t.AbstractBeanFactory.getBean (AbstractBeanFactory.java:19 9) at org.springframework.context.suppor t.AbstractApplicationContext.getBean (AbstractApplicationContext.java:123 1) at org.springframework.context.suppor t.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:94 9) at org.springframework.context.suppor t.AbstractApplicationContext.refresh (AbstractApplicationContext.java:62 4) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:14 6) at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:75 4) at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:45 6) at org.springframework.boot.SpringApplication.ru n (SpringApplication.java:33 4) at org.springframework.boot.SpringApplication.ru n (SpringApplication.java:135 4) at org.springframework.boot.SpringApplication.ru n (SpringApplication.java:134 3) at jpabook.jpashop.JpashopApplication.main (JpashopApplication.java:1 4) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:7 7) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:4 3) at java.base/java.lang.reflect.Method.invoke (Method.java:56 8) at org.springframework.boot.devtools.restart.RestartLauncher.ru n (RestartLauncher.java:5 0)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 수업내용 글들은 어디서 확인 할수있나여?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 총 4개의 Order가 있고, 다음과 같이 xToOne연관관계를 가진 Member와 Delivery까지 페치조인해서 가져온 상황입니다. 여기서 Batchsize가 2라고 가정하고, Order를 순차적으로 돌아가면서 OrderItems에 접근하게 된다면, 다음 그림과 같이 orderItems가 로딩이 되는 것인가요? order.stream ().forEach(o -> o.getOrderItems().getPrice()) (첫 번째) Batchsize가 2이므로 첫 두 Order에 대한 orderItems 로딩 (두 번째) Batchsize가 2이므로 그 다음 두 개의 Order에 대한 orderItems 로딩
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] HashSet의 코드를 보니 HashMap을 사용하여 구현이 되어있는데 실제 구현도 결국에는 강의 내용처럼 배열안에 LinkedList 나 TreeSet으로 구현과 최적화가 되는건가요?
안녕하세요. 터미널에서 h2.sh이 안됩니다. h2 w.bat을 직접 열어서 연결을 누르면 이런 화면이 나오긴 합니다. java --version 화면입니다. H2환경 별수 설정 화면입니다. h2.sh 를 폴더에서 더블클릭해서 실행시키면 명령프롬프트 창이 뜨면서 Error: Could not find or load main class org.h2.tools .Console Caused by: java.lang.ClassNotFoundException: org.h2.tools.Console 라고 잠깐 뜨고 창이 닫힙니다. 홈에는 test.mv .db파일 있습니다. 어떻게 하면 될까요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
spring: datasource: url: "jdbc:mysql://localhost/library" username: "root" password: "비밀번호" driver-class-name: com.mysql.cj.jdbc.Driver 위와 같이 application.yml 파일을 작성했는데, 사용자 등록을 하면 서버 내부 오류라고 뜨면서 아무것도 안되더라구요.개발자 도구로도 봤는데 뭐가 문제인지 잘 모르겠어서 구글을 찾아보다가 jpa: database: mysql hibernate.ddl-auto: update show-sql: true application.yml 파일에 추가로 이걸 입력하니까 정상적으로 작동하네요.. 혹시 이렇게 두고 실행해도 괜찮은건지 여쭤보고싶었습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의 중반에 bulid한 이후 맥 환경에서 서버 종료하는 방법은 알려주셨는데 혹시 윈도우 환경에서는 서버를 종료하는 방법이 있는지 궁금합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 왜 서비스에 트랜잭션을 적용하냐는 다른 분의 질문에 하나의 트랜잭션으로 묶어서 사용하기 위함이라고 답글이 달린걸 봤는데 이것또한 그러한 이유때문인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요:) 강의 너무 잘듣고있습니다. 혹시 실제 프로그래머스 툴로 코딩테스트를 본다면, 빌트인 함수 (예, Character.isAlphabetic..) 들은 이클립스타 인텔리제이처럼 자동완성 되나요? 검색은 안될지라도.. 혹 Java api docs 라도 제공 되는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] ScannerWhile2 코드를 다음과 같이 int sum = num1 + num2; System.out.println("두 숫자의 합:" + sum); 내용을 else문 안에 적는 것과 else 문을 쓰지 않고 강의처럼 적는 것은 어떻게 적나 상관없는 건가요? if(num1 == 0 && num2 == 0){ System.out.println("프로그램 종료"); break; } else{ int sum = num1 + num2; System.out.println("두 숫자의 합:" + sum); }
https://drive.google.com/file/d/1ZLSuM4WzJVs4Hec74h64ketY0KtzEEFu/view?usp=sharing 이 링크에 가면 pdf가 있는데, 여기에 제가 작성한 코드를 모두 작성했습니다. 이 구글드라이브 링크에 가서 코드를 확인해보시고 답변에 참고가 되셨으면 좋겠습니다. 이 외에 Tag.java , ConsoleMailSendeer.java , check-email.html, checked-email.html, profile.html, fragments.html 는 pdf에 있습니다.
복습하다 문득 이 코드를 보고 생각이 들었습니다. ArrayList<MyUser> list = new ArrayList<>(List.of(myUser1, myUser2, myUser3)); List<MyUser> list1 = List.of(myUser1, myUser2, myUser3); List로 반환되는 건 맞는 거 같은데... static <E> List<E> of(E e1, E e2, E e3) { return ImmutableCollections.listFromTrustedArray(e1, e2, e3); } List.of()는 분명 List타입으로 반환이 되는데 ArrayList에 어떻게 들어가는 건가요? List가 ArrayList를 받을 수는 있지만, 그 반대는 안 되는 거 아닌가 해서요!!