inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

@Builder에 대해 사소한 질문

미해결

코딩으로 학습하는 GoF의 디자인 패턴

강의 잘 듣고 있습니다! 강의를 듣던 중 궁금한것이 있는데요. 예를 들어 결제 API를 만든다면: - 금액, 결제수단: 필수 - 할인쿠폰, 메모: 선택 @Builder를 사용할 때 필수 파라미터 처리가 궁금합니다. 결제 API 같은 걸 만든다면 금액은 필수인데, @NonNull은 런타임 체크로 알고 있는데요. 프로그램을 실행해야 에러를 확인할 수 있었습니다. 필수 항목을 빠뜨리면 컴파일 에러가 나게 할 수는 없나요? 실무에서는 런타임 체크로 충분한가요, 아니면 중요한 객체는 컴파일 타임 체크를 위해 직접 구현해야 할까요?

  • java
  • 디자인-패턴
댓글 1 좋아요 0 조회수 84

FlatFileItemWriter의 FieldExtractor 커스텀 관련

미해결

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

킬구형 텍스트 강의임에도 몰입감 있는 구성에 연휴에 재밌게 공부하고 있어. 고마워 FlatFileItemWriter에 대한 흐름을 정리하고 질문 해볼게 1. sourceType() 메서드 내 객체 타입에 따라 FieldExtractor 구현체가 결정된다. 2. (Bug가 fix되기 전까지) sourceType() 메서드 내 객체 타입이 Record일 경우 names() 메서드 호출은 무시되고, Record 타입의 모든 property가 쓰일 수밖에 없다. 3. 그렇기에 Record 타입에서 필드 하나를 제외하고 파일을 쓰고싶다면, fieldExtractor() 를 사용한 커스텀 구성을 통하여 필드 하나를 제외해야 한다. 내가 강의를 보면서 정리한 흐름이고, 아래는 그 정리 중 나온 질문이야 Q1. BeanWrapperFieldExtractor 일 경우 필드 하나를 제외하고 싶다면, names() 에서 해당 필드만 제외해도 되나? Q2. 만약 위와 같은 방법이 된다면, RecordFieldExtractor 관련 Bug가 fix 된 후에 FieldExtractor를 직접 커스텀하는 경우가 별로 없지 않을까 싶은데.. 혹시 내가 생각하지 못한 부분이 있을까? 고마워 킬구형아

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
김강훈 댓글 3 좋아요 1 조회수 107

만약 조회수가 중요한 데이터라면 어떻게 해야 되나요?

해결됨

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

안녕하세요 강사님! 아직 완강은 아니지만 너무 재밌게 잘 보면서 많이 배우고 있습니다! 이번 강의를 보다가 궁금한 점이 생겨 질문을 남깁니다! 강의에서 제시해주신 조회수 라는 정보가 게시판이라는 도메인으로 보았을 때 비교적 중요하지 않다고 하신거에 충분히 동의합니다! 근데, 문득 조회수를 통해 수익이 발생하는 서비스(ex. 유튜브)에서는 중요한 정보 아닌가? 라는 고민이 생겼습니다. 중요한 정보인데 쓰기가 자주 발생하는 상황 에서 In-Memory 저장소를 메인으로 사용하고 RDB를 백업용으로 사용하면 위험하지 않나? 라는 생각이 들었습니다! 이럴 때에는 보통 어떻게 처리하시나요? (이럴 때 NoSQL을 사용하나요?)

  • redis
강민우 댓글 1 좋아요 0 조회수 74

실전 자바 중급 - 2편 후 추천 강의

미해결

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

안녕하십니까 ? 현재, 실전 자바 중급 2편을 듣고 있는 2년차 개발자입니다. 평소에 아무런 생각없이 사용하고 있던 자료 구조들에 대해 공부하게 되니까, 어떻게 사용해야하는 지와 왜 해당 자료구조가 시간복잡도 상 좋은 지에 대해 알 수 있어서, 새롭게 느끼고 있습니다. 혹시, 자바 관련해서 강의를 더 듣는 다면, 어떤 강의가 실무에 도움될지 궁금해서 여쭙습니다. 혹시나 더 추천하는 강의가 있으실까여?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
sonjs7554 댓글 2 좋아요 0 조회수 220

