학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 64강 17분쯤 ArticleReadService의 count 메서드 구현하신 코드를 보면 아래 코드블럭과 같이 작성하셨습니다. private long count(Long boardId) { Long result = boardArticleCountRepository.read(boardId); if (result != null) { return result; } long count = articleClient.count(boardId); boardArticleCountRepository.createOrUpdate(boardId, count); return count; } 그런데 BoardArticleCountRepository의 count 메서드는 아래와 같이 작성하셨는데 이 경우 boardArticleCountRepository.count(boardId);는 Redis에서 데이터가 조회되지 않은 경우 0L를 반환하여 ArticleReadService의 count 메서드에서는 항상 client에서 조회하는 케이스가 발생하지 않을거 같습니다. public Long read(Long boardId) { String result = redisTemplate.opsForValue().get(generateKey(boardId)); return result == null ? 0L : Long.valueOf(result); }
안녕하세요! 강의 잘 듣고 있습니다. 아래 issue 메서드 관련해서 질문드립니다. @Transactional fun issue(couponId: Long, userId: Long): Issuance { val policy = couponIssuePolicyReader.get(couponId) val now = LocalDateTime.now() if (!policy.isBookingOpen(now)) { throw NotStartedException() } val expiresAt = now.plusDays(policy.validityDays.toLong()) couponIssuer.tryIssue(couponId, userId) issuanceRequestProducer.publish( IssuanceRequested( couponId = couponId, userId = userId, issuedAt = now, expiresAt = expiresAt, ) ) return Issuance( userId = userId, couponId = couponId, issuedAt = now, expiresAt = expiresAt, ) } 해당 코드에서 couponIssuer.tryIssue() (Redis)는 성공했는데 바로 다음 issuanceRequestProducer.publish() (Kafka)가 실패하는 경우 재고는 차감됐는데 이벤트는 유실된 불일치 상태가 될 수 있을 것 같습니다. 만약 재고를 DB로 관리한다면 아웃박스 패턴으로 같은 트랜잭션 안에서 이벤트를 아웃박스 테이블에 적재하고 별도 워커가 Kafka에 발행하는 방식으로 원자성을 보장할 수 있을 것 같습니다. 그런데 지금처럼 재고 자체를 Redis로 관리하는 구조에서는 Redis와 Kafka 각각에 대한 이중 쓰기 문제가 생기고 아웃박스 패턴을 그대로 적용하기는 어려워 보입니다. 만약 해당 구조에서 at-least-once를 보장하려면 어떤 전략을 택해야 하는지 궁금합니다!
안녕하세요 카일님, 강의 잘 듣고 있습니다. 연습문제 쿼리 작성해 보았는데 잘못된 부분이 있는지, 더 나은 쿼리 방식이 있다면 피드백 부탁드립니다 감사합니다. WITH basic AS (SELECT event_date, event_name, user_pseudo_id, event_params, if(event_params.key="firebase_screen", event_params.value.string_value, null) as screen FROM advanced.app_logs CROSS JOIN UNNEST(event_params) as event_params WHERE event_date between '2022-08-01' and '2022-08-18' ), basic2 as ( SELECT event_date, concat(event_name, '-', screen) as event_name_with_screen, COUNT(user_pseudo_id) as cnt FROM basic WHERE event_name in ('screen_view', 'click_payment') GROUP BY ALL HAVING event_name_with_screen is not null ORDER BY event_date) SELECT event_date, MAX(if(event_name_with_screen='screen_view-welcome', cnt, null)) as screen_view_welcome, MAX(if(event_name_with_screen='screen_view-restaurant', cnt, null)) as screen_view_restaurant, MAX(if(event_name_with_screen='screen_view-food_category', cnt, null)) as screen_view_food_category, MAX(if(event_name_with_screen='screen_view-food_detail', cnt, null)) as screen_view_food_detail, MAX(if(event_name_with_screen='screen_view-cart', cnt, null)) as screen_view_cart, MAX(if(event_name_with_screen='click_payment-cart', cnt, null)) as click_payment_cart, MAX(if(event_name_with_screen='screen_view-search', cnt, null)) as screen_view_search, MAX(if(event_name_with_screen='screen_view-search_result', cnt, null)) as screen_view_search_result FROM basic2 GROUP BY all ORDER BY event_date
62번 영상 화면의 글씨가 또렷하지 않아요 앞에것은 스마트폰에서 소리만 듣다가 62번은 PC에서 보게 되었는데 검은화면에 흰 글씨가 잘 안보이는데, 저만 그런건가요? 무슨 옵션을 따로 설정해야한나요? 알려주시면 감사하겠습니다 사진 첨부합니다. 해상도가 낮아서 그런지. 잘 안보여요. .
Domain 패키지에 Coupon 같은 @Entity 와 CouponRepository 를 함께 두셨더라고요! 영속성을 storage(또는 Infrastructure) 로 따로 분리하는 구성도 있는데, 여기서는 엔티티와 레파지토리 모두 domain 에 두신게 궁금했습니다. 혹시 이 서비스 규모에서는 db가 바뀔 가능성이 낮고, 엔티티를 밖으로 빼면 도메인 <-> 엔티티 매핑 비용만 늘어난다고 보셔서 의도적으로 domain 안에 함께 두신걸까요? 아니면 다른 기준이 있으셨는지 궁금합니다.
안녕하세요. 현재 클로드 채팅을 사용해서 법률 구조 검토, 문서 생성 등 업무와 관련된 작업을 하고 있습니다. 뭔가 채팅으로 하기엔 한계가 있는 것 같고 , 본격적으로 저희 업무 관련한 툴들을 계속 만들려고 해서 cowork 나 클로드 코드를 사용하려고 합니다. 프로젝트를 생성해서 지침 및 파일들을 넣고 계속해서 작업하고 있는데요, 이대로 cowork나 코드로 넘어가서 작업해도 괜찮을까요? 아니면 이러한 단순 문서 생성 같은 경우 클로드 채팅으로 계속해도 되는 걸까요? 그리고 혹시 모델은 어떤걸로 하면 좋을까요?
안녕하세요. LD1117 전원부를 복습하면서 Power Dissipation을 계산해보다가 궁금한 점이 생겨 질문드립니다. 회로상 입력은 12V이고 3.3V Rail의 Power Budget은 최대 475mA로 정리되어 있어, LD1117S33CTR에서 PD=(12−3.3)×0.475≈4.13W로 계산했습니다. Datasheet의 SOT-223 RθJA=110∘C/W, Junction Temperature 상한 125°C를 기준으로 보면 열적 여유가 매우 부족해 보였습니다. 그런데 해당 회로가 교육용 예제이긴 해도 실제 현업 설계를 기반으로 한 것으로 알고 있어, 제가 놓친 전제가 있는지 궁금합니다. 예를 들어 475mA가 실제 동시 최대부하가 아니라 단순 Power Budget 합산값인지, PCB copper area나 별도 방열조건을 전제로 한 것인지, 혹은 실제 구현에서는 앞단 DC-DC Converter 등을 사용하는 구조인지 알고 싶습니다. 또한 이 경우 12V→3.3V를 LD1117 하나로 직접 강하하는 설계가 실제로 적절한지, 아니라면 보통 어떤 방식으로 전원 구조를 구성하는지도 궁금합니다.
강의에 대한 질문은 인프런 질문하기나, 1:1 커뮤니티 페이지에서 문의하시면 빠르게 답변 드리고 있습니다. (커뮤니티 주소 https://itconnect.dev/커뮤니티/ ) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 테마 파일과 CSS, PHP 파일은 아래 링크를 통해 받아보실 수 있습니다. https://drive.google.com/drive/folders/1KtkfsZe2uy5jNMps0F6gnqlEvZnq0mRN?usp=sharing 마우스를 가져다댔을 때 파란색으로 나오게 바꾸고싶은데 푸터 모듈란을 뒤져봐도 잘 모르겠어요...
선생님 안녕하세요... 강의를 따라하고 있는 학생입니다 다름이 아니라 웹 트러블 슈팅을하는데 강의 영상은 ls -al /var/log/nginx 하면 에러가 떠야 트러블 슈팅을 하던가 하는데 제 실습환경은 너무 잘 돼서요... 제가 뭘 잘못따라가고 있는걸까요? 감사합니다 사진첨부할게요 버추얼박스로 실습중이고 마우스 통합이 불편해서 윈도우 cli 로 ssh 걸어서 실습중입니다 +) df -h 도 선생님은 100%인데 저는 11%요서 트러블 상황이 안만들어집니다 감사합니다