묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
퀴즈 중복 정답 가능 여부 질문 드립니다.
[질문 내용]D 는 정답이 아닌가요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
각 application.java에서 빈 스캔할때 차이
안녕하세요 Transactional Outbox 모듈 적용 부분을 듣던중에 차이가 발생해서 질문드립니다.강의에서는 이제 각 나눠진 기능마다 XXXAplication 클래스에EntityScan과 EnableJpaRRepositories 애노테이션을 달아주는것만으로도 다른패키지에있는 outboxEventPublisher를 사용할 수 있는데 저는 인식을 못합니다. application클래스에 @componentScan(...)까지 달아주고나서야 비로서 인식이 되기 시작하는데 혹시 뭐가 문제고 무슨 차이가 있는걸까요 ... 찾아봤는데 잘 안보입니다 ㅠㅠ
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
컴파일 파일 및 프로젝트 이름 관련 질문있습니다~
강의 잘 듣고 있습니다.궁금한 점이 2가지 있는데요.1. gradle 프로젝트를 생성하면 org/example/App.java가 기본값인거 같습니다. 이걸 프로젝트 생성 시점에서 원하는 명칭으로 변경할 수 있는지 궁금하구요예) 최초 생성 시 com/회사명/Application.java2. import된 파일 (강의 예시로는 math)이 .gradle 경로에 떨어지는데 이부분은 알알두면 어떤 상황에서 활용되는지 궁금합니다. (예를 들면 다운로드된 라이브러리는 폐쇄망 환경 같은 곳에 들고 가는데 이 경로도 마찬가지인지)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
홀수 짝수 찾기 문제 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 먼저 이렇게 코드를 짜도 정답이 되는지 알고 싶습니다.또한, 강사님과 같이 삼항 연산자를 써야겠다는 효율적인 생각을 어떻게 할 수 있는지 그 방법을 알고 싶습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
querydsl 빌드 문제 질문드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.강사님처럼 src/main/java 하위에 querydsl 폴더가 생기진 않고 build 폴더쪽에 파일이 생기고 있습니다. 하지만 에러는error: Could not find class file for 'jpabook.jpashop.domain.OrderItem'.이렇게 생기고 있습니다.clean > build 하면 Q파일이 생기지않고celan > other > compileQuerydsl 하면위와 같이 엔티티를 찾을 수 없다는 에러가 발생하고 있습니다. //querydsl buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.4.5' id 'io.spring.dependency-management' version '1.1.7' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } //querydsl apply plugin: "com.ewerk.gradle.plugins.querydsl" group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5-jakarta' //queryDSL //implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta" //annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } //querydsl 추가 시작 def querydslDir = layout.buildDirectory.dir("src/main/java").get().asFile querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } compileQuerydsl{ options.annotationProcessorPath = configurations.querydsl } configurations { compileOnly { extendsFrom annotationProcessor } querydsl.extendsFrom compileClasspath } //querydsl 추가 끝제 build.gradle 이며어노테이션 설정도 이렇게 되어 있지만 에러가 발생하고 있습니다!확인부탁드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
섹션4 (좋아요)의 댓글 수 구현 강의에서 질문 있습니다.
안녕하세요 ! 좋은 강의 해주셔서 감사합니다.섹션 4의 댓글 수 구현 강의 3분 39초 경에서 질문 있습니다 .선생님의 코드에서는 댓글을 물리적 삭제할때만 댓글 수를 decrease를 통해 줄여주고 있는데, 논리적 삭제 시에도 count를 줄여주는 것이 맞다고 생각해서 질문글 남깁니다. 왜 물리적 삭제 시에만 댓글 수를 decrease 하시는 건가요 ?
-
미해결실전! Querydsl
중급문법 벌크연산에서
mulitply 예제가 잘려있습니다. 수정부탁드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 Gradle 빌드 도구 설정 'select configuration element in the tree to edit its settings' 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) -> 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) -> 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) -> 예[질문 내용]현재 상황File | Settings | Build, Execution, Deployment | Build Tools | Gradle 선택 시 'select configuration element in the tree to edit its settings' 만 조회되고 general settings 설정 창이 안보이는 상황단, import gradle 프로젝트 로딩은 문제가 없으며 코드 실행 역시 잘 되는 상황. 시도했던 해결 방안들인텔리제이 Invalidate and Restart 를 거침인텔리제이 전체 재설치 진행start.spring.io의 경우 해당 사진의 설정 사용 GPT에서 제공한 프로젝트 폴더 파일 역시 같은 증상(설정 조회가 되지 않는) 증상을 보임프로젝트 JDK 설정 역시 21 버전으로 설정, JAVA_HOME 환경 변수 역시 21버전으로 설정gradle 플러그인 역시 설치 및 활성화 되어 있음을 확인.idea 폴더와 .gradle 폴더 삭제 후 다시 프로젝트를 열어봄.gradle wrapper 존재 확인 Run anything에서 gradle clean 등의 실행을 거쳐봄.결론...여러 방안을 시도해보고 설정 역시 계속 재확인 후 인텔리제이 리스타트를 진행해도 해당 설정이 조회되지 않고,select configuration element in the tree to edit its settings 표시만 떠 있네요...혹시 해결 방안을 아시는 분 계실까요?오늘도 노고 많으십니다. 좋은 하루 되세요.
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
Object Header 의 Klass word (39강 36:00)
39강의 36분 경에 보여주시는 그림에 보면 Object Header 의 Klass word 가 Metaspace 영역의 Class 클래스의 메타데이터를 가르키고 있습니다. 해당 Class 클래스의 메타데이터 내용을 보면 Object Age 나 Lock Flag 등이 들어가는데 제가 공부하기로는 Object Age 나 Lock Flag 와 같은 개별 인스턴스가 가져야 하는 메타데이터는 Mark Word 에 저장되는 것으로 알고 있었는데, 아닌가요?그렇다면 이 강의에서 설명하신 바로는 Class 클래스가 클래스로더의 "준비" 단계에서 생성되고, 실제 인스턴스 객체는 나중에 생성된다고 하셨는데 "준비"단계에 생성된 Class 클래스에 인스턴스 별로 다르게 가져야 하는 정보 (age, lock flag 등) 이 어떻게 구별되서 저장되나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
ArticleDeletedEventHandler
handle()에 조회 수, 좋아요 수, 댓글 수 캐시도 삭제해주어야 하는데 누락되어야 한다고 생각이 하는데 어떻게 생각하시는지 궁금합니다! 아니면 다른 의도가 있으셨을까요?강의에서는 생성 시간 및 인기글 캐시만 삭제하고 있습니다!
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(상) : 멀티스레드와 동기화
JVM 스레드 TLS 질문
선생님께서 말씀하시는 TLS는 프로세스의 한정적인 VMS위에서 나뉘어서 사용되는건가요?? Heap area에 비해 다른 영역은 작은걸로 아는데 TLS가 나뉘어서 사용되면 영역이 작아지지 않을까라고 생각되서 질문드립니다!!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
TransactionalEventListener 관련 문의드리고자 글 남깁니다.
안녕하세요, 강사님 늘 강의 잘 듣고 있습니다, 감사합니다 !다름이 아니고, @Transactional과 @TransactionalEventListener 설정 관련해 궁금한 사항이 있어서 문의드리게 되었습니다.강의내용은 @Transactional, @TransactionalEventListener가 전역적으로 선언되었고 outbox 관련 로직만 존재하기 때문에 괜찮지만제 업무환경에서는 @TrasnactionalEventListener가 사용되면 프로젝트의 모든 @Transactional으로 관련된 내용이 바인딩되기 때문에 이를 scope 별로 구분하는 방법이 필요해보였는데요. 따로 알아보았지만, payload(강의에서는 OutboxEvent) 를 통해 분기처리하는 방법만 보이다보니 혹시 관련하여 TrasnactionalEventListener 어노테이션 필드 혹은 커스텀 어노테이션만으로 구분할 수 있는 방법이 있을까요 ?문의드리는 가장 큰 이유는 outbox 로직이 필요없는 DB처리에도 TrasnactionalEventListener이 우선은 호출되고 payload를 통해 early return 시키려고 하다보니, 불필요한 리소스 사용을 방지하고 싶어서 문의드리게 되었습니다.
-
미해결스프링 시큐리티 OAuth2
Jdbc 관련 강의 및 깃헙 문의
안녕하세요. 아래는 강의 자료 캡처입니다.1, 2, 3, 4 번에 대한 각각의 강의가 없어서 문의 드립니다. 특히, 4번은..OAuth 2.0 강좌 전체에서Authorization server 에 직접 DB 나 Nosql 에 연동하는 강의가 없는 것 같아서꼭 보고 싶은데.. 깃헙에 브랜치마저도 없는 것 같아 문의 드립니다.. 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
오타 문의
안녕하세요! 우선 강의 너무 잘 듣고 있습니다!강의 자료에서 좋아요 수 설계 부분에서11:171:1 관계이지만, 테이블 비정규화의 필요성을 살펴본 것이다.이 부분은 1:1 관계이므로 비정규화의 필요성이 있지만, 레코드 락으로 인한 자원 한계를 고려하여 '정규화'의 필요성을 살펴본 것 이 맞지 않나 싶습니다! 혹시 제가 잘못 이해한 부분이 있다면 알려주시면 감사하겠습니다!
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
JpaCursorItemReader 질문
이 기본 구현에서 호출하는 getResultList() 는 전체 데이터를 메모리에 한 번에 로딩하므로 실제 스트리밍이 아니며 따라서 타 JPA 구현체 사용 시 주의가 필요하다.라고 하셨는데 JpaCursorItemReader를 이용하면 모든 데이터를 메모리로 가져오기 때문에 OutOfMemoryError가 날 수 있나요??추가로 실무에서는 쿼리가 복잡할텐데 JPA 보단 JDBC를 사용하는 편인가요???
-
미해결얄코의 떠먹여주는 객체지향 디자인 패턴
수정 요청
토끼가 나와서 하는 질문이 하나도 안들립니다. 어수룩함을 표현한거 같은데 이상한 말투로 질문을 하는데 전혀 어울리지도 않고 강의 내용에 전혀 도움이 안됩니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA Cretieria와 QueryDSL
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의만 들었을때 JPA Cretieria와 QueryDSL 둘다 JPQL빌더 역할 하는것 같은데 자세한 차이 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입 컬렉션 PK
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Hibernate: create sequence Member_SEQ start with 1 increment by 50 Hibernate: create table ADDRESS ( MEMBER_ID bigint not null, city varchar(255), zipcode varchar(255) ) Hibernate: create table FAVORITE_FOOD ( MEMBER_ID bigint not null, FOOD_NAME varchar(255) ) Hibernate: create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), city varchar(255), zipcode varchar(255), primary key (MEMBER_ID) ) Hibernate: alter table if exists ADDRESS add constraint FKsuulxb5rmrxvb83yr43ox86wn foreign key (MEMBER_ID) references Member Hibernate: alter table if exists FAVORITE_FOOD add constraint FKjchfnr69biisfgjdpoe82rpa4 foreign key (MEMBER_ID) references Member 위 그림에서 FAVORITE_FOOD 테이블에서 FOOD_NAME, ADDRESS 테이블에서 CITY, ZIPCODE 가 왜 PK가 되는지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
공부 방향이 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]김영한님의 강의를 들으며 꾸준히 공부하는 한 직장인입니다. 현재 로드맵이 나눠져 있는데 혹시 이제까지 나온 김영한님의 모든 강의를 포함하는 로드맵을 추천해 주실 수 있을까요??
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
잘못된 csv 파일
csv 파일 중 프로세스 아이디 정보가 잘못되어있습니다.실제 SystemFailure의 processId는 Integer인데 csv 파일은 String입니다.