주니어 개발자가 더 나아가기 위한 조언을 부탁 드려도 될까요?

미해결

Java/Spring 주니어 개발자를 위한 오답노트

선배 개발자로서 알려주시는 강의 내용들이 정말 좋았는데요, 그와 더불어 앞으로 주니어 백엔드 개발자로서 어떤 역량을 조금 더 집중해서 키우면 좋을지 조언을 부탁드리고 싶습니다. 또, 아직 이를 수도 있지만 이직을 준비할 때 도움이 될 만한 공부 방향이나 추천해주실 만한 책이 있다면 알려주시면 감사하겠습니다. 강의 중간중간 소개해주시는 책들이 많아서 최근에 또 추천해주실 책이 생기셨는지 궁금합니다.

  • java
  • spring
  • 객체지향
  • 소프트웨어-테스트
  • 카카오공채-개발
fruits2lim 댓글 1 좋아요 0 조회수 114

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Spring Data JPA에 있는 인터페이스를 사용하는 경우가 많이 보이는데 강의에서는 EntityManager를 주입받아서 직접 구현하는 방식으로 설명해주신 이유가 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
원준 댓글 1 좋아요 0 조회수 153

실무적용 관련 질문드립니다

해결됨

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

회사 규모상 프로젝트를 혼자서 개발하는 경우, 강의의 내용을 적용해서 도메인 문서를 만드는 것이 개발에 대한 정리나 추후 다른 사람이 봤을 때 도움이 될 수는 있으나, 당장 시간에 쫓기기도 하고 다른 사람의 피드백 없이 혼자서 정리하다 보면 잘 정리하기 힘들다는 생각이 되는데요. 이런 상황에서의 정리는 오히려 도움이 안될 수도 있다는 생각이 드는데, 토비님께서는 어떻게 생각하시는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
우기 댓글 2 좋아요 0 조회수 118

JPA 프록시

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JPA 공부 중 프록시 객체부분에서 혼란이 있습니다. em.getReference()로 가져온 객체는 실제 엔티티가 아니고 프록시라는데, == 비교 시 언제 같고 언제 다른가요? 프록시 객체는 언제 실제 엔티티로 초기화되나요? (예: 필드 접근 시점? 트랜잭션 종료 시점?) 만약 영속성 컨텍스트에 이미 로드된 엔티티가 있을 때, em.getReference()를 호출하면 어떤 객체를 반환하나요?

  • java
  • jpa
이창민 댓글 1 좋아요 0 조회수 124

Kotlin과 Java의 현업에서의 활용

해결됨

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

안녕하세요. Kotlin과 Java의 현업에서의 활용에 있어 궁금한 내용이 있어 질문드려요. 서버를 개발하실 때 Kotlin과 SpringBoot를 활용한다고 수업시간에 지나가면서 잠깐 말씀해주셨는데요. 혹시 Kotlin + SpringBoot의 프로젝트 작업을 진행하실 때 전혀 Java를 사용하지 않고 활용하시는지 아니면 Java와 Kotlin을 같이 사용하는 지 현업에서 실제 어떻게 활용하시는지 궁금합니다. 그리고 Gradle에서 implementation("org.apache.commons:commons-lang3:3.0") 와 같은 외부 라이브러리를 Kotlin + SpringBoot 프로젝트에서 사용할 때 Java로 가져와서 사용하는지 아니면 Kotlin으로 따로 제작된 코드를 사용하는지 궁금합니다.

  • java
  • kotlin
  • springboot
  • spring
허건영 댓글 2 좋아요 0 조회수 160

java static class와 kotlin class

미해결

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

[질문 내용] kotlin으로 실습을 진행하고 있는데, java의 static class에서 static은 무슨 의미인가요? kotlin에서의 그냥 class와 같은 역할인 걸까요?

  • java
  • spring
  • mvc
  • spring-boot
김한주 댓글 1 좋아요 0 조회수 105

실무 레거시코드에 낙관적 락, 비관적 락 적용 시도

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

