묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
AOP 적용 가능한가요?
킬구형 공부중에 문득 궁금해진건데 혹시 스프링배치도 AOP를 적극적으로 활용해?스프링배치도 기본 구조는 스프링이랑 같아서 AOP를 쓸 수는 있을 것 같은데 실제로 활용을 하는지 궁금하네쉽게 쓰기에는 @Transaction 어노테이션도 뭔가 활용성이 있을 것 같고.. API 리퀘스트 실패 시 자동으로 재처리 하는 AOP 기능을 만들어보기도 했는데 FaultTolerance 관련으로 비슷하게 활용할 수도 있을 것 같고..아무튼 스프링배치에서 AOP를 적극적으로 활용하는지 궁금해
-
해결됨프로덕션 레벨 실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지 (Kotlin & Spring)
빌드 파일
빌드 파일을 파일 마다 각각 만드는데 그렇게 하는 이유는 무엇인가요???
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
1장에 들어가기 전에 배치 프로젝트(디렉토리) 구성 방법에 대한 질문
☠ 질문 가이드 ☠ " 시스템 종결자의 지령이다. 질문하기 전에 이 규칙들을 숙지하도록. " 1. 코드 실행에 문제가 있다고?전체 코드를 보여줘라. 단편적인 에러 메시지만으로는 아무것도 알 수 없다.실행 환경도 알려달라. JDK 버전, 스프링 버전 등을 함께. 2. 오타를 발견했나?즉시 제보하도록. 자네같은 날카로운 눈을 가진 동료가 필요하다. 3. 질문은 자유롭게"이런 걸 물어봐도 될까요?" 같은 소심한 멘트는 불필요하다. 궁금한 건 바로 물어봐라. 배치 시스템에 소심한 건 없다. 4. 검색은 기본비슷한 질문이 있는지 먼저 확인하도록.하지만 이해가 안 된다면? 주저하지 말고 추가 질문해라.GPT가 거짓말친다고? 나에게로 오라. 💀 5. 서로 존중하라여기는 모두가 시스템을 지배하고자 하는 동료들이다.서로를 이해하고 돕는 문화를 만들어가자. ⛔ 인프런 서비스 자체에 대한 문의는 1:1 문의하기로.💀그쪽 서버는 막강한 CTO가 있어 건드리지 않는 게 좋을 거다 💀- KILL-9 올림 P.S.존댓말로 질문하면 rm -rf를 시전한다. 편하게 물어보도록.강의에서 놓친 부분이나 더 보충하면 좋을 내용도 자유롭게 제보하라. 너희의 피드백이 이 강의를 더 강력하게 만든다. 🔥 시스템을 함께 진화시켜 나가자.🔥 킬구형님 안녕하세요!(그래도 선생님이신데 반말하기엔 좀 그런것 같아서 존댓말로 하겠습니다..!)먼저 좋은 강의 감사드립니다.사실 구매한지는 좀 되었는데, 지난 1주일동안 Batch와 스케쥴러의 차이점, 왜 이런 어노테이션을 사용하는지부터, 왜 이런 환경설정을 해야하는지, Framework와 Boot의 동작차이점은 무엇인지 세세하게 먼저 이해하는데 집중하다보니 힘이 많이 들었는데 0장 만으로도 상당히 많은 기본기가 쌓인 것을 느낄 수 있었습니다(무엇을 모르고있었고 무엇을 알아야하는지 등).배치가 막연하게 느껴졌는데, 아직 극초반이지만 자신감이 생기고 있습니다. 감사드립니다!1장에 들어가기전에 앞서, 조금이라도 더 실무에 가까운, 가깝지 않더라도 유지보수가 간편하고 알아보기 쉽게 체계를 구성해보고자, 형님께서는 실무적으로 배치 프로젝트를 어떻게 구성하시는지 질문드리고자 합니다.각파일들의 디렉토리 위치가 없는데 임의적으로 해야하나요? - 인프런 | 커뮤니티 질문&답변위 질문에서 형님께서는 상관이 없다고는 하셨는데, 그래도 실무에서는 어떻게 구성하시는지 궁금해서 질문드리게 되었습니다!그리고 0장에서도 간단한 1개의 Job도 5개의 Step으로 이루어져 있는데, 위 질문의 AI답변처럼 1개의 Config 책임으로 두기보다는, Job - Step으로 책임을 분리하여 두는 것이 편할 것 같은데, 이게 실무에서도 실제로 이런 방향으로 관리가 이루어지는지 궁금합니다! 답변내용 참고하면서 본격적으로 1장부터 프로젝트를 구성해보고자 합니다. 감사합니다!
-
미해결나도! 스프링으로 인공지능을 할 수 있다(인프1탄)
동영상 속도 조절 가능한가요? 속도 빠른데 조정 버튼이 없어요.하는
동영상 속도 조절 가능한가요? 너무 빠른데 조정 버튼이 없어요.
-
미해결Cursor AI로 만드는 생산성 2배 Java Spring 개발
[강의자료 관련 문의]
안녕하세요.학습 관련 강의자료를 받아볼 수 있을지 문의드립니다.
-
미해결토비의 스프링 부트 - 이해와 원리
11강에서 cmd에서 spring shell에 $ init 하면 Fail 메세지
안녕하세요. 정말정말 왕초보인 수강생입니다. 강의 대로 진행중인데 어찌해야 할지 몰라 문의드립니다.11강 프로젝트 생성의 3:54에서 부터(cmd -> spring shell -> $ init) 저는 아래와 같이 에러메세지가 뜹니다.이걸 어떻게 해결해야 할지 감 못 잡고 있습니다. ㅜㅜ--Using service at https://start.spring.ioFailed to retrieve metadata from service at 'https://start.spring.io' (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)-- (현재 설치환경)스프링 부트 2.7.18버전을 설치했고 IntelliJjava는 21버전 설치spring initializr에서 스프링부트 3.5.6 버전으로 템플릿 받아둔 상태입니다.환경변수 JAVA_HOME, SpringBoot_Home 셋팅해두었습니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
리스너의 실무 로직
킬구형 1장 - 작전3에서 아래와 같이 얘기한 부분에 대해 궁금한게 있어. '리스너는 감시와 통제만 담당한다. 실제 시스템 제거 로직(비즈니스 로직)은 분리하라. 리스너가 너무 많은 일을 하면 유지보수가 어려워지고 시스템 동작을 파악하기 힘들어진다' 청크 기반 배치 잡이라고 하고 A라는 테이블에서 데이터를 읽어와서 B라는 테이블에 데이터를 삽입하는데 B 테이블에 데이터가 없다면 삽입, 있다면 수정하는 로직이 있어. 이 과정들이 모두 끝나고 마지막으로 B 테이블에 수정 날짜 컬럼이 잡 시작 시간보다 이르다면 A 테이블에 데이터가 없으므로 B 테이블에서 이러한 데이터들을 삭제하려는 로직을 넣는다고 했을 때 아래 궁금증들이 있어.1. 위 얘기를 토대로 생각해보면 삭제 로직은 청크 기반 스텝 이후 태스크릿과 같은 다음 스텝으로 넣는게 좋은 것 같은데, 실무에서는 해당 잡 전용 리스너를 하나 추가로 만들어서 afterJob 메서드에 배치 상태가 COMPLETED인 경우에 삭제 로직을 실행하도록 하는 방식은 지양하는 편인거야? 전용 리스너를 만들어서 사용하는 경우도 있어?만약 리스너에 삭제 로직을 넣는다고 했을 때 리스너에서 데이터 삭제 과정 중 오류가 발생한 경우에는 잡이 실패 상태로 종료되는거지?2번과 같은 맥락인데 리스너에 삭제 로직을 넣는 경우 트랜잭션이 필요할텐데 리스너는 트랜잭션 범위가 어떻게 돼? 스텝에서는 청크 범위, 태스크릿의 반복 범위라고 본 걸로 기억하는데 리스너는 트랜잭션 설정 자체가 안되는건지 리스너 범위 내부에서만 설정되는건지 궁금해.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
k6 dashboad 안나오는 상
1. 현재 학습 진도2-9 2. 어려움을 겪는 부분window 11 에서 k6 1.3.0 버전을 사용 중 이고set K6_WEB_DASHBOARD=truek6 run k6-scripts/k6-test.js로 명령어를 쳐도 테스트 자체는 실행이 되지만 대쉬보드가 나오지 않습니다 3. 시도해보신 내용처음엔 버전 문젠가 해서 최신 버전으로 수정 했고 5665 포트도 사용 중 은 아닌 것 을 확인 이 외에 체크를 해야 할 것이 있는지 모르겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
dispatchType=ERROR가 출력되는 이유
이번 강의에서는 DispatchType을 설정해주지 않았는데 어떻게 dispatchType=ERROR가 나오는 걸까요?8분 28초경에 getDisPatcherType()해서 dispatchType 값을 출력해보는데 ERROR가 출력됩니다. 그런데 다음 강의에서 기본값은 REQUEST 인 것으로 배우는데요 따라서 이번 강의에서는 아무것도 설정을 안해줬으므로 기본 값은 REQEUST이므로 중복 호출이 제거되어 에러 페이지 호출시 필터가 호출되지 않아야 한다고 생각했는데 아닌 것같아서요..WebConfig의 필터에 setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR) 하여 ERROR 값을 설정하는 것도 다음 강의에서 하는 것으로 알고 있는데 이번 강의에서는 아무 값도 설정 안해 준것 아닌가요? 제가 어떤부분을 잘못 이해하고 있을까요?
-
미해결Spring AI 실전 가이드: RAG 챗봇 만들기
429 에러 발생합니다
https://platform.openai.com/docs/guides/error-codes/api-errors 여기서 할당량 초과 에러 코드라는데, ChatGpt plus 구독중인데 따로 결제를 해야되는건가요?
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
2-4 도커 빌드 에러가 계속 납니다.
1. 현재 학습 진도2챕터 4강 2. 어려움을 겪는 부분docker compose -d --build 를 터미널에 입력하면이렇게 => ERROR [internal] load metadata for docker.io/library/openjdk:17-jdk-slim 해당 에러가 계속 발생합니다.(docker compose -d 는 정상 실행 됩니다.)3. 시도해보신 내용찾아보니 docker 설정 파일을 삭제하고 하라던지 jdk 이미지를 삭제하고 하라던지 해서 rm ~/.docker/config.json 라던지 등을 해봤습니다만 계속 문제가 생깁니다.현재 해당 도커 이미지가 사용 중지된거같아서Dockerfile 에 FROM eclipse-temurin:17-jdk-jammy 로 수정했는데 이래도 괜찮을까요 ?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
루트 쿼리라는것은
강의에서 말씀하신 루트쿼리라는것은 가장 먼저 실행되는 쿼리를 말하는것일까요? 아니면 toOne코드에 대해서 실행하는 쿼리를 말하는것일까요??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
메서드를 분리하는 기준
강의 내용을 보시면 한 메서드안에서 코드를 작성하시다가 리팩토링을 해서 메서드를 따로 분리하셨는데, 메서드를 분리하는 기준이 따로 있을까요? 한 메서드 안에서, 로직이 너무 길어지면 메서드를 따로 만들어서 분리해야하는것일까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 선택 관련 질문.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)강의 수강전 질문2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 DB를 듣기전에 데이터베이스에 대한 공부를 하고 해당 강의를 수강하라고 하셔서 강사님의 최신 데이터베이스 강의를 수강중입니다. 해당 강의에서는 MySQL을 사용중인데 이 데이터베이스를 사용해서 스프링 DB 강의를 수강할 수 있을까요? 아니면 H2데이터베이스를 별도로 추가 다운로드 해야할까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 김영한님 해당 강의를 통해 Spring의 Transactional의 동작 원리에 대한 흐름을 공부하였던 것이 엊그제 같은데, 시간이 흘러 내부 소스 코드를 보다가 버그를 발견하여 코드 개선을 하여 후기를 남길겸 감사인사를 드리고자 게시글을 올립니다.Spring의 소스 코드를 분석하다 Transaction의 readOnly 부분에서 버그를 발견하여, 이슈를 발행 후 Jhoeller가 해당 이슈를 채택하여, 코드 개선이 되었습니다.항상 감탄만 해왔던 Spring을 창시한 그 Juergen Hoeller에게 최근 pr과 함께 이번 이슈 또한 깊은 분석을 해주어서 감사하다라는 인사를 받게 되어 뿌듯하네요[Influenced] DataSourceTransactionManager의 readOnly 정책 변경 유도 (Issue #35743)[분석] DataSourceTransactionManager가 defaultReadOnly=true 커넥션 풀을 고려하지 않는 설계 문제를 분석하고 공론화함.[검증] doBegin, doCleanup, resetConnection 3개 핵심 메서드의 상세한 코드 분석과 defaultReadOnly=true 환경에서의 명확한 재현 단계(Steps to Reproduce)를 메인테이너(J. Hoeller)에게 리포트함.[결과] 메인테이너가 '깊은 분석(deep analysis)'이라고 코멘트하며, '의도된 설계'라며 방치되던 기존 정책을 '재고(reconsider)'하도록 이끌어냄.[성과] 해당 이슈는 메인테이너가 직접 '최초 1회만 체크'하는 효율적인 방식으로 코드를 수정하여 Spring 6.2.13 릴리스에 실제 반영됨.https://github.com/spring-projects/spring-framework/issues/35743#event-20661446893
-
미해결견고한 결제 시스템 구축
실습코드 압축해제
안녕하세요 실습코드 압축해제가 안되는데 확인한번 해주실수 있을까요??아니면 프로젝트에 대한 github링크가 있는지 문의드립니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
AWS EC2에 도커 컨테이너가 동작하지 않을 때 확인 해야하는 것
안녕하세요 딩코님. 강의 즐겁게 수강하고 있습니다.딩코님의 테라폼 코드를 토대로, 저의 프로젝트에 도입하는 와중에테라폼 정상 작동 및 AWS 모든 서비스 정상 작동 -> 빌드 -> 커밋 & 푸시 -> CI/CD Actions 통과 까진 성공하나, 막상 EC2에서 docker ps 입력시 아무 컨테이너가 띄워지지 않습니다. 뭔가 ECR에 아무 이미지가 업로드 되지 않고 있나? 라는 합리적 의심이 들긴하는데, 혹시 어느부분부터 점검해야할지 감이 잡히지 않아 도움 부탁드리고자 질문 남깁니다. 추운데 늘 건승하세요. 읽어주셔서 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[건의] 한글 깨짐 발생 경우 pdf 위쪽에 배치 요망
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ()3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]메시지,국제화.pdf 에서 이 부분이 최상단에 있어도 괜찮을것 같습니다.최초 테스트 message.properties 에서 저는 해당 현상이 있어서 챗지피티 도움을 받아 인코딩 문제임을 인지하였고 해당 properies 파일들을 위의 방식과 비슷하게 UTF-8로 변경 하여 해결 하였습니다. 위쪽에 있으면 따로 시간을 들여 찾을 필요가 없이 바로 인지하고 수정 할수 있을겉 같네요!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
findAllWithMemberDelivery 메서드 질문드립니다.
findAllWithMemberDelivery이 메서드 내부에서, join fetch oi.item i는 안해주셨는데, 안해주는 이유가 무엇일까요?조회하려는 엔티티인 Order기준으로 한 페치조인이 아니고 orderItem기준으로 한 페치조인이기 때문에 그런것일까요?아니면 order가 아니라 orderItem에 있는 item이기때문에 그런것일까요?
-
해결됨3일 완성! 네카라쿠배당토 백엔드 면접 생존 챌린지
다시보기 서비스도 제공하는지 궁금합니다.
다시보기 서비스도 제공하는지 궁금합니다.