inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

만료된 메서드 fetchResult(), Blaze-persistence 세팅 관련 글 공유드립니다.

실전! Querydsl

QueryDSL 내부 메소드 중 fetchResult() 나 fetchCount()는 만료된 메소드에 대해서는 QueryDSL에서 Blaze-persistence Integration 라이브러리 사용을 권장 하는데요, Blaze-persistence도 QueryDSL 처럼 쿼리 빌더 API 로서 개발자에게 유지보수하기 좋은 객체를 제공해주고 있습니다. 게다가 최신 업데이트 날짜가 글 작성일 기준(2023.06.21) 일주일 이전이라 여전히 유지보수되고 있어서 최신 스프링버전과 호환성도 어느정도 보장되었다고 볼 수 있습니다. 개인적으로 SpringBoot 3.1.0 기준으로 다음과 같이 세팅하니 정상적으로 동작하는 걸 확인했는데요, 혹시 저처럼 deprecated 메소드를 쓰는 것이 신경쓰이시는 분들을 위해 공유드립니다. build.gradle dependencies { //Blaze-Persistence implementation 'com.blazebit:blaze-persistence-integration-querydsl-expressions-jakarta:1.6.9' implementation 'com.blazebit:blaze-persistence-integration-hibernate-6.2:1.6.9' implementation 'com.blazebit:blaze-persistence-core-impl-jakarta:1.6.9' } BlazePersistenceConfiguration.java @Configuration public class BlazePersistenceConfiguration { @PersistenceUnit private EntityManagerFactory entityManagerFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) @Lazy(false) public CriteriaBuilderFactory createCriteriaBuilderFactory() { CriteriaBuilderConfiguration config = Criteria.getDefault(); // do some configuration return config.createCriteriaBuilderFactory(entityManagerFactory); } } QuerydslBasicTest.java ..... JPAQueryFactory queryFactory; @Autowired CriteriaBuilderFactory cbf; BlazeJPAQueryFactory blazeQueryFactory; @BeforeEach public void testEntity(){ queryFactory = new JPAQueryFactory(em); // 이건 동시성 문제를 고민하지 않아도 됨, 해결됨 blazeQueryFactory = new BlazeJPAQueryFactory(em, cbf); ..... 적용 결과 기존 QueryDSL 세팅한 것에 추가로 세팅하시면, 만료된 메소드에 대해 Blaze-persistence 객체로 대체되는데요, 기존 querydsl 클래스를 상속 받는 형태여서 QueryDSL이 제공하는 메소드를 그대로 쓸 수도 있습니다. fetchResults는 fetchPage로 바꿔서 사용할 것을 권장하고 있다는 점 참고하시면 될 것 같습니다. 추가로 내부로직이라든지 설명이 더 필요하시다면 Blaze-persistence 릴리즈 노트 와 Blaze Persistence Document 를 참고하시면 좋을 것 같습니다. 이 글에 대해 지적 및 피드백 해주시면 정말 감사하겠습니다. 감사합니다. 여담 및 고민 : 개인적으로 이 라이브러리의 내부로직을 뜯어보면서 분석하고 검증할 수 있는 역량은 부족한지라 분석 및 검증하는 방법에 대해서 팁이라든지, 아니면 blaze-persistence 사용할 시 주의해야할 점이라든지 조언해주실 수 있으시면 정말 감사드립니다. 강의를 듣던 중에 서브쿼리가 발생하는 부분에서는 정상동작하지 않는 것을 발견했습니다. @Test public void findUserDto(){ QMember memberSub = new QMember("memberSub"); List<UserDto> memberDtoList = queryFactory //이건 blazeQueryFactory가 정상 동작하지 않음 .select(Projections.fields(UserDto.class, //생성자 필드 순서에 맞게 변수를 만들어야 한다. member.username.as("name"), // member.age 대신 서브쿼리로 다 최대 나이로 찍고 싶어 ExpressionUtils.as( JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age") )) .from(member) .fetch(); for (UserDto userDto : memberDtoList) { System.out.println("userDto = " + userDto); } } QueryDSL 쿼리 /* select member1.username as name, (select max(memberSub.age) from Member memberSub) as age from Member member1 */ select m1_0.username, (select max(m2_0.age) from member m2_0) from member m1_0 blaze-persistence 쿼리 /* SELECT member1.username AS name, member1.age AS generatedSubquery_1 FROM Member member1 */ select m1_0.username, m1_0.age from member m1_0 blaze-persistence generatedSubquery라 하여, 서브쿼리를 하나의 alias로 처리를 해버렸는데, 후행으로 이 generatedSubquery 에 대한 정의가 따라오질 않습니다... 왜 이런 차이가 나오는지는 모르겠지만 blaze-persistence 활용할 때는 유의해야할 것 같습니다.

  • java
  • jpa
  • querydsl
  • blaze-persistence
말랑한참깨 댓글 0 좋아요 1 조회수 2810

이제 듣기 시작합니다! 공부 방법에 대해 궁금해요!

인터랙티브 웹 개발 제대로 시작하기

강사님 목소리 사근사근 너무 잘듣고 있습니당 혹시 해당 강의를 공부할때 강의를 쭈욱 보고나서 결과물과 배웠던 기술을 이용해 보지않고 만들어 보는것이 학습 효과가 좋을지 보면서 따라치는게 효과가 좋을지 궁금해서 질문 남깁니다! 다른 분들은 어떤 방법으로 공부하시는 지도 궁금하구요!

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
qwzx16 댓글 0 좋아요 0 조회수 412

웹서버 부분을 나중에 들어도 될까요?

컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1

웹디자인 공부가 하고 싶어서 html 강의를 듣기 시작했는데요 html, css, 자바스크립트를 기초적으로 알면 좋을것같아서요. 호스팅 부분까지는 무리없이 따라갔는데 웹서버 부분이 잘 실습이 안되기도 하고.. 좀 어려워서.. 일단 다음 강좌로 넘어가고 나중에 개념이 좀 더 정리되고 나서 강의를 들을까 하는데.. 혹시 진도상 문제가 생길까봐 지금 좀 걸리더라도 웹 서버 부분을 제대로 하고 넘어가야할지..? 아니면 추후에 다시 들어도 될지 고민이 됩니다.

  • HTML/CSS
이시은 댓글 1 좋아요 0 조회수 362

css 이미지사이즈 줄일 때

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

index.html <div class="banner"> <a href="#none"><img src="images/banner-01.jpg" alt="banner"></a> </div> style.css .banner { width: 350px; text-align: center; } .banner a img { height: 95%; border-radius: 5px; margin: 5px; } .banner img로 해야 하나요? .banner a img로 해야 하나요? 그리고 이미지사이즈 height로 줄일 때와 width로 줄일 때 적용 기준이 있나요? 시험 준비 하면서 갑자기 궁금해 졌습니다. 내가 하고 있는게 똑바로 하고 있는지

  • HTML/CSS
  • jquery
  • 웹-디자인
bimil1121 댓글 1 좋아요 0 조회수 729

군에서 공부를 하고있습니다

제대로 파는 HTML CSS - by 얄코

삭제된 글입니다

  • HTML/CSS
겸손한 불도새 댓글 1 좋아요 2 조회수 511

시험장에서 유형 배분 궁금합니다.

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

시험장에 입실하면 모두 같은 유형으로 보나요?? 아니면 자리마다 유형이 다른가요??

  • HTML/CSS
  • jquery
  • 웹-디자인
lipper2501 댓글 1 좋아요 1 조회수 556

아니 아헹헿

기본을 확실히!! HTML의 모든 것

저걸 보고 아헹헿이라눀ㅋㅋㅋㅋ 뿜었다.

  • HTML/CSS
루미 댓글 0 좋아요 0 조회수 439

교육자료

입문자를 위한, HTML&CSS 웹 개발 입문

안녕하세요! 혹시 코드강의자료 말고 노션에 정리되어 있는 기본 개념들은 따로 공유가 안되는 것일까요? 찾아봤는데 보이질 안아서 문의 남깁니다!

  • HTML/CSS
wngp18 댓글 1 좋아요 0 조회수 342

beautify 지원 안함

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

안녕하세요! 질문까진 아니고 신규로 강의 들으시는분이 참고하면 좋을것같아 글남깁니다! vsCode에서 beautify 신규 다운로드가 더이상 지원하지 않네용 (기존에 다운받으셨던 분들은 작동 되는것 같습니다) 대신 prettier 사용하시면 될것같아요!

  • HTML/CSS
  • jquery
넴모 댓글 1 좋아요 2 조회수 623

vs code 가장 하단에 위치한 상태바

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)