안녕하세요 현재 섹션 5_4-9. 낙관적 락, 비관적 락 부분을 듣고 있는데요. 현재 공공SI 고도화 개발팀에서 개발을 하고 있는데 동시성 제어 부분이 있는것 같아서 질문드립니다. 레거시 코드로 Oracle/ iBatis DAO / XML 환경이며 담당자가 신청에 대해서 접수하는 기능에서 소스분석을 통해서 봤을 때 기존 소스 흐름은 1. 작업확인용 테이블에서 현재 작업중인 목록이 있는지 확인(Select) 2-1. 작업중 목록이 없다면 작업확인용 테이블에 작업중으로 insert 2-2. 작업중 목록이 있다면 Exception 발생(작업중입니다.) 3. 해당 신청건에 대한 insert/update 진행 4. 작업확인용 테이블의 insert 했던 값의 상태를 작업완료로 Update * 작업중 상태가 있을 땐 다른 신청건에 대해서도 접수가 불가 입니다. 강의를 듣고 보았을 때 작업확인용 테이블의 존재 이유가 동시성 제어를 위함으로 보이는데 기존 흐름을 봤을 때 비관적락 > 배타락으로 적용하는것이 맞다고 생각이 드는데 맞는 접근일까요? 또한 비관적 락 적용시 작업확인용 테이블의 존재가 필요없어지는 걸까요? 해당부분을 건드리기에 부담이 가서 기존 방식대로 개발을 해놓은 상태이긴 한데 강의를 듣고 적용해볼 수 있지 않을까 생각이 들어 질문드립니다!

  • java
  • spring
Jin K 댓글 2 좋아요 1 조회수 131

람다 궁금한 점

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의를 아직 다 듣지 못해서 뒤에 관련 내용이 나올 수도 있지만 궁금해서 질문드립니다. 같은 람다식이 여러번 실행될 때마다 새 인스턴스가 생성되는 건가요, 아니면 JVM이 내부적으로 같은 람다식을 한 번 생성해서 재사용하는 건가요? 감사합니다!

  • java
  • lambda
yyy 댓글 2 좋아요 0 조회수 109

CQRS 설계 팁

해결됨

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

대규모 트래픽 환경에서 Write Service의 부하를 줄이기 위한 CQRS 설계 팁이 있을까요?

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
초보송이 댓글 2 좋아요 0 조회수 127

스트림과 for문 질문

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 스트림과 for문을 어느 경우에 선택해서 사용해야 할까요? 실무에서 스트림과 for문을 기준이 없이 남발하게 되면 오히려 코드 품질이나 성능이 악화될 수 있나요?

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
woo_ooni 댓글 1 좋아요 0 조회수 71

완강 후 학습 방향에 대한 질문

해결됨

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

쿠케님 안녕하세요! 우선 좋은 강의 제작해주셔서 정말 감사합니다. 강의 들으면서 대규모 시스템을 설계할 때는 어느 것을 신경써야 하고, 또 주의해야 하는지 많은 인사이트를 얻고 있어요. 추석 연휴 동안 제 나름대로 열심히 들어서 이제 한 개 섹션만 남았는데, 완강을 한 뒤에 강의에서 얻은 것들을 토대로 대규모 트래픽을 가정한 서비스를 설계하고, 개발해보려고 합니다. 강의로만 듣고 넘기기에는 아까운 내용들이 많아서 확실하게 제 것으로 만들어야겠다 싶더라고요. 일하면서 써먹으면 더없이 좋겠지만 아쉽게도 그럴 환경은 안 되어서요.. ㅎㅎ 그래서 나름대로 구상을 해보면서 강의를 듣고 있는데, 문득 강의에서 다룬 아키텍처와 기술을 한 번에 다 도입하는 건 오히려 학습 효율을 떨어뜨리는 선택이 아닐까 싶은 생각이 들어서요. 실무에서 Redis 정도는 사용해봤지만, 분산 데이터베이스나 MSA도, Kafka나 CQRS도 이 강의에서 처음 사용해봤습니다. 개념은 대충 주워 듣긴 했지만, 제대로 공부해본 적도 없고요. 결론적으로 하나씩 해보는 게 낫겠다 싶은데, 강의에서 다룬 내용 중 어느 것을 먼저 학습하는 게 좋을지 쿠케님께 조언을 구하고 싶어요. 물론 정답이 없는 문제지만, 지금 당장 제가 일하는 환경에서는 써먹을 일이 별로 없는 내용들이다 보니 무엇을 먼저 하는 게 좋을지 선택하기가 어렵네요. 감사합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
westhan 댓글 1 좋아요 0 조회수 76

