inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

만들면서 배우는 클린 아키텍처 관련된 질문

미해결

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

강의에서도 잠깐 언급되지만, 전체적인 강의 내용이 만들면서 배우는 클린 아키텍처의 저자가 주장하는 내용과는 지향하는 바는 같지만 그 구현에 있어서 어느정도 거리가 있다고 느껴지는데요..! "만들면서 배우는 클린 아키텍처" 이 책을 읽으면서도 저자가 주장하는 내용이 좋은 아키텍처라는 생각이 들었었고, 그 지름길에 대해서도 많은 생각이 들었습니다. 그러다보니 강의에서 언급해주시는 일부 내용들은 이 지름길을 사용했다는 것으로도 저한테는 느껴지기도 하는데요. 하지만 또 다른 측면으로 토비 선생님께서 강의에서 말씀하시는 내용들이 매우 타당하고 이것 또한 매우 클린하며 헥사고날 아키텍처의 장점을 매우 잘 살리고 있다는 생각도 들었습니다. 제가 궁금한 건 "만들면서 배우는 클린 아키텍처" 에서 저자가 주장하는 내용들에 대해 토비 선생님께서는 어떻게 생각하고 계시는지 궁금합니다! 회사에서 많은 시니어 분들이 헥사고날과 관련해서는 저자마다 주장하는 내용이 다른 경우가 많으니 최대한 많이 접하고 스스로 기준을 삼는 것이 좋다라고 조언을 주시기도 하셔서 더욱 궁금하네요 ㅎㅎ:)!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
dydalehdxo 댓글 3 좋아요 0 조회수 258

타입 관련해서 질문 드립니다.

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 듣다 보니까. int형 변수를 toString 메서드로 반환하여 String으로 바뀐 값을 sout 출력으로 확인 시켜주시는대. 출력된 결과로 int형으로 출력된건지. String으로 출력된건지 알 수 있는건가요?

  • java
  • 객체지향
이정락 댓글 1 좋아요 0 조회수 61

강의내용 중 GenerationType.SEQUENCE 일 때 실습에서 생기는 차이점 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. https://inf.run/Viaq1 저도 이분과 같은 증상이 나타나서 여쭤봅니다. main메소드를 한번만 실행하여 진행하여도 em.persist() 메소드가 여러번 실행될 때 현재 값이 51이 아닌 101이 됩니다 혹시 24년도 최신버전으로 진행할때 자바는 17, 하이버네이트는 6으로 업데이트되면서 javax가 아닌 jakarta를 사용해서 생기는 일인지 궁금합니다

  • java
  • jpa
sj y 댓글 1 좋아요 0 조회수 145

toString() 하는 이유

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 11번 문제에서 toString을 해주는 이유가 뭔가요? reverse()까지만 하고 출력해도 잘 나오는데 왜 그렇게 하는건지 궁금합니다.

  • java
  • 객체지향
khcho1492 댓글 1 좋아요 0 조회수 102

Gradle 동기화 오류

미해결

나도! 스프링으로 인공지능을 할 수 있다(인프1탄)

완전 초보입니다. 온라인 강의 들으면서, 하나하나 단계별로 따라하고 있는데, Gradle 동기화 오류가 발생하고 있습니다. ChatGPT 답변에 따라 계속 해 봤는데, 해결이 안되고 있습니다. 처음에는 한글명으로 되어 있어서 문제인가 싶어서,, "한글명" --> yunkkim 으로 변경했는데, 그것도 해결책이 아닌거 같고, gradle.properties 파일을 추가해 보기도 하고,, 어찌 해결 해야 할까요? Multiple build operations failed. Could not move temporary workspace (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\dab9c5aa8765a6befd44e49da2bac9d1-1b58f335-d72b-448f-a093-89ca330d8ea9) to immutable location (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\dab9c5aa8765a6befd44e49da2bac9d1) Could not move temporary workspace (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\cfc6584c7a788e7d4dba5168f57ef3f7-cdad1752-221b-4e79-8033-98f49d023da3) to immutable location (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\cfc6584c7a788e7d4dba5168f57ef3f7) >

  • java
  • spring
  • spring-ai
김윤경 댓글 1 좋아요 0 조회수 161

안녕하세요 토비님

미해결

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

질문이 있어 남깁니다. 30. 회원 애플리케이션 기능 추가 강의 중 Activate 메서드를 작성하면서 설명해주신 Spring Data Jpa 사용시 save를 사용해야 한다고 공식문서에 나와있다고 하셨는데 해당 문서에 대한 링크를 알수있을까요? save를 안티패턴이라고도 설명을하고 불필요한 오버헤드 발생에 대해서는 어떻게 생각하시나요? 강의의 내용 처럼 JpaRepository가 아닌 Repository를 사용 하는경우에는 필수적으로 save를 해야 하나 JpaRepository의 경우는 Jpa 자체에서는 save라는 것이 없기 때문에 새로운 엔티티를 생성할때만 사용을하고 업데이트의 경우는 생략을 해야하는 것일까요?

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
홀리몰리 댓글 3 좋아요 3 조회수 1816

