inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

모듈 간 의존성 관리에 대한 질문

해결됨

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

안녕하세요. 강의 수강중에 의존성 추가에 대해서 의문이 들어 질문드립니다. 제가 26강까지 듣고 올리는 질문이라 후속 강의에서 리팩토링 되는 것이라면 넘어가주세요! 멀티모듈 프로젝트에서는 각 모듈이 각자의 의존성을 갖고 관리하도록 하는 것으로 이해하고 있었는데요. 현재 강의에서는 아래 의존성들이 여러 모듈에 흩어져있습니다. 이렇게 되면 의존성 관리 포인트가 늘어나 단점이 생길 것 같은데요. 하나의 모듈에서 각자의 역할과 책임에 맞게 의존성을 관리하는 것에 대해 강사님의 생각이 궁금합니다! spring data jpa bank-domain bank-event resilience4j bank-core bank-api 만약 위의 의존성들이 각자의 모듈에서 관리된다면 다른 모듈에서 사용할 수 있도록 특정 기능들을 wrapping 해서 제공해주는 방법이 맞을까요? 아니면 혹시 더 좋은 방법이 있을지 궁금합니다. spring data jpa bank-domain 에서 save() , 혹은 findById() 를 다른 모듈에서 사용할 수 있도록 인자만 받는 메소드를 제공한다면 bank-event 에선 id값 혹은 entity형식의 객체(필요시 model or dto 추가)만 넘겨 처리할 수 있으니 spring-data-jpa 의존성을 끊을 수 있을 것 같아서요.

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
1q2w3e4r 댓글 1 좋아요 0 조회수 126

탐색보고서 기여모델

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

강의에서 트래픽획득 보고서 기여모델은 알려주시는데 탐색보고서에서 만드는 기여모델은 언급이 없으신데 제가 궁금한건 탐색보고서에서 만드는 기여모델의 디폴트 모델이 어떤건지 궁금합니다

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 2 좋아요 0 조회수 50

ga4 일별 세션수의 합계와 총계가 차이 나는 이유

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

차이가 나는 이유는 이해 했는데도 그러면 실제 일별 세션수 보고 시 ga4에 나온 데이터로 보고하나요? 아니면 실제 sum 함수써서 바꿔서 보고하나요?

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 2 좋아요 0 조회수 312

56강 28초

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

ga4에서 추천 제외 설정 해야 결제 모듈이 세션 소스에 안잡히는건 이해 했는데요 제가 궁금한건 추천제외를 하고 나면 세션 소스가 결제 모듈로 잡히던 데이터는 어느 세션 소스로 잡히나요? 예를들어 추천 제외 하기 전에 결제모듈화면에 잡히던 세션수는 추천 제외 하고나면 카운팅이 안되는건지 다른 세션 소스명으로 가는건지가 궁금해요

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 1 좋아요 0 조회수 28

질문 있습니다

해결됨

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

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 2-10 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 강의 잘 보고 있습니다. 이전 강의에서 로컬이 아니라, 리소스가 제한된 클라우드 환경에서 성능 테스트를 하는 것이 좋다고 이해했습니다. 그런데 인텔리제이에서 제공하는 Profile이 기능은 클라우드 환경에서는 따로 사용할 수가 없지 않나요?? 해당 기능을 어떻게 클라우드 환경에서 애플리케이션 성능 측정을 위해 사용할 수 있을까요? 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
blackhole124 댓글 2 좋아요 0 조회수 60

record class @Transactional 사용에 대해서

미해결

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

안녕하세요 토비님 회원 애플리케이션 서비스 테스트 (2) -25:19 에 대해 질문 드립니다. record 에 @Transactional을 사용하면 실행에는 문제가 없으나 인텔리제이에서 Classes annotated with '@Transactional' could be implicitly subclassed and must not be final 이와같은 경고 메세지를 주는데 무시하고 지나가도 되는건지요?

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
JuNu 댓글 2 좋아요 2 조회수 203

강의사이트의 세션

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

강의사이트의 경우 신규 유입자인지 강의 수강자인지 ,재구입 의사자인지구분이 안될거같은데 오가닉서치,direct가 의미 없지 않나요?

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 2 좋아요 0 조회수 42

최종 과제 제출

해결됨

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

