inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

MemberRegisterRequest 의 검증 방식으로 @Valid 와 초기화 스크립트의 차이가 무엇인가요?

미해결

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

안녕하세요, 토비님! 훌륭한 강의 너무너무 잘 듣고 있습니다. 토비님의 고견 덕에 제 개발 세계관을 정리하는데 도움이 많이 되고 있습니다. 감사합니다. 강의의 데이터 검증 파트에서 질문이 있습니다. MemberRegisterRequest 의 검증 방법으로 jakarta.validation 을 사용하도록 설명해주셨는데요. (1) MemberRegisterRequest 의 생성자 또는 팩토리 매서드에서 값을 검증하는 방식과 validation 어노테이션을 이용하는 방식을 어떻게 구분해서 쓰는지? 와 (2) validation 어노테이션이 활용되는 영역의 범위가 궁금합니다. 저는 코틀린 스프링부트로 강의를 따라가고 있어서 코틀린 기준으로 예시를 들면, 보통 저렇게 도메인 레이어에서 비즈니스 로직에 직접 사용되는 데이터를 검증하는 경우에는 코틀린의 init 블록 내에 비즈니스 관련 데이터 검증 로직을 넣어서 해당 클래스 객체의 데이터 정합성이 항상 보장되게 해왔는데요. (게다가 도메인 레이어의 클래스다보니 더욱 타 기술 의존 없이 검증하는 게 좋다고 생각해서 init 블록을 애용해왔습니다.) 반대로, Valid 는 외부로부터 입력 받은 데이터들의 아주아주 기본적인 데이터 타입 검증 용도(Nullable, 숫자, 이메일, 공백 여부 등) 정도로만 사용해왔습니다. 애초에 제공해주는 어노테이션의 기능이 비즈니스 의미를 담기엔 턱없이 부족해서, "데이터가 비즈니스 의미상으로는 틀릴 수 있어도, 타입 자체는 맞아" 정도만 보장해주는 용도라고 느꼈습니다. 그래서 강의에서 어플리케이션 서비스의 파라미터나 도메인 객체의 상태를 검증하는 용도로 사용하시는 모습이 조금 낯설게 느껴졌습니다. 어플리케이션 서비스 파라미터에 들어있는 데이터는 이미 컨트롤러에서 기본 검증은 끝난 데이터들이라고 생각해서요. 게다가 Valid 를 어플리케이션 서비스에서도 쓰기 시작하면, 컨트롤러와 서비스에서 중복 검사를 하게 될 것 같습니다. 이런 점들에 대해서 어떻게 생각하시고 어떻게 구분하시는지 그 기준이 궁금합니다. Q&A 의 다른 질문들에 대한 토비님의 답변들을 보면서도 많이 배우고 있습니다. 고견 감사합니다! 🙂

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
woonge 댓글 1 좋아요 0 조회수 359

4일차 과제 'SQLSyntaxError: Table not found Error' 질문

미해결

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

4일차 과제의 문제 1번을 해결하려고 코드를 작성하고 Table도 생성해서 run 해보았는데, 자꾸 Table not found 에러가 뜨면서 500 internal error가 발생합니다. 이 에러 때문에 테이블도 3번 다시 생성하고, show tables 했을 때도 table이 모두 잘 출력됩니다. 대소문자 바꿔서도 다 해봤는데 왜 이런 오류가 뜨는지 모르겠습니다..ㅜㅜ 도와주세요ㅠ

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

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

미해결

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

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

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

다운로드 문제

미해결

마인크래프트 게임을 활용한 파이썬 프로그래밍 완벽 이해

raspberryjuice, spigot이 다운로드가 전혀 안돼요

  • python
우유 댓글 1 좋아요 0 조회수 100

강의내용 중 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 조회수 147

Sink Connect시 테이블 생성아 안됩니다

해결됨

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

