inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

아키텍처 테스트에 대해 질문있습니다.

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

강의를 NestJS로 적용해 따라가고 있습니다. 마지막 “ArchUnit을 이용한 아키텍처 테스트” 파트에서 Node/NestJS 환경에서는 어떤 방식으로 아키텍처 규칙을 테스트/검증하는 것이 좋은지 궁금합니다. 자바에서는 ArchUnit으로 레이어 규칙, 패키지 의존성, 순환 참조 등을 명시적으로 검사할 수 있는데, Node 진영에서는 유사한 도구로 무엇을 추천하실까요? 제가 찾은 것은 “ts-arch”였고, 폴더/슬라이스 의존성, 사이클 검사를 지원하는 것으로 보입니다. 적용을 하다가 실패를 했는데, 다른 방법이 있다면 조언 부탁드립니다. 😭 😭 😭

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
  • nestjs
문동민 댓글 3 좋아요 0 조회수 93

Part 2 강의는 언제쯤 나오는지 궁금해요

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

안녕하세요, 강의 정말 잘보았습니다!! Part1을 전부 보고 나니까 part2가 언제쯤 나올지 궁금해서 질문남깁니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
모짜르트 댓글 1 좋아요 0 조회수 73

레거시 프로젝트를 현대적 PK 설계 방식으로 변환하는 과정이 궁금합니다.

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

현대적 설계에서는 대리키 PK와 자연키 UNIQUE 제약조건으로 데이터베이스 설계하는 것이 합리적이고 안정적이라고 하셨는데요 아직 대부분 레거시 프로젝트는 자연키를 PK로 사용하거나, 일부 테이블은 대리키로 PK를 사용하지만 여전히 많은 테이블들은 해당 일부테이블의 PK를 FK를 사용하여 복합 PK로 생성하여 사용하는 경우가 많습니다. 이런 레거시 프로젝트들의 복합 PK를 대리키 PK로 변환한다고 하면 전체적인 데이터베이스 구조를 재 설계해야 하는것이 맞겠지만 만약 기존 운영중인 테이블 구조를 유지하면서 PK를 변환하게 된다면, 기존 운영중인 테이블에 대리키 PK를 생성 후 기존 사용중이던 복합 PK에 UNIQUE 설정을 추가해주는 방식으로 변환하면 큰 문제가없을까요? 아니면 비즈니스 상황에따라 추가 제약조건을 추가해야 할 것들이 있을까요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
브로콜링 댓글 2 좋아요 0 조회수 91

데이터 베이스 판단 기준

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요 실무에서 RDBMS, NoSQL을 선택하는 기준에 대해서 궁금합니다. 어떤 서비스에서 어떤 데이터 베이스가 더 적합한지 판단하는 기준이 궁금합니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
freejsut3 댓글 1 좋아요 0 조회수 63

spring 개념적인 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

스프링을 사용하는 이유 중 하나가 스프링 컨테이너를 통한 의존성 주입(DI)이라고 알고 있습니다. 그러면 스프링 컨테이너가 Bean을 관리하기 때문에, 자동으로 싱글톤 패턴이 적용된다고 이해해도 될까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
리꼬 댓글 2 좋아요 0 조회수 106

자바 2탄 3탄 커리큘럼 문의

해결됨

[Java 실무 프로젝트 입문편] 객체지향 사고력 훈련 - 미니 프로젝트 3종 실습

