오타발견
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
그러나 JdbcCursorItemReader는 기본적으로 커서의 순반향 이동만 지원 순반향->순방향 근데 맨날 오타글만 올리는데 괜찮음?귀찮으면 안하고
- java
- spring
- spring-boot
- spring-batch
- backend
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
그러나 JdbcCursorItemReader는 기본적으로 커서의 순반향 이동만 지원 순반향->순방향 근데 맨날 오타글만 올리는데 괜찮음?귀찮으면 안하고
해결됨
백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
안녕하세요 딩코딩코님! 수업 감사히 듣고있습니다! 아래 코드에서 트랜잭션 범위를 최소화하기 위해 1. 기존 서비스로 이벤트 참가 처리 메서드에만 @Transactional이 붙여져 있습니다. 이미 커밋이 된 상태이기 때문에, 2. 외부 API 호출이 실패해서 RuntimeException 예외를 던져도 “내 서비스”의 DB에는 “참가자 수 증가”와 “참가자 정보 저장”이 된 상태일 것으로 생각되는데, 이 경우, 아래 두가지 옵션 중 선택하는 것이 좋은 방법인지 트랜잭션 범위를 2. 까지 늘린다. 외부 API 호출 실패 시 “참가자 수 감소”, “참가자 정보 삭제” 로직을 추가한다. 아니면, 더 좋은 옵션이 있는지 궁금하여 질문드리게 됐습니다! public class ImprovedEventJoinWithExternalApiUpdateFacade { private static final String TEST_PHONE_NUMBER = "01012341234"; private final EventExternalUpdateService eventJoinService; private final ExternalEventApi externalEventApi; private final ApplicationEventPublisher eventPublisher; public void joinEvent(Long eventId, Long memberId) { // 1. 기존 서비스로 이벤트 참가 처리 EventWithLockParticipant participant = eventJoinService.joinEventWithTransaction(eventId, memberId); // 2. 외부 API 호출 ExternalEventResponse response = externalEventApi.registerParticipant( eventId, memberId, participant.getEvent().getName() ); if (!response.isSuccess()) { throw new RuntimeException("외부 API 호출 실패: " + response.getErrorMessage()); } // 3. 외부 API 응답으로 참가자 정보 업데이트 eventJoinService.updateExternalId(participant, response.getExternalId()); // 4. 이벤트 발행 (트랜잭션 커밋 후 실행됨) eventPublisher.publishEvent(new EventJoinCompletedEvent( eventId, participant.getEvent().getName(), TEST_PHONE_NUMBER )); } }
미해결
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
교안에서는 p.29 인데 여기서 여러 서버가 접속해도 문제없이 작동하는것을 확인할 수 있다 부분이 헷갈려서요. 여러 클라이언트가 접속해도로 바뀌어야 되는거 아닌가요. 지금 클라이언트 여러대에 서버 한대에 그 서버에서 쓰레드 만들어서 작동하는 걸로 이해했는데 혹시 제가 잘못 이해한걸까요. 감사합니다.
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
저는 application.yml 파일에서 mysql username 과 password 를 전부 .env 파일에 넣고 $ {} 를 써서 나타냈습니다. 그래서 .env 파일은 깃허브에 올리면 안돼서 배포해도 제대로 안돌아갈것 같아서 그런데. 혹시 강사님께서는 aws 배포하실때 db username, password 와 같은 민감한 정보들은 어떻게 처리하여 배포하시는걸 추천드리나요?
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
InFearLearn 서버 침입 사건: 해커 패턴 추적 작전 작전 수행을 위한 실전 코드부터 살펴보자. 여기코드에서 @Bean @StepScope public MongoCursorItemReader<SecurityLog> securityLogReader( 이 아이템리더쪽 복붙하고 안다듬어서 들여쓰기 밀림
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요! 자주 질문드리는데 정성껏 답변해주셔서 감사합니다! 동일한 이벤트가 중복 전송될 가능성이 있기 때문에 article-read 서비스에 이벤트 id를 통한 중복 처리 로직을 추가 하려고합니다. article-read 는 redis를 사용하고 있기 때문에 redis에 이벤트 id를 저장해 해결하려고했습니다. 예를 들어 article-read가 이벤트를 받았을때 redis 에서 이벤트 id 확인 동일한 이벤트 id가 저장돼 있으면 추가 처리 안하고 message ack redis 에서 이벤트 id 확인 동일한 이벤트 저장된게 없으면 서비스 로직 수행 서비스 로직 결과 redis 업데이트 처리 완료한 이벤트 id redis 저장 이런식으로 진행하려 했으나 만약 어떠한 문제로 인해 서비스 로직 결과 redis 업데이트 ( 성공 ) 처리 완료한 이벤트 id redis 저장 ( 실패 ) 하게되면 이벤트 처리는 성공했지만 처리된 이벤트 저장에는 실패해 추후에 중복 처리가 발생할 가능성이 생길 것 같습니다. 이러한 문제 해결을 위해 서비스 로직 결과 redis 업데이트 처리 완료한 이벤트 id redis 저장 두 작업을 하나의 트랜잭션으로 묶어 처리하려고했지만 rdb 와 동작이 다르기 때문에 (롤백 기능 제공 안함 등) 적절한 방법인지 판단이 안서는 상태네요 혹시 article-read에 이벤트 중복 처리를 한다고 하면 어떻게 구현이 가능할지 여쭤보고싶습니다
해결됨
백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
해당 강의 수강 중 Facade 패턴에 대해 알게 되었습니다 그런데 테스트 코드에만 Facade가 적용되어 있고 Controller에는 바로 서비스 코드를 호출하게 되어 있는데요. 학습용 예시 코드여서 이런 것인지 다른 의도가 있는것인지 궁금합니다!
미해결
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
close() 메서드에서 synchronized와 if(closed){ return; } 조건문을 해준 이유가 해당 세션 종료시 close() 메서드 호출과 서버 종료시 SessionManager의 closeAll()을 통한 close() 메서드 호출이 동시에 되고 중복으로 호출 되는걸 막기 위해서 해준거라고 이해하면 될까요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
bootstrapServers의 value값은 어디에 가져오는건가요? yml이나 properties파일은 없는 거 같은데..
해결됨
멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
안녕하세요. circuit breaker 코드를 봤을 때 간략하게 circuit breaker가 이런거다 라고 설명해주셨지만, 추가로 궁금한 점이 있어 질문 드립니다. 만약 인스턴스가 여러개인 상황에서는 로컬 상황만 보는게 아니라 전체 인스턴스 상황을 봐야할 것 같은데 이럴 떄는 circuit breaker를 어떻게 사용해야 하는지 궁금합니다. 감사합니다.
미해결
나도! 스프링으로 인공지능을 할 수 있다(인프1탄)
안녕하세요. 강의를 듣고있는 사람입니다. 버전이 변경되다보니 강의 내용을 그대로 수행한다면 정상적으로 작동하는 Project들이 몇 없네요.. DALL-E 2 모델로 이미지를 생성하는 경우 오류 발생 DALL-E 2 모델에서는 withQuality("hd")와 같은 옵션을 지원하지 않는다고합니다. 해당 라인을 제거해주시면 정상작동합니다. DALL-E 3 의 경우 withQuality를 지원하는데, 지정하지 앟는다면 standard 값이 기본으로 들어가며 hd를 원하시는 경우 따로 if ("dall-e-3".equals(model)) { optionsBuilder.withQuality("hd"); } 위와같이 옵션을 주입하여 사용하시면 될것같습니다.
해결됨
멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
안녕하세요. Entity 선언 시 data class vs class 질문드리려고 합니다. 아래 질문은 data class를 기반으로 했지만 사실 궁금증 시작은 "class가 엔티티에 더 맞지 않나?" 라는 생각에 질문드립니다. 질문 1. data class 선언시 프록시 질문 제가 알기로 ManyToOne lazy loading할 때 프록시 기능을 사용한다고 알고 있습니다. data class가 자바 record와 마찬가지 final인 것으로 아는데 그렇다면 지연 로딩이 정상적으로 동작하지 않다고 생각됩니다. 혹시 여기서는 지연 로딩을 사용하지 않아서 data class를 사용하신 것인지 궁금합니다. 질문 2. data class 사용이 맞다면 equals & hashCode 질문 결궁 두 값 동일성을 비교할 때 id를 기반으로 하는 것이 성능에 좋을 것 같다고 생각됩니다. 혹시 실무에서 data class 나 class 사용하실 때 id기반으로 equals와 hashCode를 오버라이딩 하지 않고 전체 필드로 하시는지 궁금합니다. 질문 3. data class 목적 제가 알기로는 data class는 response와 같이 불변 데이터에 많이 쓰이는걸로 알고 있습니다. 그래서 copy와 같은 메서드를 제공하는 것으로 알고 있습니다. data class를 사용할 때 물론 copy를 사용하시진 않겠지만 영속성 컨텍스트 같은 기능을 쓰려면 직접 변경해야 합니다. 불변 클래스 목적과 jpa entity와 잘 맞지 않는 것 같아서 질문드립니다. 질문 4. equlas 질문 만약 양방향 참조가 있는 entity라면 무한 루프에 빠질 가능성이 없는지 궁금합니다. 이와 같은 이유로 2번을 질문 드렸는데 질문 2번에서 내용이 빠진 것 같아서 따로 한 번 더 질문 드립니다. 제가 실무에서 써보지 않았고 코틀린 관련해서는 경험이 부족해서 잘못된 질문이 있다면 알려주시면 다시 질문 남기겠습니다. 좋은 강의 감사합니다. 감사합니다.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. t1 t2 가 동시에 실행되지 않고, 약간의 시간차가 있는 상태에서 두 스레드가 CPU 캐시를 통해 balance를 읽어들이고 쓰면 잔액이 200원이 될 수 있을까요?
미해결
맛집 지도앱 만들기 (React Native & NestJS)
❗ 질문 작성시 꼭 참고해주세요 에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다. 질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github 을 첨부해주세요. 개발중인 OS, ReactNative, Node 버전 등의 개발환경 을 알려주셔야합니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. (에러 일부만 자르거나 일부만 복사하지말아주세요 ) 캘린더에서 게시글을 선택을 하면 navigation.navigate('Feed', { screen: 'FeedDetail', params: { id: postId }, initial: false, }); 이렇게 Feed 스택을 통해서 Feed 상세 스크린트로 이동하잖아요. 그래서 클릭할 때보면 캘린더 위에 Feed 목록 그 위에 Detail이 쌓이는 것을 확인하였습니다. 다만 게시글 상세에서 뒤로가기 했을 때 의도한 경로는 캘린더의 다시 그 상태로 남아아할텐데 그렇지 않고 목록으로 가서 어떻게 해야하는지 궁금합니다.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 만약 무한정 대기할 수도 있는 상황에서 t1.join(50); t2.join(50); main의 코드를 이렇게 바꿔봤는데 결과가 똑같더라구요 이게 왜 그런지 알고 싶습니다.
미해결
실전! Querydsl
찾아보니 아래처럼 나옵니다. ``` fetchResults() 는 Querydsl 5.x부터 deprecated(더 이상 권장되지 않음) 처리되었습니다. fetchResults() 는 count 쿼리 와 content 쿼리 를 내부적으로 두 번 실행 해서 결과를 가져옵니다. 즉, 전체 개수( total count )와 페이징된 결과( results )를 한 번에 반환하려고 했는데, JPA 환경에서는 count 쿼리 최적화 문제 SQL이 복잡해질 경우 성능 저하 문제 Querydsl 5.x 이후로는 직접 count 쿼리와 content 쿼리를 분리 해서 호출하는 방식을 권장합니다. ```
해결됨
알면 칼퇴하는 Spring Boot 백엔드 바이브 코딩 맛보기
왤까요 저는 같은 SCP -SERVER 플러그인을 받았는데 이렇게 뜨고 클로드 연결도 안 되네요 ㅠㅠ 아 저는 커뮤니티가 아니라 울티메이트입니다 ㅠ
해결됨
김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 기본형 특화 스트림 을 공부 하다가 갑자기 float가 생각나서 질문을 드립니다. 저가 코드를 쳐보니 스트림을 이용해서 스트림<Float>을 만들 수 있다는 것을 확인하였습니다. 현재 개발에서 float 및 스트림<Float>을 사용할까 입니다. double형도 있지만 float도 있어서 사용 할수 도 있겠다 싶어서요. 그래서 질문은 현시점에서 스트림<Float>및 Float 를 만들어서 어느 정도 사용하는지 알고 싶습니다. 답변 부탁 드립니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요 현재 3회차 3번째 도전입니다. n잡에서 수강했고 개발자 취준생이라.. 기본적인 문법이나 이런건 다 알고있는데요.. 기출문제 풀이만 해주시나요 ?? 제가 원하는건 모의고사 처럼 같은유형의 다른 문제를 풀고싶거든요 ! 궁금해서 여쭤봅니다.
미해결
실전! 스프링 데이터 JPA
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 영한님 안녕하세요. Spring Data JPA가 제공하는 save, saveAndFlush 메서드에 대해 궁금한 점이 있는데요. 흔히들 saveAndFlush는 save와 달리 트랜잭션 커밋시점이 아닌, 영속성 컨텍스트 변경 사항을 즉각 DB에 반영하여, DB 통신이 증가한다는 단점이 있다고 합니다. for (int i = 0; i < 3; i++) { repository.save(entity); } 그런데, 제가 의문이 드는 점은 save 메서드도 위와 같은 상황이 있을 때, 커밋 시점에 DB에 flush를 하기는 하지만, batch insert가 아니기 때문에 DB 통신 자체는 단 건으로 총 3번 일어나는 것 아닌가요? 따라서, DB 통신 자체에서 saveAndFlush가 얻는 이점은 없다고 생각되는 데 어떤 이점이 있을까요? 감사합니다