묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
인텔리제이에서 legacy 프로젝트 그레이들 인식 불가
안녕하세요..열심히 강의를 듣고 싶지만 프로젝트가 그레이들 인식을 하지 못해서 코드조차 제대로 못보고 있습니다ㅠ 지금까지 해본 것intellij cache invalidate.idea 파일 삭제 후 그레이들 재빌드gradle.properties jdk 21 버전으로 되어 있어서 프로젝트 구조 및 세팅 모두 jdk 21로 동일하게 맞춤세팅에서 gradle default로 되어 있는거 intellij로 옵션도 변경 시도인텔리제이 업그레이드 (2023년 버전 -> 2025년)./gradlew build clean 명령어는 정상적으로 되는 것을 확인마음 잡고 오랜만에 공부하려 했는데 시작조차 안돼서 답답하네요 흑흑 ,,,어떻게 하면 좋을까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
오타인거죠?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 여기 고급 가죽 지갑으로 되어있어야할 것 같은데, 'SQL 마스터 가이드' 로 되어있어서 QnA 남깁니다.
-
해결됨3일 만에 끝내는 백엔드 면접 핵심 압축 공략집 [네카라쿠배당토]
강의평을 남겼는데 자료는 못 받는건가요?
dragonwaterr 로 인증까지 했는데 혹시 안도나요?
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
test.py 파일이 어딨나요?
.env.sample 만 보여서 test.py 를 올려준다고 말씀하셨는데. 자료에 없습니다 ㅠ
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
의존 방향에 대한 고민
안녕하세요. 최근 객체 간 의존 방향 고민에 많은 시간을 쏟고 있어 질문드립니다.핵심 질문도메인/서비스 간 의존 방향을 결정할 때 어떤 기준을 적용하면 좋을까요? "누가 누구를 알아야 하는가"에 대한 판단 기준이나 원칙이 있을까요? 저는 덜 중요한 개념의 변경이 중요한 개념에 영향을 주면 안된다고 생각하고 있었습니다. 그래서 중요한 개념이 덜 중요한 개념을 모르도록 코드를 짜려고 노력하는데요. 막상 개발할 때는 이게 잘 안되어서 고민에 시간을 많이 사용하거나, 타협하곤 합니다. 이런 상황이 이번 강의를 보면서도 나타나 질문글을 작성하게 되었습니다. 구체적인 상황그런데 강의에서 download 메서드를 CouponService로 이동하는 과정을 보고 다음과 같은 의문이 들었습니다:변경 후 구조:CouponService → OwnedCoupon, OwnedCouponRepository 의존OwnedCoupon → Coupon, CouponRepository 의존우려 사항:Coupon과 OwnedCoupon이 서로를 알게 되는 것이 순환 참조나 강결합을 유발하지 않을까? OwnedCoupon에 필드 추가 시, 기존에는 OwnedCouponService만 수정하면 됐지만 이제는 CouponService도 함께 수정해야 함논리적으로는 CouponService에 download 기능이 있는 것이 맞아 보이지만, Coupon과 OwnedCoupon이 서로 알게 되는 것이 괜찮은 설계인가? 이런 고민에 시간을 많이 쓰다 보니 개발 시간이 부족하다고 느껴집니다. 마감을 위해 구현 후 리팩토링하는 방식으로 진행하고 있지만, 리팩토링을 못할 때도 많고 마음의 짐으로 남는 것 같습니다.조언 부탁드립니다. 감사합니다.
-
해결됨김영한의 실전 데이터베이스 - 설계 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 시대 대체되지 않는, AI 네이티브 엔지니어를 위한 역량 미국 빅테크 시스템 디자인, 알고리즘적 사고 & 오픈소스 실무 기여 완성 코스
Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.
안녕하세요. transcoder service에 대해 문의 드립니다.해당 서비스는 음악파일에 대한 변환으로 이해했는데요. 그렇다면 변환 과정을 거쳐서 file storage 로 넣어야하지 않을까 싶어요.혹시 언급된 transcoder가 다른 의미가 있을까요?
-
해결됨김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션2 공통 코드) 애플리케이션 ENUM을 API에 그대로 노출한다면?
안녕하세요! 강의 정말 재밌게 보고있습니다궁금한 점이 있습니다애플리케이션 ENUM을 쓴다고 가정합니다.이때, (PENDING, 대기중)에서 PENDING만 API로 주면 안되나요? FE에서 PENDING을 보고 "대기중"으로 글씨를 띄우면 안되는 걸까요? 기획자의 요구에 따라서 "대기중"이라는 글씨의 변경 요청을 BE, FE 누가 담당하는게 맞는 건가요?
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
.claude 폴더 규칙 생성 방법
강의를 들으면서 강의에서 제공해주신 GitHub 프로젝트 코드를 참고하여 개인적으로도 별도의 프로젝트 파일을 만들어 수강하고 있습니다. 현재는 강의 코드가 제공되고 있어 .claude 폴더를 다운로드한 뒤 제가 만든 프로젝트에 추가하면 되지만, 추후 개인 프로젝트에서 AI를 활용해 개발한다고 가정하면 .claude 폴더를 프로젝트 특성에 맞게 커스텀해야 할 것 같다고 생각합니다.그래서 아래 두 가지가 궁금합니다.현재 제공해주신 .claude 폴더는 어느 정도 범용적으로 사용할 수 있는 구조인지 궁금합니다. 다른 프로젝트에서도 그대로 붙여넣어 사용해도 되는지, 아니면 프로젝트마다 반드시 수정해야 하는 핵심 포인트가 있는지 알고 싶습니다.처음 새 프로젝트를 만들면 .claude 폴더가 없는 상태인데, 프로젝트 기획과 규칙(코딩 컨벤션, 아키텍처, 역할 분리, 문서화 규칙 등)이 이미 정해져 있는 경우 .claude 폴더를 어떤 순서와 기준으로 새롭게 생성하는지 시작하는 방법이 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
NoSQL 질문있습니다.
NoSQL은 대규모 분산시스템 환경에서 CAP중에 AP을 주로 선택하는 모델이라 Eventual Consistency모델로 알고 있습니다. 하지만, NoSQL도 서버를 한대만 사용하면 Strong Consistency가 아닌가라는 생각이 들었습니다. 강의에서 설명해주신 NoSQL은 Eventual Consistency모델이다라고 하신거는 일반적인 사용환경이 대규모 분산시스템이기 때문에 Eventual Consistency라고 하신걸까요? 아니면 제가 잘못 생각하고 있는 것일까요?
-
미해결업무에 바로 쓰는 SQL 튜닝
FTS 방식으로 수행하는 나쁜 SQL 에서 질문이 있습니다.
LIKE 로 하면 불 필요한 것 까지 스캔할 수 있는가능성이 있다고 하셨는데요.말씀해주신 내용이 MySQL 에만 한정인가요?아니면 Oracle 이나 다른 DB 들도 동일하게적용되는 내용일까요?
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
EasyOcr 관련
강의 내용에 uv add easyocr관련 내용이 빠져 있는거 같습니다md 파일로 변환 할 때 에러가 나서확인 해보니 pip install easyocr 을 하라는 메세지를보고 설치를 했습니다
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
예약 변경 시 '과거 정책 기준 재계산' 요구사항에 따른 스냅샷 데이터 구조 설계 고민
안녕하세요 강사님. 지난번 '어드민 예약 변경 시 쿠폰 회수' 관련 질문을 드렸던 수강생입니다. 답변 주신 내용을 바탕으로 설계를 보완하던 중, 스냅샷 데이터의 범위와 확장성에 대해 추가적인 고민이 생겨 조언을 구합니다.[현재 아키텍처 상황] 현재 예약 테이블에는 예약 시점의 가격 정보를 JSON 형태의 스냅샷으로 저장하고 있습니다.이유: 가격 결정 요소(할인, 이벤트, 기업 지원 등)가 빈번하게 변경/추가되어 RDB 컬럼으로 대응하기 어렵기 때문입니다.저장 데이터: 현재는 '결과값' 위주로 저장합니다. (예: 적용된 할인 명, 타입(정액/정률), 최종 할인 금액)[직면한 문제: 변경 시점의 기준 모호성] 예약 시점(T1)과 변경 시점(T2) 사이에 정책이 변경되었을 때, 어드민에서 예약을 수정하면 어떤 정책을 따라야 하는가에 대한 딜레마입니다.만약 기획 요구사항이 "변경 시점(T2)의 정책이 아니라, 최초 예약 시점(T1)의 정책 조건을 유지한 채 금액만 다시 계산해 주세요"라고 한다면 문제가 복잡해집니다.현 구조의 한계: 현재 JSON에는 '결과(할인액)'만 있고 '조건(최소 결제 금액, 당시 허용된 옵션 목록 등)'은 없습니다.예상되는 부작용: 이를 해결하려면 예약 시점의 모든 검증 조건(Condition)을 JSON에 다 때려 넣어야 합니다.이렇게 되면 도메인 로직이 바뀔 때마다 JSON 스키마도 계속 비대해지고,과거 JSON 데이터와 현재 로직 간의 정합성을 맞추기 매우 까다로워질 것 같습니다.[질문] 이처럼 "빈번하게 변하는 가격 정책"과 "과거 기준 수정"을 동시에 만족해야 할 때, 실무에서는 보통 어떤 접근 방식을 취하나요?JSON 스냅샷 확장: 다소 복잡해지더라도 예약 시점의 검증 조건(Parameter)들까지 모두 JSON에 스냅샷으로 남기는 게 맞나요? (JSON 컬럼 사용이 잘못된 선택이었을까요?)Policy Versioning (정책 버전 관리): 아니면 가격/할인 정책 테이블 자체를 버전 관리(Effective Date 등)하여, 예약 시점의 policy_version_id를 매핑해두고 로직을 태우는 방식을 써야 할까요?현실적인 타협: 아니면 보통 어드민 변경 건은 "재계산 불가(단순 금액 입력)"로 처리하거나, "무조건 현재(T2) 정책"을 따르게 하는 등 복잡도를 낮추는 타협점을 찾나요?확장성 있는 가격 스냅샷 설계에 대한 강사님의 경험과 조언을 부탁드립니다..!
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
강의를 어떻게 보면 좋을 까요?
일단 ai 에이전시를 써서 대충 틀을 만들고 살을 붙혀라라는 느낌으로 듣고 있습니다. 결과 값이 다 다르니 강의와 비슷하긴 하나 같은 느낌으로 구현을 못하는데. 전체적으로 강의를 한 번 쭉 완강하고 흐름을 익힌 이후에 구현을 해보라는 건가요? 아니면 주신 깃헙 링크 보고 따라 해보면 될까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
섹션 3 퀴즈 3번 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 3 퀴즈 中3. 자식 테이블을 부모 테이블에 조인할 때, 결과 행의 수는 일반적으로 어떻게 변할까요?제가 이해한 걸 쿼리로 나타내면,SELECT * FROM [부모 테이블]JOIN [자식 테이블]이라고 생각했는데, 문제에서 말하는건SELECT * FROM [자식 테이블]JOIN [부모 테이블]인건가요?
-
해결됨AI 시대 대체되지 않는, AI 네이티브 엔지니어를 위한 역량 미국 빅테크 시스템 디자인, 알고리즘적 사고 & 오픈소스 실무 기여 완성 코스
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 어떻게 확인할 수 있을까요?
-
미해결[4주 과정] 『부트캠프 백엔드 개발자 편 with 스프링 부트』 완독 챌린지
JDBC 학습이 필수적인가요?
우선, 제가 가려는 기업에서 원하는 것은 springboot(와 API 계약 이해), bootstrap, postman, WebSocket 사용 이해입니다.이번년도 9월까지 개인 프로젝트 2개(각 1달)와 팀프로젝트 1개(2달)를 할 생각인데,springboot 학습과 동시에 프로젝트를 진행하기 전에 jdbc를 학습하는 것이 필수적인지 궁금합니다. 제 글에 부족한 부분이 있어서, 이해하기 어려우시면 답변으로 더 필요한 정보를 말씀해주시면 감사하겠습니다.