묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
AI 시대에서 공부와 실무의 관계를 어떻게 바라봐야 할까요?
안녕하세요 토비님.강의에서 말씀하신 공부할 때는 AI 관련 도구를 끄고 지식을 습득 해야 한다는 부분이 인상 깊었습니다.이전에도 공부와 실무 사이에는 늘 간극이 있었고, 이번 강의는 그 간극을 인지하고 실무적인 관점에서 방향을 잡을 수 있도록 도와주신다고 느꼈습니다.그런데 요즘은 AI가 빠르게 보편화되면서, 공부와 실무의 관계가 또 다른 형태로 변화하고 있는 것 같습니다.실제로 신규 업무나 개인 프로젝트에서 AI의 활용 방식과, 기존 시스템을 지속적으로 개선하거나 확장하는 과정에서의 AI의 활용 방식이 다르게 느껴집니다.이런 변화 속에서 AI를 새로운 학습 형태이자, 학습과 실무를 잇는 새로운 도구로 봐야 할지, 아니면 보조적인 수단으로 바라봐야 할지 고민됩니다.토비님은 실무에서 AI를 어떤 방식으로 활용하고 계신지, 그리고 이 시대의 개발자가 어떤 균형점을 가져야 한다고 보시는지 궁금합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
도메인엔티티와 JPA 엔티티 분리 문의
안녕하세요. 도메인 엔티티와 JPA 엔티티를 아예 분리하는 case도 있는지 궁금합니다. 예를들어 Domain 패키지에는 순수한 도메인 클래스들만 모아놓고 JPA에선 도메인 엔티티 -> JPA엔티티로 변환해서 사용하는경우도 있나 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 접근 및 DB 락
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]데이터 베이스 접근 및 DB 락에 대해서 학습을 하면 "동시성 이슈" 그리고 "트랜잭션 격리성" 에 대한 전반적인 DB Lock 이슈 관리에 도움이 될까요??
-
해결됨프로덕션 레벨 실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지 (Kotlin & Spring)
엔티티는 Data Class로 작성하면 안되나요?
아직 코틀린에 익숙치 않은데 어떤 경우 Data class를 선언하고 어떤 경우 일반 class를 선언하는지 감이 안잡히네요.추가로 object나 compainon object는 어떤 경우 사용하게 되나요?
-
미해결[1.5탄] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
@GetMapping은 단순 축약일까요? 다른 차이는 없나요?
안녕하세요, 이번 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다. 강의에서 @RequestMapping(method = RequestMethod.GET)을 @GetMapping으로 축약할 수 있다고 배웠습니다. 그런데 이런 축약 어노테이션들이 단순히 가독성만을 위한 것인가요? 아니면 성능상의 차이도 있나요? 왜 굳이 이렇게 나뉘어져서 존재하는지 궁금합니다.
-
미해결토비의 스프링 6 - 이해와 원리
스프링빈과 Clock 클래스 관련
안녕하세요, 토비님. 좋은 강의 항상 감사드립니다.Clock 관련해서 궁금한 점이 있어 질문드립니다.스프링에서 빈은 기본적으로 싱글톤으로 관리된다고 알고 있습니다.그런데 만약 Clock을 빈으로 등록하고 Clock.fixed...로 고정된 시계를 만든다면,여러 스레드가 동일한 Clock 인스턴스를 공유하게 될 텐데요.이 경우 동시성 문제가 발생할 가능성은 없는지 궁금합니다.
-
미해결토비의 스프링 6 - 이해와 원리
Seprate Interface 패턴에 대한 궁금증
안녕하세요, 좋은 강의 올려주셔서 감사합니다.Seperate Interface 패턴에 대해 궁금한 점이 있어 질문드립니다. "오브젝트와 의존관계" 세션의 마지막 강의에서, DIP를 적용하기 위해 payment 패키지에 ExRateProvider 인터페이스를 두고, 해당 인터페이스를 exrate 패키지에서 구현한다고 알려주셨습니다. 저도 직접 코드를 따라서 작성해보니 훨씬 깔끔하다는 느낌이 들었는데요. 그런데 사실 제가 실무에서 개발을 하면서 저런 구조를 경험해보지 못했습니다. 저는 Spring MVC를 사용하는데, 흔히 사용하는 controller-service-repository 패키지 구조에서 repository 패키지 아래에 인터페이스를 만들어서 그대로 쓰거나(JpaRepository) 필요하면 구현체를 만들어서 쓰는 방식으로 개발을 해왔습니다. 그래서 다음 2가지가 궁금한데요.1) Spring MVC를 사용하는 경우에도 알려주신 Separate Interface 패턴을 적용할 수 있나요? 아니면 프로젝트의 설계 자체가 달라져야 하는 것인가요?2) 실무에서도 Seperate Interface 패턴을 많이 적용하고 있나요?스프링을 더 잘 이해하고 코드를 더 잘 작성하고 싶었는데,강의 들으면서 많이 배우고 있습니다. 감사합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
헥사고날 아키텍처와 DDD
5년차 백엔드 개발자 이며 현재 섹션5. 헥사고날 아키텍처의 사실과 오해를 학습하고 있습니다.현업에서 신규 프로젝트를 준비 하면서 어떤 아키텍처를 가져가는 것이 좋을지 고민중에 강의를 접하게 되었습니다. 부동산 관련 데이터를 기반으로 한 서비스를 개발 및 설계 단계에 있습니다. 제가 전부 리드하는 것은 아니지만 프로젝트 전반적인 부분을 개발 리드분에게 권한을 받고 저와 팀원 둘이서 백엔드 구조를 설계 하고 있습니다.수천만건 그 이상이 될 수 있는 데이터를 기반으로한 서비스를 계획 및 설계하고 있는데, 자바 스프링으로 서버를 구축 하려고 하는데 헥사고날 아키텍처를 저와 팀원은 경험 하지 못하였는데, 확장성 있는 서비스를 만들기 위해 헥사고날 아키텍처 기반으로 어떤 구조 설계를 하는 것이 좋을지 ,,, 조언 부탁드립니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
후속 강의 출시 예정일 문의
안녕하세요!좋은 강의 제작해주셔서 감사합니다.토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 파트2 강의는 언제쯤 나오는지 알 수 있을까요??
-
미해결토비의 스프링 6 - 이해와 원리
테스트의 기준을 어떤식으로 설정하는 것이 바람직한 테스트일까요 ?
안녕하세요. 토비님!강의 정말 잘 듣고 있습니다. 테스트 코드를 작성해본 경험이 많지 않아서강의 내에서 테스트 단원을 보다가 궁금한 점이 있어서 질문드립니다. 강의의 예제는 paymentService 를 테스트 하는 코드를 작성하시고,스프링을 이용하지 않는 방법과 스프링을 이용해 DI 를 통한 테스트를 진행합니다.코드는 paymentService 의 prepare 메소드 하나를 검증하는데,사실은 3가지 목적. 적용환율, 원화 환산 금액, 원화 환산 금액 유효시간을 테스트 합니다.실제로 현업에서 사용하는 서비스 에서는 보다 많은 코드와 기능이 존재할테고,그에 따른 경우의 수도 기하급수적으로 많아질거라고 생각해요. 그렇다면 보통, 어떤 기준을 통해 테스트를 작성하는 것이 바람직한 테스트 일까요 ?예를들어 제가 생각해본 여러가지 방법은 다음과 같습니다.단순히 prepare 메소드 하나만. 메서드 단위로 테스트를 진행.메서드 안에 존재하는 메서드(예시 코드에서는 provider 메서드) 단위.목적에 따라서. 적용 환율을 잘 가져오는지, 원화 환산 금액이 잘 계산 되는지, 유효시간을 잘 지키는지.그 밖에 여러가지 방법.예를들어 기능이 잘 작동하는지 크게 테스트 한 뒤, 내부적으로 변동사항이 있을 법한 코드만 따로 분리해서 테스트. 물론, 프로젝트 특성이나 팀의 컨벤션, 서비스 코드를 작성할 코드의 특성에 따라서 달라지겠지만테스트 코드를 작성할 때는 너무 작게도, 그렇다고 너무 뭉뚱그려서도 안된다고 이해하고 있습니다.보편적으로 어떤 기준을 가지고 테스트 코드를 작성하게 되나요 ?
-
미해결Practical Testing: 실용적인 테스트 가이드
테스트 문서화 질문입니다
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. BDD 설명하시면서 개발자가 아닌 사람이 봐도 이해할 수 있을 정도의 추상화 수준을 권장한다고 하셨는데요 작성한 테스트를 따로 문서화 하기도 하시는지 궁금합니다!
-
미해결스프링 프레임워크 입문자를 위한 따라하기
Spring Legacy Project 생성 불가
전자정부 프레임워크 3.10 버전으로 강사님의 강의를 따라하고 있습니다. 그런데 새로운 프로젝트를 생성할 때 Spring Legacy Project가 뜨지 않아 찾아보니, 전자정부 프레임워크 3.8 버전 이상에서는 따로 설정을 해줘야 하더라구요. 블로그를 찾아보며 설정을 해줬는데도 제대로 동작하지 않아 그냥 Maven 프로젝트로 생성해서 구성을 맞춰가고 있습니다ㅠ 혹시 전자정부 프레임워크 버전을 낮춰서 3.7이나 3.8로 해도 문제가 없을까요?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Querydsl 도입
querydsl이 쿼리를 코드로 작성하여 컴파일 시점에 오류를 감지할 수 있는게 가장 큰 장점인데 Spring JPA와 혼합하여 사용할떄 그 외에 장점이 또 있을까요 레거시 쿼리는 이미 사용되고 있어 이를 전환하기 위해 먼가 더 장점이 필요할 것 같아서요 아니면 레거시는 두고 신규 추가되는 부분만 Querydsl를 도입하는 식으로 가면 될까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
속성 값 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.th:checked="false"로 설정하면 렌더링 후에 checked 속성이 완전히 없어지던데,이건 타임리프가 내부적으로 속성을 아예 제거해주는 건가요? 아니면 단순히 비워두는 건가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
단위테스트 질문이 있습니다
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 단위테스트할때 항상 궁금했던 점이단순한 CRUD도 테스트코드를 구현해주는 게 맞는걸까요?JPA 기능을 그대로 적는? 느낌이 나서 굳이 필요한 테스트코드인가 하는 생각이 항상 드는데 왜 구현했는지에 대한 시나리오를 @DisplayName 적곤 하지만 뭔가 불필요하다는 생각이 가끔 들기도 하는데 다 적는 게 맞는거겠죠??
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
entity 내부에 passwordEncoder 를 넣는다면 결합도를 높게 만들게 되는 것 아닌가요?
일단 제가 배운대로면 결합도를 낮추는 것이 좋은 코드라고 배웠는데, 왜 그렇게 만드셨는지가 궁금합니다!
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
fetch join DISTINCT 중복제거
fetch join 부분이 조금 어렵게 느껴져서, gpt에게 물어보며 공부했습니다.강의에서 fetch join으로 나온 중복 데이터를 DISTINCT 키워드를 이용해서 제거해주시는 부분을 보았는데, gpt가 다음과 같이 설명해주는 것을 보았습니다.DISTINCT 키워드가 SQL과 JPA 양쪽에서 다르게 동작하기 때문에 완전한 중복 제거가 보장되진 않습니다.이 말이 맞다면 현업에서는 이런 문제를 어떤 식으로 해결하는지 궁금합니다!
-
미해결Spring WebFlux + LLM 실전 구현
순수 webflux 프로젝트의 가독성 팁 그리고 향후 kotlin을 활용한 프로젝트 계획이 있는지 궁금합니다.
안녕하세요. 좋은 강의로 덕분에 webflux에 대해 쉽게 이해할 수 있었습니다. 저는 현재 kotlin으로 개발하는 프로젝트가 있어,webflux를 사용할때는 coroutine을 함께 사용하는데요, 이렇게 하면서 코드를 함수형처럼 짤 수 있어 보다 쉽게 동료들에게 보여줄 수 있었습니다. 혹시 강사님께서도 coroutine을 함께 사용하기도 하시는지, 그렇다면 java가 아닌 kotlin을 사용한 강의 계획이 있는지 궁금합니다.또한, 강의에서 쉽게 설명해주셨지만 비즈니스 로직이 좀 더 추가되는 경우 코드가 많이 복잡하고 가독성이 어려워지던데, 가독성을 위한 팁들이 있는지 궁금합니다. ps. webflux 2 프로젝트에는 사용 가능한 gmemini api key가 입력되어 있습니다. 😅
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
인메모리 DB, 테스트 컨테이너 선택 기준이 있으신지 궁금합니다
강의에서는 H2 인메모리 DB를 이용해 테스트를 진행하셨는데,실무에서는 테스트 환경에서 실제 MySQL이나 PostgreSQL 같은 실제 운영 DB와 동일한 컨테이너 기반 테스트 DB를 사용하는 경우도 많은 것 같습니다.실무에서는 인메모리 DB와 컨테이너 DB 중 어떤 상황에서 어떤 것을 선택하시는지, 선택 기준이나 장단점에 대해 조언을 받을수 있을까요?
-
해결됨가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
OutBox 패턴에 대한 질문입니다.
안녕하세요 ! 강의 잘 듣고 있습니다.최근 OutBox 패턴을 사용해보려고 시도중입니다 !CDC도구를 사용하지않고 어플리케이션에서 폴링을 구현한다고 하였을 때 폴링전용 어플리케이션을 따로 두어야 하는지 궁금합니다.ex) 주문서버에서 DB에 저장 -> 폴링 서버에서 DB에 저장된 이벤트를 폴링으로 조회 후 메시지 발행이렇게 생각한 이유는 주문서버에 폴링을 구현한다면 스케일 아웃 상황에서 폴링 로직도 저절로 스케일아웃되기때문입니다.여러개의 폴링 로직이 같이 돌아가면 데이터가 꼬일 수도 있지 않을까 합니다.어플리케이션 폴링구조의 outbox 패턴 구현에 대한 정석이 있는지 궁금합니다.