========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 기본형의 한계2에서 findValue메서드에 MyInteger[] 래퍼 클래스 사용할 때 리턴 타입만 MyInteger로 하고 파라메터는 MyInteger 래퍼 클래스 객체 배열이 아닌 기본형 배열을 파라메터로 사용하여 기본형 값이 target과 불일치할때 null을 리턴하면 예시로 보여주신 목적에 문제 없지 않나요? 파라메터까지 래퍼클래스 변수를 사용한 이유가 있을지 질문드립니다.
좋은강의 너무 감사드리며 많이 배워가는것같습니다. 강의를 들으면서 질문이 있어 드립니다. 포트 번호로 분리된 MSA 서버를 프론트엔드에서 쉽게 사용하도록 통합하는 방법이 궁금합니다. 일단 단순히 생각했었을때 ngnix 로 리버스프록시 적용해서 /article 이면 localhost:9000 이런식으로 리버스프록시로 구성해도 될것같은데 현업에서 nginx 를 이용해서 구성을 하는지 또다른 많이 쓰는 방법이 있는지 궁금합니다. CQRS 환경에서 서버끼리 http 통신 article-read 에서 cqrs 를 적용하여 각 서비스에서 필요한 정보를 http 통신으로 가져오는데 클라이언트와 서버가 아닌 서버와 서버끼리면 굳이 웹과관련된 정보가 전송되는 http가 비효율적(?)이지 않나? 라고 생각을했는데 데이터 통신을 할때 카프카로 필요한 데이터만 통신하는것은 어떤가요? 실제 msa 환경에서 서버끼리 통신할때 어떤방식으로 사용하는지도 궁금합니다.
안녕하세요 영한님! 섹션 3의 계층 구조 강의를 듣고, 계층(트리) 구조를 모델링하는 다른 방법에 대해서도 찾아보면서 인접 리스트 모델 , 폐쇠 테이블 모델 이외에도 경로 열거 모델 , 중첩 세트 모델 등이 있다는 점을 알게되었는데요 실무에서 경험을 묻고싶습니다! 강의에서 소개해주신 이외에도 다른 모델을 상황에 맞게 자주 사용하시는지, 혹은 다른 방법들의 단점으로 인해 결국 인접 리스트 와 폐쇠 테이블 모델 의 사용으로 귀결되는 것인지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] return new T(); 가 안 되는 이유가 항상 new Object 가 되어버린다. 개발자가 의도한 것과는 다르다. 고 설명되어 있습니다. 만약 다음과 같이 create() 함수를 활용한다면, EraserBox<Dog> dogBox = new EraserBox(); Dog dog = dogBox.create(); 여기서 컴파일러가 캐스팅을 자동으로 추가해주면 되는 거 아닌가요?? EraserBox<Dog> dogBox = new EraserBox(); Dog dog = (Dog)dogBox.create(); 이렇게요. 개발자가 의도한 것과 다르다는 의미를 잘 모르겠습니다.
안녕하세요 큰돌님 강의를 즐겨보는 취준생입니다. 강의를 보며 궁금한 점들이 있어 질문 남깁니다. 간단하게 제 상황을 말하면 1년 정도 SI 업체 다니다가 현재는 군대에서 취준하고 있고 6월에 전역하면서 동시에 취업을 하는 것을 목표로 하고 있습니다. Q1: Readme 파일을 잘 꾸미는게 중요하다고 말씀주셨는데, 제가 했던 프로젝트들이 전부 회사에서 혼자 진행한 프로젝트들이여서 모두 private 인 상황입니다. 이럴 경우에는 Readme 파일에 꾸미기 보다는 노션에 따로 정리하는게 맞을까요?? Q2: QnA 글을 보니 큰돌님께서는 이력서와 포트폴리오를 같이 준비하라고 하신걸 봤습니다. 근데 토스채용 같이 이력서와 포트폴리오를 같이 제출해야되는 상황에서는 어떻게 해야될까요?
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 무한스크롤을 공부하면서 쿼리플랜을 자세히 살펴보았습니다. rows라는게 예상 스캔 행 수 라고 찾게 되었는데요, offset을 사용하지않고 마지막 last_article_id로 limit 30개 해서 30개만 스캔하면 될줄 알았는데, 저는 6백만개가 나오고 강사님은 5522497개 (무한 스크롤 설계 - 6:31초)가 나오는걸 알게 되었어요. 이게 시간은 빠르긴한데 뭔가 스캔하는게 많아서 이상하다 싶었어요.. 그래서 인덱스를 지우고, (article_id desc, board_id)로 위치도 바꾸거나, use index로 인덱스를 강제하게 해봤는데 결과가 똑같더라구요.. 이 row를 줄이기 위한 방법이 있는지 궁금합니다. cladue에서는 최악의 경우의 row를 보여준다고 하면서도, 또다른 답변으로는 쿼리 수정으로 최적화해야한다 나뉘더라구요. 최악의 경우라 해도 왜 6백만개나 scan하는지.. 그냥 속도빠르니깐 넘어가도 상관없는지 의심이 들어서 더 찾아볼수있는 방법이나 조언 부탁드립니다. 감사합니다. 강의 거의 완강햇다가 한번 더 다시 듣고있습니다.
안녕하세요! 질문이 있습니다 Soft delete 환경에서 UNIQUE를 걸 시, 가상 컬럼을 이용한 해결 방법은 소개되지 않은 이유가 있나요? 가상 컬럼으로 해결하는 방식은 추천하지 않는 방법인가요? 예를 들어, (MySQL) 목표 = Member - email의 unique를 지키는 것 <Member 테이블> 필드 = email, deleted_at, _active_check UNIQUE(email, _active_check) 이때, 가상 컬럼 = _active_check -> _active_check BOOLEAN GENERATED ALWAYS AS ( IF(deleted_at IS NULL, TRUE, NULL) ) VIRTUAL; 이렇게 하면 hello 계정 생성 email = "hello", deleted_at = null, _active_check = true (이때, hello 계정은 다시 INSERT 불가 (UNIQUE(email, _active_check)) hello 계정 soft 삭제 email = "hello", deleted_at= 2025.01.01, _active_check = null hello 계정 다시 생성 email = "hello", deleted_at= 2025.01.01, _active_check = null email = "hello", deleted_at = null, _active_check = true => 결과적으로 UNIQUE 제약이 지켜짐 가상 컬럼을 활용하여, Soft Delete 환경에서 UNIQUE 제약을 지키는 방식은 좋지 않은 방법인가요?
스프링 버전 4.0.2 기준 aspectj 라이브러리 dependency 설정은 다음과 같습니다. (gradle 기준) implementation 'org.springframework.boot:spring-boot-starter-aspectj' 계속 boot-starter-aop 로 빌드 시도했다가 삽질하면서 20분 날렸네요..
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
ddl-auto: create로 설정되어 있어서 자동으로 테이블이 생성되게 되어 있다는 말은 이해가 되는데요. BOOK, USER, USER_LOAN_HISTORY의 테이블 컬럼명과 컬럼의 특성등은 따로 어디에 명시해둬야 참고를 해서라도 만들지 않나요? mysql에서 만들때는 저희가 직접 console창에서 직접 설정해서 create해줬는데, 해당 테이블 구조는 테이블이 생성될때 무엇을 참고해서 만들고 있는건지 문의 드립니다. 감사합니다.
안녕하세요! 강의 정말 재밌게 보고있습니다 궁금한 점이 있습니다 애플리케이션 ENUM을 쓴다고 가정합니다. 이때, (PENDING, 대기중)에서 PENDING만 API로 주면 안되나요? FE에서 PENDING을 보고 "대기중"으로 글씨를 띄우면 안되는 걸까요? 기획자의 요구에 따라서 "대기중"이라는 글씨의 변경 요청을 BE, FE 누가 담당하는게 맞는 건가요?
강의를 들으면서 강의에서 제공해주신 GitHub 프로젝트 코드를 참고하여 개인적으로도 별도의 프로젝트 파일을 만들어 수강하고 있습니다. 현재는 강의 코드가 제공되고 있어 .claude 폴더를 다운로드한 뒤 제가 만든 프로젝트에 추가하면 되지만, 추후 개인 프로젝트에서 AI를 활용해 개발한다고 가정하면 .claude 폴더를 프로젝트 특성에 맞게 커스텀해야 할 것 같다고 생각합니다. 그래서 아래 두 가지가 궁금합니다. 현재 제공해주신 .claude 폴더는 어느 정도 범용적으로 사용할 수 있는 구조인지 궁금합니다. 다른 프로젝트에서도 그대로 붙여넣어 사용해도 되는지, 아니면 프로젝트마다 반드시 수정해야 하는 핵심 포인트가 있는지 알고 싶습니다. 처음 새 프로젝트를 만들면 .claude 폴더가 없는 상태인데, 프로젝트 기획과 규칙(코딩 컨벤션, 아키텍처, 역할 분리, 문서화 규칙 등)이 이미 정해져 있는 경우 .claude 폴더를 어떤 순서와 기준으로 새롭게 생성하는지 시작하는 방법이 궁금합니다.
안녕하세요. 항상 유익한 강의를 제공해 주셔서 감사드립니다. 입문 강의들을 제외한 모든 강의를 수강하며 많은 도움을 받고 있습니다. 다름이 아니라, 개인적으로 Kafka 관련 내용을 공부하던 중 KRaft 모드에 관한 내용이 공식 문서 및 여러 자료에서 업데이트되고 있는 것을 확인하게 되었습니다. KRaft는 Kafka의 아키텍처에서 중요한 변화를 가져온 만큼, 관련 내용을 강의나 추가 자료로 공유해 주신다면 수강생들에게 큰 도움이 될 것 같아 노티 드립니다. 항상 좋은 강의 제공해 주셔서 감사하며, 앞으로도 많은 배움을 기대하겠습니다.
NoSQL은 대규모 분산시스템 환경에서 CAP중에 AP을 주로 선택하는 모델이라 Eventual Consistency모델로 알고 있습니다. 하지만, NoSQL도 서버를 한대만 사용하면 Strong Consistency가 아닌가라는 생각이 들었습니다. 강의에서 설명해주신 NoSQL은 Eventual Consistency모델이다라고 하신거는 일반적인 사용환경이 대규모 분산시스템이기 때문에 Eventual Consistency라고 하신걸까요? 아니면 제가 잘못 생각하고 있는 것일까요?
안녕하세요! 수강자 쵸잉입니다 강의듣다가 질문사항이 생겨 남깁니다. ArticleViewCountRepository 에서 read 메서드 보면 현재 코드에서 조회수 조회를 할때 레디스에서만 가져오는데 이전 강의에서 레디스는 휘발메모리기 때문에 백업용 rdb 를 주기적으로 업데이트 시켰는데 그럼 레디스에서 값이 없을경우 백업용 rdb 도 한번 조회해봐야되지 않나 싶어서 질문드립니다!