좋아요가 없는 경우 init으로 최초 생성 시 질문

해결됨

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

안녕하세요. 좋아요가 없는 경우 팩토리 메소드로 좋아요 객체를 생성하고 영속시키는 부분은 이해가 되었습니다. 그런데 비관적 락의 select for update 를 할 때 데이터가 없으면 row 도 없으니까 락이 안잡히지 않나요? row가 존재해야만 락이 생성되는게 아닌지 궁금합니다. 그리고 이 경우 신규 데이터를 생성할때 0으로 초기화 하고 1을 증가시켜 저장할 때 여러 요청이 있게 되면 다시 경쟁 상태에 놓이게 되는게 아닌가요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Woo-seok Choi 댓글 2 좋아요 0 조회수 109

커버링 인덱스 미사용

해결됨

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

안녕하세요 강사님, 강의 정말 잘 듣고 있습니다! 기존에는 항상 커버링 인덱스를 활용하셨었는데, comment_v2 인피니트 스크롤에서는 서브쿼리를 빼고 바로 전체 데이터를 조회하시더라구요. 혹시 특별한 이유가 있을까요? 커버링 인덱스를 일부러 포기한 구조인지, 아니면 path 기반 설계에서는 서브쿼리 자체가 필요 없어졌기 때문인지 궁금합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
박상추 댓글 2 좋아요 0 조회수 93

값 타입 컬렉션과 엔티티 차이점

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

강의 00:30 경에 List<Child> childList 가 나오는데요, 이거는 엔티티라고 하시고 이후에 값 타입 컬렉션을 코드를 보면 Set<String> favoriteFoods , List<Address> addressHistory 는 값 타입 컬렉션이라고 하시죠. 그런데 아무리봐도 엔티티와 값타입의 차이점이 뭔지 모르겠습니다. 값 타입 컬렉션의 테이블 구조가 위와 같은데 일반 1:N 엔티티 구조에서도 위와 비슷할 것같구요.. 강의 2분 55분 정도부터 언급하시는데 별도의 id 를 넣으면 엔티티라고 하시는데, 그렇다면 엔티티와 값타입의 차이점은 단지 별도의 id 유무인가요? 클래스 관점에서나 테이블 관점에서 둘의 차이점이 궁금합니다. 엔티티는 별도의 pk(id)가 존재하고, 값 타입은 엔티티처럼 별도의 하나의 pk는 존재하지는 않고 그저 여러 필드?컬럼?값들을 묶어서 pk로 구성하는 건가요? 이것이 맞다면 id차이 하나로 엔티티 따로 값 타입 컬렉션 따로 개념이 나뉘고 값 타입 컬렉션에는 별도의 어노태이션을 사용하고 삽입, 삭제, 변경의 방법도 다를 정도인건가요? id차이로 이렇게까지 나눌 이유가 있는건가요?

  • java
  • jpa
yoon6669 댓글 1 좋아요 0 조회수 151

자바 17버전으로 프로젝트 세팅

미해결

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

자바 17버전으로 할려면 프로젝트 파일 내 어떤것들을 수정 해야하죠?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
커디널스 댓글 2 좋아요 1 조회수 113

멀티스레드에서 가정

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

멀티스레드의 동작원리를 머릿속으로, 그림으로 그릴 때 실제 여러 쓰레드에서 특정 자원에 접근 또는 메서드 호출을 '물리적으로 동시에' 한다고 생각해도 괜찮을까요? (현대 컴퓨터의 경우 기본 CPU 코어가 멀티코어로 이루어져있어 가능하다고 하셨던게 기억납니다)

  • java
  • 네트워크
  • 객체지향
티티티 댓글 2 좋아요 0 조회수 76

dp를 이용한 계단 오르기

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

5번째 계단으로 오는 방법의 수가 8인 이유가 제가 이해한 게 맞는지 궁급합니다. i - 2번째 계단에서는 두 칸 점프 즉 +2가 붙는 경우를 고려한거고 i - 1번째 계단에서는 한 칸 점프 즉 +1이 붙는 경우를 고려한건가요? 5번째 계단을 구할 때 3번째 계단까지 오는 경우의 수는 3이고 이 3개의 경우에 전부 +2가 붙어서 5가 되고 4번째 계단까지 오는 경우의 수는 5인데 이 5개의 경우 전부 +1씩해서 5가 되어서 3 + 5 = 8이 되는 로직이 맞는지 질문드립니다.

  • java
  • 코딩-테스트
