묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결제미니의 개발실무 - 커머스 백엔드 기본편
개념과 격벽에 대한 이해를 팀과 공유하고 합의하는 방법
안녕하세요 재민님! 좀 오래되긴 했지만, 2년 전쯤에 발표하신 (유튜브에도 자주 언급하신 ㅎㅎ) 개념과 격벽을 통해서 지속 성장 가능한 설계를 만드는 방법에 대해 여쭤보고 싶은 부분이 있어서 질문드립니다!Q1) 발표에서 개념을 코드로 느끼면서 잡아간다고 하셨는데, 이게 개인의 사고에 많이 의존하는 것 같아서요. 실제 팀에서는 한 사람이 발견한 개념(예: 대출 사례의 '연체' 분리 같은)을 팀원들과 어떻게 합의하고 공유하시나요? 코드 리뷰에서 자연스럽게 되는 건지, 별도의 논의 과정이 있는지 궁금합니다. 팀과 협업하는 관점에서는 설계가 결국 합의의 과정이기도 하다 보니, 이 방식이 팀 규모에서는 어떻게 작동하는지가 특히 궁금했습니다 ㅎㅎQ2) 개발을 하다 보면 "설계"라는 과정을 많이 겪게 되는 것 같습니다. API 설계, ERD 설계, 시스템 아키텍처 설계 등등 참 많네요. 발표에서는 분석·설계 없이 바로 구현하면서 개념과 격벽을 잡아가라고 하셨는데, 실제로 새 기능이나 서비스를 시작하실 때 무엇부터 손대시는지 궁금합니다. 개념(도메인 클래스)부터 코드로 잡고 API나 DB 스키마는 나중에 따라오게 하시는 건지, 아니면 이런 것들 중 일부는 최소한으로 먼저 정해두고 시작하시는지, 재민님의 실제 작업 순서가 궁금합니다. 물론 절대적인 정답은 없고 케바케일 것 같긴 합니다. 예를 들면 프론트엔드나 타 팀이 의존하는지 등등에 따라 달라지겠지만요. 재민님만의 어떤 기준 같은게 있는지 궁금합니다.Q3) AI가 코드를 대신 짜주는 시대가 되다 보니, 회사에서도 코드를 잘 짜는 것 자체의 가치가 점점 낮아지는 분위기인데요. (물론 회사 KPI마다 다르겠지만 ㅎㅎ) 이런 시대에 개념과 격벽을 세우는 역량은 오히려 개발자의 마지막 차별점이 된다고 보시는지, 아니면 이 피드백 루프(구현하며 느끼고 개선하는)마저 AI가 돌게 될 거라고 보시는지, AI 시대에 이 방법론이 가지는 의미를 어떻게 보시는지 궁금합니다.
-
미해결채널톡 면접관이 직접 알려주는 CS 면접 대비 - 데이터베이스 편
Boolean 컬럼 인덱스와 Cardinality에 따른 실행 계획에 대하여
강의를 듣다가 궁금한 부분이 있어 질문드립니다!Secondary Index를 사용하면 Primary(Clustering) Index Lookup 과정에서 랜덤 I/O가 발생할 수 있다고 이해하고 있습니다다만 이는 Cardinality가 낮은 Boolean 컬럼에만 국한된 문제라기보다는, Secondary Index의 정렬 순서와 PK 순서가 일치하지 않는 경우 일반적으로 발생할 수 있는 문제라고 생각합니다또한 MySQL에서는 MRR을 통해 조회 대상 PK를 정렬한 뒤 접근함으로써 랜덤 I/O를 줄일 수도 있는 것으로 알고 있습니다강의에서는 Boolean 컬럼의 경우 특정 값이 전체 데이터의 상당 부분을 차지할 가능성이 높기 때문에, MRR을 통한 정렬 및 테이블 Lookup보다 Full Table Scan이 더 효율적일 수 있다는 취지로 설명해주신 것으로 이해했습니다그렇다면 인덱스의 효율은 Cardinality 자체만으로 결정된다기보다, 실제 값의 분포와 선택도, 예상 조회 행 수, Covering Index 여부, MRR 적용 여부 등의 요인을 함께 고려해 판단한다고 이해해도 될까요?
-
해결됨AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
Substack 1년 제공 문의
안녕하세요 Substack 1년 제공에 대해 google form 신청완료했는데 아직 처리가 안된건지 확인차 문의드려요
-
미해결제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
접근 가능한 카트 목록을 조회하는 API는 없는걸까요?
GET /v1/shared-carts API 부분의 구현을 보니 CartReader.getCartAccessList 부분이 있는데 cartAccessRepository.findByUserIdAndStatus 메서드를 사용하여 조회하더라구요. 이렇게 되면 내가 만든 내가 소유자인 카트만 조회될 것 같고, 공유 장바구니 참여자 수 만큼 같은 공유카트가 여러개 조회 될 것 같습니다.결국 소유자 조차도 access 데이터에 추가된다면 cartAccessRepository.findByAccessUserIdAndStatus 를 사용하여 범용으로 사용하는 것은 불가능할까요? 그리고 CartHandler.createCharedCart 부분에는 도구 레이어임에도 불구하고 하나의 트랜잭션으로 두지 않으셨는데요, 카트 생성 이후 나의 접근 권한이 추가 되지 않는다면 카트 리스트에서 볼 수 없을 것 같은데 이 점에 대해서도 의도하신 바가 있는지 궁금합니다! 또한 access 부분에서 DB 유니크를 걸어두었지만 사전 존재 확인이나 멱등처리가 없는 것 같습니다. 개념적인 예외를 사용하지 않고 DB 무결성 예외를 노출시키신 이유가 궁금합니다.
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
[실습] WHERE문이 사용된 SQL문 튜닝하기 - 2
안녕하세요. 강의 잘 보고 있습니다![실습] WHERE문이 사용된 SQL문 튜닝하기 - 2해당 강의에서 질문이 있습니다 :)이전 강의에서 멀티 컬럼 인덱스의 경우, 첫번째 컬럼 기준으로 먼저 정렬하고, 그 다음 두번째 컬럼 기준으로 정렬한다고 배웠던 것 같습니다! 따라서idx_created_at <-> idx_created_at_department 실행계획 idx_department <-> idx_department_created_at 실행계획이 각각 비슷할 것이라고 예상했는데, 강의에서는 idx_created_at과 두 개의 멀티 컬럼 인덱스 idx_created_at_department, idx_department_created_at 가 비슷하다는 것을 알 수 있었습니다!이유가 궁금하여 질문 남겨봅니다 !
-
해결됨비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
[실습] 인덱스 직접 설정해보기/성능 측정해보기
강사님 안녕하세요!강의 잘 듣고 있습니다. 너무 좋네요! 😊[실습] 인덱스 직접 설정해보기/성능 측정해보기 => 실습 중 질문이 있습니다!user.age에 인덱스 생성 전[2026-07-12 11:51:16] 1,028 rows retrieved starting from 1 in 420 ms (execution: 110 ms, fetching: 310 ms)=> 이런식으로 평균 400ms 속도가 측정되다가user.age에 인덱스 생성 후[2026-07-12 12:19:48] 1,028 rows retrieved starting from 1 in 510 ms (execution: 11 ms, fetching: 499 ms)[2026-07-12 12:19:59] 1,028 rows retrieved starting from 1 in 339 ms (execution: 9 ms, fetching: 330 ms)[2026-07-12 12:20:09] 1,028 rows retrieved starting from 1 in 329 ms (execution: 7 ms, fetching: 322 ms)인덱스 생성 후 최초 실행시에 510ms로 시간이 한번 튀는데검색해 봤을때는 인덱스 생성 직후 캐싱 되어있지 않아서 발생하는 현상이라고 하는데이러한 것은 신경쓰지 않아도 되는지 궁금합니다!감사합니다!
-
해결됨쉽게 배우는 데이터 모델링 : 기본부터 실전 테이블 설계까지 (DASP/DAP)
관계도출부분 질문입니다.
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요!실습중에 궁금한점이 있으시면 erdcloud 링크를 첨부해주세요!데이터 모델링 설명중에 나오는 '용어'들은 강의나 책마다 조금씩 다를 수 있습니다.https://drive.google.com/file/d/1ImDk6PSaolScBZnvEw_Y_Y8Kzxh7wvZd/view?usp=sharing질문 내용안녕하세요, 강사님.DAP 시험을 준비하며 강의를 수강하고 있는 수강생입니다. 관계 도출 부분에서 막히는 지점이 있어 질문드립니다.'물류운송시스템' 문제의 화물운송스케줄 엔터티 관련 질문입니다. 화물운송과 운송수단스케줄이 M:M 관계라고 판단하여, 식별자를 운송번호 + 운송스케줄번호 + 운송순번으로 도출했습니다. 그런데 답안에서는 운송출발순번과 도착운송순번 두 개의 속성이 식별자에 포함되어 있었습니다.하나의 화물이 특정 스케줄 내에서 출발 경유지와 도착 경유지를 함께 가져야 한다는 점 때문에 순번이 두 개로 나뉜 것인지 궁금합니다. 이런 경우를 어떤 기준으로 판단해서 식별자를 도출해야 하는지 설명 부탁드립니다.감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
물리적 모델링 - 실습 (역정규화) 질문
물리적 모델링 - 실습 (역정규화)데이터베이스 전문가의 반대 이유 중 주소 데이터의 중복되는 데이터가 지속적으로 발생하는것도 이유가 될 수 있는걸까요??(한명의 사용자는 보통 같은 주소지로 주문할 것이고 같은 주소로 주문되는 케이스가 많을거 같아서요~)
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
「김영한의 실전 데이터베이스 - 성능 최적화」
「김영한의 실전 데이터베이스 - 성능 최적화」 강의는 언제 나올까요?기대하고 있습니다!
-
미해결AI 시대에도 살아남는 엔지니어의 조건, 미국 빅테크 시스템 디자인, 알고리즘 사고, 오픈소스 실무 완성
Monolith 아키텍쳐 질문
안녕하세요 수업 내용중에 포함된 Slide와 설명이 맞지 않는 부분이 있는거 같아서 문의 드립니다. 영상에서는 단점으로 Vertical scaling만 가능하다고 언급하셨는데, 슬라이드에서는 수평적으로만 확장이 가능하다고 하셔서요. 제가 생각하기에도 하나의 코드 베이스에서 모든 기능이 작동해야하다 보니 Vertical scaling이 맞는거 같고 Slide내용이 잘못된거 같은데, 제가 잘못이해하고 있는것인지 확인부탁드리겠습니다.이제 막 시작했지만 열심히 완주해보겠습니다. 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
용어 사전
저희는 용어 사전을 DataGrip 에서 table 마다 Comment 를 할수있어서Table 에 Comment 를 달고 Column 에다가도 Comment 를 달아서 설명을 붙여서 사용하고 있습니다 . 이런식으로 사용하고 있는데 보통 어떻게 사용하시나요 ??
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
개념적 모델링 - 실습
주문 결제 배송을 하나의 테이블로 두지 않고 분리를 시켰을때 어떤 장점이 있나요 ??
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
섹션8 강의자료가 안열려요
섹션8 강의자료가 안열려요
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
DB 설계와 JPA 관련 질문입니다
강의에서 배운 모델링을 바탕으로 프로젝트를 진행하려고 하는데 궁금한점이 생겼습니다. 1:1 관계인 orders 테이블과 delivery, pay 테이블의 관계에서 외래 키를 보조 테이블에 두었는데, jpa를 이용한 애플리케이션 코드에서는 일대일 관계에서 대상테이블에 외래 키를 두었을때 즉시로딩으로 N+1 문제가 발생할 수 있어서 orders엔티티에 외래 키를 두었습니다. 이때 db와 애플리케이션 간에 테이블 구조가 불일치하기 때문에 오류가 발생할 것으로 예상됩니다. 이 경우 주문과 배송, 결제 정보가 같이 생성된다고 보고 외래 키 위치를 주 테이블에 두어야할까요? 아니면 애플리케이션 코드에서 즉시로딩 문제를 해결해야할까요?
-
해결됨김영한의 실전 데이터베이스 - 기본편
드랍 테이블로 지운 ordes에 대해서 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (강의 실습이후 발생되는 상황 )2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다.세션 10. 데이터 무결성 - check 제약조건을 설명하기 위해서, orders 테이블이랑 products 테이블을 지우셨습니다. 사진 처럼 요그 이후에 워크벤치를 껏다 킨 이후에 my_shop2 db를 보니 my_shop 랑 다르게, @@@ could not be fetched 라는 내용이 발생한다는 것을 알수 있었는데요. orders에 있던 여러 내용 들이 없어져서 이런 문제가 났겠다는 것을 알 수 있었습니다. 이런 경우 view에 남아있는 ordes랑 연결되어있는 조건들때문에 문제가 생겼으니 view에 대한것들을 없애면 원래대로 되는지 알고싶습니다.
-
해결됨김영한의 실전 데이터베이스 - 기본편
문제 풀이 1번 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다.'case문 - 문제와 풀이 - 1번 문제'에서 영한님은사진 위쪽 부분 case문 옆에category 를 써서 단순 case문으로 해결 하였는데요. 여기서 저는 사진 아래쪽 부분에 적힌대로 category = '전자기기' 를 써서 해결하였습니다.여기서 질문 입니다.category = '전자기기' 이 코드 처럼 해도, 상관 없는지 알고 싶습니다.+ 아래 처럼 한 이유는 위에 쿼리문은 완전히 생각이 안났습니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
아주 작은 정오표 전달드립니다.
안녕하세요 ^^ 아주 작지만 소소한 정오표 전달드립니다. 7. 논리적 모델링3 - 일대일, 다대다 관계49페이지AS-IS우리가 실제 '수강신청 시스템'을로 만든다고TO-BE우리가 실제로 '수강신청 시스템'을 만든다고 마우스 드래그 하는 중에 바뀌는 부분 확인했습니다! 항상 감사합니다!
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. mysql 워크벤치를 실행 할때 오류가 떠서 질문을 남깁니다.사진처럼 이렇게 나옵니다. 그래서 맨 처음 에는 '리스토어 워크벤치 오류' 을 치고 따라 해보았지만, 컴퓨터를 다시 키고 워크벤치를 실행하면 이사진 속 에러가 계속 나옵니다.어떻게 해야 해결이 가능할까요?+ 취소 하고 하면 sql 은실행 가능 합니다.답변 부탁 드립니다.
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
온톨로지 구축
시멘틱 온톨로지 구축을 위해 데이터를 먼저 공부하고있습니다.RAG는 구축된 데이터가 들어간걸 조회할 때 쓰는거라고 생각하고있습니다.온톨로지 구축을 위해 원천데이터 자체를 분석해서 도메인 사전을 만들어야한다는것을 알고있는데이걸 어떤식으로 구조화해서 구축해야하는지가 감이 안옵니다.정규식으로는 한계가 있을 것 같고LLM으로 하자니 할루시네이션 등의 문제가 발생할 여지가 있고요이런 관련된 강의를 진행하시거나,제가 강사님 3가지 로드맵을 다 구독중인데3개중 볼만한 강의가 있으면 회차좀 가이드부탁드립니다..
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실제로 작은 기업에서 기획 롤
안녕하세요 선생님,실제 필드에선 클라이언트의 요구 사항이 명확하지 않고, 기획자가 없으며, 개발자가 대부분의 일을 다 해내야 하는 경우가 있는데,클라이언트(대표님 또는 상사)와 소통, 기획서 작성, 설계, 개발까지 혼자 하게 될 때 현명하게 대처하는 방법은 뭐가 있을까요?큰 기업은 각자의 업무에 집중할 수 있겠지만, 작은 기업은 그게 쉽지 않은 걸 알고 있습니다클라이언트와 소통, 화면 기획 및 요구 사항 작성등은 어떤식으로 공부해야할까요?