inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

스프링 공부에 대해서

스프링 핵심 원리 - 기본편

안녕하세요 무료 강의 듣고 차례대로 하나씩 들으려고 계획을 세우고 있습니다. 2달 뒤에 스프링부트를 사용하는 안건에 투입예정이라 빠르게 공부를 하려고 하는데 스프링로드맵, 스프링부트 로드맵 총 2가지가 있어서 문의를 드립니다. 해당 스프링로드맵부터 차근차근 들어도 현업에 들어가는데 문제가 없을까요?? 스프링 개념없이 스프링부트부터 들어도 되는지 걱정이라 글 작성해봅니다.

  • spring
  • 객체지향
마이티 댓글 1 좋아요 0 조회수 719

만료된 메서드 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 조회수 2811

의존성 주입

스프링 핵심 원리 - 기본편

강의 들었는데 소름돋네요. appconfig에서 하나만 바꾸면 되니깐 진짜 편안해요. 이렇게 하면 내가 만들고 싶은 서비스 로직 작성하고 나서 그냥 config가서 바꾸기만 하면 되잖아요.

  • spring
  • 객체지향
lkdcodegithub 댓글 1 좋아요 0 조회수 354

안녕하세요 코틀린 파일만 실행하면 오류가 납니다

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

코틀린 파일만 실행하면 이렇게 오류가 납니다 자바 버전도 맞구요 어떻게 해결하나요?

  • java
  • kotlin
  • 객체지향
jung 댓글 0 좋아요 0 조회수 428

혹시 Jframe 과 관련된 강의가 있을까요??

나도코딩의 자바 기본편 - 풀코스 (20시간)

제가 지금 강의의 초중반부를 학습중인데 과제로 Jframe을 사용해야 해서 그런데 혹시 Jframe 과 관련된 내용의 강의가 있을까요???

  • java
  • 객체지향
황의찬 댓글 1 좋아요 0 조회수 416

질문있습니다!

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요 혹시 강의에 대한 내용을 노션에 코드와 기록해도 될까요 ?

  • java
  • 객체지향
정문용 댓글 1 좋아요 0 조회수 338

선생님 혹시 타자연습은 어떻게 하셨나요 ?

나도코딩의 자바 기본편 - 풀코스 (20시간)

선생님 타자 엄청 빠르시고 정확 하신대 연습을 따로 하셨나요 ? 저는 타자가 느려서 조금 고민이네요 ㅠ

  • java
  • 객체지향
박승호 댓글 1 좋아요 0 조회수 473

start.spring.io

스프링 핵심 원리 - 기본편

해당 스프링을 누군가에게 알려주고 있는 데, start.spring.io의 dependency에서 왜 모든 JAR 라이브러리가 검색이 안되는지 물어보네요.. 어떻게 대답해야 할까요? 예를들어 p6spy 라이브러리 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.7.1'

  • spring
  • 객체지향
박준태 댓글 1 좋아요 0 조회수 623

수업 교재

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

안녕하세요. 수업에서 사용하시는 교재는 따로 볼 수 있는 방법이 있을까요?? 감사합니다.

  • java
  • 객체지향
Jiyeon Jun 댓글 1 좋아요 0 조회수 411

수업자료

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

안녕하세요. 수업하실 때 사용하시는 교재?는 제공이 안 되는 건가요? 그냥 동영상으로 봐야 할까요?

  • java
  • 객체지향
Jiyeon Jun 댓글 0 좋아요 0 조회수 340

우선순위 공부에 대해 문의드립니다.

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요 강사님 강사님 덕분에 자바 기본편 강의 정말 재밌게 잘 듣고 있습니다. 제가 다음주 화요일부터 부트캠프 과정이 시작되기에 자바 공부 우선순위를 여쭤보고자 합니다. 자바스크립트가 익숙해져 있어서 자바 코드를 작성하는데 있어서 어색함 및 낯설음 때문에 친숙해지려면 시간이 더 필요한 느낌입니다.. 현재 11장 함수형 인터페이스에서 어려움을 겪고 있는 상황이네요 ㅜㅜ 이번주까지 12,13,14장은 다 끝날 수 있을 것 같으며 동시에 우선순위 대로 복습하고자 합니다. 강사님께서 어느 단원을 우선순위로 공부할지 조언해주실 수 있을까요 ? 아무래도 메소드 이전은 자바스크립트와 내용면에서 중복되기에 친숙했는데 클래스 이후부터 제네릭스, 인터페이스, 익명클래스... 어렵네요 ㅜㅜ 어떤 순서대로 공부해야할지 궁금합니다. p.s) 자바의 람다식은 자바스크립트의 화살표 함수와 동일하다고 생각되는데 맞는지요 ?

  • java
  • 객체지향
