일대다 페이징 방법
실전! Querydsl
삭제된 글입니다
- java
- jpa
173만명의 커뮤니티!! 함께 토론해봐요.
실전! Querydsl
삭제된 글입니다
[SPARCS Service Hackathon 2024 참가자 모집!] https://event.sparcs.org/ssh24 대전광역시와 KAIST가 주최하고, KAIST 총학생회 산하 특별기구 SPARCS가 주관하는 SPARCS Service Hackathon 2024에서 창의적인 아이디어와 실행력을 가진 전국 대학생 기획자, 개발자, 디자이너를 모집하고 있습니다! 📌 행사 세 줄 요약 1⃣ 1등 팀에게는 대전광역시장상과 상금 200만원 수여 2⃣ 총상금 400만원 이상, 롯데시티호텔 대전 숙박 지원, 엘리스의 강의와 GPU 자원 제공 3⃣ SPARCS의 활동 반영, 대학생 80명을 대상으로 교육, 기획, 개발, 마케팅이 함께하는 해커톤 🏠 일시 / 장소 - 일시: 2024.02.14(수) 오후 1시 ~ 2024.02.16(금) 오후 7시 - 장소: KAIST 본원, 대전드림아레나, 대전 롯데시티호텔 📝 참가자 모집 - 대상: 기획, 개발, 디자인 등 해커톤에서 팀으로 활동할 수 있는 전국 대학생 80명 누구나 - 참가비: 3만원 🔗 지원 방법 - https://sparcs.page.link/ssh24 - 개인 또는 2인 지원 가능 (주관사에서 4인 1팀 매칭 예정) 💰 상금 및 혜택 - 🥇 1위 대전광역시 시장상 (상금 200만 원) - 총 상금 400만 원 이상, 4팀 이상 시상 예정 - 각종 미니 게임 상품 증정 🕰 타임라인 (2024년) - 01.28 (일) : 참가 신청서 제출 마감 - 02.01 (목) : 선발 결과 공지 - 02.14 (수) ~ 02.16 (금) : 해커톤 본행사 (오프라인) 🕰 해커톤 진행 방식 - 오프라인 2박 3일 - 아이스브레이킹, 교육, 미션, 네트워킹, 개발 등 다양한 활동 진행 🙋 문의사항 - 메일: event@sparcs.org - 인스타그램: @event.sparcs SPARCS 2024 Hackathon, 여러분의 참여를 기다립니다!
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
삭제된 글입니다
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
삭제된 글입니다
나도코딩의 자바 기본편 - 풀코스 (20시간)
삭제된 글입니다
실전! 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 활용할 때는 유의해야할 것 같습니다.
안녕하세요 너디너리팀입니다! 너디너리는, IT 작업자들이 즐거운 삶을 살아갈 수 있도록 다양한 행사와 프로그램을 운영 및 지원하는 커뮤니티입니다. 국내 주요 25개 대학에서 앱 런칭 동아리를 운영하고 있으며, IT 관련 3,000여명의 인원이 활발히 활동하고 있습니다. 🍒 너디너리에서 출시한 '코드픽커' 서비스의 베타테스터를 모집하고있습니다. 코드픽커는 개발자의 작업 시간 단축을 목표로 하는, AI 기반의 질의응답 서비스입니다. 현재는 디스코드 내에서, 챗봇을 통해 서비스를 지원하고 있으며, 상반기 중으로 테스트 코드 작성, 코드 분석등의 기능을 탑재한 웹 서비스 런칭을 목표로 하고있습니다. 신청폼 : http://bit.ly/40QVabP 특징은 아래와 같습니다. ✔️모든 언어와 프레임워크에 대한 질문을 지원하고 있어요. ✔️AI 개발 사수 코드픽커가, 무슨 질문이든 3분 내에 답해줘요. ✔️프로그래밍 코드, 진행 방향성 등 모든 개발 관련 질문이 가능해요. ✔️다른 개발자들의 질의응답 내용 또한 모두 열람 가능해요. AI 개발 사수와 함께하며 개발 시간의 단축을 꿈꾸는 분이라면, 꼭 신청 부탁드립니다! : ) 막 오픈한 서비스라 부족한 점이 많아, 많은 피드백을 받고 싶습니다. 베타 테스트 예정 기간은 4/3 ~ 4/11 동안이며, 초기 인원으로 약 20명의 분만 모집하고자 합니다. 신청폼 : http://bit.ly/40QVabP 신청폼을 제출해주시면, 디스코드 가입 링크를 문자로 전달드릴 예정입니다. : ) 많은 신청 부탁드립니다! 감사합니다.
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요! 조금 뜬금 없는 질문이기는 한데 궁금해서요 왜 for 문을 반복문이라고 하나요? 그러니까 어떤 의미에서의 반복인가요? apple 를 a p p l e 이렇게 5줄로 따로따로 가져오는 게 반복인가요?
응모 주제 주제 1. 기존 유저 수업 수 증대를 위한 링글 1:1 화상영어 앱/웹 서비스 개편안 제안 매주 1회 이상 꾸준히 수업 듣는 유저의 비중을 확대하기 위한 방안 수업 수 증대가 재결제 확대 및 빠른 수업 재시작과 연계될 수 있기 위한 방안 주제 2. 신규 유저 확보 및 결제 증대를 위한 모바일 웹/앱 온보딩 제안 모바일 웹/앱을 통한 가입 및 첫 결제 단계에서의 이탈 요인을 제거하기 위한 방안 가입 및 첫 결제 과정에서 신규 가입자의 링글 이해도를 높일 수 있는 경험을 제공하기 위한 방안 모바일에서 신규 가입자의 결제 전환율 증대 방안 공모전 사이트 링크 공모전 사이트: 제4회 링글 서비스 기획 공모전 ( ringleplus.com ) 응모자격 만 18세 이상인 분이라면, 직업이나 거주지 등과 관계없이 누구나 참가 가능합니다. 참가팀은 1인 이상, 4인 이하로 구성할 수 있습니다. 주제 1과 2 중복 참가 가능합니다. 중복 참가팀의 경우, 주제별 별도의 서비스 기획서를 준비해 주셔야 하며 중복 수상은 불가합니다. 공모전 마감일 과제 접수는 2023년 4월 14일(금) 18:00 마감이며, 이후 본선 PT 과정을 거쳐 최종 수상팀이 발표됩니다. 과제 접수 마감: 2023년 4월 14일(금) 18:00 본선 통과 발표: 2023년 4월 21일(금) 14:00 본선 PT: 2023년 5월 13일(토) - 5월 14일(일) 최종 수상 발표: 2023년 5월 16일(화) 14:00 시상 내역 이번 공모전은 총 4,000만 원의 상금이 준비되어 있습니다. 각 주제별로 대상 1팀, 최우수상 1팀, 우수상 5팀을 선발합니다. 대상(1팀)ㅣ1,000만원 최우수상(1팀)ㅣ500만원 우수상(5팀)ㅣ100만원 수상팀은 상금 외에도 링글 채용 과정에서 우대합니다. 대상 및 최우수상의 경우, 정규직 채용 파이널 인터뷰 기회를 제공합니다. 우수상의 경우, 인턴 채용 파이널 인터뷰 기회를 제공합니다. 제출/접수 방법 공모전 참가는 아래 공식 사이트의 [링글 공모전 참가하기] 배너를 클릭하여, 팀명과 연락처 등의 정보를 입력한 후 준비한 파일을 업로드해 주세요. 파일 업로드를 위해 Google ID가 필요합니다. 공모전 사이트: 제4회 링글 서비스 기획 공모전 ( ringleplus.com )
자바 ORM 표준 JPA 프로그래밍 - 기본편
https://xively.tistory.com/43
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
selenium 실력 업그레이드 ② - 네이버 지도 크롤링/검색어 입력구현 이곳 수업은 아마 혼자했다면 포기했었을 것 같습니다. 아무리해도 search = browser.find_element(By.CSS_SELECTOR, 'input.input_search') 이것부터 인식을 안해서 왜 안되나 찾고 찾아도 알 수가 없었습니다. time어쩌고 언급이 된 것 같았지만 그것을 읽을 때는 심각하게 생각하지 않고 지나쳐 버려서... 포기하고 수업을 들으니 특별한 것이 있을 줄 알았는데... # 검색창 찾아서 입력 search = browser.find_element(By.CSS_SELECTOR, 'input.input_search') search.click() time.sleep(1) # 이것을 안해줘서 인식을 못했음, 사람처럼 인식하도록 함 search.send_keys("강남역 맛집") time.sleep(1) search.send_keys(Keys.ENTER) time.sleep(2) # 3개의 명령어가 순식간에 일어나면 네이버지도는 사람이 아니다라고 인식 별것 아닌 것 같은 time.sleep(1) 이것이 해결책이었네요. 이 수업하나로 수업료낸 값어치가 있는 것 같습니다. .
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
삭제된 글입니다
인프런 x 데브경수
인프런 x 데브경수
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )
인프런 x 데브경수
인프런 x 데브경수
인프런 x 데브경수
인프런 x 데브경수
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
선생님 안녕하세요. 강의 듣고있는 수강생 입니다. 다름이 아니라 파이썬 프로젝트하면 포트폴리오로 활용하기에도 실용적으로 쓰기에도 불필요한 너무 작은 단위의 게임, 메모앱을 만든다든지 기껏해야 블로그만들기만 잔뜩 있는것 같습니다. 어쩌다가 인스타그램 만들기가 있구요. 혹시 파이썬 장고를 활용한 쇼핑몰 만들기 강의 개설에 대해서 계획이 있으신가요?