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 조회수 2812

수강 기간 관련 문의 드립니다.

AWS Certified Solutions Architect - Associate 자격증 준비하기

안녕하세요 강사님, 좋은 강의 제공해주시는 것 감사합니다. 제가 강의를 신청하고 급하게 외근을 다니게 되어, 이제 다녀와 들으려고 하는데 수강 기간이 조금 빠듯한 듯 하여.. 한 번 수강 기간을 연장해주실 수 있는지 요청드려 봅니다. 연장해주신다면 꼭 자격증을 취득하도록 노력하겠습니다. 감사합니다.

  • 네트워크
  • aws
지톨 댓글 1 좋아요 0 조회수 361

오겜 Discord 차단 된것 같은데 ,, ㅠㅠ

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

삭제된 글입니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
idk1930 댓글 0 좋아요 0 조회수 18

혹시 리펙토링에 관한 강의는 계획없으신지요?

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

제목 그대로 입니다. 선생님이 클린코드나 코드 리팩토링 강의 계획이 있으시다면 무조건 듣고 싶은데 강의 계획있으신지 문의드립니다.

  • 네트워크
  • MMORPG
  • windows-server
snu 댓글 1 좋아요 0 조회수 458

구름환경 문의

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

함수에 대해 정의내릴 때 예를 들어 코랩 에서는 scaler = minmax_scale() 이렇게 정의를 내리고 scaler(data) 하는데 #코랩은 정의내릴 때 괄호를 빼면 동작안함 구름에서 테스트해보니까 scaler = minmax_scale()하고 scaler(data)하면 에러가 발생하고 괄호없이 scaler = minmax_scale 만해야 에러가 발생하지 않더라구요. 이게 구름 환경만의 특성이라서 그렇다고 보면 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jinu220 댓글 2 좋아요 0 조회수 715

안녕하세요 강사님! 수학때문에 고민이 있어 이렇게 질문드립니다.

딥러닝 CNN 완벽 가이드 - TFKeras 버전

안녕하세요 선생님. 우선 좋은 강의를 해주셔서 감사드립니다. 다름이 아니라 현재 섹션1,2 를 수강한 상태입니다. 섹션 1, 2를 수강하는데 수식이 굉장히 많이 등장하더라구요. 제가 수포자였어서 현재로썬 이해하는데 있어서 어려움이 많은 상태입니다.(지금은 열심히 공부하고 있습니다! 아무래도 딥러닝을 공부하는데 수학이 필수인거같아서) 그래서 작동 원리만 이해하고 우선은 넘어가는 방식으로 공부하려고 하는데 이렇게 해도 괜찮을까요?? 예를들면 경사하강법은 손실함수의 기울기가 적어지는 방향으로 학습하는 것이구나, 오차역전파는 미분을 거꾸로 하면서 가중치를 업데이트하는 것이구나, 손실함수는 이런게 있구나, 옵티마이저는 이런게 있구나 이렇게 작동하는구나 이런식으로요. 물론 언젠가는 반드시 다 이해해야겠지만 딥러닝입문자로써는 이렇게 이해만 하고 넘어가도 될까요??

  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • kaggle
  • cnn
이재훈 댓글 1 좋아요 0 조회수 626

강의가 너무 좋아요

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

현업에서는 아파치 아니면 nginx를 만나는데 아파치 설명도 이정도만 해주셨음 좋겠어요 ㅠㅜㅠㅠ 그동안 답답했던게 속이 뻥 뚫리는 느낌이네요

  • 네트워크
  • linux
  • docker
김동혁 댓글 0 좋아요 9 조회수 543

train.corr().iplot(kind='heatmap', colorscale='Blues') 에러 발생시.

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

train.corr().iplot(kind='heatmap', colorscale='Blues') 현재 위의 코드 수행시 에러가 발생하는데요. ValueError: could not convert string to float: 'Braund, Mr. Owen Harris' train 데이터프레임에서 문자열 데이터가 포함되어 있기 때문에 해당 에러가 발생할 수 있습니다. 이 경우, 상관 관계 행렬을 계산하기 전에 문자열 열을 제거해야합니다. 저의 경우 다음처럼 새로운 객체를 만들어 진행하였습니다. object_cols = train.select_dtypes(include=['object']).columns #열의 데이터 타입이 문자인녀석 추출 new_train = train.drop(columns=object_cols) # 열의 데이터가 문자열인 것들 제거 후 새로운 객체에 생성 new_train.corr().iplot(kind='heatmap', colorscale='Blues') 이러면 잘 나옵니다.

  • python
  • 머신러닝
  • pandas
  • kaggle
이기평 댓글 1 좋아요 1 조회수 936

