안녕하세요. containerd의 경우 2016년 이후 등장한 것으로 알고 있습니다. 그 이전 docker 버전으로 생성 된 이미지의 경우 containerd와 호환이 되지 않을 것 같다는 생각이 들어 문의드립니다. 추가로 8분 50초 부근 지점에서 runc가 기존 libcontainer와 다른 점에 대한 설명이 이어지는데, runc 적용 이후에도 runc -> libcontainer 순으로 커널 호출을 위해 libcontainer는 지속적으로 사용되고 있는 것으로 알고 있으나 설명이나 그림상으로 libcontainer가 runc 적용 시점부터 미사용 되는 것처럼 보여져 어떤 것이 맞는지 문의드리고자 합니다.
TransactionManager 분리 에 대해서 이해가 잘 가지 않는게 있어. 실제 운영 환경에서는 배치와 비즈니스 데이터 DB를 분리하는게 필수라고 했잖아? 근데 이 분리의 단위가 배치용 메타데이터 저장만 분리를 하는게 맞는거야? 현재 사이드 프로젝트에서 멀티모듈 구조에 (MSA는 아님) API 모듈과 배치 모듈을 따로 분리한 상태야. 유저 데이터에서 생일을 뽑아서 내일 생일인 유저에게 FCM 을 발송하는 배치를 만드는데, 이때 만들어준 예제처럼 @BatchDataSource와 비즈니스 로직용 @Primary DataSource를 분리하게 되면, API 모듈용 DB Connnection을 배치에서도 똑같이 갖다 쓰는거 아니야 ?? 즉, 배치에서 API 쪽 커넥션을 가져다 써서 배치가 돌 때 커넥션이 고갈날 수 있지 않을까? 라는 생각이 들었어 지금 이해한 바로는 @BatchDataSource, @BatchTransactionManager를 분리하고 주입해줘도 Reader -> Processor -> Writer 에는 @Primary 걸 쓰는것 같은데 맞아 ? 나는 DB 분리와 함께, 비즈니스 로직에 대한 커넥션, 트랜잭션도 배치용으로 분리하고 싶은데 이럴땐 어떻게 해야해? 특히나 배치에서도 JpaTransactionManager를 쓰고 싶은 경우에는 어떻게 해야해 ? 원하는 바는, API 처리용 DB 커넥션은 커넥션대로 있고, 배치 메타데이터용 커넥션 따로, 배치에서 라이브 DB에서 유저 데이터를 가져오는 커넥션 따로 구성하고 싶어 (배치가 API 모듈 에 영향을 주지 않았으면 해서,,,) 혹시 내가 강의를 제대로 이해를 못한거라면 알려줘
섹션 3 퀴즈 에서 헷갈리는 부분이 생겨서 질문드립니다. 문제의 일부는 아래와 같습니다. ( 정답은 B ) 1. 배열과 링크드 리스트의 주요 성능 차이점 중 하나는 무엇일까요? A 배열은 요소 탐색 시 O(1)이 걸리지만, 링크드 리스트는 O(N)이 걸립니다. B 링크드 리스트는 중간에 요소를 삽입/삭제 시 O(1)이 걸리지만, 배열은 O(N)이 걸립니다. 제가 헷갈리는 부분 A도 정답이 될 수 있지 않을까요? (A를 선택한 경우 오답으로 처리됨) 수업과 수업 자료를 통해 이렇게 이해 했습니다. "특정 원소 조회시 배열은 O(1), 링크드 리스트는 O(N)의 시간 복잡도를 가진다" 요소 탐색 과 요소 조회 는 다른 개념일까요?
예시로 들었던 '게시판 별 게시글' 같은 인덱스 테이블에서 B Tree 인덱스를 사용하면 된다는 식으로 말씀하셨습니다. 근데 전통적인 RDBMS에는 샤딩 기능조차 존재하지 않는데, 분산된 데이터베이스에서도 테이블 수준의 B Tree 인덱스처럼 동작하는 것처럼 말씀하신 것 같아, 이것이 맞는지 문의 드립니다.
안녕하세요 저는 백엔드 경력 개발자로, 이전 회사에서는 보안상 로컬 환경에서 자체 서버를 운영해서 별도로 아키텍처를 구성하거나 어필할 만한 부분이 많지 않았습니다. 그래서 이직을 준비하면서 AWS를 활용해 직접 아키텍처를 구성해볼까 하는데, 이런 사이드 프로젝트로 역량을 어필하는 게 효과가 있을까요? 또, 이전에는 솔루션 운영 업무를 주로 했던 터라 서비스 기업 지원 시 강점을 드러내기 어려워서, 사이드 프로젝트에서 문제 상황을 일부 설정하고 이를 해결한 사례를 포트폴리오에 담아보려 합니다. 이런 방식으로 접근하는 게 괜찮을지 궁금합니다.
강사님, Vibe 코딩에 관심이 있어서 강의를 수강하고 있는데 앞부분에 알려주신 API KEY 입력 관련해서 Google AI Studio에서 API KEY 받아서 알려주신 대로 Cursor 입력해서 사용하는데,, Cursor 화면 인터페이스가 영상 촬영하신 2월달과 달라진거 같고 설명주시는 Gemini 2.0 flash도 조회가 안되는거 같은데... 현재 Cursor 환경이 달라진 걸까요? 궁금해서 문의드립니다.
안녕하세요, 강의에서는 메시지 브로커용으로 redis를 사용하셨는데, redis 외에도 rabbitmq나 카프카 같은 것들도 사용되는 것으로 알고있습니다. 그 중에서 특별히 redis를 사용한 이유가 있는지 궁금합니다. 그리고 무중단 배포 시 스프링 내장 브로커를 사용하면 서버 재실행 시 구독 정보가 초기화되기에 메시지 브로커를 도입하려고 하는데 이때는 셋 중에 어떤 것을 사용하면 좋을지 궁금합니다.
질문은 아니고 kafka 개발환경 세팅 시에 저랑 같은 문제 겪으신 분들 계시면 참고하시라고 공유 드립니다. macOS 15.6.1 버전(m4 Pro 칩)에서 도커로 kafka 컨테이너 띄울 때 아래와 같은 오류가 발생했어요. # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x0000ffff9ad3fc5c, pid=1, tid=7 # # JRE version: (21.0.4+7) (build ) # Java VM: OpenJDK 64-Bit Server VM (21.0.4+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) # Problematic frame: # j java.lang.System.registerNatives()V+0 java.base@21.0.4 https://issues.apache.org/jira/browse/KAFKA-19007 이래저래 찾아보다가 그냥 3.9.1 버전으로 받아서 띄워봤는데 잘 됐어요. 같은 문제 겪으신 분들도 그렇게 해보시기를 권해드립니다.
안녕하세요 선생님. 미션 주신거 이행하면서 궁금해서 질문드려요. 다른강의에서 가용성(Availability), 시스템 이중 에 대해서 설명해주셨는데.. MSA에서 가용성? 시스템 이중을 적용하면.. 일반 사용자가 서버 끊김을 못느끼게해야하는데.. 기존의 도커나 쿠버네티스를 2중으로 설정해줘야하는게 맞는지 궁금합니다. 예를들어서 강의에서 섷명해주신 게이트웨이,사용자서비스,게시판서비스,포인트 서비스가 있다고 할경우.. 게이트웨이 2개 사용자서비스2개 게시판 서비스2개 포인트 서비스 2개로 해야하는것일까요?
1) 해당 부분에서 비교연산자가 이상/이하가 아니고 초과/미만을 사용하고 있는데 분위수값에 해당하는 값이 있으면 그 결과가 다를꺼 같아서요. 25% 데이터 구하세요 하는 문제는 정의자체가 분위수값 미만의 값 이런식으로 정해진건가요? 2) 하위 25% 데이터를 구하는 함수가 있다면, 상위 25%는 ~ 를 이용해서도 함수를 쓸 수 있을까요? 3) 가장 큰 값이 두개 이상인경우 더 앞선것을 불러오던데, 해결방법이 있을까요? (가장 큰 값이 동일한경우 모든 인덱스를 불러오게끔)
keyof typeof를 쓰면 동시에 쓰면 객체형 변수에 대한 타입접근이 쉬운 것 같습니다. 그런데 실제로 현업에서 keyof typeof를 쓰는 경우가 있는데, 소스코드를 봐도 가끔 이해가 안되는 경우가 많은데 현업에서 keyof typeof를 동시에 쓰는 건 디테일하게 어떤 경우인지 알 수 있을까요? 지금은 간단한 예시라서 이해하기 쉬운데 용도를 알 수 없는 경우도 있어서 궁금함에 여쭤봅니다.