묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
[해결책 - 코드값 분리] 중 orders(order_status) - common_code(code) 타입 불일치 제보
안녕하세요 첨부된 sql 파일 [-- ### 해결책 - 코드값 분리] 에서 orders 테이블 order_status의 타입이 common_code의 code 타입과 동일하게 VARCHAR(50)으로 변경되어야 할 거 같습니다. -- ### 해결책 - 코드값 분리 CREATE TABLE orders ( order_id BIGINT PRIMARY KEY AUTO_INCREMENT, member_id BIGINT NOT NULL, order_status VARCHAR(20) NOT NULL, total_amount INT NOT NULL, created_at DATETIME NOT NULL ); CREATE TABLE common_code ( code VARCHAR(50) PRIMARY KEY, name VARCHAR(100) NOT NULL );
-
해결됨AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
유튜브 예제에서 흐름 관련 질문있습니다
유튜브 예제에서 사용자가 동영상을 요청하면 CNAME으로 CDN에 먼저 가는 것이 아니라 API 게이트웨이로 갔다가 CDN으로 요청을 보내는건가요?
-
해결됨김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문
안녕하세요 영한님! 기초부터 설계까지 영한님의 강의 덕분에 실무에서 테이블을 설계할 때 큰 자신감을 얻고 있습니다. 늘 감사드립니다.강의를 듣고 운영 중인 서비스의 ERD를 검토해보니 과거 설계된 테이블들이 비식별 관계가 아닌 식별 관계로 되어 있는 등 개선이 필요한 상황입니다. 하지만 1인 개발 상황에서 데이터 마이그레이션을 수반한 대규모 리팩토링은 리스크가 크고, 기획팀의 신규 기능 배포 속도도 맞춰야 하는 딜레마에 빠져 있습니다.조만간 동료 개발자가 합류할 예정인데, 현시점에서 제가 취해야 할 스탠스에 대해 의견을 여쭙고 싶습니다.방안 A: 기획팀에 상황 공유후, 일괄 재설계를 통해 '기술 부채'를 완전히 청산하고 신규 기능을 올린다.방안 B: 영향도가 큰 부분부터 점진적으로 수정하며, 팀원이 합류한 뒤 안정적으로 함께 리팩토링을 진행한다.영한님의 실무 경험에 비추어 보았을 때 어떤 결정을 내리는 것이 팀과 서비스 관점에서 더 좋을지 조언해주시면 큰 도움이 될 것 같습니다. 감사합니다.
-
해결됨김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
계층 구조 모델링 기타 방법들
안녕하세요 영한님!섹션 3의 계층 구조 강의를 듣고, 계층(트리) 구조를 모델링하는 다른 방법에 대해서도 찾아보면서인접 리스트 모델 , 폐쇠 테이블 모델 이외에도 경로 열거 모델, 중첩 세트 모델 등이 있다는 점을 알게되었는데요 실무에서 경험을 묻고싶습니다!강의에서 소개해주신 이외에도 다른 모델을 상황에 맞게 자주 사용하시는지, 혹은 다른 방법들의 단점으로 인해 결국 인접 리스트와 폐쇠 테이블 모델의 사용으로 귀결되는 것인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션 9의 퀴즈가 영어로 출력되요.
섹션 9의 퀴즈가 영어로 출력되요.
-
해결됨김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션 6 SOFT DELETE) UNIQUE 제약 조건 + 가상 컬럼
안녕하세요!질문이 있습니다Soft delete 환경에서 UNIQUE를 걸 시, 가상 컬럼을 이용한 해결 방법은 소개되지 않은 이유가 있나요?가상 컬럼으로 해결하는 방식은 추천하지 않는 방법인가요? 예를 들어,(MySQL)목표 = Member - email의 unique를 지키는 것 <Member 테이블>필드 = email, deleted_at, _active_checkUNIQUE(email, _active_check) 이때,가상 컬럼 =_active_check-> _active_check BOOLEANGENERATED 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 = nullhello 계정 다시 생성 email = "hello", deleted_at= 2025.01.01, _active_check = nullemail = "hello", deleted_at = null, _active_check = true=> 결과적으로 UNIQUE 제약이 지켜짐 가상 컬럼을 활용하여, Soft Delete 환경에서 UNIQUE 제약을 지키는 방식은 좋지 않은 방법인가요?
-
해결됨AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.
안녕하세요. transcoder service에 대해 문의 드립니다.해당 서비스는 음악파일에 대한 변환으로 이해했는데요. 그렇다면 변환 과정을 거쳐서 file storage 로 넣어야하지 않을까 싶어요.혹시 언급된 transcoder가 다른 의미가 있을까요?
-
해결됨김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션2 공통 코드) 애플리케이션 ENUM을 API에 그대로 노출한다면?
안녕하세요! 강의 정말 재밌게 보고있습니다궁금한 점이 있습니다애플리케이션 ENUM을 쓴다고 가정합니다.이때, (PENDING, 대기중)에서 PENDING만 API로 주면 안되나요? FE에서 PENDING을 보고 "대기중"으로 글씨를 띄우면 안되는 걸까요? 기획자의 요구에 따라서 "대기중"이라는 글씨의 변경 요청을 BE, FE 누가 담당하는게 맞는 건가요?
-
미해결UML과 객체지향 설계 입문: 비전공자도 쉽게 배우는 개발자 필수 기초 강의
안녕하세요. 수업 자료 링크 제공은 어디인가요?
안녕하세요. 수업 잘 듣고 있습니다.수업 자료 링크는 어디에서 볼수 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
NoSQL 질문있습니다.
NoSQL은 대규모 분산시스템 환경에서 CAP중에 AP을 주로 선택하는 모델이라 Eventual Consistency모델로 알고 있습니다. 하지만, NoSQL도 서버를 한대만 사용하면 Strong Consistency가 아닌가라는 생각이 들었습니다. 강의에서 설명해주신 NoSQL은 Eventual Consistency모델이다라고 하신거는 일반적인 사용환경이 대규모 분산시스템이기 때문에 Eventual Consistency라고 하신걸까요? 아니면 제가 잘못 생각하고 있는 것일까요?
-
해결됨AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 어떻게 확인할 수 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
안녕하세요. 질문이 있습니다!! 제2정규화는 제 1 정규형을 만족하고, 테이블의 기본키가 복합키일 때 부분 함수 종속이 있으면 적용할 수 있잖아요 근데 이전 강의 영상에서 말씀하셨듯이 유연하고 확장성 있는 설계를 하기 위해 자연키가 아닌 대리키를 사용하고, 연관 엔티티(매핑 테이블)을 두어 사용하려면 비즈니스 로직에 따라 유니크 제약조건을 걸어 해결하라고 하셨습니다 그럼 여기서 궁금한 것이 이렇게 실무적인 접근으로 설계를 한다면(대리키) 항상 키는 단일컬럼 키니까 복합키가 아니라서 항상 제 2정규형을 만족하는 것인가요??
-
해결됨AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
[위치 이름 기반으로 호텔을 조회하는 메서드] 코드 질문 드립니다.
강의 마지막에 위치 이름 기반으로 호텔을 조회하는 메서드 관련하여 질문 드립니다. 참조 관계강의에서 hotel, location 양쪽에서 서로를 참조하고 있습니다. 여기서는 location에서만 hotel을 참조하는 것이 맞지 않나요?? 우선 location을 생성할 때 hotel이 필요하고, location은 호텔을 위해 생성된 호텔에 종속적인 모델이기 때문에 location에 두는게 맞다고 생각합니다. 위치 기반 호텔 조회 메서드1번에서 location에서 호텔을 참조한다면, 위치 기반 호텔 조회 메서드는 location에 있어야 한다고 생각합니다.또한 지금 호텔을 전부 탐색하며 일치하는 모델을 찾고 있는데, 그냥 단순히 bruteforce 로직을 보여주시려고 하신걸까요?? 호텔과 location을 조인해서 가져오거나, 그냥 location에서 name 인덱싱을 걸고 호텔 id 값 찾아서 + 호텔 조회하는 그런 방식을 생각했는데 logic으로 적어주신 이후 최적화 과정이 빠진 것이 아쉽습니다. 이런 부분들을 어떻게 최적화 할 수 있는지 다양한 방법들을 배우고 싶습니다ㅠ 제가 맞다고 주장하는 것이 아니라 몰라서 질문 드립니다.감사합니다 :)
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
슈퍼/서브 타입 joined 전략
db의 슈퍼/서브 타입으로 설계된 부분을 보면 joined 전략으로 했을 경우 어쩔 수 없이 식별 관계로 해야하는 경우가 있던데 이럴 경우 sigle table 전략으로 푸는 게 나은 것 같으세요? 아니면 어쩔 수 없이 식별 관계로 풀려고 하는 게 나은 것 같으신가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
created_at 관련 구현과 DB ENUM에 대해
안녕하세요, 강사님. 이번 강의를 듣고 2가지 궁금증이 생겨 질문을 올리게 되었습니다.created_at과 updated_at 구현 DB 레벨에서 ON UPDATE와 DEFAULT CURRENT_TIMESTAMP를 활용할 수 있다고 말씀해 주셨는데요, JPA에서는 @CreatedDate와 @LastModifiedDate로 애플리케이션 단에서 이를 구현할 수도 있습니다. 실무에서는 각각을 언제 사용할까요? 그리고 권장하는 구현이 따로 있으실까요?DB ENUM 타입을 잘 사용하지 않는 이유실무에서 DB ENUM 데이터 타입 사용을 권장하지 않는다는 말씀으로 이해했습니다. 단순히 해당 ENUM 값의 범위가 변경되었을 때 이를 바꿔주는 것 이상으로 성능 이슈가 있어서라고 생각했습니다만, 정확히 알기가 어렵습니다. 자세한 설명을 부탁드려도 될까요? 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
M:N 관계의 연관 엔티티 설계 순서
이런 식으로 실무적으로 접근했을 때 이 강의에서 예시를 들어주셨던 것처럼 (학생, 과목, 수강), (사용자, 영화, 평가) 엔티티를 개념적 모델링 단계에서 먼저 설계를 할텐데, 이때 설계 순서가 궁금합니다. (학생, 과목), (사용자, 영화) 와 같은 기본 엔티티를 먼저 만든 다음에 M:N 다대다 관계인 것을 확인하고 이것을 풀어내면서 동시에 비즈니스적 의미를 넣기 위해 중심(연관) 엔티티를 만드는 게 일반적인가요? 아니면 처음부터 학생 -> 수강 -> 과목 or 사용자 -> 평가 -> 영화 로 이어지도록 설계하는 게 일반적인가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
데이터 역사성 훼손 문제
자연키를 기본키로 설정했을 때 발생할 수 있는 문제점에서 데이터의 역사성 훼손을 예로 들었는데 이 문제는 대리키를 기본키로 등록했어도 발생할 수 있는 문제 아닌가요?이 문제를 해결하기 위해서는 어쩔 수 없이 주문 테이블에도 email 등을 중복으로 저장해야 해결할 수 있는 거 아닌가요?
-
해결됨카카오 면접관이 알려주는 반드시 알아야하는 Distributed Environment
강의 순서
안녕하세요, 미래에 네이버에 취업할 취업준비생입니다.다름 아니라, 이번 미니 프로젝트로 msa 환경을 바탕으로 하는 프로젝트를 기획중에 있습니다.msa에 대해 무지해서, 어떤 것부터 차례대로 강의를 수강하면 좋을지 말씀을 듣고싶어서 질문 남깁니다.저는 웹 프로젝트를 준비 중에 있고, 언어로는 java를 사용, spring boot를 이용해서 개발하려고 합니다.추가적으로 결제시스템까지 도입예정에 있어서, 후에 kafka 도입까지 고려하고 있습니다. 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.
실무에서 등록일,수정일, 등록자, 수정자 4개 컬럼을 테이블 별로 만들어서 쓰라고 하셨는데1) 모든 테이블에 4개 컬럼은 만든다 생각해도 되는지?2) 유지보수 상 운영 테이블을 직접 수정하는 경우가 있었는데 이때 MySQL 워크벤치 에서 직접 수정하는 경우는 일일히 의식해서 set에 updated_by 를 넣어주는게 최선인지??궁금합니다.
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
예시1 질문
예시1 질문입니다.아이스크림 4, 토핑 3으로 만들 수 있는 가짓수는아이스크림 하나 당 토핑을 1개만 쓸 수 있다고 가정한 예시인가요? 토핑을 안 넣는 경우는 없나요?아이스크림 1개에 토핑을 1개만 올리거나 2개, 3개 조합해서도 메뉴를 만들 수 있다고 생각했거든요.