로컬 머신에서 iplot 으로 렌더링 안되시는 분들은

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

import plotly.io as pio pio.renderers.default='iframe' 다음 코드를 추가해주시면, iframe 을 통해 렌더링 됩니다. 저의 경우 다음 에러로 렌더링이 안됐습니다. ( F12 / Option+Command + i -> console 에서 확인 가능 .)

  • python
  • 머신러닝
  • pandas
  • kaggle
이기평 댓글 0 좋아요 0 조회수 465

토폴로지 트러블슈팅 도와주세요ㅜㅜ

20년 경력자의 알기 쉬운 컴퓨터네트워크

복습 겸 만든 토폴로지가 제대로 동작을 안해서.. 도움 부탁드려요 ㅜㅜ 이틀째 고민중인데 답이 안나오네요.. 토폴로지 링크: https://drive.google.com/file/d/1h8WO5ultT23Ya_hyJ_Xqg0wpFQZ1sdR4/view?usp=sharing 토폴로지 설명: HSRP 프로토콜을 이용한 L3 스위치 이중화, RADIUS 서버를 포함한 WAN, 무선 라우터를 이용한 무선 LAN 토폴로지 입니다. SW1의 gig0/1 을 shutdown시켜 HSRP가 잘 작동하는지 확인하려했습니다 유선 LAN구간에서는 잘 작동했으나 무선 LAN에서는 계속 전송 오류가 났습니다 발견한 문제점: Wireless Router0에서 게이트웨이 라우터(R1)으로 PDU 테스트 했을 때, SW2에서 메시지가 삭제됨을 확인했습니다. 목적지가 200.200.201.1로 설정되어 그런것 같습니다. 왜 유선 LAN은 HSRP가 잘 적용되어 새 경로인 200.200.202.1로 잘 경로 설정이 되었는데, 무선 LAN은 gig0/1이 다운되기 전의 경로를 계속 이용하는지 모르겠습니다... 게이트웨이 라우터(R1)에서 Wireless Router0로 PDU 테스트 했을 때, Wireless Router0 에서 메시지가 삭제됨을 확인했습니다. 목적지가 200.200.200.7로 설정되어 있는데...Wireless Router 0의 Internet IP가 200.200.200.7이거든요. 왜 삭제 되었는지 알 수가 없습니다... RADIUS 서버(Server0)에서 Wireless Router0으로 PDU 테스트를 했을 때, R2에서 메시지가 삭제됨을 확인했습니다. 목적지가 192.168.200.1, 즉 무선LAN IP로 설정되서 인것 같습니다. (1) 왜 인터넷 IP 200.200.200.7 대신 무선 LAN IP 192.168.200.1로 설정이 된건지, (2) R2라우터에 무선 LAN정보를 Static으로라도 입력해야하는건지 궁금합니다. 추가 궁금증: 경로 재설정을 위해 무선 라우터를 껐다 켜서 초기화하는 방법도 생각해봤는데...Wireless Router0의 Physical Device View에 전원버튼이 없는것 같아요. 혹시 무선 라우터 WRT300N 전원 강제종료 할 수 있는 방법이 있나요?

  • 네트워크
  • 프로토콜
hamster0101 댓글 1 좋아요 2 조회수 425

15_코드 실행 시 오류 해결 방법

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

<강의 코드> transforms_for_train = transforms.Compose( [ transforms.Resize(feature_extractor.size), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize, ] ) 강의 코드를 변경하지 않고 그대로 실행하면 아래와 같은 오류가 발생합니다 <오류 메시지> TypeError: Size should be int or sequence. Got <해결 방법> feature_extractor.size를 tuple(feature_extractor.size.values()) 로 변경한 뒤 실행합니다. transforms.Resize 내의 인자 뿐만 아니라 Crop 안의 인자도 함께 변경해주어야 합니다 transforms_for_train, transforms_for_val 모두 동일하게 변경한 뒤 실행하면 에러 없이 실행되는 것을 보실 수 있습니다.

  • 머신러닝
  • 딥러닝
  • 인공신경망
  • pytorch
  • vision-transformer
세니 댓글 0 좋아요 0 조회수 545

아두이노 시뮬레이터

아두이노와 떠나는 사물인터넷 여행 - 아두이노 입문부터 IoT 중급까지!

아두이노와 전자회로를 시뮬레이터 할수 있는 사이트입니다. 저처럼 전자가 처음이신분들은.. 기판에 하기전에 한번 해보시면.... 쇼트나는지 미리 확인이 가능합니다^^ 정보 차원에서 공유합니다 https://www.tinkercad.com/

  • 네트워크
  • arduino
  • iot
HanHee Thomas Nam 댓글 0 좋아요 0 조회수 465

수강기간연장문의

