1. 현재 학습 진도 6챕터를 모두 끝낸 후 해당 내용을 직접 프로젝트에 적용하고 있습니다. hot key 문제를 해결하기 위해 DCL을 적용하여 중복 DB 접근을 방지할 수 있습니다. 2. 어려움을 겪는 부분 현재 프로젝트는 외부 API인 LLM을 통해 경제 요약 리포트를 만들어주는 서비스입니다. 이때 리포트 생성 시 60s~120s가 소요되어 만들어진 리포트들을 캐싱해놓고 사용하려 합니다. 레디스 리모트 캐시를 적용하려 하는데, hot key 문제를 방지하기 위해 락을 획득한 후에도 반드시 캐시를 한 번 더 확인하는 방식을 적용 즉 DCL 을 적용하려 하는데, 이때 락을 획득하지 못한 애들은 일정 시간후에 다시 락 획득을 시도해야 합니다. 그런데 지금 디비에 접근하고 LLM을 통해 리포트를 생성하는 task가 넉넉하게 1-2분정도 걸리는데, 이 때문에 락 획득 재시도 간격을 너무 길게 잡아버리면 ux가 저하되고 그렇다고 너무 짧게 잡으면 요청 실패가 빈번하게 발생하게 됩니다. 그렇다고 또 시도횟수를 늘리면 또 서비스에 부하가 발생할 수 있을 것 같고 또 시도횟수를 짧게 하면 데이터를 받아오지 못하는 상황이 빈번하게 발생하여 고민중입니다. 3. 시도해보신 내용 현재는 재시도 횟수 1000번에 랜덤 지터 200~300ms로 잡았는데 혹시 이런 경우에는 어떻게 해결하면 좋을지 인사이트 부탁드립니다. https://github.com/Dockerel/DataStreams-BE/pull/2/files#diff-8865d84ecad53d37da0cb105068fad66b3f780ff3a9d11b61df86287646e51c3 작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 처음 공부하고있습니다. 한번 듣고 어려워서 자바부터 다시 다지고 재도전 하는 중입니다. 생각보다 소요시간이 오래 걸려서 이게 제 길이 아닌건지, 공부 방법이 잘못된건지 질문드립니다.. 강의 1시간 짜리를 듣는다고 했을 때, 4~5시간은 걸립니다 실습에, 복습에, 이해 안가는 코드 공부까지 같이 하는 중입니다.. 이해가 안가서 멈추고 계속 보느라 더 오래 걸리는 것 같아요. 그래도 시간 투자하니 조금은 알 것 같긴 합니다만.. 그치만.. 이게 맞을까요,,?? ㅠㅠ
강사님 풀이대로하고 코딩채첨을 했더니 런타임 에러가 뜨네요 import java.util.Scanner; public class Main { public int solution(int n) { int answer = 0; int[] isPrime = new int[n + 1]; for (int i = 2; i <= n; i++) { if (isPrime[i] == 0) { answer++; for (int j = i * i; j <= n; j += i) { isPrime[j] = 1; } } } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(m.solution(n)); } } 이렇게 하고 그대로 복붙했더니 런타임 에러가 뜹니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 서로 예의를 지키며 존중하는 문화를 만들어가요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해 주세요. 선생님~ 마지막 강의까지 수강을 했는데요 강의 말미에 5회분 모의고사 꼭 풀어보라고 말씀주셨는데 혹시 어디에 있는지 여쭤봐도 될까요? (아직 챕터별 퀴즈는 안풀어봤는데 그게 모의고사일까요?)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의 첫 영상에서 build 할 때 Build and run using : Gradle Run tests using : Gradle 하셨는데 주문서비스Test 돌릴 때 인텔리제이로 돌리면 위 사친 처럼 나오고 gradle 로 해서 돌리면 위 사진 처럼 나오는데 강의 영상에선 인텥리제이로 해서 돌리신 것 같은데 인텥리제이로 해서 돌려도 괜찮은 것인가요? 문제 발생할 수 있다고 해서 궁금해서 여쭤봅니당..
안녕하세요 질문있습니다. 만약 게시글 전체 조회할 때 게시글 마다 좋아요 수도 함께 기재하려고 하면 게시글 조회 할 때 마다 articleId에 맞는 좋아요 수 정보도 함께 필요하잖아요? 현재 게시글 서버와 좋아요 서버가 다른 환경을 고려할 때 그러면 게시글 조회할 때 마다 좋아요 서버로의 api요청이 불가피할 거 같은데 이 경우 조회 성능이 당연히 안좋게 나올 수 밖에 없다고 생각합니다. 비정규화로 좋아요수를 게시글 테이블에 붙여서 단일 서버로의 요청을 만들어줄려고 해도 말씀하신 한계 때문에 안될 거 같구요. 만약 게시글 전체 조회 시에 게시글과 게시글의 좋아요수가 반드시 제공되어야 한다면 제가 생각한 성능 저하 포인트가 타당한가요? 만약 타당하다면 어떻게 개선할 수 있을까요? 인기게시글만 따로 추려서 레디스로 메모리를 활용해야할까요?
파사드 패턴은 다수의 서브시스템을 하나로 묶는 패턴으로 이해했습니다. 클라이언트의 클래스의 함수에서 서브시스템에 해당하는 개체들의 함수를 호출하여 구현하는 거 같은데요, 어떻게 보면 템플릿 메서드 패턴과 사실상 똑같은거 아닌가요? 두 패턴의 뚜렷한 차이가 있는데 제가 이해를 잘 못한건지 질문드립니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
다 정상적으로 동작하는데 이름 수정 로직이 제대로 동작하지 않고 서버 내부 오류라는 메시지가 자꾸 출력됩니다. 제가 혼자 해결해보려고 해보았는데 Hibernate가 id로 조회한 결과가 없어서 Optional이 비어서 orElseThrow가 예외를 던진거라고 하는데요... Postman 이용해서 제 실제 DB에 있는 데이터 값으로 전송해도 sql은 실행이 되는데 뭐가 문제인지 잘 모르겠습니다 ㅜㅜ 도와주세요 ㅜㅜㅜㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 문제 2. 값 매개변수화 - 다양한 단위를 매개변수로 받기 ( 2. 람다 자료 25page) 예시코드 부분에서 다른 문제에서는 패키지가 import 되어 있는 방면 25 page에 있는 예시문제에서는 package lambda.ex1; 없어서 이렇게 남기게 되었습니다!
MSA기반 주문 서비스 에서 동기식으로 호출할때 재고 차감 - 쿠폰 사용 - 주문 완료 이런식으로 구성되어 있을때 쿠폰 사용 실패일때는 바로 사용자에게 응답이 가능하다고 생각을 하고 있습니다. 하지만 EDA기반으로 재고 차감 - 쿠폰 사용 - 주문 완료를 구현하면 주문이 완료되고 쿠폰사용에 실패가 되어 사용자는 주문이 완료되었지만 다시 실패메시지가 가고 그때서야 이유를 알수 있다고 생각을 하고 있습니다. 그래서 사용자 경험 상 동기식이 맞다고 판단되는데 제가 잘못 생각을 하고 있는걸까요? MSA 기반 EDA 주문 구조에서 재고가 부족하여 실패한다면 사용자에게 바로 응답을 해줄수 있을까욤?.