1탄부터 자바 웬만한 문법들은 다 이용해서 만드는거 같은데 2탄 3탄은 어떤 내용일지 궁금합니다 카프카, 하둡등 빅데이터 플랫폼 관련 기술스택을 배우고 싶어 필요한 자바 문법 (멀티 쓰레드, 서버 소켓 프로그래밍) 김영한님 자바 고급 편 2 ,3 편을 구매해 보고 있지만 멀티 쓰레딩, 동기화, 채팅 프로그램, http 통신, stream api등 잔득 배워 존재는 알겠는데 대체 이걸 어디에 어떻게 써야 하는건데? 라는 목마름이 있는 상태 입니다 다른 자바 강의들도 마찬가지로 문법의 메커니즘?? 문법을 되게 딥하게(ex 멀티쓰레드 하나만 20시간 이상 ) 강의 설명해주시는 강의가 과반수 였습니다(제가 물론 못찾을겁니다) 저같은 멍청이 입장에서는 모래사장에서 바늘찾기 마냥 소화를 못할 내용이고 강사님의 강의 철학과 같이 자바 기본 문법들을 배우고 다양한 예제를 단계별로 풀어보며 비로소 왜 이렇게 돌아가는지 메커니즘이 궁금할때 위에 딥한 강의를 찾아보는게 낫다고 생각이 듭니다 혹시나 이 소인의 의견을 긍정적으로 보시고 관련된 내용이 반영 된다면 제발 주니어 입장에서 자세한 설명과 쉬운거 부터 단계별로 다양한 문제로 부탁 드립니다 ㅠ 마지막으로 ㅇ..이러면 안되지만.. ㅎ..혹시 2, 3탄 ㄹ..론칭 할인 할인 쿠폰을 제공해주실 예정이 있으신가욥..?

  • java
  • intellij-idea
  • dip-principle
  • domains
  • validations
홍태경 댓글 1 좋아요 0 조회수 92

현업에서 많이 사용되는 상용 툴은 어떤게 있나요?

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요! 강의에서 상용툴에 대한 코멘트를 짧게 해주셨는데, ERD나 DDL 만들 때 현업에서 많이 사용되는 상용툴은 어떤게 있는지 궁금합니다!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
philE 댓글 1 좋아요 0 조회수 94

