이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
H2 대신 mysql 등 다른 DB를 사용하시는 분들 중 Error creating bean with name 'entityManagerFactory' 에러가 나는 경우
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가 연결되지 않는 것입니다.
-
실전! Querydsl
강의 외 질문: 현시점의 querydsl (jOOQ vs Querydsl)
영한님의 jOOQ에 대한 생각도 궁금합니다. jpa를 배워야 할 이유로 사용되었던 근거자료인 전 세계 구글트렌드에서도 jOOQ가 querydsl에 밀리지 않으면서(미국에선 8:2) 한국에서만 querydsl이 많이 사용되는 듯 한데 이러한 이유가 궁금합니다.가볍게 조사해본 결과 jOOQ는 계속해서 업데이트가 되는데 querydsl은 사장되어간다는 말도 있더라구요. (업데이트가 안되는 이유가 만약 워낙 완성된 오픈소스 프로젝트라면 다행이지만 다른 이유라면 이라는 생각을 해보았습니다.)현재로서는 로드맵을 따라 querydsl만 공부하는 입장이고 jOOQ는 입문하지 않은 상태인데요. 강의자체가 20년도 강의다보니까 현재의 의견이 어떻게 되시는지 궁금합니다.미국에서는 왜 jOOQ가 더 인기가 많은걸까요?, 정말 querydsl은 최근 들어서 사장되어가는 기술인가요?한국도 querydsl기술인기가 jOOQ로 넘어갈까요? 둘 다 배우면 개발자 입장에서 훌륭하겠지만 단순히 궁금해져서 질문을 올려봐요.
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpql 무차별 사용에 대해
jpa(spring data jpa)를 이용해 프로젝트를 구현중입니다.테이블 연관관계 때문에 다수의 테이블에 join을 해야하는데, n+1문제가 있고 성능상 jpaRepository를 상속받은 순수 jpa를 이용하기 어렵다고 판단되어 거의 대부분을 jpql을 사용해 구현하고 있습니다. 실제 실무에서도 jpa를 사용하는 프로젝트는 거의 대부분을 jpql을 사용하는지,만일 아니라면 어떤식으로 해결하는지 궁금해서 문의드립니다!
-
김영한의 실전 자바 - 기본편
'스프링 완전 정복' 로드맵을 함께 위한 Java 지식의 정도
안녕하세요.최근 학습 목표를 잡아가던 중 고민이 있어 질문글을 남깁니다. 올리신 로드맵 중에서 '실전 자바'를 먼저 하고 있습니다만 백엔드 개발자가 되기 위하여 '스프링 완전 정복'도 같이 해보려고 합니다. '실전 자바' 로드맵을 어느정도까지 마치고 '스프링 완전 정복'을 시작하는게 좋을지, 같이하면 더 좋은 강의, 책이 있을지 궁금하여 질문 드립니다.
-
Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
섹션 4 어떻게 변경할 것인가? 관련해서 질문드립니다
현재 토이프로젝트의 service단이 너무 큼+테스트 코드가 필요하다고 생각해서 두 가지 방법을 생각했는데요1. 서비스 클래스 나누기2. 도메인 레이어 추가2번을 위해 도메인을 나누고자 했는데, 어떻게 나눠야할 지 감이 잡히질 않아서 해당 강의를 수강했습니다 그런데 해당 강의를 보면서, 사실 제 프로젝트가 CRUD 정보밖에 없는 것 같더라구요ㅎㅎㅎ,, 물론 소스코드를 봐야 제대로 파악이 되시겠지만, 이 경우에는 차라리 직관적인 레이어드 아키텍처로 가져가고, 서비스 클래스를 나누는게 더 나을까요?? 물론 적용해보면 좋은 내용이겠지만(그리고 다른 프로젝트에 적용해봐서 실습할 생각이지만) 프로젝트 규모가 너무 작은거 아닐까 싶어서요서비스가 최대 7개의 레포를 갖고있는데, 이 경우에는 각 서비스 클래스의 책임을 재정의하는게 맞을지 궁금합니다
-
실전! 스프링 데이터 JPA
프로젝션 사용 이유
엔티티 전체를 조회 하는 것이 아닌 이름만 조회하기 위해, 프로젝션을 사용하는것 으로 알고 있습니다.하지만, 단순 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"); }
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
학습 방법
안녕하세요.현재 저는 김영한 강사님이 올려놓으신 스프링 완전 정복 시리즈 로드맵(고급편, 핵심 원리와 활용 제외)과 JPA 실무 정복 로드맵(스프링 데이터 JPA, QueryDSL 제외)을 수강(1회 수강)했습니다.저는 지금까지 배운 기술들로 간단한 개인 프로젝트를 진행하려고 하는데 프로젝트 진행 방법에 대해 궁금한 점이 있습니다.첫 번째 질문저는 일단 지금까지 들었던 강의들을 빠른 배속으로 다시 들으면서 프로젝트를 진행하려고 하는데 이게 맞는지 아니면 프로젝트 도중에 헷갈리는 개념들을 찾아서 복습하는 식으로 진행하는게 맞는지 궁금합니다. 아니면 더 좋은 방법이 있으시다면 추천 부탁드립니다.두 번째 질문그리고 강사님 강의들을 처음 들을 때는 라이브 코딩을 진행하면서 강의를 들었었는데 복습할 때는 라이브 코딩 말고 그냥 빠른 배속으로 들으면서 복습하는 것도 괜찮은 건지 궁금합니다.
-
실전! 스프링 데이터 JPA
현재 공부방향이 괜찮은지 궁금합니다
안녕하세요 현재 개발자를 준비하고 22살 남성입니다,저에게는 한 가지 고질적인 고민이 있습니다, 바로 제대로 된 네트워킹이 이루어지고 있지 않다는 점 인데요, 고졸이라는 학력과 주위에 아무런 인맥도 없는 상황에서 20살부터 혼자서 2년간 공부를 했기에 불안함이라는 감정이 아무리 공부를 하더라도 지워지지 않는 거 같습니다, 아마 객관적으로 현재 저가 어느정도 수준인지 파악이 안되는 상황이라서 생기는 감정이라고 생각하고 있습니다. 사실 개발자를 준비하면서 여러 차례 네트워킹을 노력 했지만 뜻대로는 안 된 거 같습니다, 하지만 지속적인 불안함 때문에 2년간 계속해서 공부방식에 대한 의심이 많았고, 누가봐도 좋은 방식이라는 생각이 들 수 있도록 방향에 대한 교정을 이어나가고 있습니다. 본론은 지금부터 입니다, 현재까지 몇 번의 서비스를 만들어 왔으며, 매번 서비스를 만들면서 백엔드 개발 관점에서 더 좋은 코드를 만들고자 노력하고 있습니다. 그리고 지금은 새로운 서비스를 만들면서 이전에는 구현하기 바빴다면, 이번에는 개발서적을 읽고 여러 레퍼런스를 보면서 개발을 하고있는 상황입니다. 예를 들어, JPA의 경우 현재 내 코드가 선택적 비식별관계인지 필수적 비식별관계인지 점검하고 만약 필수적 비식별 관계일 경우 N + 1 문제를 해결하기 위해, 연산이 상대적으로 더 빨라서 성능 면에서 외부조인보다 더 좋은 내부조인을 사용할 수 있고 이러한 내부조인을 사용하여 N + 1 문제를 해결하는 등 서적을 읽으면서 문제점을 계속해서 찾다보니 점검 해야하는 체크 리스트가 약 150개 정도 되는 상태입니다.(근데 말이 저렇다는거지 실제로는 요구사항에 따라서 @EntityGraph나 Fetch Join이 더 좋을 수도 있을거라고 생각하고 있습니다) 또한 책을 읽다보니 간단한 CRUD을 구현하는 것도 사실 간단한게 아니라 저가 놓치고 있는게 정말 많이 있다는 사실을 알 수 있었고, 지금은 한 가지 기능을 구현할 때 많은 고민을 가지면서 개발하는 습관이 생겼습니다, 이외에도 빨리 데이터베이스와 아키텍처 그리고 네트워크에 대한 내용도 서적을 읽으면서 제 기준으로 최대한 깊게 공부하고 싶은 생각이 들고 있습니다. 그리고 저는 이러한 부분에서 "다른 개발자들은 기본적으로 알고 있는거면 어떡하지?" "지금 고치고 있는게 의미 없는거면 어떡하지?" "열심히 서적을 읽고 정리하고 코드에 적용하고 그걸 기록하고 남들이 읽기 쉽도록 PR하는데 이게 아무 가치가 없는거면 어떡하지?" 같은 불안함을 느끼고 있습니다, 그래서 지금 방식이 괜찮은지 김영한님의 조언을 듣고 싶습니다, 되도록이면 쓴소리를 듣고 더 좋은 방향으로 발전하고 싶습니다, 긴글 읽어주셔서 감사합니다. + 그리고 마지막으로 지금 만드는 서비스가 저가 이전에 일했던 시장에서 불편한 점을 개선하는 서비스입니다, 랜딩 페이지를 만들어서 약 이틀간 수요 조사를 했는데 200분이 방문하시고 80분 정도가 이 정보를 원하고 계신 상태이기에, 최소한 한달에 1,000명 정도는 사용하지 않을까..? 하는 생각이 있습니다, (과거 수익형 블로그 운영 경험이 있어서 사이트 노출에 대한 이해도가 좀 있음) 그래서 신입이 최선을 다해서 만든 서비스가 사용자 피드백을 받고 개선한것도 있다면 좀 좋게 봐주실까요....?
-
실전! 스프링 데이터 JPA
강의 질문 드립니다.
해당 강의 말고 Query DSL 로 바로 넘어가도 될까요..?2개의 기술 모두 JPQL 작성하는 방법에 대해서 다루는 거라면..Query DSL 을 사용하는게 더 낫고 편하다면 그냥 그것만 듣고 싶어서요...
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 스키마에 대해 궁금한게 있어요
[질문 템플릿]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 활용1 - 웹 애플리케이션 개발
연관관계를 많이 가지는 엔티티의 테스트
안녕하세요 영한님영한님 강의들을 통해서 스프링이 무엇인지도 몰랐던 저는 이제 팀을 만들어 프로젝트를 하고 개발이라는 것에 즐거음을 느끼고 있는 개발 취준생입니다.최근 프로젝트를 진행하면서 JPA 사용하는 중에 테스트 코드에서 어려운 부분이 있어 너무 궁금하여 질문을 남깁니다. 저는 물류 관리 시스템의 주제로 프로젝트를 진행하고 있습니다.이 과정에서 엔티티과 연관관계를 복잡하게 가지고 있고 이로 인해서 서비스 테스트 코드 하나를 테스트하기 위해 많은 사전 데이터가 필요한 상태입니다.테스트 코드를 작성하기 위해서 많은 Mock 데이터가 필요한 문제점을 해결하기 위해서 실무에서는 어떤 식으로 이런 문제를 해결하는지 궁금합니다. 혹시나 이 글을 보신다면 답변 해주시면 정말 감사하겠습니다. ㅠㅠ👏👏
-
스프링 DB 2편 - 데이터 접근 활용 기술
스프링 완전정복 로드맵을 수강중 JPA책공부
안녕하세요. 김영한 강사님의 Spring 완전 정복 로드맵을 수강중인 학생입니다. 지금 DB 2편까지 수강을 마쳤는데 여기서 다음으로 바로넘어갈지 아니면 JPA책을 읽어볼지 고민중인데요. 이미책은 구입해놔서 실행에만 옮기면되서 조언구하고싶습니다. 시간은 굉장히여유로워서 순서가중요할것 같습니다!
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 다중 스키마 JPA 활용 방법에 대한 질문
log 데이터베이스가 log_연_월로 매월 스키마를 자동 생성하여 로그를 기록 및 보관하고 있습니다. (ex) 2024.03월 >> log_2024_03(db) >> application_log(table), system_log(table) 2024.04월 >> log_2024_04(db) >> 테이블 구조는 동일 (새로운 연.월이 오면 자동으로 생성) ....위에 대한 데이터베이스 구조에서 3월과 4월의 system_log 내용을 조회하고 싶다면?(조회하고 싶은 날짜는 사용자의 조건에 따라 달라질 수 있음.)mybatis에서 mapper.xml 에 쿼리를 직접 작성하여 해결 가능하지만,jpa로는 위와 같은 문제를 어떤식으로 해결할 수 있는지 조언 부탁 드립니다.
-
생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
HandlerMethodArgumentResolver 를 사용하신 이유에 대해서 궁금합니다.
안녕하세요 선생님 강의에 도움을 많이 받고 있습니다!다름이 아니라 반복되는 로직들을 HandlerMethodArgumentResolver 를 통해서 처리한 것에 대해서 궁금증이 하나 생겼는데요. 해당 RequestHeader 에서 값을 검증하거나, 변환하는 기능을 HandlerMethodArgumentResolver 외에도 유틸 메서드로도 동일한 처리가 가능할 것 같은데 HandlerMethodArgumentResolver 를 사용하신 이유에 대해서 알 수 있을까요? 어떠한 특정상황에서 사용하는 것인가? 하는 궁금증이 있어서 여쭤보게되었습니다. 감사합니다!
-
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
로그에 traceId, spanId 모두 잘 찍히는데 조회가 안 됩니다.
로그에 traceId, spanId 모두 잘 찍히는데 브라우저의 zipkin에서 traceId로 조회를 하면 no trace가 뜨네요. 스프링부트 3에 맞춰서 깃허브에 올려주신 자료 참조해서 디펜던시 맞게 설정하고 yml에도 올려주신 자료대로 수정했는데 이런 문제가 생기면 어떤 부분이 잘못된 걸까요?
-
스프링 DB 2편 - 데이터 접근 활용 기술
DB섹션 강의를 들으면서 궁금한 점이 생겨 질문을 남깁니다.외래키를 설정하는 방법과 조인검색결과를 json으로 어떻게 반환하나요?
어느 강의영상에 질문을 남겨야할지 감이 안잡혀 여기에 질문 남깁니다….웹 개발을 할 때 DDL을 통해 생성되는 테이블들은 모두 서비스에서 사용되는 객체들을 보고 만드는것 같은데 (예를 들면 Member 클래스, Item클레스들을 생각했습니다)만약 어떤 회원 A가 아이템A를 등록하였으면 데이터 베이스의 회원과 아이템 사이에는 등록이라는 관계가 생성이 되고 회원 1명은 아이템을 여러개 등록이 가능하다면 Member 테이블의 PK를 Item 테이블의 FK로 등록되며 Item 테이블의 속성들은 (id, item_name, price, quantity, member_id)로 설정이 될것 같은데 이런 경우 Item 클레스의 멤버변수로Member member_id; 를 생성해주어야 할것 같은데 이런 외래키 값은 도메인을 설계할때 어떻게 처리해야 하나요?그리고 api로 통신할 때 클라이언트 에게 데이터를 넘겨줄 때 스프링 입문 강의에서 hello 객체자체를 return 하면 스프링의 잭슨라이브러리가 json포멧으로 변환해서 넘겨준다고 해주셨는데 여러개의 테이블이 조인된 결과를 json으로 반환 해주려면(예를 들어서 멤버 A가 등록한 아이템의 이름과 가격, 멤버의 이름을 요청한다면 반환되는 튜플이 item_name, price, member_name) 이것들은 하나의 객체가 아닌 Member클래스와 Item클래스의 일부 변수들을 사용한 새로운 값들인데 이럴때는 어떤 방법으로 return해주어야 하나요? 클라이언트측과 조율을 하여 검색되는 조건을 설정하여 조인검색의 제약을 설정하나요? 제약을 설정한다면 반환할 때 (item_name, price, member_name)이 3개의 속성들을 멤버변수로 사용하는 새로운 클래스를 생성하여 반환해 주어야 하나요?항상 질문글에 상세한 답글 남겨주셔서 열심히 공부할 수 있습니다. 감사합니다.
-
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
login까지 성공했는데 token을 bearear token에 넣어서 인증을 하면 401에러가 나옵니
post맨 결과와 제가 작성한 코드입니다. 계속 인증 실패로 뜨는데 어떻게 해야하나요?
-
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
user정보에 orders가 안생깁니다.
여기서 마지막에 orders가 나와야하는데 왜 안나오나요?어디에 문제가 있는건가여? 도와주세요 디버그하니깐 null로 나오긴 하는데... 예제처럼 수정하려면 어떻게 해야할까요db는 mysql 쓰고 있습니다
-
백엔드 독학 시 취업 준비(포트폴리오) 및 공부 방향이 궁금합니다.
안녕하세요백엔드 독학 시 포트폴리오 준비 및 공부 방향을 어떻게 해야 할지 방향이 잡히지 않아 고수분들의 의견을 청하고자 글을 작성하게 되었습니다. 저는 백엔드 개발자를 지망하고 있고인프런에서 강의를 들으면서 공부하고 있습니다.현재는 자바 강의 및 김영한 님 스프링, JPA, QueryDSL 강의 및 데이터베이스 강의를 수강하였고개인적으로 나름 포트폴리오? 하나 만들어보고자 도서 대출 반납 및 게시판 CRUD를 할 수 있는 것을 만들었습니다.(백엔드 부분 자바 코드)화면도 만들기는 했지만 GPT 선생님의 도움을 빌려 일단 화면이 보일 수 있을 정도만 해놨습니다. 이후 협업을 경험해 보고 싶은데 현재 올라와 인프런에서 사이드 프로젝트 자리가 있으면 지원하고 있지만뛰어난 분들이 너무 많아 참여가 힘든 것 같습니다. 일단 현재는 docker를 공부 중이며redis, aws를 공부하려고 합니다. 현재 취업을 위해 팀 프로젝트를 하고 싶은데 어떻게 참여할 수 있을지, 많이 부족하다면 현재 어떤 방향으로 더 공부를 진행해야 할지 방향을 잡기가 힘들어 글을 쓰게 되었습니다.중소기업에 취직하기 위해서는 JSP을 요구하는 곳도 많아 보이는데html, css, js를 활용해서 화면도 만들 정도로 공부해야 하는 것 인지도 질문드리고 팀플 구하는 방법 및 공부 방향 및 어떤 것을 더 추가적으로 공부하면 좋을지 댓글 부탁드립니다!감사합니다.많은 분들께서 댓글 주시면 경청하도록 하겠습니다!