안녕하세요, 로그를 분석해서 글로 작성해보았습니다. 혹시 가능하시다면 한번 보시고 개선하면 좋을 점을 알려주시면 공부를 이어가는 데 많은 도움이 될 것 같습니다! 🙇‍♂ 노션 페이지 링크 남깁니다. https://www.notion.so/inflearn-app_logs-24eceb39ae70805f81abfee9aa86ebc2?source=copy_link 고민되었던 부분 장황하게 이것저것 설명은 했지만, 결국 도출한 결론은 '결제 경험이 있는 사용자의 재방문을 발생시켜서 결제 건수를 높여보자 ' 입니다. 재방문 사용자가 유입되도록 하고 행동을 지켜보자는 것인데,, 이러한 액션이 특별히 효과적일 것이라는 것을 로그로부터 미리 확인할 수 있는 방법이 있을까요..? 구체적으로 어떤 집단에 액션을 수행하자는 결론을 도출하고 싶었는데 잘 되지 않은 것 같습니다

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
정은지 댓글 3 좋아요 0 조회수 185

39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.

해결됨

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

토비님 안녕하세요. 39. 문서와 코드 다듬기 강의의 updateInfo 테스트 부분 질문이 있습니다. 강의 28:30 부근에서 updateInfoFail() 에 코멘트를 달게 되는데 성공케이스에 대한 코드는 updateInfo() 부분으로 옮기는 것도 좋아보이는데 토비님 생각이 궁금합니다 . updateInfoFail() 의 마지막에 member 가 member2 의 프로필 주소와 중복되는 테스트가 있으므로, member2 의 프로필 주소를 설정해주는 코드가 필요하지만, 하나만 있어도 괜찮지 않을까 생각합니다. 그래서 나머지 성공에 대한 코드는 updateInfo() 메소드로 옮겨 "상세 정보 수정이 가능한 경우"들을 나열하는게 좋다고 생각했습니다. 똑같은 준비작업이 반복되다보니 한 번 세팅해놓고 여러 케이스를 다 검증해보는 것이 낫다고 하셨는데, 현재 테스트 클래스 메소드가 성공/실패로 나뉘어져있어 성공하는 부분은 다른 메소드로 이동하는게 좋아보인다 생각했습니다. 아래 코드에서 성공 케이스와 실패 케이스로 나누어보았습니다. 코드 updateInfo() @Test void updateInfo() { Member member = registerMember(); Long memberId = member.getId(); memberRegister.activate(memberId); entityManager.flush(); entityManager.clear(); var updateRequest = createMemberInfoUpdateRequest(); member = memberRegister.updateInfo(memberId, updateRequest); assertThat(member.getDetail().getProfile().address()).isEqualTo(updateRequest.profileAddress()); // 기존 프로필 주소로 계속 변경 요청 가능 memberRegister.updateInfo(memberId, updateRequest); // 다른 프로필 주소로 변경 가능 memberRegister.updateInfo(memberId, createMemberInfoUpdateRequest("omg123")); // 프로필 주소 제거 가능 memberRegister.updateInfo(memberId, createMemberInfoUpdateRequest("")); } updateInfoFail() @Test void updateInfoFail() { Member member = registerMember(); Long memberId = member.getId(); memberRegister.activate(memberId); member = memberRegister.updateInfo(memberId, createMemberInfoUpdateRequest()); Member anotherMember = registerMember("another@email.com"); Long anotherMemberId = anotherMember.getId(); memberRegister.activate(anotherMemberId); entityManager.flush(); entityManager.clear(); // anotherMember가 member와 프로필 주소 중복 MemberInfoUpdateRequest duplicateProfileUpdateRequest = createMemberInfoUpdateRequest(member.getDetail().getProfile().address()); assertThatThrownBy(() -> { memberRegister.updateInfo(anotherMemberId, duplicateProfileUpdateRequest); }).isInstanceOf(DuplicateProfileException.class); // member와 중복되지 않는 프로필 주소로는 변경 가능 MemberInfoUpdateRequest updateRequest = createMemberInfoUpdateRequest("profile123"); memberRegister.updateInfo(anotherMemberId, updateRequest); // member가 anotherMember와 프로필 주소 중복 assertThatThrownBy(() -> { memberRegister.updateInfo(memberId, updateRequest); }).isInstanceOf(DuplicateProfileException.class); } 좋은 강의 해주셔서 감사드립니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
강명덕 댓글 1 좋아요 0 조회수 101

53강 미식별유입

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

오가닉이 지나치게 높으면 utm이 안달려있는 광고트래픽 가능성 존재 다이렉트가 지나치게 높으면 sms/카톡에 utm 안달려있을 수 있음 1.리퍼럴이 지나치게 높으면 어떤 가능성을 의심하고 점검해야하나요? 2,오가닉이 지나치게 높아도 utm 없는 광고트래픽이 아니라 진짜 오가닉 트래픽일수도 있는건가요? 예를들면 우리회사는 전혀 광고를 진행하지 않는 경우에요

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 2 좋아요 0 조회수 44

url 리다이엑션에 의한 유입

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

유튜브에보면 비틀리 링크로 치환하던데 utm 달고 비틀리로 링크 치환 시 데이터 수집에 문제없나요? direct로 잡힐가능성이있는지 궁금합니다

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
관점.xy 댓글 2 좋아요 0 조회수 50

오타 제보 드립니다.

미해결

실전! Querydsl

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 실전! Querydsl 강의 pdf 파일 ( 5. 실무 활용 - 순수 JPA와 Querydsl ) 동적 쿼리와 성능 최적화 조회 - Builder 사용 부분에서 아래 사진과 같이 s가 누락되었습니다.

  • java
  • jpa
  • querydsl
  • 오타
woodongle 댓글 2 좋아요 0 조회수 99

동시성 테스트

해결됨

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

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 4-8 여기까지 이해하신 내용은 무엇인가요? mysql 내부에서 자체적으로 공유락과 배타락을 사용 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 코드상에서 직접적으로 락을 사용하지 않아도 결론적으로 mysql 내부에서 락을 사용하는데 왜 동시성 테스트는 실패하는건가요?? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
모깅 댓글 2 좋아요 1 조회수 135

실습 환경 구축에 대한 질문

미해결

마이크로서비스 디자인 패턴 완벽 가이드

제공되는 예제 파일에 대한 실행에 관련 질문을 해 주실 때는, 자신이 사용하는 운영체제(OS), 운영체제 버전, JDK 버전, IDE와 같은 개발 도구의 버전 등을 상세알려 주시면, 답변을 드리는데 도움이 됩니다. 안녕하세요. 현재 "마이크로서비스 디자인 패턴 완벽 가이드" 수강 중인 수강생입니다. 기존에 진행하셨던 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션"는 수강 하지 않은 상태로 현재 과정을 수강 중인데 실습 시 사용하는 환경 및 프레임워크 설정 방법 등을 설명한 가이드 및 자료가 따로 있는지 문의 드립니다!

  • java
  • spring-cloud
  • 디자인-패턴
  • msa
  • patterns
gkcloudps 댓글 2 좋아요 0 조회수 84

섹션 6 -2강

미해결

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

xml관련 설정 강의자료로 남겨주신다고 했는데 어디서 찾을 수 있나요?

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
dengo25.dev 댓글 1 좋아요 0 조회수 197

pop()과 poll()의 차이

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Stack의 메서드인 pop()과 Queue의 메서드인 poll()의 차이를 보니 stack이 비어있을 때 pop을 실행하면 NoSuchElementException 예외가 터지고, queue가 비어있을 때 poll을 실행하면 null이 반환되는데, 왜 이렇게 차이를 두고 설계를 한건지 궁금합니다.

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

build gradle

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] build.gradle 이렇게 하면 되는건가요? 옆에 주석을 써봤는데 제가 이해한게 맞나요? plugins { id 'java' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' // 추가 여기부터 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1' // SQL 쿼리를 로그로 찍어주는 라이브러리. 개발할 때 DB에서 어떤 쿼리가 실제로 나가는지 확인하기 위함. runtimeOnly 'com.h2database:h2' // H2 DB (인메모리 DB) 사용. 개발이나 테스트용으로 DB 서버 없이 DB를 돌릴 때 편리. // lombok 관련 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' // querydsl 추가 implementation 'com.querydsl:querydsl-jpa:9.8:jakarta' // QueryDSL JPA 핵심 라이브러리 annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" // 엔티티로부터 Q클래스 자동 생성 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // 컴파일 시 필요한 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // Jakarta EE API // 여기까지 // test lombok testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } // 중괄호 추가 testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } // 추가 clean { delete file('src/main/generated') }

  • java
  • spring
  • mvc
  • spring-boot
억우 댓글 2 좋아요 0 조회수 250

dirty checking 질문드립니다.

미해결

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

안녕하세요. 강의 14분쯤에 말씀해 주신 dirty cheking에 대해서 질문드립니다. order.cancel(); 호출하면, Order의 status 변경되고, 이는 dirty cheking으로 인해 Order에 대해서 update 쿼리가 발생하고, orderitem.cancel()호출하면, Item의 stockQuantity가 변경되고, 이는 dirty checking으로 인해 Item에 대해서 update쿼리가 발생한다. 기본편 및 강의 내용에 대해서 생각해보다가 이렇게 생각했는데 이렇게 이해하는게 맞을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오리쉐리 댓글 1 좋아요 0 조회수 98

인기 태그

인프런 TOP Writers

주간 인기글