묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
@StepScope 또는 @JobScope와 JobOperator
킬구형아래는 step에서 ItemWriter의 jobParameter자리에 null을 넣는 방식으로 처리한거야. @Scheduled(cron = "0 0 19,22 * * *") fun runSampleJob() { jobOperator.start(sampleJob(),jobParameters) } @Bean fun sampleJob(): Job = JobBuilder("sampleJob",jobRepository) .start(sampleStep()) .build() @Bean fun sampleStep(): Step = StepBuilder("sampleStep", jobRepository) .chunk<String, String>(CHUNK_SIZE) .transactionManager(transactionManager) .reader(sampleReader()) .writer(sampleWriter(null, null)) .build() @Bean @StepScope fun sampleReader(): JdbcPagingItemReader<String> = JdbcPagingItemReaderBuilder<String>() ... .build() @Bean @StepScope fun sampleWriter( @Value("#{jobParameters['title']}") title: String?, @Value("#{jobParameters['content']}") content: String?, ): ItemWriter<String> = ItemWriter { chunk -> ...doSomeWrite }위 코드를 빈 주입방식으로 변경하는 방법을 모르겠어.빈 주입 방식으로 변경하면 아래처럼 되잖아?이때 jobOpterator로 잡을 호출하는 부분까지 파라미터가 올라와버리는데 이걸 어떻게 해야할지 모르겠단 말이야~~!@Scheduled(cron = "0 0 19,22 * * *") fun runSampleJob() { jobOperator.start(sampleJob(**여기를 어떻게 처리하지?**),jobParameters) } @Bean fun sampleJob( sampleStep: Step ): Job = JobBuilder("sampleJob",jobRepository) .start(sampleStep) .build() @Bean fun sampleStep( sampleReader: ItemReader<String>, sampleWriter: ItemWriter<String> ): Step = StepBuilder("sampleStep", jobRepository) .chunk<String, String>(CHUNK_SIZE) .transactionManager(transactionManager) .reader(sampleReader) .writer(sampleWriter) .build() @Bean @StepScope fun sampleReader(): JdbcPagingItemReader<String> = JdbcPagingItemReaderBuilder<String>() ... .build() @Bean @StepScope fun sampleWriter( @Value("#{jobParameters['title']}") title: String?, @Value("#{jobParameters['content']}") content: String?, ): ItemWriter<String> = ItemWriter { chunk -> ...doSomeWrite }새해 복 많이 받아 형~
-
미해결스프링 부트와 리액트로 구현하는 보안 JWT 로그인
깃허브 코드
강사님 혹시 44강 듣고 있는데 이거 프론트엔드 코드가 깃허브에 있는것과 다른 코드인데 어디서 볼 수 있나요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
카카오 연동설정이 이제 안되는거 같아요
카카오연동 첫강의 부터 막히기 시작합니다ㅠ 카카오 연동설정 UI도 일단 많이 변경되었고리다이렉트 URI란 항목이 웹훅으로 변경된거 같은데그곳에다 리다이렉트 주소를 입력하면 https프로토콜만 이제 등록되는거 같습니다. 이부분은 새롭게 다른 방면으로 소셜로그인 업데이트 해야될꺼 같아 보여요ㅠ
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
결제서비스 콜백 동시성문제 가능성
안녕하세요 결제 코드느끼기 강의를 보며 궁금한점이 있어서 질문을 남깁니다.여러 주문들을 동시에 넣었고createPayment가 되고 PG사로부터 success가 콜백 호출 된다 했을때, 동시성 문제가 우려되는데요 각 주문마다 point 혹은 coupon을 쓴다고 했을때, 고객이 가진 point 이상으로 point가 차감된다든지, 쿠폰 재사용 문제를 직면했을때 예외처리가 없어보이며, 이 때문에 이를 복구하는 방안같은건 없어보입니다.(괜히 예외처리를 했다가 고객의 돈이 빠져나가고 결제상태가 안바뀔 염려때문)그럼에도 각 Value Object에서 valid및 예외처리하는 로직이 success api에 추가할 수 있을까요? 아니면 주문 결제 전 단계에서 막으면 좋을까요?아니면 그럴 가능성이 자주는 없으니, 결제 상태는 Ready인 부분을 찾아서 수동 수정하는것도 방법이라고 보시나요?
-
미해결Next.js with Spring Boot
소셜정보 수정
소셜 로그인하면 정보 수정에 비밀번호 수정은 의미 없겠네요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의 마지막 QueryDSL 사용 부분 질문있습니다
JPA를 사용하는 강의라고 하지만 QueryDSL에 대한 코드만 딱 보여주고 이게 어떤 dependency를 추가하고 build를 해서 사용해야한다는 등의 설명이 일절 없는것이 아쉽습니다. 강의 교재에도 해당 내용은 기재되어있지 않은데 왜 코드를 실제로 적용하는 부분에 대해서나 테스트 코드 작성에 대해서는 따로 언급이 없으신건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 좋은 강의로 공부하고 있는 대학생입니다. 이번 영상에서 ItemService 클래스의 updateItem 메서드에서 값을 변경하는 부분을 각 변수에 대해 set 으로 접근하는 방법 대신 item 클래스 내부에서 change() 메서드를 선언 후 사용하는 방법으로 직접 수정해보려고 합니다. 그런데 만약 클라이언트에서 isbn과 author 값을 수정하고 싶다면, item 도메인에서는 두 변수에 대한 선언이 안되어있는데 item 엔터티 구조를 변경하는 방향으로 수정 로직을 작성해야 할지 궁금해서 질문 남깁니다.
-
해결됨[Lv1] 면접에서 '설명할 수 있는' Spring Boot - 경험으로 답변하는 백엔드 개발
남은 수업은 언제 올라올까요,,
남은 수업은 언제 올라올까요? 빨리 듣고 싶습니다.ㅎㅎ
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
8장 마지막 강의 시 오류
org.springframework.security.authorization.AuthorizationDeniedException: Access Denied product 관련해서 axios를 jwtAxios로 변경 완료 후 리스트 진입을 시도하려하면 위와 같이 서버 오류와 응답코드로는 403이 나타나고 있습니다. 여기서 의문은... todo쪽은 정상조회되고product쪽은 액세스토큰, 리프레시도 모두 정상인데 접근이 안되고 있습니다ㅜㅜ
-
해결됨누구보다 빠르게 배우는 Springboot + React RestAPI 게시판 만들기
강의자료문의
react ui 만들기 강의에서 헤더의파일같은거는 강의자료에 있다고 하셨는데 강의자료는 어디에 있나요?? 노션에도 없던데
-
해결됨The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
혹시 업데이트 관련 추가사항들도 있을까요
claude 에 신기능들에 대한 소개는 앞으로 없을까요?skills, lsp 같은이요!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 모델 패턴 vs 트랜잭션 스크립트 패턴
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]주문 서비스에서 주문, 주문 취소 메서드 비즈니스 로직이 엔티티에 있는데 이렇게 엔티티가 비즈니스 로직을 가지는 도메인 모델 패턴과 서비스에서 비즈니스 로직을 처리하는 트랜잭션 스크립트 패턴 중에 실무에서는 보통 어떤 것을 사용하나요? 각각의 장단점이 있는지도 궁금합니다
-
해결됨[Lv1] 면접에서 '설명할 수 있는' Spring Boot - 경험으로 답변하는 백엔드 개발
데이터베이스 교육자료
수강평 남기고 디코에 인증했는데 db lv0 파일은 어떻게 받을수 있을까요
-
미해결The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
1-8. Dispatcher에 멘토 규칙 추가
(...중략...) // ===== 기존 보안 규칙들 (그대로 유지) ===== // 규칙 1: .env 파일 접근 제어 if (filePath.includes('.env')) { if (toolName === 'Read' || toolName === 'Grep') { console.error("❌ 보안 규칙 위반: .env 파일은 읽을 수 없습니다. 작업이 차단되었습니다."); process.exit(2); } } (...중략...) // ===== 새로운 아키텍트 멘토 규칙들 ===== // 멘토 규칙 1: 라우터 파일 수정 시 멘토링 if (filePath.includes('/routes/') && (toolName === 'Edit' || toolName === 'Create' || toolName === 'Write')) { const fileName = filePath.split('/').pop() || ''; const entityName = fileName.replace(/Routes?\.(js|ts)$/i, ''); console.error(`🎯 [라우터 수정 감지] ${entityName} API 라우터를 수정하려고 합니다.`); console.error(`📚 아키텍트 멘토의 조언: 라우터 수정 전에 다음을 확인하세요:`); console.error(` - src/models/${entityName}.js (데이터 모델)`); console.error(` - src/services/${entityName}Service.js (비즈니스 로직)`); console.error(` - 기존 API 패턴과의 일관성`); console.error(`먼저 관련 파일들을 읽고 계획을 세워주세요!`); process.exit(2); }이 코드를 보면 라우터 경로에 있는 파일을 수정하려고 할때와 .env 을 읽을때 동일하게항상 process.exit(2); 가 실행될 것 같습니다.환경변수를 절대 읽을 수 없는 것처럼라우터 경로 파일도 결국 절대로 수정할 수 없어야 하지 않나요?왜 수정 가능한건가요?
-
미해결스프링 부트 - 핵심 원리와 활용
@Counted 초기화
안녕하세요 강사님이 하시는것처럼 @Counted를 사용해서 메트릭을 수집하는데스프링 애플리케이션을 다시 실행하면 과거에 획득한 메트릭을 0으로 초기화되어서 처음부터 시작되더라고요.그런데 이러면 나중에 비즈니스 메트릭을 똑바로 수집하지 못하지 않나요?애플리케이션을 다시 시작해도 메트릭을 0부터가 초기화하는게 아니라 계속 누적되면서 하는 방법도 있나요?
-
미해결Next.js with Spring Boot
Actions formData 질문.
//!!첫번째 if문 if (fileNames.length > 0) { fileNames.forEach((fileName) => { updatedFormData.append('fileNames', fileName); }); } // Append all files to the new FormData object //!! 두번째 if문 const files = formData.getAll('files'); if (files.length > 0) { files.forEach((file) => { console.log('----------------------------------', file); if (file instanceof File) { if (file.size > 0) { updatedFormData.append('files', file); } } }); } 첫번째 if문하고, 두번째 if문하고 역할이 각각 뭔지 알수있을까요? 비슷하면서 헷갈립니다
-
해결됨누구보다 빠르게 배우는 Kotlin + Springboot + JWT 로그인
10번 영상이 중간부터 시작하는 것으로 보여요
영상을 시작하면 갑자기 JwtUtils 코드가 이미 어느 정도 작성된 상태에서 뭔가 에러 체크 하시는 부분부터 시작이 됩니다
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 질문 있습니다.
안녕하세요 질문 있습니다.스프링 부트에서는 엘라스틱 서치 라이브러리를 사용하지만 실제 서버는 오픈서치를 띄워서 사용 가능한지 궁금합니다.
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
굿
좋아요.하드코딩에 대해 알려주는 강의가 95% 인데,일 하는 법에 대해 알려주는 강의인 것 같아요. 제가 강의 듣다가 가만 생각이 들던데, 일 잘하는 사람이 되기 위해 필요한 것들을 알려주는 강의가 아닐까 라는 생각이 드문드문 들더군요.
-
해결됨The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
3-1 github action 연동시 질문 드립니다
[진도] 2차 전체 완료, 3주차 1강 진행 중[질문] 3-1 실습(Github Actions로 code review, @claude로 명령하기) 진행 중 두 workflow 모두 에러 발생상황: workflow 추가하여 PR올렸으나, workflow 실행 중 Run 단계 에서 에러 발생 에러 메시지:SDK execution error: 13243 | throw error; 13244 | } 13245 | } 13246 | getProcessExitError(code, signal) { 13247 | if (code !== 0 && code !== null) { 13248 | return new Error(`Claude Code process exited with code ${code}`); ^ error: Claude Code process exited with code 1 at getProcessExitError (/home/runner/work/_actions/anthropics/claude-code-action/v1/base-action/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs:13248:14) at exitHandler (/home/runner/work/_actions/anthropics/claude-code-action/v1/base-action/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs:13373:28) at emit (node:events:92:22) at #handleOnExit (node:child_process:511:14) } Error: Process completed with exit code 1.두 방법 모두 같은 에러 발생 시도해본 것: 1. Claude 분석 -> 토큰 부족하며, 정상적으로 실행될것으로 예상 (토큰 부족은 아닙니다.)2. GPT 분석1) API KEY 체크 -> 확인2) GitHub Token 권한 부족 -> 확인 구글링1) 비슷해보이는(?) 이슈링크(진행중인 이슈): https://github.com/anthropics/claude-code-action/issues/689 ClaudeCode WorkFlow 에러 스크린샷CodeReview WorkFlow 에러 스크린 node 버전: 24.12.0claude 버전: 2.0.76어떻게 해결하면 될까요??..