안녕하세요 김영한 강사님:) 궁금한 점을 말씀드리기에 앞서 강사님의 자바 기초 강의를 들을 수 있다는 점에 영광이라는 말씀을 드리고 싶습니다. 28일 오늘, 강사님의 자바 강의가 출시되는 날이라는 것이 생각나 기대감과 설렘이 피로를 몰아낸 새벽이네요:-) 아직은 자바 기초도 완벽히 모르는 수준이지만 앞으로도 계속 김영한 강사님의 강의를 들으며 자바와 스프링에 대한 탄탄한 기본기를 다져나갈 계획입니다. 본론으로 넘어가서 제가 이렇게 글을 남기게 된 이유는 아래와 같습니다. 현재 강사님께서 "자바 입문편 - 자바 기본편" 총 2개의 JAVA 강의를 올려주셨는데, 해당 두 개의 강의만 클리어한 후에 바로 강사님의 스프링 강의를 쭉 들어도 스프링에 대한 이해에 무리가 없을지 여쭙고 싶었습니다. 양질의 강의 감사드리면서 부디 좋은 하루되시길 바랍니다!
스프링에 대해서는 2년전에 학습하고 지금은 거의 백지상태입니다. 입문부터 강의는 모두 구입하긴 했는데.. 내용이 사실 다 이해가 되지 않습니다. 입문부터도 막히는데 이걸 그냥 아무것도 모른상태로 계속 듣고 따라해도 될까요.. 다른 입문 수업을 먼저 들어야하는지 궁금합니다. 당연하게 진행하시면서 말씀하시는 내용인데 못알아들은 상태로 진행하니 답답하네요ㅠㅠ
이왕이면 강사님께서 올리신 강좌를 구매해 이어서 학습을 해보려 합니다. 로드맵이 있다면, 보고 구매를 하려고 했는데 올려져 있는 강의 수는 많은데 머신러닝 관련 로드맵이 없더라고요 파이썬 머신러닝 완벽 가이드, 딥러닝 컴퓨터 비전 완벽 가이드 딥러닝 CNN 완벽 가이드 캐글 advanced 머신러닝 실전 박치기 이 강의들을 기본부터 학습하려 하는데요 오래된 강좌가 개정되어 다른 이름으로 만들어져 있어서 내용이 겹치는게 있는지 아니면 모두 수강하는게 맞는지 어떤 순서로 학습하면 되는지 알고 싶습니다.
안녕하세요. 대학교를 재학중인 대학생입니다. 다음 학기에 팀프로젝트가 있어 vue.js 기본, MYsql 기본, 자바 스프링 코어 핵심원리 - 기본편 을 수강중입니다. 이 강의들을 수강하는 것만으로 자바 스프링을 이용한 웹어플리케이션 팀프로젝트를 진행할 수 있을까요? 백엔드 프론트엔드 DB 로 파트를 나눠 진행하려고 합니다.
강사님 안녕하세요, 조인실습2에서 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여 예시가 조금 헷갈립니다. With 문이 서브쿼리 역할을 하는걸로 이해하고 있는데 해당 예시에서 왜 with문이 왜 필요한지, with문 또는 서브쿼리 사용하지 않고 쿼리를 진행시키는 방법이 있는지 궁금합니다ㅠ
안녕하세요 cs 전공공부를 이번 가을부터 해서 노베이스라 미리 공부중인 유학생인데요. 친구추천으로 알게 되었어요. 그래서 아예 뭔지도 모르고 그냥 강의 구매해서 강의 듣고 강의대로 나름대로 적용시키면서 하고 있는데요... ! 혹시 이 강의에는 책이 없나요? 책 없이 영상들으면서 하고 있긴 한데 몰라서 여쭈어보아요! 그리고 제가 나름대로 하고 있긴 한데 사실 아예 말그대로 입문과정이라 그냥 현재로선 강의를 듣고 이해하고 계속 다음강의 다음강의 쭉.. 그냥 듣고 있긴 한데 사실 어떻게 가닥을 잡고 딱 공부를 해야할지 모르겠어요.. 말그대로 학습법에 대한 고민이 있는 것 같아요.. 하하.. 전공이 cs인 유학생이긴 한데 정말 도전정신으로 선택한거라 기왕 결정한 거 제대로 잘 하고싶은데요.... 혹시 학습법이나 이 강의를 통해서 좋은 결과를 만들어낼 수 있는 그런 팁 같은 것들을 알려주실 수 있으실까요 ..? 예를 들어서 강의 하나하나씩 끝낼 때마다 연습을 어떻게 해야할지 아니면 뭐.. 네 .. 잘 떠오르지가 않네요 .. 저의 긴 글 읽어 주셔서 감사합니다... 답변 기다릴게요 !
1강을 3번 정도 보면서 익히려고 노력하는데 머릿속에 다 들어오거나 외운 느낌은 아니에요. 그렇게 2강을 듣기 시작했는데 너무 어렵네요. 공부방법을 어떻게 하면 좋죠? 1강은 강사님이 알려주신거 코드 직접해보고 자료로만들고 했는데... 2강오니 이해안되는 부분들이 많아요.
안녕하세요 무료 강의 듣고 차례대로 하나씩 들으려고 계획을 세우고 있습니다. 2달 뒤에 스프링부트를 사용하는 안건에 투입예정이라 빠르게 공부를 하려고 하는데 스프링로드맵, 스프링부트 로드맵 총 2가지가 있어서 문의를 드립니다. 해당 스프링로드맵부터 차근차근 들어도 현업에 들어가는데 문제가 없을까요?? 스프링 개념없이 스프링부트부터 들어도 되는지 걱정이라 글 작성해봅니다.
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 활용할 때는 유의해야할 것 같습니다.