묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
saveAndFlush 저장후 QueryDsl 조회 문의
@Transactional public AccessTokenResponse signup(MemberRequest request) { Member member = request.toMember(passwordEncoder); MemberDetails memberDetails = memberRepository .findMemberDetailsByMemberId(memberRepository.saveAndFlush(member).getId()) .orElseThrow(RuntimeException::new);맨아래서, 2번째 줄에서 member의 정보를 DB에 저장합니다.: saveAndFlush 이용그리고 나서 QueryDSL로 작성된 findMemberDetailsByMemberId 으로 해당 멤버의 정보를 조회해 왔습니다.: 그러나, 해당 쿼리로는 조회된 값이 없어 null 이 반환되었습니다. 확인해보니, saveAndFlush를 통해 해당 멤버의 정보가 즉각 DB에 반영되지 않아서 QueryDSL 로된 쿼리로 해당 멤버의 정보가 조회되지 않은 것인데요. 제가 알기로 saveAndFlush를 이용하면 즉각 DB에 반영되는 것으로 알고있었는데... 아닌가요?이런 경우 어떤 방법으로 해결할 수 있을지 조언 주시면 감사하겠습니다!(member 정보 저장 후, querydsl로 조회해올 수 있는 방법)
-
해결됨실전! Querydsl
테스트 코드 EntityManager Autowired 컴파일 에러 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]build.gradle 설정은 아래와 같이 하였습니다.빌드를 하니 build 경로에 Q타입 생성된 것을 확인했습니다.plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 테스트 코드package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Hello; import study.querydsl.entity.QHello; import static org.assertj.core.api.Assertions.*; @Transactional @SpringBootTest class QuerydslApplicationTests { @Autowired EntityManager em; @Test void contextLoads() { Hello hello = new Hello(); em.persist(em); JPAQueryFactory query = new JPAQueryFactory(em); QHello qHello = new QHello("h"); Hello result = query.selectFrom(qHello) .fetchOne(); assertThat(result).isEqualTo(hello); } }해당 테스트 코드에서 em 부분에 컴파일 에러(Could not autowire. No beans of 'EntityManager' type found. )가 발생하고 테스트를 실행하면 아래와 같은 메세지가 출력됩니다.Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/user/OneDrive/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/querydsl/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 3s 4 actionable tasks: 3 executed, 1 up-to-date인텔리제이 종료 후 .idea 파일 삭제후 프로젝트 다시 실행해도 동일한 상황이어서 질문 드립니다. Gradle 버전은 8.5입니다.https://android-developer.tistory.com/entry/%ED%95%B4%EA%B2%B0-Deprecated-Gradle-features-were-used-in-this-build-making-it-incompatible-with-Gradle-80-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4해당 링크 방법도 해보았지만 동일한 상황입니다.
-
해결됨Java 마이크로서비스(MSA) 프로젝트 실습
첫번째 MSA 설명 문서 7페이지 model 오타요
잘못써있네용
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
L2 스위치(L2 Access와 L2 Distribution)
안녕하세요? 항상 좋은 강의 감사드립니다. L2 스위치는 L2 Access와 L2 Distribution이 있는데 이들은 같은 네트워크인가요? 즉, IP 주소에서 network id는 같은건가요?네트워크가 처음이고 많은 개념이 들어오니 막 헷갈리네요ㅠ
-
미해결
JPA saveAndFlush 이후 QueryDSL 조회에 관한 질문드려요.
@Transactional public AccessTokenResponse signup(MemberRequest request) { Member member = request.toMember(passwordEncoder); MemberDetails memberDetails = memberRepository .findMemberDetailsByMemberId(memberRepository.saveAndFlush(member).getId()) .orElseThrow(RuntimeException::new);맨아래서, 2번째 줄에서 member의 정보를 DB에 저장합니다.: saveAndFlush 이용그리고 나서 QueryDSL로 작성된 findMemberDetailsByMemberId 으로 해당 멤버의 정보를 조회해 왔습니다.: 그러나, 해당 쿼리로는 조회된 값이 없어 null 이 반환되었습니다. 확인해보니, saveAndFlush를 통해 해당 멤버의 정보가 즉각 DB에 반영되지 않아서 QueryDSL 로된 쿼리로 해당 멤버의 정보가 조회되지 않은 것인데요. 제가 알기로 saveAndFlush를 이용하면 즉각 DB에 반영되는 것으로 알고있었는데... 아닌가요?선배님들의 조언 부탁드립니다 ㅠ
-
해결됨떠먹는 Three.js
index.html 실행 시 CORS 문제
현재 [섹션0]까지 수강 완료하였습니다.index.html 파일 실행 시 이렇게 CORS 문제가 발생됩니다.어떻게 해결할 수 있을까요?ㅠㅠ
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
특정 누름틀 필드 제거
이것저것 다양하게 자동화코드 짜보시다가막히면 언제든 무엇이든 질문 던져주세요.업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서고민만으로 풀리지 않는 경우가 대부분입니다.저도 최대한 빠르게 회신 드리겠습니다. hwp.DeleteCtrl 부분 잘 학습하다가업무에서 입력할 부분을 입력한뒤전체 누름틀 제거가 아닌특정 누름틀을 제거하고 싶은 경우는 어떻게 방법이 있을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
login에서 token 을 받는 이유가 있을까요?
안녕하세요.토큰시스템을 사용하도록 엔드포인트 변경하기 편을 보고 질문드립니다.보통 login api 라고 하면 token 없이 email, pw 만 받아 validation 하는 것을 목적으로 한다고 알고있는데기획에 따라 헤더의 authorization 필드를 사용한 token 로그인도 해야할 수 있다고 하셔서 궁금한점이 생겼습니다.어떤 경우에 그런 상황이 있는지 대략적인 케이스를 소개해주실수있을까요?강의 잘 보고있습니다. 감사합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 분산 처리 에 대해서는 혹시 다룰 예정이 없으신가요?
게임서버만 제작하셨는데 DB 서버나 채널 등등 scale-up 관련으로 혹시 다룰 생각 없으신가요? 그리고 다른 질문에서 "나머지 MMO 컨텐츠는 추후 실전 부트캠프 강의에서나 다룰 생각입니다."이렇게 대답해주신거를 들었는데 부트캠프 강의 일정은 혹시 언제쯤 가능할지 알수 있을까요?끝으로 좋은강의 너무 감사합니다 다른 강의도 너무 잘듣고 있습니다.,
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
sstream에 있는 split()을 써도 되나요?
#include <sstream> #include <vector> int main() { std::string str = "1, 2, 3, 4, 5"; // str을 ,로 분리합니다. std::vector<std::string> tokens = split(str, ","); // 분리된 토큰을 출력합니다. for (const auto& token : tokens) { std::cout << token << std::endl; } } bard에 물어보니 string을 vector로 바꿔주는 split 함수가 있다고 하는데, 코딩 테스트 환경에선 이런 라이브러리를 사용 할 수가 없어서 함수를 외워서 써야하는건가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
rest_framework.generics.CreateAPIView의 model 속성 유무
안녕하세요. rest_framework의 소스코드(https://github.com/encode/django-rest-framework/blob/0f39e0124d358b0098261f070175fa8e0359b739/rest_framework/generics.py#L188)를 보면 CreateAPIView 에는 model 속성이 없는 것으로 보입니다. 상위 클래스인 CreateModelMixin과 GenericAPIView를 살펴봐도 이러한 속성은 없는 것으로 보이는데요...그래서 SignupView에 model 속성을 생략하고 signup을 실행해보았더니 문제가 없었습니다.class SignupView(CreateAPIView): # model = get_user_model() serializer_class = SignupSerializer permission_class = [ AllowAny ]모델 속성을 포함한 이유가 있으실까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 116페이지 Ralo구조체 출력 결과 질문입니다.
안녕하세요, 강의를 잘 듣고 실습 중 질문이 있습니다. 알고리즘 교안 116페이지 Ralo구조체 예제 코드 진행 시 출력물에 대한 질문입니다. #include <bits/stdc++.h> using namespace std; struct Ralo { int a, b; double c, d, e; }; void print(Ralo ralo) { cout << ralo.a << " " << ralo.b << " " << ralo.c << " " << ralo.d << " " << ralo.e << '\n'; } int main() { Ralo ralo = {1, 1, 1, 1, 1}; print(ralo); vector<Ralo> ret; ret.push_back({1, 2, 3, 4, 5}); ret.push_back({1, 2, 3, 4, 6}); ret.push_back({}); ret.push_back({1, 3}); for (Ralo ralo : ret) { print(ralo); } return 0; }위 예시에서 a, b의 자료형은 int이고 c, d, e 의 타입은 double라고 먼저 선언을 하게 되는데, main함수에서 출력 시 왜 일관되게 정수형으로 출력되는지 이해가 안됩니다.(형변환이 일어나야하거나, 타입 불일치에 따른 에러가 떠야 하는게 맞는거 아닌가요 ?!) 제가 부족한 개념이 많이 있을 수도 있으니 너그럽게 읽어주시면 감사하겠습니다. ^^;;
-
미해결[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
대소관계 비교할 때 문자열과 비교할 경우
console.log(10 > "abc"); console.log(10 < "abc"); 모두 false 가 나옵니다.숫자와 문자를 비교하면 항상 false 를 비교하나요?
-
해결됨스프링 핵심 원리 - 기본편
질문이 있습니다.
1.ComponenetScan하는 부분에서 어차피 해당부분은 Bean관리를 직접해주지않는데 Configruation을 적어주는 이유가 뭔가요??2.테스트코드에서 다른 Appconfig의 경우에는멤버변수로 스프링 컨테이너를 설정했지만 컴포넌트 스캔을 사용하는경우에는 메소드 내부에서 스프링 컨테이너 객체를 설정했는데 이유를 알수있을까요?public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext(SameBeanConfig.class);public class AutoAppConfigTest { @Test @DisplayName("컴포넌트 스캔 테스트") void componentScan(){ ApplicationContext ac=new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService=ac.getBean(MemberService.class); Assertions.assertThat(memberService).isInstanceOf(MemberService.class); }
-
미해결QML 프로그래밍 입문편
기존에 작성된 Widget 화면을 재사용하는 방법이 있을까요?
<p>- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.</p>현재 개발하려고 하는 프로젝트는 QML 기반으로 작성하려고합니다. 그런데 기존에 Widget 기반으로 작성된 프로그램이있습니다. 몇몇 다이얼로그 화면(QDialog)은 그대로 재사용하고 싶은데, 혹시 가능한지요?가능하다면, 간단한 코드로 보여주시면 정말 감사하겠습니다.
-
미해결예제로 살펴보는 PyQt Tutorial
강의자료 다운 오류
위와 같이 강의 자료 다운이 안됩니다... 어떻게 해야되나요??
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8 지표 정의하기 연습문제
안녕하세요 🙂 연말을 불태우면서 열심히 공부하고 있는 수강생입니다. Product 분석에 관심이 생겨 열심히 수강을 하고 있는데, 4-8 지표 정의하기 연습문제 제 나름대로의 풀이를 전달드립니다. 저는 기본적으로 목적 -> 예상 문제를 정의하고 지표와 선정사유를 기입해두었는데요. 이러한 사고방식이 맞나 싶기도 합니다. 다음과 같이 전달드립니다. 지표 정의하기 문제 1. 기능은 잘 작동이 되고 있나요…?목적 : 지표를 통하여 고객들이 홈화면에서 자사에서 의도한 최종 목적까지 원활하게 서비스를 이용하는지 파악이 필요하다.예상 문제 정의 :홈 화면에서 특정 기능은 너무 복잡한 UX/UI로 인해 관심도가 떨어지고, 고객에게 번거로움만 줄 것이다. 이로 인하여 고객이 이탈하게 된다.배너에서 고객이 선호하는 배너 노출이 있을 것이며, 이에 따라 CTR의 지표가 증감하며, 고객 이탈의 원인이 있을 것이다.첫 화면에서 메뉴 노출 카테고리가 고객의 선호도에 맞게 설정이 되어 있지 않다. 이로 인하여 고객이 이탈하게 된다.지표 및 선정 사유첫 세션 방문자 기준 CTR첫 퍼널 & 고객 선호 기능 파악을 하는 의도첫 세션 클릭이 배너/메뉴 카테고리/ 이런 음식 어때요 / 동네 맛집 기능인 고객의 방문페이지 당 전환 수/ 고객 당 전환 수방문 페이지 당 전환이 낮을 경우 이를 통하여 전환까지의 Funnel에 문제가 있음을 발견 ex) 계속 여러 화면을 통하여 고객의 Funnel이 길어지는 현상고객 당 전환수를 통하여 방문 페이지 당 전환수와 대비하여 Funnel 개선을 통하여 전환 수를 크게 바꿀 수 있는지를 검증 지표 정의하기 문제 2. 검색 만족도 지표 목적 : 배달 서비스 관련하여 고객이 검색 기능에 만족을 했는지 파악하고 싶다.예상 문제 정의 고객이 검색 기능을 통하여 원하는 음식을 빠르게 찾고, 주문을 할 수 있었다면 검색의 기능이 원활하게 작동하고 있는 것이다.지표 및 선정 사유세션 방문 대비 고객의 검색 기능 활용 빈도 / 재활용 고객 분포고객이 검색 기능을 통해 배달 음식을 찾아내는지 빈도를 알아낼 수 있음검색 기능을 활용한 고객 주문 전환율최종적으로 고객의 전환이 이루어졌는지 확인할 수 있음 지표 정의하기 문제 3. 검색 필터 기능의 활성화 지표 목적 : 고객이 검색 필터를 통하여 원하는 정보를 찾을 수 있는지 확인해보고 싶다.예상 문제 정의 고객이 검색 필터를 잘 활용하고 있다면, 필터 사용 이후 원하는 음식을 찾고 전환까지 진행했을 것이다.지표 및 선정 사유고객의 필터 기능 활용 빈도고객이 필터 기능을 통해 배달 음식을 찾아내는지 빈도를 알아낼 수 있음필터 내, 정렬 기능 별 클릭 수 고객이 어떤 기준으로 정렬을 하는지 선호도 파악을 위한 지표 지표 정의하기 문제 4. 배달 서비스에서 가장 중요한 지표는? 목적 : 배달 서비스에서 가장 중요한 지표를 찾고 싶다. 예상 문제 정의 고객의 입장에서 100점짜리 배달서비스는 저렴한 가격/ 신속 배달 / 맛있는 음식점만 선별 되는 배달 서비스일 것이다.배달서비스에서 100점짜리 고객은 한번 구매 이후 계속해서 서비스를 이용하며 Cross-sell / Up-sell이 일어나는 고객일 것이다.지표 및 선정 사유Retention & 평균 구매 주기고객이 지속적으로 떠나지 않고 우리 서비스를 이용하는 지, 판단구매 주기를 통하여 Retention의 기간을 어떻게 잡아야할지 판단. 지표 정의하기 문제 5. 추천 알고리즘의 성능 지표 목적 : 추천 알고리즘의 성능을 나타낼 수 있는 지표를 알고 싶다.예상 문제 정의 알고리즘이 잘 작동한다면, 고객의 전환율이 높아지고 있을 것이다.알고리즘이 잘 작동한다면, 고객의 Cross-sell/Up-sell 빈도가 높아지고 있을 것이다.지표 및 선정 사유추천 알고리즘을 통한 주문 전환율 / Up-sell / Cross-sell 고객 비중추천 알고리즘은 연관 제품을 통하여 Up-sell / Cross-sell을 유도하는데 목적이 있다고 판단 따라서 고객군 별 전환 차이를 통하여 효과를 검증할 수 있을 것 지표 정의하기 문제 6. 여러분들이 자주 사용하는 서비스의 지표 여기에서는 제가 가장 많이 사용하는 서비스인 토스 증권를 예시로 들겠습니다.목적 : 토스 증권에서 가장 중요시 하는 지표를 찾아낸다예상 문제 정의 토스 증권에서 핵심적인 수익은 주식을 팔고 사는 것에 대한 수수료이다.주식에 대한 관심도를 높이고 쉽게 거래를 할 수 있으면 거래량이 늘어날 것이다.정기적인 거래를 거래를 할 수 있다면 주식 거래 습관이 형성할 수 있을 것이다.지표 및 선정 사유고객 당 일/월별 거래량기본적이 고객의 주식 거래 빈도를 통해 고객군이 어떻게 형성되어 있는지 확인할 수 있다.정기 구매 주식 서비스 사용 빈도정기적으로 습관이 형성된 고객군을 분리할 수 있으며, 서비스의 만족도가 높은 고객으로 판단할 수 있다.주식 컨텐츠 CTR 및 주식 컨텐츠를 통한 CVR주식에 대한 관심도가 높아진 것으로 판단할 수 있으며, 콘텐츠를 통하여 주식 거래 전환을 유도할 수 있는지 판단 지표 정의하기 문제 7. 퍼널 개선 프로젝트 목적 : 가입 퍼널 개선을 위해서 퍼널 분석을 통해 문제점을 찾아낸다.예상 문제 정의 각 퍼널은 다운로드 -> 회원가입 클릭 -> 정보 입력 -> 회원 가입 완료로 이루어진다.특정 퍼널에서 이탈이 많이 이루어 지고 있다. 특히 정보 입력에서 문제점이 있는 것으로 확인이 된다.정보 입력 퍼널 내에서 간소화 하기 위하여 간편 가입 시스템을 도입한다.지표 및 선정 사유각 퍼널별 이탈률 & 회원가입 전환율앞선 문제에서 개선한 부분이 잘 반영이 되었고, 고객에게 효과가 있었는지 검증. 부족한 부분도 많은데, 많이 배우고 있습니다 🙂 감사합니다
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
python select linter ? 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. python :select linter를 입력해도 값이 나오지 않습니다. 왜그럴가요?
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
모던 HTML/CSS 로 상용화도 가능한 반응형 모던 웹페이지 만들기10 / 5분20초
모던 HTML/CSS 로 상용화도 가능한 반응형 모던 웹페이지 만들기10 / 5분20초 div태그 사이에 span태그를 넣었는데 span태그가 인라인 태그인건 알겠는데div태그는 블럭 태그라 원래 줄바꿈이 일어나는거 아닌가용 ?어떻게 줄바꿈이 안되고 한줄에 표시되는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
싱글톤 관련해서 궁금한점이 있습니다.
@Configuration static class SameBeanConfig{ @Bean public MemberRepository memberRepository1(){ return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2(){ return new MemoryMemberRepository(); } }@Test @DisplayName("타입으로 조회시 같은 타입이 둘이상 있을경우 빈이름으로 조회하면 가능함") void findBeansName(){ MemberRepository memberRepository1=ac.getBean("memberRepository1", MemberRepository.class); MemberRepository memberRepository2=ac.getBean("memberRepository2", MemberRepository.class); org.assertj.core.api.Assertions.assertThat(memberRepository1).isEqualTo(memberRepository2); }만약에 이렇게 빈을 등록하고 사용하는경우에는 사실상 싱글톤 패턴은 아니기때문에 예시를 보여주기위해서만 사용하셨을뿐 실무에서는 저런식으로 사용을 안한다고 이해해도될까요?