2화만에 단축키 방출
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ㅋㅋㅋ..
- java
- 객체지향
173만명의 커뮤니티!! 함께 토론해봐요.
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ㅋㅋㅋ..
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요 ㅋㅋ 스프링 입문편 나올때 영한님을 알게돼서 질문도 남기고, 메일도 보내고 그랬었는데 시간이 많이 지났네요.. ㅋ 그동안 방황하느라고 개발자로 일도 안하고 영한님 강의도 16개 중에 4개 밖에 못 보고.. ㅎㅎ 쌓인 12개 강의 보면서 열심히 하겠다는 다짐하고 갑니다. 그건 그렇고 영한님 너무 멋져지셨네요~~ 머리나 스타일도 그렇고 얼굴도 더 좋아지신 거 같아요 ㅎㅎ 늘 건강하시길 바라며 이만.. (이제 딴 소리 하는 탭이 없어졌네요.. ㅠ)
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요. 강사님 🙂 현재 현업에서 Flutter 개발자로 일하고 있고 Spring 백앤드 개발자가 되고 싶은 욕구가 생겨서 Java 기초 강의부터 듣고 있습니다. 그런데 제가 일할 때는 VSC로 Flutter로 개발을 하고 자바-스프링 공부를 인텔리제이로 해야하는 상황입니다. 이럴 때는 찾아보니 인텔리제이에서 vsc 단축키를 적용할 수 있게 해주고 이를 적용하면 되는 것으로 알고있습니다.. 이 같은 상황에서는 어떻게 하는게 좋을까요? 강의에서 중간중간 알려주시는 단축키들이 있을 것으로 예상되는데(이후의 String 로드맵 전체에서) IDE를 인텔리제이로 통일 시켜서 단축키를 적응할지 아니면 인텔리제이에 VSC 단축키를 적용시켜서 사용할지 고민입니다. 마음 같아서는 후자의 방식이 편하니까 끌리지만 현업에서 커뮤니케이션을 하거나 정식 단축키가 아니다 보니 다른 단축키들과 충돌 등의 문제가 있을 것 같아서 강사님의 의견이 필요합니다. 감사합니다.
김영한의 실전 자바 - 기본편
안녕하세요 영한님 사이드 프로젝트로 개인 홈피 직접 만들고자 하는 코린이입니다. 자바 기초는 자바의정석으로 닦았지만 1년이넘었고 영한님 스프링 기초강의듣다가 이해가 안되는부분이 많아서 이 강의를 신청하게 되었습니다. 백엔드로 orm은 jpa 프론트는 타임리프까지 공부해보고자했는데 관련 개인 홈피 제작 시 어떻게 커리큘럼을 설계하는것이 좋을까요?
김영한의 실전 자바 - 기본편
저도 인텔리제이로 수업듣는데 테마가 너무이뻐서 그런데 어떤 테마 쓰시나요 .. ?
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요 김영한 강사님:) 궁금한 점을 말씀드리기에 앞서 강사님의 자바 기초 강의를 들을 수 있다는 점에 영광이라는 말씀을 드리고 싶습니다. 28일 오늘, 강사님의 자바 강의가 출시되는 날이라는 것이 생각나 기대감과 설렘이 피로를 몰아낸 새벽이네요:-) 아직은 자바 기초도 완벽히 모르는 수준이지만 앞으로도 계속 김영한 강사님의 강의를 들으며 자바와 스프링에 대한 탄탄한 기본기를 다져나갈 계획입니다. 본론으로 넘어가서 제가 이렇게 글을 남기게 된 이유는 아래와 같습니다. 현재 강사님께서 "자바 입문편 - 자바 기본편" 총 2개의 JAVA 강의를 올려주셨는데, 해당 두 개의 강의만 클리어한 후에 바로 강사님의 스프링 강의를 쭉 들어도 스프링에 대한 이해에 무리가 없을지 여쭙고 싶었습니다. 양질의 강의 감사드리면서 부디 좋은 하루되시길 바랍니다!
스프링 핵심 원리 - 기본편
삭제된 글입니다
스프링 핵심 원리 - 기본편
삭제된 글입니다
스프링 핵심 원리 - 기본편
스프링에 대해서는 2년전에 학습하고 지금은 거의 백지상태입니다. 입문부터 강의는 모두 구입하긴 했는데.. 내용이 사실 다 이해가 되지 않습니다. 입문부터도 막히는데 이걸 그냥 아무것도 모른상태로 계속 듣고 따라해도 될까요.. 다른 입문 수업을 먼저 들어야하는지 궁금합니다. 당연하게 진행하시면서 말씀하시는 내용인데 못알아들은 상태로 진행하니 답답하네요ㅠㅠ
스프링 핵심 원리 - 기본편
삭제된 글입니다
나도코딩의 자바 기본편 - 풀코스 (20시간)
삭제된 글입니다
스프링 핵심 원리 - 기본편
안녕하세요. 대학교를 재학중인 대학생입니다. 다음 학기에 팀프로젝트가 있어 vue.js 기본, MYsql 기본, 자바 스프링 코어 핵심원리 - 기본편 을 수강중입니다. 이 강의들을 수강하는 것만으로 자바 스프링을 이용한 웹어플리케이션 팀프로젝트를 진행할 수 있을까요? 백엔드 프론트엔드 DB 로 파트를 나눠 진행하려고 합니다.
스프링 핵심 원리 - 기본편
스프링 부트를 배우기 위해 스프링 부터 공부 중인데 혹시 스프링부트로 웹이 아닌 앱 백엔드 부분을 만드는게 웹 백엔드를 만드는 것과 비슷할까요??
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 cs 전공공부를 이번 가을부터 해서 노베이스라 미리 공부중인 유학생인데요. 친구추천으로 알게 되었어요. 그래서 아예 뭔지도 모르고 그냥 강의 구매해서 강의 듣고 강의대로 나름대로 적용시키면서 하고 있는데요... ! 혹시 이 강의에는 책이 없나요? 책 없이 영상들으면서 하고 있긴 한데 몰라서 여쭈어보아요! 그리고 제가 나름대로 하고 있긴 한데 사실 아예 말그대로 입문과정이라 그냥 현재로선 강의를 듣고 이해하고 계속 다음강의 다음강의 쭉.. 그냥 듣고 있긴 한데 사실 어떻게 가닥을 잡고 딱 공부를 해야할지 모르겠어요.. 말그대로 학습법에 대한 고민이 있는 것 같아요.. 하하.. 전공이 cs인 유학생이긴 한데 정말 도전정신으로 선택한거라 기왕 결정한 거 제대로 잘 하고싶은데요.... 혹시 학습법이나 이 강의를 통해서 좋은 결과를 만들어낼 수 있는 그런 팁 같은 것들을 알려주실 수 있으실까요 ..? 예를 들어서 강의 하나하나씩 끝낼 때마다 연습을 어떻게 해야할지 아니면 뭐.. 네 .. 잘 떠오르지가 않네요 .. 저의 긴 글 읽어 주셔서 감사합니다... 답변 기다릴게요 !
스프링 핵심 원리 - 기본편
삭제된 글입니다
[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
안녕하세요 강의 잘 듣고있습니다. 빠른 답변감사드립니다. 컴퓨터가아닌 노트북으로 플러터를 이용해 어플을 만드는 목적인데 혹시 추천해주실만한 노트북사양이나 제품이 있을까요?
나도코딩의 자바 기본편 - 풀코스 (20시간)
혹시 이제 자바로 저만의 프로젝트 같은 것을 만들어 보고 싶기도 한데 어떤 강의를 더 들으면 새로운 프로젝트를 만들 수 있을까요? 안드로이드 어플 등이요. 다음 방향에 대해서 고민입니다.
[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
1강을 3번 정도 보면서 익히려고 노력하는데 머릿속에 다 들어오거나 외운 느낌은 아니에요. 그렇게 2강을 듣기 시작했는데 너무 어렵네요. 공부방법을 어떻게 하면 좋죠? 1강은 강사님이 알려주신거 코드 직접해보고 자료로만들고 했는데... 2강오니 이해안되는 부분들이 많아요.
스프링 핵심 원리 - 기본편
안녕하세요 무료 강의 듣고 차례대로 하나씩 들으려고 계획을 세우고 있습니다. 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 활용할 때는 유의해야할 것 같습니다.