AWS Certified Solutions Architect - Associate 자격증 준비하기

안녕하세요. 그동안 너무 바빠서 강의를 못듣고 있다가 이제서야 강의를 들으려고 했더니 6일이 남았네요 ㅠㅠ 신청하고 겨우 1개정도 들은거 같은데 너무 아깝습니다.. 영심히 학습할 의지가 있는데 수강기간 혹시 1달정도 연장이 가능할까요?

  • 네트워크
  • aws
starplaton 댓글 1 좋아요 0 조회수 448

이번에 처음 듣고 있는데, 완벽히 이해못하더라도 넘어가는게 좋을까요??

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

서버 쪽 오니까, 정말 난이도가 이전 강의들에 비해서 체감 난이도가 엄청 확 뛰네요 ㅠㅠ 특히 지금 Session 쪽 SendBuffer 강의 듣고 있는 중인데, 서버, 클라이언트 흐름 쪽으로 들어오니,멀티쓰레드나 락 개념보다도 어려운 거같네요 ㅠㅠ 정말 빡 집중해서 보면, 강사님께서 작성하시는 코드가 아~ 이런 흐름이구나, 이래서 이 부분에 이런 코드를 작성하시는구나 정도가 이해가 될려고 하는 수준이고 막상 제가 처음부터 혼자 구현하라고 하면 절대 못 할 거같은 느낌이 드는데.. 이럴땐 그냥 대충 이해만 하고 한번 크게 훑은 다음에, 다시 여러번 들어보는게 좋을까요? 아니면 처음 들을 때, 완벽하게 이해하고 넘어가는게 좋을까요? 혹시 이런 상황에 추천하시는 공부 법 알려주심 감사하겠습니다!

  • C#
  • unity
  • 네트워크
kimj90703 댓글 1 좋아요 0 조회수 547

정말 어렵네요 ㅠㅠ

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

C# 기초 공부할때는 코드가 이해가 안되도 그림으로 실행흐름을 그려보면서 이해해볼수있었는데 이거는 코드들이 비동기실행되니까 정확한 순서로 그림을 그려보는게 힘들어서 이해가 정말 힘드네요;

  • C#
  • unity
  • 네트워크
infeet 댓글 1 좋아요 0 조회수 502

using namespace std; 에 대해 의견이 궁금합니다!

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

저는 이유는 모르겠으나 사소한 것 하나하나 정확하게 명시하는 것을 선호하는 편이라서 using namespace std;를 사용하지 않는 편인데 이 강의를 포함해서 많은 강의들을 보면 std를 직접 타이핑하는 경우는 본 기억이 없습니다. 실제 현업의 코딩 스탠다드 또한 std는 생략하자는 분위기인가요?

  • 네트워크
  • MMORPG
  • windows-server
SeungHun Yim 댓글 1 좋아요 0 조회수 534

보스턴 부동산 가격_ax list 문법 문의

현업 실무자에게 배우는 Kaggle 머신러닝 입문 - ML 엔지니어 실무 꿀팁

figure, ax_list = plt.subplots(nrows=3, ncols=5) figure.set_size_inches(20,20) for i in range(len(full_column_list)): sns.regplot(data=boston_house_df, x=full_column_list[i], y='PRICE', ax=ax_list[int(i/5)][int(i%5)]) ax_list[int(i/5)][int(i%5)].set_title("regplot " + full_column_list[i]) 안녕하세요 수업 즐겁게 듣고 있습니다 : ) 여기서 ax = ax_list 부분 설명 좀 부탁 드리겠습니다. 만약 i를 안쓰고 개별 1개 칼럼에 대해 그래프를 그린다면 ax = 뒤가 뭔지 궁금합니다. 이것만 알아도 위 코드가 이해될 것 같습니다. 감사합니다.

  • 머신러닝
  • kaggle
  • 부동산
  • 보스턴
  • ax
  • ax_list
  • regplot
노경모 댓글 0 좋아요 0 조회수 377

C++ 구현한 Iocp 서버 언리얼 연동 궁금

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요, c++로 iocp server를 구현해서 c++로 만든 client에서 테스트 중 입니다. 다만, client는 언리얼로 만들어서 c++ 만든 iocp server 보낸 데이터로 박스도 움직이고 채팅도 확인해보고싶은데 혹시, 연동하는 과정에 관련된 정보 같은것은 어디서 어떻게 확인해볼수 있을까요? 구글에 검색하니까 언리얼을 iocp server와 연동하는 정보가 너무 없어서 답답해서 남겨봅니다

  • 네트워크
  • MMORPG
  • windows-server
쏭이 tv 댓글 1 좋아요 0 조회수 918

인기 태그

인프런 TOP Writers

주간 인기글