여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Getter @AllArgsConstructor public class MemberOrderStatDto { private Long memberId; private String memberName; private long orderCount; // 주문 수 (distinct) private BigDecimal totalAmount; // 총 매출 private Double avgItemPrice; // 아이템 평균 가격 private Long last7dOrderCount; // 최근 7일 주문 수 (서브쿼리) } 위와 같은 통계치를 여러 테이블을 조인하여 추출해내야 하는데, 이 경우에는 querysql로 쿼리를 작성하는 것보다 mybatis xml에 직접 쿼리를 작성하는게 더 효율적일까요?

  • java
  • jpa
  • querydsl
  • sql
sssom 댓글 1 좋아요 1 조회수 108

크롤링 관련 질문

해결됨

The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법

2주차 크롤링 관련 robots.txt에 적힌 규칙은 법적 강제력이 있나요? 지키지 않으면 어떤 문제가 생길 수 있나요?

  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 크롤링
musful 댓글 1 좋아요 0 조회수 141

부모 기본생성자 호출 타이밍

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

18:30분에서의 Child(){ this(7000); } 위 코드 실행 시, super();가 호출 되는 게 아니라 this(7000); 가 호출 되어서 Child(int x) { super(); this.x = x;} 타이밍이 이 때 아닐까요?

  • python
  • java
  • c
  • 정보처리기사
고순조 댓글 2 좋아요 0 조회수 65

섹션 2 - 12강 강의 제목 관련 질문있습니다.

미해결

마이크로서비스 디자인 패턴 완벽 가이드

안녕하세요. 강의 재밌게 잘 듣고있습니다. 섹션 2 - 12 목차가 Modular Monolithic Architecture 소개로 되어있는데, 실제 강의 내용이 Layered Architecture 관련 내용인 것 같습니다. 목차 명이 의도하신 것이 맞는지 궁금해서 질문드립니다!

  • java
  • spring-cloud
  • 디자인-패턴
  • msa
  • patterns
캬오옹 댓글 1 좋아요 0 조회수 81

실무에서 외래키의 사용

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요. 강의 잘 보고 있습니다! 다름이 아니라, 제가 알고있는 짧은 지식으로는 실무에서는 실제 외래키 관계가 있더라도, 외래키를 선언하는걸 지양하는 것으로 알고 있습니다. 혹시 영한님은 실무에서 외래키를 선언하여 외래키 제약조건 사용을 지향하셨는지가 궁금합니다!!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
mindecco 댓글 2 좋아요 0 조회수 102

SWAP 문법 활용 이유

미해결

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

안녕하세요 한기용 지식공유자님. 좋은 강의 잘 듣고 있습니다. ELT를 구현할 때 SWAP 명령어를 사용한 정확한 이유가 궁금합니다. 제가 찾아본 바로는 SWAP 명령어는 포인터 교체 방식으로 '즉시' 데이터와 메타데이터가 교체되므로, 무중단 배포가 가능하다는 것이 장점인 것 같습니다. 사실, 트랜잭션을 활용해도 같은 기능을 구현할 수 있을 것 같은데 메타데이터 복제를 빠뜨리는 것을 예방하고, 트랜잭션을 활용하였을 때보다 성능이 우수하고, lock을 예방하기 때문에 SWAP 문법을 활용하는 걸까요?

  • python
  • sql
  • airflow
  • snowflake
jjack 댓글 2 좋아요 1 조회수 129

도커 설치

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

윈도우 버전 이슈로 로컬에 도커를 설치 못하는 상황인데요 (예전에도 설치 이슈있어서 해결하려다가 실패) 혹시 해결 방법 알고 계실까요? 해결이 어려우면 깃허브 코드스페이스에서도 실습이 가능한 내용일까요

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Dev Jeon 댓글 1 좋아요 0 조회수 57

N day 리텐션 쿼리 관련 질문

해결됨

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

카일스쿨님 매번 친절한 답변 감사드립니다 정말 많이 배웁니다!! 🙇 N day 리텐션 쿼리에 관한 질문이 3가지 있습니다. 1. 맨 처음에 base 테이블 만들 때 DISTINCT를 왜 써야하는 건지 궁금합니다. (B방법 기준) first_date_and_diff 임시테이블을 만들 때 DISTINCT를 쓰는 것은, '동일 유저가 하루에 여러번 접속한 것을 중복 제거하기 위해' 사용하는 것으로 이해했습니다. 그런데 맨 처음에 base 테이블은 timestamp 컬럼이 있는데 어떻게 중복이 있을 수 있는 건지 헷갈립니다. 완전히 동일한 마이크로초에 여러번의 행동 로그가 기록될 수 있는 건지, 아니면 전산오류로 로그가 중복 기록이 될 수 있다는 건지,, 이해가 잘 안 됩니다 😢 2. 강의에서 보여주신 결과 테이블(diff_of_day | user_cnt)은 교안 330p와 다른 것이라고 이해했는데, 제가 이해한 것이 맞는지 확인 부탁드립니다! a) 강의 결과 테이블: 유저마다 시작일은 다를 수 있지만, 어쨌든 궁금한 건 각 유저들이 첫 접속 이후에 계속 쓰는지가 궁금한 것 → 가입일 코호트별로 그룹화하지 않아도 그자체로 의미가 있음 b) 교안 330p 테이블 : 강의 결과에서 한 단계 더 나아가서, 가입일에 따라 리텐션 추이에 차이가 있는지 더 쪼개보는 것 c) 만약 교안 330p 테이블처럼 결과를 출력하고 싶으면 , COUNT 집계할 때 GROUP BY와 SELECT에 first_date만 추가로 넣어주면 된다. (아래 쿼리 및 사진 참고) -- a) 강의 결과 SELECT diff_of_day, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_date_and_diff GROUP BY diff_of_day ORDER BY diff_of_day -- c) 교안처럼 출력하고 싶을 경우 SELECT first_date, diff_of_day, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_date_and_diff GROUP BY first_date, diff_of_day ORDER BY first_date, diff_of_day 3. Weekly 리텐션 파트에서 설명해주신 WEEK 함수는 어떻게 쓰는 걸까요? 아래 쿼리처럼 썼더니 WEEK 함수가 없다고 오류가 나던데, EXTRACT를 말씀하시려던 걸까요? EXTRACT는 제대로 나오는 거 같긴 합니다..! SELECT user_pseudo_id, event_name, event_date, DATE_TRUNC(event_date, WEEK(MONDAY)) AS event_week, EXTRACT(WEEK FROM event_date) AS event_week2, WEEK(event_date) AS event_week3 FROM( SELECT DISTINCT -- event_timestamp 기반으로 중복 제거 user_id, event_name, -- event_date, -- Firebase의 형태(ex. '20220813')와 다르니까, 아래처럼 직접 추출 DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul')) AS event_date, user_pseudo_id FROM advanced.app_logs WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03") 항상 감사드립니다!! 완강까지 달려보겠습니다!

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
  • 카카오공채-서비스
쿠쿸키 댓글 2 좋아요 0 조회수 94

draw.io 다크모드 어떻게 할수있을까요?

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

영한님 안녕하세요. 강의 영상 처럼 draw.io 다크모드로 변경하고 싶은데 어떻게 할수있을까요? 감사합니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
soap 댓글 2 좋아요 0 조회수 1222

예제 궁금증

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

실제로 실행을 못해보는환경이라서 질문하는건데, JobLauncher를 활용한 REST API 구현 의 예제같은경우 컨트롤러 하나를 생략없이 다 표현한거같은데 jobRegistry 는 di받지않았는데 어떻게 실행하는거임? 빼먹은건가? job = jobRegistry.getJob(jobName);

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
qwerty jon 댓글 2 좋아요 1 조회수 55

TransactionManager 분리

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

TransactionManager 분리 에 대해서 이해가 잘 가지 않는게 있어. 실제 운영 환경에서는 배치와 비즈니스 데이터 DB를 분리하는게 필수라고 했잖아? 근데 이 분리의 단위가 배치용 메타데이터 저장만 분리를 하는게 맞는거야? 현재 사이드 프로젝트에서 멀티모듈 구조에 (MSA는 아님) API 모듈과 배치 모듈을 따로 분리한 상태야. 유저 데이터에서 생일을 뽑아서 내일 생일인 유저에게 FCM 을 발송하는 배치를 만드는데, 이때 만들어준 예제처럼 @BatchDataSource와 비즈니스 로직용 @Primary DataSource를 분리하게 되면, API 모듈용 DB Connnection을 배치에서도 똑같이 갖다 쓰는거 아니야 ?? 즉, 배치에서 API 쪽 커넥션을 가져다 써서 배치가 돌 때 커넥션이 고갈날 수 있지 않을까? 라는 생각이 들었어 지금 이해한 바로는 @BatchDataSource, @BatchTransactionManager를 분리하고 주입해줘도 Reader -> Processor -> Writer 에는 @Primary 걸 쓰는것 같은데 맞아 ? 나는 DB 분리와 함께, 비즈니스 로직에 대한 커넥션, 트랜잭션도 배치용으로 분리하고 싶은데 이럴땐 어떻게 해야해? 특히나 배치에서도 JpaTransactionManager를 쓰고 싶은 경우에는 어떻게 해야해 ? 원하는 바는, API 처리용 DB 커넥션은 커넥션대로 있고, 배치 메타데이터용 커넥션 따로, 배치에서 라이브 DB에서 유저 데이터를 가져오는 커넥션 따로 구성하고 싶어 (배치가 API 모듈 에 영향을 주지 않았으면 해서,,,) 혹시 내가 강의를 제대로 이해를 못한거라면 알려줘

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
tjrwn0716 댓글 2 좋아요 1 조회수 73

변환된 문자열: 까지 작성하는게 맞나요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

20:40 정답 변환된 문자열: Nc sc 1 이게 맞을까요? 띄어쓰기는 따로 명시되어 있는게 아니면 위에 It is 8 띄어쓰기가 그대로 적용된걸까요? 기출보니 완전 멘붕이네요ㅜㅎㅎ..

  • python
  • java
  • c
  • 정보처리기사
강선민 댓글 2 좋아요 0 조회수 81

macOS Docker kafka 오류 관련

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

질문은 아니고 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 버전으로 받아서 띄워봤는데 잘 됐어요. 같은 문제 겪으신 분들도 그렇게 해보시기를 권해드립니다.

  • java
  • kafka
westhan 댓글 1 좋아요 2 조회수 69

인기 태그

인프런 TOP Writers

주간 인기글