package generic.test.ex3 object UnitPrinter { //제네릭 메서드 fun <T : BioUnit>printerV1(t: Shuttle<T>){ println(t.showInfo()) } fun printerV2(shuttle: Shuttle<out BioUnit>){ println(shuttle.showInfo()) } fun <T : BioUnit>printerV3(t: Shuttle<T>){ val unit = t.out() println("이름: ${unit.name} hp:${unit.hp}") } fun printerV4(shuttle: Shuttle<out BioUnit>){ val unit = shuttle.out() println("이름: ${unit.name} hp:${unit.hp}") } } 자바와 코틀린은 100퍼센트 호환이 된다고 해서 코틀린으로 강의를 보고있습니다. 강의에선 v1과 v2로 인자로 받은 셔틀에서 unit을 꺼내어 내용을 출력했는데요. 그렇게 안하고 셔틀에서 바로showinfo를 호출해서 실행창에 name : 마린 hp : 40 kotlin.Unit name : 마린 hp : 40 kotlin.Unit 이렇게 줄바꿈으로 kotlin.Unit이라는게 자동적으로 붙는데 왜이런건가요 . 강의에서처럼 unit을꺼내어서 출력하면 안붙습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 이번에 JPA를 시작하는 학생입니다. H2 DB 실행시 계속 연결할 수 없다고 나오는데 혹시 해결 방법을 알 수 있을까요? 화면 첨부합니다 현재 네이버 웨일 브라우저를 사용하고 있는데 크롬에서도 동일 현상이 발생했습니다. 감사합니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-06-28 18:38:36.868 ERROR 35116 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6] at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:10) ~[main/:na]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.24.jar:5.3.24] ... 21 common frames omittedCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.24.jar:5.3.24] ... 35 common frames omittedCaused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24] ... 36 common frames omitted 기존에 저랑 같은 문제를 갖고 있는 학우 분 코멘트 따라서 runtimeOnly 'com.mysql:mysql-connector-j' 기존 runtimeOnly 의존성을 지우고 해당 코드를 추가해줬지만 여전히 같은 에러가 나옵니다. 어떻게 해결하면 좋을까요?
반복문 for 이중일때 ..왜두번째 조건문부터 증가하나요 이해가안갑니다!! 더불어 건의사항이 있는데강의듣다가 바로 질문남길수있는 시스템이면 좋겠습니다. 스크린샷도안되고 불편하네요.또 강의재생중 화면 안꺼지도록 할수없나요?일일이 핸드폰기기설정들어가서 하고있는데 상당히 번거롭네요ㅜ 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
모든 강의를 듣고 따라하면서 재미나게 실습했습니다. 그 중에서 롤백테스트할 때 jakarta.transaction.Transactional 또는 org.springframework.transaction.annotation.Transactional 의 @Transactional 만을 사용하면 정상동작합니다. 그런데, org.springframework.transaction.annotation.Transactional @Transactional(readOnly = true) readOnly = true 를 사용하여 테스트를 하면 insert 가 진행되지 않을 것을 예상했는데 진행이 되었습니다. 왜 그런지 궁금합니다. 그리고, 인프런안의 Kotlin 강좌중 추천할만한 강의가 있을까요? 어제 유튜브에서 최근의 건강에 대해서 언급하셨는데, 건강하고 늘 행복하게 보내세요.
컴퓨터 돋보기에서 시스템 환경변수 편집 >고급 > 환경변수 들어가서 환경변수 JAVA_HOME을 최초엔 C:\Program Files\Java\jdk-8.0.345.1-hotspot\라고 설정되어있는데 강의 마지막부에 갑자기 여 끝에 마지막에 bin 붙이셨는데 저도 따라 수정해서 bin 붙여야하나요? 이미 "PATH"에 %JAVA_HOME%\bin 이 되어 있는데요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 공백 제거 풀이를 보면서 의문이 생겨서 질문을 남깁니다. 공백 제거 하는것 을 보면 trim 메서드, strip 메서드가 있는것을 확인 할수가 있는데요. 왜 굳이 이렇게 나눈 이유가 뭘까? 라는 생각이 듭니다. 그냥 strip으로 통일해서 없애면 되는게 아닌가?라는 생각이요. 이렇게 나눈 이유가 있을 것 같은데...이유를 알려주실수 있으신가요? 그리고 현업 에서는 trim 메서드 만 사용하는지 아니면 strip 메서드만 사용하는지 아니면 혼용해서 사용하는지 알고 싶네요. 답변 부탁 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] test.mv .db 파일 생성된 것 확인하고 그다음에 jdbc:h2:tcp://l ocalhost/~/test 이거 복사 붙여넣기 해서 연결 눌렀더니 사진처럼 연결이 안되네요 이거 관련된 질문 찾아봤는데 파일 지우고 다시 만들라는데 윈도우 cmd에서 touch 명령어가 안먹히는데 어떡하나요?
강사님 안녕하세요 ! 자바 9 모듈 학습을 하다가 의문점이 생겨서 질문을 드립니다. JPMS을 사용하면 빌드 툴 없이 모듈 구성이 가능하다라는 말이 잘 이해가 되지 않습니다. plugins { id 'java-library' } group = 'com.example' version = '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { api(project(":domain")) testImplementation platform('org.junit:junit-bom:5.10.0') testImplementation 'org.junit.jupiter:junit-jupiter' } test { useJUnitPlatform() } 이렇게 build.gradle 파일 내에 추가로 설정을 해야 접근이 가능하게 되는데 이거는 gradle 빌드를 사용한게 아닌건가요 ? testImplementation platform('org.junit:junit-bom:5.10.0') 이렇게 maven을 통해서 가져오는 게 아니라서 빌드툴을 사용하지 않았다고 이해하면 될까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영한님 항상 정성이 담긴 강의해주셔서 대단히 감사합니다:) 다름이 아니라 해당 부분 강의를 들었을 때 LinkedList와 배열의 조합으로 메모리 구조가 잘 떠오르지 않아서 제가 생각한 부분이 맞는지 질문드리는 점 양해 부탁드립니다(_ _) LinkedList 인덱스 배열[9] 부분에 9와 99가 같이 들어가는데요, 영한님께서 설명해주셨던 LinkedList 강의 부분 메모리 구조 그림으로 예를 든다면 배열[9] 부분에 노드가 이런식으로 두 개가 생성되는 것이 제가 이해한 부분이 맞을지 질문드립니다! 항상 감사합니다 :) )
안녕하세요 영한님! 질문이있어서 찾아왔습니다. 현재 프로젝트를 진행중인데 한줄로 요약하면 기준 영양 성분에 맞추어 부족,과잉 영양분을 판별해 주는 프로젝트 입니다. 저는 기준 영양성분을 ENUM 타입으로 관리하자 는 입장이였습니다. 그 이유는 1) 저희 서비스는 적정영양성분 부족과잉을 판별 하는데 매번 DB를 조회해서 findProperAmountByName("단백질") 을 매번 같은 적정량을 조회하는 게 부담 스럽다. => Enum 타입으로 탄수화물의 적정량을 넣어두면 훨씬 편하게 조회할 수 있을 것이다. 2) findProperAmountByName("단백질") 은 현 재 코드만으로는 DB에 어떤 영양소가 있는지도 모르고 확인하기 어렵 다. ENUM 타입으로 묶으면 CARBON_HYDRATE,PROTEIN 등등 이렇게 묶어서 편하게 관리할 수 있다. 이렇게 생각하고 또 개발을 진행중에 있었습니다. 그러던 와중에 "영양제" 라는 컨텐츠에 탄수화물, 단백질 이 부족할 때 좋은 영양제라는 의미로 "탄수화물","단백질" 이라는 키워드를 쓰고 싶을 때 <아래는 영양제 칼럼> @ElementCollection(targetClass = StandardNutrient.class) @JoinTable(name = "StandardNutrient",joinColumns = @JoinColumn(name = "drug_id")) @Column(name ="StandardNutrientName", nullable = false) @Enumerated(EnumType.STRING) private Set<StandardNutrient> efficientNutrient = new HashSet<>(); 이렇게 쓰고 싶은 마음이 굴둑 같습니다. 이렇게 했을 때 발생할 수 있는 단점에 대해 알고 싶습니다. ( StandardNutrient는 Enum 타입입 니다. ) 1) 일단 StandareNutrient 의 종류가 바뀔일이 절대 없습니다! 2) 이 서비스의 Manager 만 영양제를 등록할 수 있습니다. 3) List 대신 Set 을 사용함으로써 다 delete 한이후 insert 하지도 않습니다. 어떻게 생각하시나요?