vs code를 열면 가장 밑에 상태 표시가 나타나는 바? 같은 것이 처음에 설치할때는 있었는데 없어져서요. 이 부분을 어떻게 다시 볼 수 있을까요? 줄 , 열 공백 HTML Go live 이런것들이 써져있는 가장 하단의 바 말입니다.

  • html/css
  • javascript
  • jquery
suny_fun 댓글 1 좋아요 1 조회수 11259

퍼블리싱 반응형 화면이 변해도 스크립트가 남아 있습니다.

반응형 웹사이트 포트폴리오(App Official Landing Website)

현재 홈페이지 모작 중인데 진짜 며칠째 별짓을 다해도 안고치더라구요 if문으로 width 크기에 따라 구동되는 스크립트 구문이 있습니다. 분명 pc모드에서 태블릿 모드로 넘어가면 pc모드에서 쓰인 스크립트는 더이상 남아 있으면 안되는데 이게 고대로 넘어옵니다 콘솔로그 찍어 보면 if문은 잘 작동하는데 도대체 왜 그대로 넘어오는지 모르겠습니다.... https://magnificent-gumption-2d228c.netlify.app https://github.com/idoidoi/hyundaigreenfood 위에는 배포한 사이트고 밑에는 깃허브 주소입니다. pc모드에서 태블릿으로 변환 되고 네비탭 눌러 보시면 pc모드의 스크립트가 그대로 넘어옵니다.. 밑에 애니메이션도... 독학이라 물어볼 사람도 없구 도와줍쇼....ㅜㅠ

  • html/css
  • jquery
  • 반응형-웹