현재 my-sink-connect 등록도 잘되었고 아무 문제없이 작동을 잘 합니다. 또한 파워쉘을 통해서 데이터가 shema형태로 잘 통신되는 것도 확인 잘 되었습니다. 하지만 my_topic_users 테이블이 생성되지 않아 문제가 생겼습니다. 오류 메시지나 로그 또한 아무것도 나오지 않아 해결을 어떻게 할지 잘 모르겠습니다. PS C:\Work\kafka_2.12-3.4.0> .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my_topic_users --from-beginning {"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":1,"user_id":"user1","pwd":"1111","name":"userA","created_at":1753221466000}} {"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":2,"user_id":"user2","pwd":"2222","name":"userB","created_at":1753221589000}} mysql> use mydb; Database changed mysql> show tables; +----------------+ | Tables_in_mydb | +----------------+ | orders | | users | +----------------+ { "name": "my-sink-connect", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector", "delete.enabled": "false", "connection.password": "test1357", "auto.evolve": "true", "connection.user": "root", "tasks.max": "1", "topics": "my_topic_users", "value.converter.schemas.enable": "true", "name": "my-sink-connect", "auto.create": "true", "connection.url": "jdbc:mysql://localhost:3306/mydb" }, "tasks": [ { "connector": "my-sink-connect", "task": 0 } ], "type": "sink" }

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
댓글 1 좋아요 0 조회수 55

오류

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

print(5) 만 입력했습니다 >>> & C:/Python313/python.exe c:/Users/82109/OneDrive/Desktop/PythonWorkspace/ practice20.py File "<python-input-12>", line 1 & C:/Python313/python.exe c:/Users/82109/OneDrive/Desktop/PythonWorkspace/ practice20.py ^ SyntaxError: invalid syntax >>> 이런 오류가 뜨는데 어떻게 해결하나요?

  • python
양지우 댓글 1 좋아요 0 조회수 95

섹션1 강의자료

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

섹션1 강의자료 가 없는데 어디서 다운 받나요?

  • python
alb603 댓글 1 좋아요 0 조회수 89

divide 함수 축 질문

미해결

핵심만 빠르게, 입문자를 위한 파이썬(Python)과 판다스(Pandas)

안녕하세요! pandas 연산기능 강의에서 이해가 가지 않는 부분이 있어 질문 드립니다. df.divide(df.sum(axis=1), axis=0) 위 코드에서 열 축을 따라 왼쪽에서 오른쪽으로 나눗셈이 이루어지는데, 왜 axis=0 인가요? sum과 동일한 방향이면 똑같이 axis=1 이어야 할 것 같은데.. 헷갈립니다.

  • python
  • pandas
SB 댓글 1 좋아요 0 조회수 87

17강 강의중 문의드립니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요 강의 실습중 문의드립니다. 강의랑 똑같이 하던중에 저에게만 에러가 나는부분이 있어 문의드립니다. @Override public Long register(TodoDTO todoDTO) { Todo todo = dtoToEntity(todoDTO); dtoToEntity에서 에러가 발생합니다. Cannot invoke "java.lang.Long.longValue()" because the return value of "com.project.reactserver.dto.TodoDTO.getTno()" is null 에러가 발생하는데 당연히 tno값을 안넣었으니 null인데 강사님 강의에서는 잘 진행이 되는데 뭐가 문제인지.. 물론 TodoDTO에는 @Data 어노테이션도 작성했고 Setting에서 어노테이션 활성도 확인했습니다.

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
댓글 2 좋아요 0 조회수 97

안녕하세요 토비님

미해결

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

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

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

OrderedDict() 질문

해결됨

컴퓨터 비전 이상 탐지, 개발부터 배포까지 올인원 마스터

안녕하세요, 강사님. 질 좋은 강의 아주 잘 듣고있습니다. 파이썬 3.7 버전 이후부터는 dict 자료형도 삽입 순서가 보장된다고 하는데, 이 경우 OrderedDict() 대신 그냥 dict를 사용해도 괜찮을까요? 어떤 차이가 있을지 궁금해서 문의드립니다!

  • python
  • 머신러닝
  • 딥러닝
  • azure-databricks
  • 인공지능(ai)
나띵메로 댓글 1 좋아요 1 조회수 73

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

미해결

자바 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 조회수 156

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

미해결

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

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

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

작업형2 모의문제1 13:20가량

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

너무 초보적인 질문일 것 같은데, test로 대입하지 않으시고 왜 test_id에 대입하신걸까요? 하나의 칼럼으로 만들어두신 게 맞나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
kimjw528 댓글 2 좋아요 0 조회수 78

AWS LighSail 접근 불가

미해결

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

AWS에 Free Tier로 가입했는데, LightSail에서 인스턴스 생성을 클릭하면 403 화면과 함께 아래 글이 뜹니다. 제가 가입시 설정을 잘못 한건지, 최근에 무료로 lightsail 이용이 불가해진 건지 모르겠습니다. AWS에도 문의중인데, 여기에도 문의드립니다. Free account plan access limitations Free account plans have limited access to certain services. If you are using a free account plan, you will need to upgrade to a paid account plan to access Lightsail. Learn more about how to upgrade your account plan

  • python
  • 동시성
  • FastAPI
t6422234 댓글 1 좋아요 0 조회수 162

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

미해결

자바 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

17강 질문

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

강의 17 부터는 서버와 데이터베이스가 따로 필요한걸까요? 서버를 따로 구축해야 되는지, 데이터베이스를 추가로 설치해야 되는건지 궁금합니다

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
댓글 2 좋아요 0 조회수 115

인기 태그

인프런 TOP Writers

주간 인기글