묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Native Query와 MyBatis
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 대부분을 jpa로 작성하고(jpql, QueryDSL), 극 소수의 안되는 것들에만 JDBC Templates, MyBatis를 이용하는 것으로 이해했습니다. 1) 그렇다면 가급적 Native Query는 사용을 지양하는게 좋을까요? Native Query를 사용해야할 정도라면 사실 JDBC Templates나 MyBatis를 이용하는게 나을테니까요. 2) 만약 그렇다면 MyBatis 등을 처리하기 위한 패키지를 따로 구분해서 처리를 하게 되나요? 이 경우에 .flush()를 처리하기 위해서 entityManager 인스턴스도 가져와서 따로 해줘야할 것 같은데, 구조가 조금 복잡해지지 않을까? 걱정 됩니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
entity 내부에 passwordEncoder 를 넣는다면 결합도를 높게 만들게 되는 것 아닌가요?
일단 제가 배운대로면 결합도를 낮추는 것이 좋은 코드라고 배웠는데, 왜 그렇게 만드셨는지가 궁금합니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
인메모리 DB, 테스트 컨테이너 선택 기준이 있으신지 궁금합니다
강의에서는 H2 인메모리 DB를 이용해 테스트를 진행하셨는데,실무에서는 테스트 환경에서 실제 MySQL이나 PostgreSQL 같은 실제 운영 DB와 동일한 컨테이너 기반 테스트 DB를 사용하는 경우도 많은 것 같습니다.실무에서는 인메모리 DB와 컨테이너 DB 중 어떤 상황에서 어떤 것을 선택하시는지, 선택 기준이나 장단점에 대해 조언을 받을수 있을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
8강 도메인 모델과 DDD 내용에 대해 질문있습니다.
8강 도메인 모델과 DDD 에서코드의 내용이 도메인에도 반영이 되어야 할 때도 있다고 하셨는데 예시를 들어 주실 수 있을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
도메인의 응집도와 모델 복잡도간 밸런스 고민
강의 너무 재미있게 듣고 있습니다.도메인이라는 개념에 대해서 고민하다가 궁금한 사항이 생겨서 질문드립니다. "도메인 모델이 비즈니스 규칙을 모두 내포하면 응집도는 높아지지만, 복잡도도 함께 커집니다. 이때 어디까지를 도메인 모델에 포함시키는 게 적절할까요?"
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
Application Service와 Domain Service를 명확하게 이해한 건지 궁금합니다.
Application Service에서는 흐름을 관리하고 (예를 들면 DB에서 데이터를 가져오는 등) Domain Service는 복잡한 비즈니스 로직을 처리하는 역할로 이해를 했는데 이해한 것이 맞을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
빈약한 도메인 모델을 보완하기
안녕하세요. 빈약한 도메인 모델에 관하여 질문이 있습니다.현재 개인적으로 진행하는 프로젝트에서 데이터 홀더 역할정도만 하는 빈약한 도메인 모델이 있습니다.repository에는 테이블의 상태 컬럼을 업데이트하는 메소드가 존재하는데 이를 도메인 모델 내부에 메소드를 만들어 업데이트하고 repository의 save를 통해 엔티티의 상태를 update하는 것이 강의에서 의도한 내용으로 이해했는데 맞을까요?추가로 이런 경우(비즈니스 로직이 복잡하지 않은)에 꼭 도메인 모델이 없어도 될지 궁금합니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Deprecated 관련 사항들
보통 실무에서는 deprecated된 사용할때 발견하면 그때 그때 찾아보나요? 아니면 항상 up-to-date하는 공부방법이 따로 있나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]영속성 컨텍스트는 1차 캐시와 쓰기 지연 메모리가 있다고 강의에서 배웠습니다. 이 부분은 클라이언트단에서 관리하는 것인지 서버라면 어디에 저장되고 어떻게 관리되는 메모리인지 궁금합니다. (ex. 힙 등)
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JPA entity와 도메인 모델을 분리하는 케이스에 대한 질문입니다.
JPA entity와 도메인 모델을 분리하는 케이스에서 데이터 저장 기술이 바뀌는 경우 Spring Data를 사용하면 해당되지 않는다고 하셨는데 JPA에서 MyBatis로 변경하는 경우도 Spring Data로 커버가 가능한가요? 회사에서 JPA로 개발을 진행중인데 MyBatis로 마이그레이션을 해야할수도 있어서 질문드립니다.
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
댓글 생성, 삭제 시 게시글의 댓글 수 증감 로직 질문
안녕하세요. 코드에서 궁금한 점 질문드립니다.댓글 생성, 삭제 시에 게시글의 댓글 수 증감 로직이 아래 예시 코드처럼 CommentService에서 이루어지고 있는데 과한 책임이 아닌가 싶어서요. 실무에서는 어떻게 나누게 되는지 궁금합니다. public CommentResponse createComment(Long postId, CommentRequest request) { Post post = postRepository.findById(postId) .orElseThrow(() -> new IllegalArgumentException("게시글을 찾을 수 없습니다.")); Comment comment = Comment.builder() .content(request.content()) .postId(postId) .createdAt(LocalDateTime.now()) .updatedAt(LocalDateTime.now()) .build(); Comment newComment = commentRepository.save(comment); post.increaseCommentCount(); postRepository.save(post); return CommentResponse.from(newComment); }
-
미해결Practical Testing: 실용적인 테스트 가이드
컨트롤러는 모킹을 한 이유가 궁금합니다.
강사님은 Classicist 쪽에 속하셔서 Service를 테스트할 경우 Repo도 포함한다고 하셨었는데 Controller에서는 MockMvc를 활용하셔서 따로 테스트한 것으로 알고 있습니다.컨트롤러 - 서비스, 레포지토리의 관계와 서비스 - 레포지토리의 관계에서 어떤 차이점 때문에 이렇게 구성하신 것인지 궁금합니다.
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
아키텍쳐 선택의 순수한 질문드립니다.
안녕하세요 토비님! 순수한 궁금증이 생겨서 질문 드립니다!아키텍처마다 장단점이 있다고 생각합니다. 프로젝트의 규모나 확장성 여부에 따라 어울리는 아키텍처가 다를 것 같은데요, 토비님은 현업에서 어떤 기준을 가장 중점적으로 두고 아키텍처를 선택하시는지 궁금합니다!
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
Service 소형 테스트 질문
서비스를 소형 단위로 테스트하기 위해 Fake 클래스를 구현하는 실습을 진행하셨는데요.테스트 코드는 결국 구현된 기능이 정상적으로 동작하는지 검증하기 위한 것이라고 생각하는데요~그런데 H2 DB를 직접 띄워 테스트하는 방식과 비교했을 때, Fake 객체를 활용한 방식은 구현 방식에 따라 실제 동작과의 괴리가 생길 수도 있을 것 같은데, 이런 접근이 실제로 효과적인 테스트 방법인지 궁금합니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JPA 모델과 도메인 모델을 분리했을 때 식별자는 어디에 두는 게 맞을까요❓
안녕하세요 토비님 🙃여러 데이터 접근 기술을 병행해야 하는 상황에서, 도메인 모델과 JPA 모델을 분리해서 관리하고 있습니다.이때 한 가지 궁금증이 생겼습니다.RDB 외의 데이터 접근 기술(예: Redis, MongoDB 등)을 고려하면 도메인 모델에서도 식별자(ID) 개념이 필요할 것 같은데, 이런 경우 도메인 객체가 ID를 직접 가지는 것이 괜찮을까요?만약 괜찮다면, 이는 RDB의 책임(시퀀스, AUTO_INCREMENT 등)에 위임하지 않고, 별도의 UUID나 Snowflake ID 등 도메인 차원의 식별자 생성 전략을 두어야 할 것 같은데 이런 방향성에 대해 어떻게 생각하시는지 궁금합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
아키텍처 테스트에 대해 질문있습니다.
강의를 NestJS로 적용해 따라가고 있습니다. 마지막 “ArchUnit을 이용한 아키텍처 테스트” 파트에서 Node/NestJS 환경에서는 어떤 방식으로 아키텍처 규칙을 테스트/검증하는 것이 좋은지 궁금합니다.자바에서는 ArchUnit으로 레이어 규칙, 패키지 의존성, 순환 참조 등을 명시적으로 검사할 수 있는데, Node 진영에서는 유사한 도구로 무엇을 추천하실까요? 제가 찾은 것은 “ts-arch”였고, 폴더/슬라이스 의존성, 사이클 검사를 지원하는 것으로 보입니다. 적용을 하다가 실패를 했는데, 다른 방법이 있다면 조언 부탁드립니다. 😭😭😭
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
Part 2 강의는 언제쯤 나오는지 궁금해요
안녕하세요, 강의 정말 잘보았습니다!!Part1을 전부 보고 나니까 part2가 언제쯤 나올지 궁금해서 질문남깁니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
spring 개념적인 질문
스프링을 사용하는 이유 중 하나가 스프링 컨테이너를 통한 의존성 주입(DI)이라고 알고 있습니다.그러면 스프링 컨테이너가 Bean을 관리하기 때문에, 자동으로 싱글톤 패턴이 적용된다고 이해해도 될까요?
-
미해결실전! 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에 직접 쿼리를 작성하는게 더 효율적일까요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
CSR , SSR 의 수요 궁금증 질문
안녕하세요, 개인적으로 궁금한 게 있어서 질문드립니다.요즘 React Router를 보면 SSR 프로젝트를 위한 프레임워크가 나오는 등, 서버 사이드 렌더링 환경을 지원하는 방향으로 발전하고 있는 것 같더라고요.그래서 문득 궁금해졌는데,요즘 시장에서는 CSR방식의 수요가 많이 줄어드는 추세인가요?아니면 여전히 CSR 중심의 프로젝트도 많은 편인가요?현재는 CSR 기반으로 개발하고 있는데, 앞으로의 흐름을 생각하면 SSR 관련 기술도 공부해야 할지 고민 중입니다.현업에서 체감하시는 부분이나 조언을 듣고 싶습니다