rlgus4531 댓글 1 좋아요 0 조회수 97

계단오르기

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int cnt = 0; public static void dfs(int sum, int n) { int[] arr = {1, 2}; for (int i = 0; i < arr.length; i++) { sum += arr[i]; if (sum == n) { cnt++; sum -= arr[i]; } else { if (sum < n) dfs(sum, n); sum -= arr[i]; } } } public static void main(String[] args) throws Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bufferedReader.readLine()); dfs(0, n); System.out.println(cnt); } } dp를 잘 몰라서 자력으로 dfs 방식으로 풀었는데 그닥 좋지 않은 접근일까요...?

  • java
  • 코딩-테스트
rlgus4531 댓글 2 좋아요 0 조회수 68

다대다 관계를 어떻게 풀어내야 할지 고민입니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원, 부서 테이블을 생성하다 고민이 생겨 해당 강의를 다시 복습해봐도 어떻게 하는게 좋을지 모르겠어 질문하게 되었습니다. 먼저 회원테이블은 회원 ID (PK) 부서 ID (FK, 부서테이블PK) , NULL 부서 테이블은 부서 ID (PK) 부서생성자 ID(FK, 회원테이블PK), NOT NULL 로 구성되어 있는 상황입니다. 필드의 개수를 최대한 간략히 나타내었는데, 이러한 상황에서 1. 중간테이블을 만드는게 나을지 ( 이 경우 유저ID, 부서ID, type{소속 or 생성}), 2. 회원테이블의 부서ID와 부서테이블의 회원ID에 각각 ManyToOne을 걸어주는게 나을지 더 좋은 방법을 찾기가 어려워 질문드립니다!

  • java
  • jpa
ho_0214 댓글 2 좋아요 0 조회수 138

gradlew build 후 문제

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] libs폴더로 이동 후 java -jar SpringRecture-0.0.1-SNAPSHOT.jar 실행했을 때 발생하는 오류인데 뭐가 문제인가요?

  • java
  • spring
  • mvc
  • spring-boot
키키호똥 댓글 1 좋아요 0 조회수 125

로그인 성공시

미해결

스프링 부트와 리액트로 구현하는 소셜 로그인

로그인 성 공시 defaultSuccessUrl 에서는 "/todos" 로 설정하고 successHandler의 CustomLoginSuccessHandler 에서는 "/" 로 되어 있을때 어디로 리다이렉트 되어야하나요? 설명에는 defaultSuccessUrl 가 우선순위라고 하셨는데, 실행해보면 / 로 갑니다.

  • react
  • java
  • spring-boot
  • jpa
  • spring-security
thbnsig 댓글 2 좋아요 0 조회수 98

노트북으로 강의 보는 사람들의 편의를 위한 다음 강의 개선 요청

미해결

Spring WebFlux + LLM 실전 구현

안녕하세요 강사님 IDE 작업화면을 최대로 해도 글자가 잘 안 보일 수 있는데 작업화면을 화면의 일부로 사용하고 오른쪽에 글을 보여주시면 노트북으로 강의를 보는 입장에서 글자가 작아서 잘 안 보입니다. 다음 강의에는 노트북으로 학습하는 학습자의 입장도 고려 부탁드립니다. 강의는 너무 좋은 내용입니다 ! 쵝오 😀 감사합니다.

  • java
  • spring
  • webflux
  • chatgpt
  • llm
아라레 댓글 1 좋아요 2 조회수 119

널 아님 단언 관련 질문

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님! 안녕하세요, 먼저 이런 좋은 강의를 만들어 주셔서 감사드립니다 🙂 다만, 듣다가 또 하나의 질문이 있어서 말씀드리고 싶습니다! 바로 널 아님 단언 관련입니다! 예제 코드에서는 아래와 같이 작성을 해주셨는데요! fun startsWith(str: String?): Boolean { return str!!.startsWith("A") } 이런 경우 str 파라미터가 null이 들어올 가능성이 있지만 해당 코드를 실행할때 null이 절대 아니야라고 명시적으로 표현하기 위하여 !!를 붙여준다고 이해했습니다! 다만, 이런 경우는 굳이 널 아님 단언을 사용하는게 아니라 파라미터의 String?타입을 String으로 두면 어떨까 싶은 생각이 들어서요! 이렇게 된다면 굳이 널 아님 단언을 사용할 필요가 없어 보이는데 다른 곳에서 사용하는 예시가 따로 있는지 궁금하여 질문을 드리게 되었습니다!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 1 좋아요 0 조회수 99

인기 태그

인프런 TOP Writers

주간 인기글