스프링 공부에 대해서
스프링 핵심 원리 - 기본편
안녕하세요 무료 강의 듣고 차례대로 하나씩 들으려고 계획을 세우고 있습니다. 2달 뒤에 스프링부트를 사용하는 안건에 투입예정이라 빠르게 공부를 하려고 하는데 스프링로드맵, 스프링부트 로드맵 총 2가지가 있어서 문의를 드립니다. 해당 스프링로드맵부터 차근차근 들어도 현업에 들어가는데 문제가 없을까요?? 스프링 개념없이 스프링부트부터 들어도 되는지 걱정이라 글 작성해봅니다.
- spring
- 객체지향
173만명의 커뮤니티!! 함께 토론해봐요.
스프링 핵심 원리 - 기본편
안녕하세요 무료 강의 듣고 차례대로 하나씩 들으려고 계획을 세우고 있습니다. 2달 뒤에 스프링부트를 사용하는 안건에 투입예정이라 빠르게 공부를 하려고 하는데 스프링로드맵, 스프링부트 로드맵 총 2가지가 있어서 문의를 드립니다. 해당 스프링로드맵부터 차근차근 들어도 현업에 들어가는데 문제가 없을까요?? 스프링 개념없이 스프링부트부터 들어도 되는지 걱정이라 글 작성해봅니다.
실전! 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 활용할 때는 유의해야할 것 같습니다.
스프링 핵심 원리 - 기본편
강의 들었는데 소름돋네요. appconfig에서 하나만 바꾸면 되니깐 진짜 편안해요. 이렇게 하면 내가 만들고 싶은 서비스 로직 작성하고 나서 그냥 config가서 바꾸기만 하면 되잖아요.
자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
코틀린 파일만 실행하면 이렇게 오류가 납니다 자바 버전도 맞구요 어떻게 해결하나요?
나도코딩의 자바 기본편 - 풀코스 (20시간)
제가 지금 강의의 초중반부를 학습중인데 과제로 Jframe을 사용해야 해서 그런데 혹시 Jframe 과 관련된 내용의 강의가 있을까요???
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 혹시 강의에 대한 내용을 노션에 코드와 기록해도 될까요 ?
나도코딩의 자바 기본편 - 풀코스 (20시간)
선생님 타자 엄청 빠르시고 정확 하신대 연습을 따로 하셨나요 ? 저는 타자가 느려서 조금 고민이네요 ㅠ
스프링 핵심 원리 - 기본편
해당 스프링을 누군가에게 알려주고 있는 데, start.spring.io의 dependency에서 왜 모든 JAR 라이브러리가 검색이 안되는지 물어보네요.. 어떻게 대답해야 할까요? 예를들어 p6spy 라이브러리 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.7.1'
자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
안녕하세요. 수업에서 사용하시는 교재는 따로 볼 수 있는 방법이 있을까요?? 감사합니다.
자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
안녕하세요. 수업하실 때 사용하시는 교재?는 제공이 안 되는 건가요? 그냥 동영상으로 봐야 할까요?
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 강사님 강사님 덕분에 자바 기본편 강의 정말 재밌게 잘 듣고 있습니다. 제가 다음주 화요일부터 부트캠프 과정이 시작되기에 자바 공부 우선순위를 여쭤보고자 합니다. 자바스크립트가 익숙해져 있어서 자바 코드를 작성하는데 있어서 어색함 및 낯설음 때문에 친숙해지려면 시간이 더 필요한 느낌입니다.. 현재 11장 함수형 인터페이스에서 어려움을 겪고 있는 상황이네요 ㅜㅜ 이번주까지 12,13,14장은 다 끝날 수 있을 것 같으며 동시에 우선순위 대로 복습하고자 합니다. 강사님께서 어느 단원을 우선순위로 공부할지 조언해주실 수 있을까요 ? 아무래도 메소드 이전은 자바스크립트와 내용면에서 중복되기에 친숙했는데 클래스 이후부터 제네릭스, 인터페이스, 익명클래스... 어렵네요 ㅜㅜ 어떤 순서대로 공부해야할지 궁금합니다. p.s) 자바의 람다식은 자바스크립트의 화살표 함수와 동일하다고 생각되는데 맞는지요 ?
스프링 핵심 원리 - 기본편
취업이나 개인적인 개발 질문들이있는데 강사님의 메일같은것을 받을수있을까요
스프링 핵심 원리 - 기본편
만약 실무에서 스코프 프로토타입을 사용해야 한다면 어떠한 상황에 사용하나요? 예시 하나만 들어줬으면 좋겠습니다.
나도코딩의 자바 기본편 - 풀코스 (20시간)
https://haaneeul.tistory.com/manage/newpost/3?type=post&returnURL=https%3A%2F%2Fhaaneeul.tistory.com%2Fmanage%2Fposts 차근차근 배워보겠습니다! 블로그도 처음 해보는데 꾸준히 기록하면서 복습하겠습니다.
스프링 핵심 원리 - 기본편
스프링 입문 강의 듣고 핵심원리 기본편 스프링 프로젝트를 만드는 과정에서 오류가 나서 자바도 새로깔고 인텔리제이도 지웠다가 다시 깔고 하다보니 원래 잘 실행되던 입문강의때 했던 프로젝트마저 실행이 안됩니다 위처럼 처음부터 오류가 떠버립니다 자꾸 건들다가 더 꼬여버린거같아서 착잡하네요 나와있는 해결책 이것저것해봐도 해결이 안되네요
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요..! 제가 한 달 정도 뒤에 기업 코테 정도는 아니고 프로그래머스 레벨 1정도는 거의 완벽하게 풀 수 있는 정도가 되어야하는데요 일단 그러기 위해서는 자바 강의의 어느정도까지 나가고 자료구조 및 알고리즘 공부를 해야하는지 감이 안 잡히네요..일단 자바의 정석을 듣는데 생각보다 상세한 내용까지 다뤄서 오래걸릴거같습니다만 나도코딩님의 강의를 보니 핵심적인 부분 위주로 가르쳐주시는 거 같아서 해당 강의를 듣고 코테 준비를 하는게 나을까요..? 만약 듣게 된다면 진도를 최대한 최종 챕터까지 나가고 자료구조 알고리즘을 도전해보는게 맞는 순서일까요.. 답변 감사드립니다!
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 강사님 Java 기본편 정말 잘 듣고 있습니다. 다름이 아니라, 후속 강의 없이 Java 기본편만 업로드 하신건 강사님의 실력에 대한 모독이라고 생각됩니다. 이렇게 훌륭한 강의력으로 어떻게 기본편만 찍으셨는지요... Java 고급편 및 Spring 관련 강의, sql 강의도 간절히 원합니다 ~~ 수 많은 코딩 유튜버들이 많지만 나도코딩님이 그중 원탑이라고 감히 말할 수 있습니다. 강의 듣는 중에 후속작이 없어서 아쉬움에 남기고 가요...
자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
안녕하세요 인스턴스 생성과 힙 메모리 강의 자료 중에 오타가 있습니다. https://gitlab.com/easyspubjava/BeginningJAVA/-/blob/main/Chapter03/03-05/README.md 사용하지 않'늠' -> '는' 으로 변경 되어야 할 것 같습니다. 감사합니다!
자바 ORM 표준 JPA 프로그래밍 - 기본편
https://xively.tistory.com/43
자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
객체 자신을 가리키는 this 강의에서 9분부터 12분30초 경까지 아무 영상이 나오지 않는 것 같은데 맞나요? 확인 부탁드립니다.