묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
jobParameter를 통한 멱등성 질문
안녕하세요 우선 좋은 강의 감사드립니다. 덕분에 Batch에 대한 기본적인 틀을 잡을 수 있을 것 같아요! 중급강의도 기대됩니다.실습을 따라가던 와중, 멱등성을 유지하기 위해서 궁금한점이 생겨서 질문드립니다.같은 파라미터로 완료된 job은 재실행을 허용하지 않기 때문에 parameter로 time을 넣어주셨는데요.그렇게 되면 만약에 job을 실패지점부터 재실행 하고 싶은 경우에는 targetDate 뿐만 아니라 실패한 시간대에 time 파라미터까지 넣어서 재시작을 해야하는 것인가요?만약에 time 파라미터를 추가한 상태에서, 이전 실행과 다른 time 파라미터로 완료된 job을 재실행 할경우에는 정산 테이블에서 targetDate에 해당하는 값을 DELETE를 하고 INSERT를 진행해야 멱등성이 유지될 것 같습니다. 이럴 경우 DELETE 같은 경우는 Settlement INSERT 작업 이전에 별도의 Step으로 구성이 되야할까요?만약에 DELETE를 해야한다면 DELETE의 경우에는 targetDate의 해당 하는 값을 한번에 전부 지우고 INSERT를 시작하는지 궁급합니다..!
-
해결됨Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
bootRun FAILED 에 대한 문의
강사님 안녕하세요~! 배치 실패시 서버 담당자에게 메일 보여주기 수업 잘들었습니다! 마지막에 실패시 리스너 동작을 테스트 하시기 위해서 예외를 던지신듯 합니다. 그런데 실습 결과가 강사님과 다르게 bootRun FAILED라고 나와서요. (> Task :bootRun FAILEDFAILURE: Build failed with an exception.) 사소한 것 같기는 한데 이유가 궁금해서 글남깁니다~ 좋은 하루되세요~~!
-
해결됨Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
[참고] Tasklet 인터페이스로 단일 배치 작업 처리 수업에 나온 코드 돌리는 방법
package com.system.batch.sy_batch_system.ch03; import lombok.RequiredArgsConstructor; import org.springframework.batch.core.job.Job; import org.springframework.batch.core.job.builder.JobBuilder; import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.step.Step; import org.springframework.batch.core.step.builder.StepBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; @Configuration @RequiredArgsConstructor public class CafeJobConfig2 { private final JobRepository jobRepository; private final PlatformTransactionManager transactionManager; @Bean public Job cafeJob2() { return new JobBuilder("cafeJob2", jobRepository) .start(cafeStep2()) .build(); } @Bean public Step cafeStep2() { return new StepBuilder("cafeStep2", jobRepository) .tasklet(cafeJobTasklet2(), transactionManager) .build(); } @Bean public CafeJobTasklet cafeJobTasklet2() { return new CafeJobTasklet(); } }ch03 에 위에 코드 작성하시고 powerShell(윈도우일 때).\gradlew bootRun --args="--spring.batch.job.name=cafeJob2" 로 실행하시면 됩니다감사합니다
-
해결됨Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
batch_db 생성 관련 문의 드립니다.
안녕하세요우선 강의 잘 들었습니다~batch 를 실무에 적용해보고자 하는데요spring batch의 경우 batch_db에batch_job 관련 테이블이 자동 실행되는 걸로 보이는데요실무에서는 dba를 통해 테이블을 생성해야되는데요batch_job 관련 스키마를 모두 반드시 생성을 해야 되는 건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[제보] pdf내 gradle dependencies 명령어가 동작하지 않는 이슈 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. '1.프로젝트 환경설정.pdf' 강의자료내 5페이지에 있는 gradle 명령어에 오류가 있어 제보 합니다. 강의자료 5페이지에 있는 내용중 아래의 이미지에 표시한 gradle 명령어를 그대로 복사했을때 동작하지 않습니다../gradlew dependencies —configuration compileClasspath 하이픈(-) 하나가 누락된것으로 보이는데 아래와 같이 정정 요청 드립니다. :-) AS-IS./gradlew dependencies —configuration compileClasspathTO-BE./gradlew dependencies -—configuration compileClasspath
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
혹시나 gradle 로 실행 어떻게 해야하나 싶으신 분들
저는 기존에 jdk 11 을 환경변수로 넣고 있어서 jdk21 은 인텔리제이에서 잡아다 쓰고 있었는데, 터미널은 시스템의 환경변수를 따라가다보니 좀 귀찮아서 찾아보니까 프로젝트 루트 디렉토리에 gradle.properties 라는 파일 생성한 뒤 org.gradle.java.home= 의 값을 넣어줘야합니다. 인텔리제이 상단 메뉴에서 File -> project Structure -> SDKs -> jdk21 버전 클릭 -> 'JDK home path' 의 경로를 통째로 org.gradle.java.home 의 값으로 복붙 -> 역슬래시(\)는 슬래시(/) 로 변경 -> 우측 사이드 패널에서 코끼리(gradle) 펼쳐다가 수동으로 새로고침 -> 인텔리제이 터미널에서 ./gradlew bootRun --args='--server.port={포트번호}' 입력하면 잘 됩니다.
-
해결됨클린 코더스: 실전 객체 지향 프로그래밍과 TDD 마스터 클래스
org.fitness 라이브러리를 어떻게 받을 수 있나요
안녕하세요클린 코더스 강의보면서 예제를 따라해보고 있는데 초반 function 강의 예제에 필요한 org.fitness 라이브러리가 받아지지 않는거 같습니다. 클래스 파일이 없으니 컴파일 에러가 터지는데, 라이브러리 파일 구할 수 있는 방법 없을까요?maven repository:https://mvnrepository.com/artifact/org.fitness/fitness저장소:https://github.com/msbaek/fitness-example/tree/master
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
컴파일 파일 및 프로젝트 이름 관련 질문있습니다~
강의 잘 듣고 있습니다.궁금한 점이 2가지 있는데요.1. gradle 프로젝트를 생성하면 org/example/App.java가 기본값인거 같습니다. 이걸 프로젝트 생성 시점에서 원하는 명칭으로 변경할 수 있는지 궁금하구요예) 최초 생성 시 com/회사명/Application.java2. import된 파일 (강의 예시로는 math)이 .gradle 경로에 떨어지는데 이부분은 알알두면 어떤 상황에서 활용되는지 궁금합니다. (예를 들면 다운로드된 라이브러리는 폐쇄망 환경 같은 곳에 들고 가는데 이 경로도 마찬가지인지)
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 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 표시만 떠 있네요...혹시 해결 방안을 아시는 분 계실까요?오늘도 노고 많으십니다. 좋은 하루 되세요.
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
리뷰이벤트로 메일주고 받은사람인데요
안녕하세요이전에 리뷰이벤트로 질문 주고받은 사람입니다우선 죄송합니다좋은취지로 이벤트 시작하신건데 의심으로 번지게한 제 생각에 송구스럽습니다다시한번 죄송합니다 말씀해주신것 처럼 한줄 답글에 인프런측에 요청해서 이벤트로 받은 강의들 모두 철회했습니다그리고 구매해서 본 강의들 모두 리뷰를 삭제했는데요이벤트 여부와 관계없이 다시 정성스럽게 리뷰를 추가하겠습니다감사합니다
-
미해결실리콘밸리 엔지니어와 함께하는 Gradle
리뷰이벤트 질문
영상 을 3개 정도 구매해서 리뷰를 남겼는데3개를 1리뷰+1강의 이벤트에 참여가능한가요?하나만 주셔도 감사합니다만이런기회가 어딨나 싶어서상세하게 답변 받고싶어서요폼을 3번작성했는데 강의가 3개가 오는건가요?
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
gradle build 오류 문의
안녕하세요? gradle init로 그레들 프로젝트 생성했습니다.(그레들 버전 : 8.12)Type : Application나머진 수업해서 지정한 그대로 입니다.(java, groovy, ..)아무런 변경 없이 gradle app:test 혹은 gradle app:build를 실행했습니다.그럼, 다음의 예외가 발생합니다.java.lang.ClassNotFoundException: org.example.AppTest at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)실습한 환경은 윈도우즈이고 CLI는 윈도우즈의 cmd입니다.혹시, 도움 받을 힌트가 있을까요?참고로 이클립스 프로젝트로 import하고 build 태스크를 실행하면 정상적으로 test가 진행됩니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
강의 시 필요한 라이브러리/패키지에 대해서 질문 드립니다.
강의를 따라가다보니 java나 gradle, npm 등 개발 과정에서 쓰이는 명령어를 사용해서 이미지를 빌드하시는데 해당 cli들이 제 PC에는 설치가 되어있지 않아 실습을 하는데 따라가지 못하고 있습니다...ㅎㅎ 혹시 어떤 항목을 미리 설치를 해야하는지 리스트업 해주시면 설치해서 실습 따라가겠습니다...
-
미해결
QueryDSL 관련 질문입니다.
@Getter @Setter @Entity @SuperBuilder @AllArgsConstructor @Table(name = "member") @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member extends BaseUpdateEntity { @Id @GeneratedValue(generator = "uuid2") private UUID id; private String email; private String password; @Column(columnDefinition = "INT") @Enumerated(value = EnumType.ORDINAL) private MemberStatus memberStatus; } @Getter @Setter @SuperBuilder @MappedSuperclass @NoArgsConstructor @EntityListeners(AuditingEntityListener.class) public abstract class BaseUpdateEntity extends BaseEntity { @LastModifiedDate private LocalDateTime updatedAt; @LastModifiedBy private String updatedBy; } @Getter @Setter @SuperBuilder @MappedSuperclass @NoArgsConstructor @EntityListeners(AuditingEntityListener.class) public abstract class BaseEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdAt; @CreatedBy @Column(updatable = false) private String createdBy; } public Page<AuthInfoDto> searchList(AuthSearchRequestDto requestDto) { JPAQuery<AuthInfoDto> query = queryFactory.select(Projections.fields( AuthInfoDto.class, member.email, member.memberStatus.as("status"), member.createdAt )).from(member) .where(searchCondition(requestDto)); // 검색 조건 설정 long totalCount = query.fetchCount(); List<AuthInfoDto> authInfoList = this.getQuerydsl().applyPagination(requestDto.getPageable(), query).fetch(); return new PageImpl<>(authInfoList, requestDto.getPageable(), totalCount); }사용자 정보를 Pagination해서 출력하게끔 하려고 합니다.문제가 되는 부분은List<AuthInfoDto> authInfoList = this.getQuerydsl().applyPagination(requestDto.getPageable(), query).fetch();해당 코드 부분인데 단순히 query.fetch()를 해서 List를 추출하는 것은 되지만 Pagination을 적용하고자 하면 에러가 납니다.org.hibernate.query.SemanticException: Could not interpret path expression 'member.createdAt'에러 내용은 위와 같습니다.QueryDSL 관련 gradle 정보도 같이 첨부합니다.// QueryDSL implementation 'com.querydsl:querydsl-core:5.0.0' implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' implementation 'com.querydsl:querydsl-apt:5.0.0:jakarta' implementation 'jakarta.annotation:jakarta.annotation-api' implementation 'jakarta.persistence:jakarta.persistence-api' annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" annotationProcessor "jakarta.persistence:jakarta.persistence-api" annotationProcessor "jakarta.annotation:jakarta.annotation-api"혹시 뭐가 문제일까요?? 도와주세요.
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
한국어 자막 요청 가능할까요?
안녕하세요. 프로젝트를 진행할 때 그래들을 잘 모르고 사용했는데 마침 강의가 보여서 바로 결제했습니다. 좋은 강의 찍어주셔서 우선 감사합니다. :) 수업을 듣는데, 제가 영어를 못하는데 영어 자료이기도 하고, 강사님도 설명해주실 때 영어로 말씀하시는 경우가 있어서 한국어로 된 자막이 있으면 훨씬 이해하기가 수월하겠다는 생각이 있습니다. 감사합니다!
-
해결됨실리콘밸리 엔지니어와 함께하는 Gradle
scondTask관련 질문있습니다!
안녕하세요 강사님 task firstTask { println "Hello World" doFirst(){ println "First action!!" } doLast(){ println "Last action!!" } } task secondTask { doFirst(){ println "First action in secondTask" } doLast(){ println "Last action in secondTask" } }위와 같이 task를 작성하였습니다!secondTask를 작성할 때는 Hello World를 지운 상태로 실행을 했는데도gradle sT를 이용해서 sT를 실행하는 터미널 명령어를 사용했습니다!> Configure project :Hello World가 터미널에 출력되는 이유를 알 수 있을까요??
-
미해결
gradlew build는 성공했는데 .jar이 생성되지 않아요
안녕하세요 혼자 만들고 싶은게 생겨서 인터넷의 도움을 받으며 만들고 있는 학생입니다. 문제가 두가지 정도 있는데요 먼저 JDK를 zulu17.52.17 버전으로 설치했는데 터미널에서 java -version을 사용해서 확인하면 17.0.12로 나오네요. 시스템 변수에서 JAVA_HOME 추가해서 경로도 설정했고 Path에도 제가 설치한 버전으로 경로를 설정했는데 계속해서 17.0.12로 표시돼요. 두번째는 터미널에서 gradlew build로 빌드를 시도했는데요classpathNo dependenciesA web-based, searchable dependency report is available by adding the --scan option.BUILD SUCCESSFUL in 606ms이것처럼 SUCCESSFUL이라는 출력값은 받았는데 builds/libs 폴더도 생성되지 않았고 .jar 파일도 생성되지 않았어요 도와주실 수 있을까요?
-
미해결
gradlew CMD 오류(Java)
마인크래프트 공부중인 학생입니다.gradlew 명령어가 말을 듣질 않아요https://gradle.org/releases/이 사이트에서 최신 버전(v8.9) 다운로드 받았고 자바 버전은 8입니다.포지 버전은 1.16.5 mdk이고요.java javac 정상적으로 다운로드 했습니다.이클립스 버전은 2020-06 버전이고요.답변 부탁드립니다.
-
미해결
gradle build시 안됩니다 ㅠ
에러메세지는 이렇게 뜹니다. 버전하고 gradle세팅은 이렇게 했습니다. 캐시 삭제해봐도 증상이 동일합니다. ㅠㅠ plugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } 이건 그리고 혹시 몰라서 올리는 gradle build 입니다. 혹시 몰라 17로 해봤는데도 안되네요. 여기에 완전 막혔습니다 ㅠ
-
미해결
./gradlew build FAIL
프로젝트 생성 프로젝트 Structure 빌드 command 입력시 오류내용 PS C:\Users\82107\spring\demo> ./gradlew build FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'demo'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.3. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.3 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.3 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.6' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.3 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.6') * Try: > Review the variant matching algorithm at https://docs.gradle.org/8.6/userguide/variant_attributes.html#sec:abm_algorithm. > No matching variant errors are explained in more detail at https://docs.gradle.org/8.6/userguide/variant_model.html#sub:variant-no-match. > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 2s 비슷한 질문들을 확인하였는데, 버전 문제인 것 같긴한데, 현재 JDK18버전을 사용하고 있어서 그런것인가요?17버전으로 바꾸면 되나요? 만약에 그렇다고 한다면, 설정부분에서 어디어디를 바꿔주어야하나요?