https://velog.io/@dlsrjsdl6505/MySQLDataJpaTest-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) 위 블로그 글 같이 @DataJpaTest(showSql = true) 하단에 위 어노테이션을 붙여 주시면 됩니다. 블로그 글을 요약하면, 기본 설정이 인메모리 DB로 잡혀 있어 dataSource가 연결되지 않는 것입니다.
영한님의 jOOQ에 대한 생각도 궁금합니다. jpa를 배워야 할 이유로 사용되었던 근거자료인 전 세계 구글트렌드에서도 jOOQ가 querydsl에 밀리지 않으면서(미국에선 8:2) 한국에서만 querydsl이 많이 사용되는 듯 한데 이러한 이유가 궁금합니다. 가볍게 조사해본 결과 jOOQ는 계속해서 업데이트가 되는데 querydsl은 사장되어간다는 말도 있더라구요. (업데이트가 안되는 이유가 만약 워낙 완성된 오픈소스 프로젝트라면 다행이지만 다른 이유라면 이라는 생각을 해보았습니다.) 현재로서는 로드맵을 따라 querydsl만 공부하는 입장이고 jOOQ는 입문하지 않은 상태인데요. 강의자체가 20년도 강의다보니까 현재의 의견이 어떻게 되시는지 궁금합니다. 미국에서는 왜 jOOQ가 더 인기가 많은걸까요?, 정말 querydsl은 최근 들어서 사장되어가는 기술인가요? 한국도 querydsl기술인기가 jOOQ로 넘어갈까요? 둘 다 배우면 개발자 입장에서 훌륭하겠지만 단순히 궁금해져서 질문을 올려봐요.
jpa(spring data jpa)를 이용해 프로젝트를 구현중입니다. 테이블 연관관계 때문에 다수의 테이블에 join을 해야하는데, n+1문제가 있고 성능상 jpaRepository를 상속받은 순수 jpa를 이용하기 어렵다고 판단되어 거의 대부분을 jpql을 사용해 구현하고 있습니다. 실제 실무에서도 jpa를 사용하는 프로젝트는 거의 대부분을 jpql을 사용하는지, 만일 아니라면 어떤식으로 해결하는지 궁금해서 문의드립니다!
안녕하세요. 최근 학습 목표를 잡아가던 중 고민이 있어 질문글을 남깁니다. 올리신 로드맵 중에서 '실전 자바'를 먼저 하고 있습니다만 백엔드 개발자가 되기 위하여 '스프링 완전 정복'도 같이 해보려고 합니다. '실전 자바' 로드맵을 어느정도까지 마치고 '스프링 완전 정복'을 시작하는게 좋을지, 같이하면 더 좋은 강의, 책이 있을지 궁금하여 질문 드립니다.
https://dataq.goorm.io/exam/116674/체험하기/quiz/4 여기서 하는 성별예측 문제에서 import pandas as pd train = pd.read _csv("data/customer_train.csv") test = pd.read _csv("data/customer_test.csv") # print(train.shape, test.shape) # print( train.info ()) # print(train.isnull().sum()) # print(test.isnull().sum()) #결측치 처리 (환불금액) train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) # print(test.isnull().sum()) # print(train['성별'].value_counts()) #인코딩 target = train.pop('성별') train = pd.get_dummies(train) test = pd.get_dummies(test) #검증 데이터 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0) # print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=0) rf.fit (X_tr, y_tr) pred = rf.predict_proba(X_val) # print(pred) from sklearn.metrics import roc_auc_score roc = roc_auc_score(y_val, pred[:,1]) #예측 및 파일생성 pred = rf.predict_proba(test) submit = pd.DataFrame({ "pred":pred[:,1] }) submit.to _csv("result.csv", index=False) # print( pd.read _csv("result.csv")) 이렇게 코딩을 했는데 예측 및 파일 생성에서 pred = rf.predict_proba(test) 여기 부분이 오류가 뜨는데 왜 그런가요 ㅠㅠ > Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 Traceback (most recent call last): File "/goorm/Main.out", line 43, in <module> pred = rf.predict_proba(test) File "/usr/local/lib/python3.9/dist-packages/sklearn/ensemble/_forest.py", line 674, in predict_proba X = self._validate_X_predict(X) File "/usr/local/lib/python3.9/dist-packages/sklearn/ensemble/_forest.py", line 422, in validate X_predict return self.estimators_[0]._validate_X_predict(X, check_input=True) File "/usr/local/lib/python3.9/dist-packages/sklearn/tree/_classes.py", line 407, in validate X_predict X = self._validate_data(X, dtype=DTYPE, accept_sparse="csr", File "/usr/local/lib/python3.9/dist-packages/sklearn/base.py", line 437, in validate data self._check_n_features(X, reset=reset) File "/usr/local/lib/python3.9/dist-packages/sklearn/base.py", line 365, in check n_features raise ValueError( ValueError: X has 73 features, but DecisionTreeClassifier is expecting 74 features as input. 이렇게 뜹니다,,
안녕하세요. 좋은 강의 감사드립니다. 덕분에 잘 배우고 있습니다. 문제 2. 주어진 데이터에서 결측치가 30%이상 되는 컬럼을 찾고 해당 컬럼에 결측치가 있는 데이터(행)를 삭제 함. 그리고 30% 미만, 20% 이상인 결측치가 있는 컬럼은 최빈값으로 값을 대체하고 'f3'컬럼의 'gold' 값을 가진 데이터 수를 출력하세요! 문제2를 대하고 순간 다음과 같은 고민을 했었습니다. 1번을 수행하여 'f1'컬럼의 결측치 행을 삭제한 후 2번을 하려니 'f3'컬럼의 결측치 갯수가 18개만 남더군요. 그럼 18개는 최초 데이터 100개의 20% 미만일까? 그렇지 않다. 'f1'컬럼 결측치를 제거한 후 데이터 갯수 69개의 20%~30%(14~20)에 해당한다. 그렇다면 'f3'컬럼의 최빈 값은 'f1'컬럼의 결측치를 제거하기 전의 값을 사용해야할까 아니면 결측치 제거 후의 값을 사용해야 할까? 결과적으로는 어떤 방식으로 하던 답은 56으로 일치했지만 주어진 데이터에 따라 다른 값이 나올 수도 있을 것 같습니다. 혼돈을 없애기 위해 문제 2의 문항 순서를 바꾸면 어떨까요? 30% 미만, 20% 이상인 결측치가 있는 컬럼은 최빈값으로 값을 대체하고 주어진 데이터에서 결측치가 30%이상 되는 컬럼을 찾고 해당 컬럼에 결측치가 있는 데이터(행)를 삭제 함. 'f3'컬럼의 'gold' 값을 가진 데이터 수를 출력하세요!
현재 토이프로젝트의 service단이 너무 큼+테스트 코드가 필요하다고 생각해서 두 가지 방법을 생각했는데요 1. 서비스 클래스 나누기 2. 도메인 레이어 추가 2번을 위해 도메인을 나누고자 했는데, 어떻게 나눠야할 지 감이 잡히질 않아서 해당 강의를 수강했습니다 그런데 해당 강의를 보면서, 사실 제 프로젝트가 CRUD 정보밖에 없는 것 같더라구요ㅎㅎㅎ,, 물론 소스코드를 봐야 제대로 파악이 되시겠지만, 이 경우에는 차라리 직관적인 레이어드 아키텍처로 가져가고, 서비스 클래스를 나누는게 더 나을까요?? 물론 적용해보면 좋은 내용이겠지만(그리고 다른 프로젝트에 적용해봐서 실습할 생각이지만) 프로젝트 규모가 너무 작은거 아닐까 싶어서요 서비스가 최대 7개의 레포를 갖고있는데, 이 경우에는 각 서비스 클래스의 책임을 재정의하는게 맞을지 궁금합니다
엔티티 전체를 조회 하는 것이 아닌 이름만 조회하기 위해, 프로젝션을 사용하는것 으로 알고 있습니다. 하지만, 단순 jpa + jqpl로도 이름만 조회가 가능한데, 다음과 같이 구현하면, 내부적 동작방식이 다른지? 여부가 궁금합니다. MemberRepository.java @Query("select m.name from Member m where m.name = :name") String findOnlyOneName(@Param("name") String name); MemberRepositoryTest.java @Test public void 간단하게_이름만조회() throws Exception{ //given Team team = new Team("teamA"); teamRepository.save(team); Member m1 = new Member("kim1",10,team); memberRepository.save(m1); em.flush(); em.clear(); //when String findMemberName = memberRepository.findOnlyOneName("kim1"); //then assertThat(findMemberName).isEqualTo("kim1"); }
서브쿼리만 따로 실행하면 상관 컬럼으로 참조한 컬럼은 메인쿼리에 있어서 서브쿼리 단독 실행이 안되는 바람에 문제점 파악하기도 힘들고 쿼리가 메인부터 실행되는게 아니라 서브부터 실행되기 때문에 가장 안쪽에 있는 서브쿼리부터 거꾸로 해석해야해서 직관적으로 의미를 알아내기도 어렵고... 정말 끔찍해요 안썼으면 좋겠어요... 최초 강의에 포함되지 않은 이유가 있는것같아요
안녕하세요. 현재 저는 김영한 강사님이 올려놓으신 스프링 완전 정복 시리즈 로드맵(고급편, 핵심 원리와 활용 제외)과 JPA 실무 정복 로드맵(스프링 데이터 JPA, QueryDSL 제외)을 수강(1회 수강)했습니다. 저는 지금까지 배운 기술들로 간단한 개인 프로젝트를 진행하려고 하는데 프로젝트 진행 방법에 대해 궁금한 점이 있습니다. 첫 번째 질문 저는 일단 지금까지 들었던 강의들을 빠른 배속으로 다시 들으면서 프로젝트를 진행하려고 하는데 이게 맞는지 아니면 프로젝트 도중에 헷갈리는 개념들을 찾아서 복습하는 식으로 진행하는게 맞는지 궁금합니다. 아니면 더 좋은 방법이 있으시다면 추천 부탁드립니다. 두 번째 질문 그리고 강사님 강의들을 처음 들을 때는 라이브 코딩을 진행하면서 강의를 들었었는데 복습할 때는 라이브 코딩 말고 그냥 빠른 배속으로 들으면서 복습하는 것도 괜찮은 건지 궁금합니다.
안녕하세요 현재 개발자를 준비하고 22살 남성입니다, 저에게는 한 가지 고질적인 고민이 있습니다, 바로 제대로 된 네트워킹이 이루어지고 있지 않다는 점 인데요, 고졸이라는 학력과 주위에 아무런 인맥도 없는 상황에서 20살부터 혼자서 2년간 공부를 했기에 불안함이라는 감정이 아무리 공부를 하더라도 지워지지 않는 거 같습니다, 아마 객관적으로 현재 저가 어느정도 수준인지 파악이 안되는 상황이라서 생기는 감정이라고 생각하고 있습니다. 사실 개발자를 준비하면서 여러 차례 네트워킹을 노력 했지만 뜻대로는 안 된 거 같습니다, 하지만 지속적인 불안함 때문에 2년간 계속해서 공부방식에 대한 의심이 많았고, 누가봐도 좋은 방식이라는 생각이 들 수 있도록 방향에 대한 교정을 이어나가고 있습니다. 본론은 지금부터 입니다, 현재까지 몇 번의 서비스를 만들어 왔으며, 매번 서비스를 만들면서 백엔드 개발 관점에서 더 좋은 코드를 만들고자 노력하고 있습니다. 그리고 지금은 새로운 서비스를 만들면서 이전에는 구현하기 바빴다면, 이번에는 개발서적을 읽고 여러 레퍼런스를 보면서 개발을 하고있는 상황입니다. 예를 들어, JPA의 경우 현재 내 코드가 선택적 비식별관계인지 필수적 비식별관계인지 점검하고 만약 필수적 비식별 관계일 경우 N + 1 문제를 해결하기 위해, 연산이 상대적으로 더 빨라서 성능 면에서 외부조인보다 더 좋은 내부조인을 사용할 수 있고 이러한 내부조인을 사용하여 N + 1 문제를 해결하는 등 서적을 읽으면서 문제점을 계속해서 찾다보니 점검 해야하는 체크 리스트가 약 150개 정도 되는 상태입니다. (근데 말이 저렇다는거지 실제로는 요구사항에 따라서 @EntityGraph나 Fetch Join이 더 좋을 수도 있을거라고 생각하고 있습니다) 또한 책을 읽다보니 간단한 CRUD을 구현하는 것도 사실 간단한게 아니라 저가 놓치고 있는게 정말 많이 있다는 사실을 알 수 있었고, 지금은 한 가지 기능을 구현할 때 많은 고민을 가지면서 개발하는 습관이 생겼습니다, 이외에도 빨리 데이터베이스와 아키텍처 그리고 네트워크에 대한 내용도 서적을 읽으면서 제 기준으로 최대한 깊게 공부하고 싶은 생각이 들고 있습니다. 그리고 저는 이러한 부분에서 "다른 개발자들은 기본적으로 알고 있는거면 어떡하지?" "지금 고치고 있는게 의미 없는거면 어떡하지?" "열심히 서적을 읽고 정리하고 코드에 적용하고 그걸 기록하고 남들이 읽기 쉽도록 PR하는데 이게 아무 가치가 없는거면 어떡하지?" 같은 불안함을 느끼고 있습니다, 그래서 지금 방식이 괜찮은지 김영한님의 조언을 듣고 싶습니다, 되도록이면 쓴소리를 듣고 더 좋은 방향으로 발전하고 싶습니다, 긴글 읽어주셔서 감사합니다. + 그리고 마지막으로 지금 만드는 서비스가 저가 이전에 일했던 시장에서 불편한 점을 개선하는 서비스입니다, 랜딩 페이지를 만들어서 약 이틀간 수요 조사를 했는데 200분이 방문하시고 80분 정도가 이 정보를 원하고 계신 상태이기에, 최소한 한달에 1,000명 정도는 사용하지 않을까..? 하는 생각이 있습니다, (과거 수익형 블로그 운영 경험이 있어서 사이트 노출에 대한 이해도가 좀 있음) 그래서 신입이 최선을 다해서 만든 서비스가 사용자 피드백을 받고 개선한것도 있다면 좀 좋게 봐주실까요....?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 개발을 하게되면 ddl.auto 를 update든 create든 설정을 해두어야 할텐데 운영장비에는 저걸 사용하면 안된다면 무엇을 사용해야 하는건가요? 그리고 초기단계에는 create,update라면 중후반에는 update로 설정을 해둔후 실행을 계속 하는건가요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
이번에 배포까지 완료 하였고, 많이 부족하지만 이 강의를 통하여 배운 것을 기반으로 응용 프로젝트를 하려고 합니다. 목표는 웹 앱 하이브리드 형식으로 웹에서는 관리자 관리 기반 기능 (책 등록, 회원 승인, 기록 관리) 앱에서는 로그인이나 ai 가 책을 추천하고, 책에 대한 소통하는 게시판, 웹에서 등록된 책을 앱에서 대출 및 반납 을 목표로 하고 있습니다. 예전에 js, css 를 다뤄서 html 을 만들어본 경험과 안드로이드 스튜디오를 통해 heidiSQL 을 사용하여 알람 앱을 만들어 본 적도 있는데, 다 까먹었지만, 다시 한번 기억을 되살려 써먹어보고 싶습니다. 문제는 일단 프론트 쪽 부터 뜯어보고 싶은데, 제가 배웠던 것은 js와 css 파일을 나누어서 그것을 이용해 body에 때려박는 무식한 방식으로 했는데 idex.html 에 있는 body 에 id="root" 만 있고 이 root 에 대한 값을 못찼겠네요... 일단 제가 알고 싶은 것은 버튼이나 여러 ui를 추가 하고 싶은데 혹시 강의에서 주신 html 을 건들려면 어떻게 해야 할지 알 수 있을까요? 서버 실행 후 index.html 에 있는 저장 버튼이 어떻게 저희가 작성한 코드와 상호작용 되는지 알 수 있을까요?
안녕하세요 영한님 영한님 강의들을 통해서 스프링이 무엇인지도 몰랐던 저는 이제 팀을 만들어 프로젝트를 하고 개발이라는 것에 즐거음을 느끼고 있는 개발 취준생입니다. 최근 프로젝트를 진행하면서 JPA 사용하는 중에 테스트 코드에서 어려운 부분이 있어 너무 궁금하여 질문을 남깁니다. 저는 물류 관리 시스템의 주제로 프로젝트를 진행하고 있습니다. 이 과정에서 엔티티과 연관관계를 복잡하게 가지고 있고 이로 인해서 서비스 테스트 코드 하나를 테스트하기 위해 많은 사전 데이터가 필요한 상태입니다. 테스트 코드를 작성하기 위해서 많은 Mock 데이터가 필요한 문제점을 해결하기 위해서 실무에서는 어떤 식으로 이런 문제를 해결하는지 궁금합니다. 혹시나 이 글을 보신다면 답변 해주시면 정말 감사하겠습니다. ㅠㅠ 👏 👏
혹시 쿼리를 빨리 읽는 방법이 있을까요? 제가 실무에서 프로시저와 함수들을 주로 사용하고 있습니다. 그런데 제가 SQL 에 익숙하지 않아서 인것도 있지만 주석이 없는 프로시저와 함수들을 보고 의도를 파악하고 분석하는데 시간이 너무 오래 걸리고 있어요. 혹시 서브쿼리 join , union 등이 무분별하게 쓰여진 복잡한 쿼리에서 쿼리의 의도만을 빠르게 파악할 수 있는 방법이 있을까요? 제 나름대로 생각을 해서 SELECT 절은 일단 보지 않고 FROM 절을 먼저 보고 어떤 테이블에서 값을 가지고 오는지 판단한후 WHERE 절을 보고 마지막으로 SELECT 절을 보고 있어요 그런데 SELECT 절에서도 CASE WHEN 문이나 단일행 서브쿼리들이 있어서 실행을 시켜보아도 이게 무슨의미인지 파악하지 못할때가 많아요,, 방법이 있을까요?
안녕하세요. 김영한 강사님의 Spring 완전 정복 로드맵을 수강중인 학생입니다. 지금 DB 2편까지 수강을 마쳤는데 여기서 다음으로 바로넘어갈지 아니면 JPA책을 읽어볼지 고민중인데요. 이미책은 구입해놔서 실행에만 옮기면되서 조언구하고싶습니다. 시간은 굉장히여유로워서 순서가중요할것 같습니다!