쿠키쿠 댓글 1 좋아요 0 조회수 877

스프링개발자 관련 질문

스프링 핵심 원리 - 기본편

취업이나 개인적인 개발 질문들이있는데 강사님의 메일같은것을 받을수있을까요

  • spring
  • 객체지향
배선후 댓글 1 좋아요 0 조회수 658

스코프 프로토타입 사용

스프링 핵심 원리 - 기본편

만약 실무에서 스코프 프로토타입을 사용해야 한다면 어떠한 상황에 사용하나요? 예시 하나만 들어줬으면 좋겠습니다.

  • spring
  • 객체지향
호빵맨 댓글 1 좋아요 0 조회수 478

비전공자인데 프로그래밍 언어를 처음 배워봅니다.

나도코딩의 자바 기본편 - 풀코스 (20시간)

https://haaneeul.tistory.com/manage/newpost/3?type=post&returnURL=https%3A%2F%2Fhaaneeul.tistory.com%2Fmanage%2Fposts 차근차근 배워보겠습니다! 블로그도 처음 해보는데 꾸준히 기록하면서 복습하겠습니다.

  • java
  • 객체지향
gksmf9898 댓글 1 좋아요 0 조회수 459

gradel sync failed 오류

스프링 핵심 원리 - 기본편

스프링 입문 강의 듣고 핵심원리 기본편 스프링 프로젝트를 만드는 과정에서 오류가 나서 자바도 새로깔고 인텔리제이도 지웠다가 다시 깔고 하다보니 원래 잘 실행되던 입문강의때 했던 프로젝트마저 실행이 안됩니다 위처럼 처음부터 오류가 떠버립니다 자꾸 건들다가 더 꼬여버린거같아서 착잡하네요 나와있는 해결책 이것저것해봐도 해결이 안되네요

  • spring
  • 객체지향
길성호 댓글 1 좋아요 0 조회수 357

자바 교재로 독학하는 중에 코딩테스트 관련 질문

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요..! 제가 한 달 정도 뒤에 기업 코테 정도는 아니고 프로그래머스 레벨 1정도는 거의 완벽하게 풀 수 있는 정도가 되어야하는데요 일단 그러기 위해서는 자바 강의의 어느정도까지 나가고 자료구조 및 알고리즘 공부를 해야하는지 감이 안 잡히네요..일단 자바의 정석을 듣는데 생각보다 상세한 내용까지 다뤄서 오래걸릴거같습니다만 나도코딩님의 강의를 보니 핵심적인 부분 위주로 가르쳐주시는 거 같아서 해당 강의를 듣고 코테 준비를 하는게 나을까요..? 만약 듣게 된다면 진도를 최대한 최종 챕터까지 나가고 자료구조 알고리즘을 도전해보는게 맞는 순서일까요.. 답변 감사드립니다!

  • java
  • 객체지향
Ho Song 댓글 1 좋아요 0 조회수 782

Java 후속 강좌 수강하길 희망합니다.

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요 강사님 Java 기본편 정말 잘 듣고 있습니다. 다름이 아니라, 후속 강의 없이 Java 기본편만 업로드 하신건 강사님의 실력에 대한 모독이라고 생각됩니다. 이렇게 훌륭한 강의력으로 어떻게 기본편만 찍으셨는지요... Java 고급편 및 Spring 관련 강의, sql 강의도 간절히 원합니다 ~~ 수 많은 코딩 유튜버들이 많지만 나도코딩님이 그중 원탑이라고 감히 말할 수 있습니다. 강의 듣는 중에 후속작이 없어서 아쉬움에 남기고 가요...

  • java
  • 객체지향
쿠키쿠 댓글 1 좋아요 1 조회수 488

강의자료 오타

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

안녕하세요 인스턴스 생성과 힙 메모리 강의 자료 중에 오타가 있습니다. https://gitlab.com/easyspubjava/BeginningJAVA/-/blob/main/Chapter03/03-05/README.md 사용하지 않'늠' -> '는' 으로 변경 되어야 할 것 같습니다. 감사합니다!

  • java
  • 객체지향
ss11 댓글 1 좋아요 0 조회수 573

강의 동영상 관련

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

객체 자신을 가리키는 this 강의에서 9분부터 12분30초 경까지 아무 영상이 나오지 않는 것 같은데 맞나요? 확인 부탁드립니다.

  • java
  • 객체지향
김설희 댓글 2 좋아요 0 조회수 288

인기 태그

인프런 TOP Writers

주간 인기글