낭만고향 댓글 0 좋아요 0 조회수 590

추가강의를 보면서

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

배포까지는 잘 따라할 수 있었습니다. 이후 추가강의를 보면서 느낀점 강의만보고 하다보니 중간에 안되는 부분이 생김. 강사님의 git을 참고하면서 ' 아 강사님은 이런 파일을 추가로 만들었었구나 ' 하고 급하게 가져다 쓰면서 헷갈리는 부분이 많이 생기네요 ㅜ

  • html/css
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
한현묵 댓글 1 좋아요 0 조회수 732

2023_02_05_강의 수강 시작합니다

애플 웹사이트 인터랙션 클론!

좋은 강의 감사합니다 ^^ 개발자들과 협업할때 답답함에 못이겨서 유튜브에 올라온 강의부터 정독했습니다, 23_02_05 강의 스타트! 화이팅!

  • html/css
  • javascript
  • 웹-디자인
  • svg
  • 인터랙티브-웹
  • 클론코딩
꿀잠 댓글 0 좋아요 0 조회수 609

사진이 안떠요

CSS 기본부터 활용까지

img src 태그에 저렇게 제 컴퓨터에 있는 파일명을 넣었는데 사진이 안떠요ㅠ

  • html/css
심유진 댓글 0 좋아요 0 조회수 355

그랩님, 커리어 전환에 조언 한번 받아볼 수 있을까요

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

그랩님 새해 복 많이 받으세요. 마케팅 6년차 일반직무에서 근무하고 있는데, 프론트엔드 개발자로 커리어 전환을 꿈꾸고 있는데요. 나이는 33살입니다. 퇴사를 하고 온전히 부트캠프를 통해서 프론트엔드 개발자로 커리어 전환을 시도해보고자 하는데요. 혹시 인프런 강의를 통해서 혼자 진행해보는게 나을지, 부트캠프를 통해 짜여진 커리큘럼을 통해서 진행하는게 나을지 문의 드립니다. 온전히 9-6를 개발 공부에 할애 할 수 있는 상황인데요. 기간은 6개월 정도로 생각하고 있습니다. 혹시 짧은 조언이나 얻어볼 수 있을까요..!

  • html/css
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
promotion 댓글 1 좋아요 1 조회수 1209

백엔드 개발자의 방향성에 대해 조언을 얻고자 합니다

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

현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )

  • springboot
  • java
  • spring
  • 백엔드
  • 신입
sky66951 댓글 1 좋아요 3 조회수 5676

QueryDsl SpringBoot 2.7의 gradle 설정을 공유합니다.

실전! Querydsl

plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 } tasks.named('test') { useJUnitPlatform() } // Querydsl 설정부 def generated = 'src/main/generated' // querydsl QClass 파일 생성 위치를 지정 tasks.withType(JavaCompile) { options.getGeneratedSourceOutputDirectory().set(file(generated)) } // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ generated ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(generated) } 해당 소스는 타사 강의 보다가 본 설정에서 가져왔습니다. 기존 영한님 강의와 다른 점이 3가지 있으니 주의하시기 바랍니다. Querydsl Q파일 생성 위치가 다릅니다. 기존 영한님 강의대로 $build 로 시작하는 설정을 사용하면 테스트 실행 시 Q파일의 위치를 찾지 못해서 테스트가 실패합니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> build -> build 혹은 classes 기존 영한님 교안에는 빌드 시 Gradle -> Tasks -> other -> compileQuerydsl 로 Q파일을 생성하지만, 이 방법의 경우 other에 해당 메뉴가 없습니다. 그래서 빌드 시에는 그냥 build 메뉴의 build 혹은 classes 로 빌드하시면 Q파일이 생깁니다. 영한님 강의에서는 gradle build 폴더가 대부분 git 버전관리에 포함되지 않으므로 따로 설정할 필요가 없지만, 이 경우 Q파일이 소스폴더에 들어가므로 .gitignore 에 아래와 같이 별도로 경로를 설정해 주어야 합니다. ### Querydsl /src/main/generated 혹시 저같이 청개구리마냥 강의에 나온 버전 사용 안 하고 최신 버전 사용하시는 분들께 도움이 되었으면 좋겠습니다. 저도 타사 강의에서 가져온 것이고 기초 테스트만 통과한 것이라서 혹시 강의에 맞지 않는 경우 영한님이나 다른 분들이 추가 정보를 주시면 좋을 것 같습니다. 여담인데 QueryDSL은 쿼리 짜긴 확실히 편한데 설정이 버전마다 중구난방이라 불편합니다. 똑똑한 개발자분들이 이런 설정도 그냥 @Configuration 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.

  • java
  • spring
  • jpa
  • querydsl
박민호 댓글 5 좋아요 20 조회수 11525

소프트웨어 진로 결정 관련 질문

저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • c++
초롱초롱한 랫서팬더 댓글 0 좋아요 0 조회수 320

인기 태그

인프런 TOP Writers

주간 인기글