메모리 가시성 문제가 발생하는 이유

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

멀티스레드 환경에서 메모리 가시성 문제가 발생하는 이유를, CPU 캐시와 메인 메모리 간의 데이터 갱신 시점 차이 때문이라고 이해했습니다. 그렇다면 이 현상은 하드웨어 수준의 문제로 봐야 할까요, 아니면 JVM의 메모리 관리 방식이 영향을 주는 걸까요? 또한, 이런 문제가 자바가 컴파일 언어이기 때문에 발생하는지도 궁금합니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
InflearnSang 댓글 1 좋아요 0 조회수 156

3강 18. null 질문

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 3강 18. null 강의를 보는 중 궁금한 점이 있어 질문 드립니다. 해당 강의 GC 섹션에서 말씀하신 참조하지 않는 인스턴스라는 부분이 null -> x001 -> null 이렇게 인스턴스에 값을 할당하는 과정에서 다시 null 을 할당하며 x001 이라는 참조 값이 사라져서 x001 값이 GC가 된다는 게 맞을까요? 아니면 해당 인스턴스 자체가 GC가 되는 걸까요? 강의 잘 보고있습니다. 감사합니다!

  • java
  • 객체지향
알파카 댓글 1 좋아요 0 조회수 92

데몬스레드가 어떨 때 사용이 되는지 궁금합니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 데몬스레드의 특징은 이해했는데, 어떨 때 사용이 되는 건지 궁금합니다. 그리고 현업에서도 보통 데몬 스레드를 사용할 일이 있나요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
hoo 댓글 1 좋아요 0 조회수 98

Kafka 대신 Redis Pub/Sub을 사용할 수도 있을까요?

해결됨

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

안녕하세요, 강사님! Kafka 관련 강의를 듣다가 기술 선택의 기준에 대해 궁금한 점이 생겨 질문드립니다. 현재 강의에서 Kafka를 이벤트 브로커(Event Broker)로 사용하고 계신데, Redis의 Pub/Sub 또는 Redis Streams 기능을 이용하면 비슷한 형태로 서비스 간 메시지 전달을 구현할 수도 있을 것 같다는 생각이 들었습니다. 그래서 아래 두 가지 부분이 궁금합니다 Kafka를 선택하신 이유 또는 기준이 무엇인지 예: 처리량, 확장성, 영속성, 장애 복구 등 기술적 관점에서 어떤 요소가 결정적이었는지 혹은 실제 서비스 환경에서 Redis 기반 메시징을 사용했을 때의 한계가 있었는지도 궁금합니다. 이벤트 브로커(Event Broker)와 메시지 브로커(Message Broker)의 개념적 차이 두 용어가 거의 비슷하게 사용되는 경우도 많은데, Kafka가 ‘이벤트 브로커’로 분류되는 이유가 무엇인지 알고 싶습니다. 실제로 시스템 설계 시, 어떤 기준으로 두 개념을 구분하고 선택하시는지도 궁금합니다. 제가 이해하기로는 Redis는 단순한 메시지 전달 중심, Kafka는 이벤트 스트리밍 및 데이터 파이프라인 중심으로 알고 있는데, 이 부분이 맞는 방향인지도 확인해보고 싶습니다.

  • kafka
  • redis
hobit22 댓글 2 좋아요 0 조회수 122

최적화 순서

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님, 최적화를 진행할 때 보통 어떤 순서로 고민하시나요? 예를 들어 트래픽이 몰릴 때 먼저 어디를 확인하고, 어떤 기준으로 개선 방향을 정하시는지가 궁금합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
전민서 댓글 2 좋아요 0 조회수 56

인기 태그

인프런 TOP Writers

주간 인기글