안녕하세요 쿠케님, 강의를 복습하다 새로운 궁금증이 생겨 질문 남깁니다. 본론부터 말씀드리자면, 카프카는 큐에 이벤트가 담기고, 동일 토픽 및 동일 파티션의 경우 동일한 offset을 쓰기 때문에 순서가 지켜져서 소모가 된다고 이해했습니다. 즉, 컨슈머가 몇개든 동일 토픽, 파티션인 경우 큐에 담겨진 순서대로 명확하게 소비된다고 이해했습니다. 그런데 만약 큐에 담겨진 순서가 올바른 순서가 아니라면 어떻게 되는 것일까요? 예를 들어, 2명의 클라이언트가 거의 같은 시간에 게시글 A에 대해 댓글을 생성했고 각 클라이언트는 서로 다른 댓글 서버에서 요청이 처리됐다고 가정하겠습니다. 이때 유저 A가 게시글 A에 대한 댓글을 먼저 생성했고, 유저 B가 간발의 차로 같은 게시글에 대한 댓글을 생성했을 때, 유저 A가 생성했을 때의 게시글 댓글 수는 4였고 B가 뒤 이어서 생성했다면 5가 될 것입니다. 백엔드 서버가 전송한 유저 A의 이벤트가 알 수 없는 문제로 카프카로 늦게 도착했고, 그 사이에 유저 B의 이벤트가 먼저 큐에 담겨졌습니다. 그렇다면 제가 첨부한 그림과 같이 됩니다. ( 이벤트는 지연 전송 방식이 아닌 트랜잭션 After Commit 이후에 즉시 전송됐다고 가정. ) 이때 컨슈머인 article-read 서비스에서 이벤트를 순서대로 소비하며 레디스에 저장된 게시글 A의 ArticleQueryModel 댓글 수를 최신화하는데 먼저 최신 값인 5로 최신화하고 다시 과거 값인 4로 최신화 할 것입니다. 이렇게 되면 게시글 A의 댓글 수 데이터의 일관성이 깨진다고 볼 수 있을 것 같습니다. 그래서 이에 대한 해결책으로 이벤트 payload에 댓글의 스노우플레이크 id가 담겨 있고, 스노우 플레이크는 시간 순으로 생성되기 때문에 레디스에 게시글 A에 대해 가장 마지막으로 처리된 이벤트의 스노우플레이크 id를 저장하고 다음으로 소비될 이벤트가 가장 마지막으로 처리된 이벤트 id보다 과거에 생성된 이벤트면 이 이벤트를 무시하면 되지 않을까? 생각했지만, 게시글에 대한 이벤트 타입이 여러가지이기 때문에 다른 타입의 이벤트가 무시될 수도 있겠다는 생각이 듭니다. 쓰고 나니까 너무 길게 질문 드린 것 같은데, 쿠케님의 강의가 정말 도움이 많이 돼서 이렇게 염치 불구하고 길게 질문드립니다. 이에 대한 의견 주시면 너무 감사하겠습니다. 강의 항상 잘 듣고있습니다.
단순한 java 질문인데 만약 부모, 자식 class가 있고, 자식이 부모를 상속받고 생성할때 오직 업캐스팅 형태에서만 자식 생성자를 생성할 때 부모 생성자를 만들고 생성하는 건가요? 아니면 업캐스팅이 아닌 일반적으로 자식 생성자를 생성할때도 부모 생성자를 불러서 생성해야 하나요?
코드 파트는 잘 이해하고 공부 진행 했는데 이론파트 첫 강의부터 영상이 아닌 페이지라서 어떻게 공부를 해야될지 길을 잃은 느낌입니다. 이론 섹션에 들어갈때 첫 영상으로 어떻게 공부해야되는지 설명이라도 해주셨으면 좋았을 거 같습니다.. PDF랑 페이지랑 안에 내용은 또 다른 내용이라 더 혼란스럽습니다. 페이지를 가볍게 이해하고 PDF 파일을 외우라는 의도인지 아니면 둘 다 외우라는 의도인지 궁금합니다. 첫 페이지를 들어가보면 "요구사항 분석 챕터에서 중요한 부분 정리" 라고 적혀있으나 받아들이는 입장에서 중요한 부분인데 왜 PDF에는 이거에 관한 내용이 없는거지? 이 두개의 차이점은 뭐지? 라는 생각이 듭니다.
../src 경로에서 sqlite3 sql_app.db 실행 및 접속 이후 SQLite version 3.43.2 2023-10-10 13:08:14 Enter ".help" for usage hints. sqlite> .tables sqlite> .tables sqlite> post 확인이 안됩니다
선생님 최근까지 시험 계속 본 사람인데요ㅜ 요즘 문제가 예를 들어서, 문제 : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법 설명 보기 : ㄱ. Equivalence Partitioning, ㄴ. Boundary Value Analysis 답 : ㄱ 이렇게 보기가 영어로 나올때가 있는데 블랙박스테스트는 영어로 단어가 설명 안되어있어요ㅠ 근데 지피티한테 물어봐도 영어를 모르겠어서여ㅜㅜ 제가 책은 없고 선생님 자료로 수강중이라 이론 자료에 영어 단어도 부탁드립니다ㅜㅜ
안녕하세요. 강의 정말 잘 듣고 있습니다. 다름이 아니라, 협업 필터링 방식을 설명하실 때 사용자-아이템 평점 매트릭스와 같은 축적된 '사용자 행동 데이터'를 기반으로 예측 평가한다고 하셨습니다. 여기서 궁금한 점은 '사용자 행동 데이터'가 꼭 사용자-아이템 평점 매트릭스여야 하는지 입니다. 굳이 사용자-아이템 평점이 아니여도 사용자의 행동을 나타내는 데이터면 가능한가요?