묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
두 쿼리문의 차이
안녕하세요, 쿠케님 강의 만족스럽게 수강하고 있는 수강생입니다.아래 2개의 쿼리문에 대해 첫번째 쿼리문에 where article_id = 1 이라는 조건문이 있고(비록 index를 생성한 컬럼이지만), 두번째 쿼리문에서는 where article_id가 빠진 상태인데도 첫번째 쿼리문의 속도가 더 빨랐습니다. explain 해보니,두번째 쿼리문에 Using filesort가 존재하는데,order by path로 인해 저희가 지정한 index의 컬럼인데도 불구하고 왜 Using filesort가 되고, 속도가 첫번째 쿼리문에 비해 조건이 없는데도 더 느린지 잘 이해가 안됩니다. mysql> explain select path from comment_v2 where article_id = 1 order by path desc limit 10; +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ | 1 | SIMPLE | comment_v2 | NULL | ref | idx_article_id_path | idx_article_id_path | 8 | const | 4990965 | 100.00 | Backward index scan; Using index | +----+-------------+------------+------------+------+---------------------+---------------------+---------+-------+---------+----------+----------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> explain select path from comment_v2 order by path desc limit 10; +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ | 1 | SIMPLE | comment_v2 | NULL | index | NULL | idx_article_id_path | 110 | NULL | 9981930 | 100.00 | Using index; Using filesort | +----+-------------+------------+------------+-------+---------------+---------------------+---------+------+---------+----------+-----------------------------+ 1 row in set, 1 warning (0.00 sec)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.9분 31초에 나오는 테스트 실행해봤는데 회원가입에서 중복회원이라고 에러가 뜨네요..transactional잘 되어있고 코드도 똑같은데 왜 안될까요?
-
미해결실전! 스프링 데이터 JPA
엔티티 와 도메인의 경계
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 김영한님,강의 잘 듣고 있습니다.실무에서 Spring Data JPA를 사용하는데 궁금한 부분이 있어서 질문드립니다. @Entity 애노테이션이 달린 JPA Entity를 Domain처럼 비즈니스 로직을 넣고 사용하는 것과@Entity는 순수 DB 매핑만 하고 도메인 객체는 별도로 분리해서 설계하는 방법 두가지가 있는 것 같다고 생각이 듭니다.전자는 JPA의 기능들 (영속성 컨텍스트, Dirty Checking)을 잘 사용할 수 있을 것이고, 후자는 JPA 종속성 제거등의 이점이 있을 것 같습니다. 강의에서는 주로 비즈니스 로직을 넣고 사용하는 형태로 (changeTeam() 메서드 등) 개발을 했었다고 생각됩니다.두 방법 다 장점과 단점이 있을 것 같은데, 실무에서는 주로 어떤 방식을 더 많이 사용해서 개발 하는지 궁금합니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
15강 질문
예외처리에서 boolean구문에 ID는 request.getId()로 받지만 왜 name은 getName()으로 안받고 그냥 name으로 받는 건가요/.?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 연결 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의 따라가는 중에 실행하면 중간중간에 한번씩 연결 거부되는데 어떻게 해야될까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 h2 연결
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.질문이 있습니다. 예를 들어 오늘 수업듣고 다음날 다시 컴퓨터를 켜서 h2db에 들어가면 URL을 앞으로 계속 빨간 네모친 걸로 접속하면 되는건가요??
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
트랜잭션 레벨에 대해 궁금합니다!
안녕하세요. 쿠케님 강의가 너무 유익해서 잘듣고있습니다!강의를 진행하면서 문득 생각이 든건데 실무에서 트랜잭션 레벨을 조절을 하기도 하나요???기본 트랜잭션은 REPEATABLE_READ인데 갭락이 걸릴것을 우려해서 COMMITED_READ로 바꾼다거나 이런식으로 트랜잭션 레벨을 조절하는 경우가 있나요???
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
10강 mysql 연결오류
맥북으로 다시 복습중인데 connection test를 누르면 DBMS: MySQL (no ver.) Case sensitivity: plain=mixed, delimited=exact[28000][1045] Access denied for user 'root'@'localhost' (using password: YES). 이 오류가 계속 뜹니다. mysql 서버를 재시작 하기도 해보고 비밀번호도 다시 변경 해보기도 하는데 안되네요 ㅠㅠ 왜 이럴까요??
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
6강 복습중에 질문 있습니다
GetAPI를 만들때는 dto에 생성자를 만들었는데왜 post때는 생성자를 만들지 않나요?
-
해결됨옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
[막강] IoC방법 공부를 할 때?
스프링 IoC를 공부하려면 @Configuration+@Bean 학습을 하려고 하는데, @AppConfig같은 것으로 공부를 해야하는지, 어떻게 해야할지 조그만한 힌트를 주시면 감사하겠습니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
jooq+flyway에서 질문드립니다
도커 컨테이너를 사용하여서 실행 시키는걸로 진행하셨는데 저는 도커를 데스크탑이 아니라 olima로 실행시키고 있어서 환경변수 에러가 나오더라구요 export로 변수 바꿔줘도 안돼서 데스크탑으로 실행해 보니 되기는 하는데, olima로 실행 할 수 있도록 하는 방법이 있을까요? 그리고 도커 컨테이너를 사용 안하고 flyway만 따로 설정하는건 어떻게 하는게 좋을까요?dev.monosoul.jooq-docker 이걸로는 도커가 무조건 설정되어있어야 하는거 같은데,nu.studer.jooq + flyway 조합으로 가는게 좋을까요? 1.olima로 인텔리j에서 dev.monosoul.jooq-docker 설정에 맞게 실행 시키는법2.도커 없이 flyway 사용할때에는 nu.studer.jooq + flyway 이 조합으로 하는게 권장되는 방식인지?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
NotificationMessage가 필요한 이유 질문
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다.Pub-Sub 모델을 이용한 실시간 알림 part2에 질문이 있습니다 ! package com.example.messagequeue.step2.step2; public class NotificationMessage { private final String message; public NotificationMessage() { message = ""; } public NotificationMessage(String message) { this.message = message; } public String getMessage(){ return message; } }짊여기에서 NotificationMessage DTO를 만들어주셧는데, 뭐 때문에 만드신걸까요 ? 직렬화, 역직렬화와 관련이 있는거 같은데, 잘 이해가 안되네요 ㅎㅎ 답변 주시면 감사드리겠습니다 !
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
app.host 관련 질문이 있습니다
dev 프로퍼티 파일에 app.host 를 정의하지 않고 dev 환경으로 실행후, 메일을 보낼시 host 값이 http://localhost:8080 으로 어떻게 넣어지는건가요? dev 프로퍼티 파일에 정의가 안되어 있으면 local 프로퍼티 파일을 참조하게 되는것인가요...?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
MySQL 연결 오류
태현님 안녕하세요 좋은 강의 잘 듣고 있습니다. 수강하면서 실습 진행하면서 3번 정도 mysql 연결 오류가 발생해서 gpt를 통해 해결해보려고도 하고 구글링도 해보았지만 근본적인 해결이 안되어 고민 끝에 질문 남깁니다.우선, 문제 상황을 말씀드리면mysql 설치 후 인텔리제이에서 연결도 잘되어 실습을 진행하다 [S1009] !AuthenticationProvider. BadAuthenticationPlugin! 라는 메시지가 뜹니다.mysql 8.0 CLI-Unicode 에 들어가서 초기에 설정한 비밀번호를 입력하면 바로 unicode가 종료되어 진입 조차 불가능합니다.cmd 실행하여 mysql -u root -p 명령을 입력해서 정확한 비밀번호를 입력하면 ERROR 2059 (HY000): Authentication plugin 'auth_gssapi_client' cannot be loaded: ÁöÁ¤µÈ ¸ðµâÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù. 에러 메시지가 뜹니다.최후의 수단으로 mysql 관련 모든 파일 및 프로그램 삭제 후 재설치하여 인텔리제이 연동해서 실습이 정상적으로 진행이 되다가 랩탑을 몇 번 껐다 키면 위의 문제가 반복됩니다. 왜 저런 문제가 발생하고, 어떻게 해야 해결이 가능할까요..?지금까지는 완전 삭제 및 재설치하여 db 테이블 구성을 처음부터 다 다시 하면서 실습을 어떻게든 따라했지만 근본적인 해결책을 찾고 싶어 질문 드립니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
안녕하세요 생성일,생성자,수정일,수정자는 자동으로 해주는 기능이 있을까요?
Jpa 보면 Auditing 기능으로 자동으로 넣어주는 기능이 있는데 jooq에서도 비슷한게 있을거 같은데 recode listener 사용해서 해야하는걸까요? 아니면 일일히 넣어줘야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문취소문의
주문취소 부분에 cancel()을 실행하면 왜 db업데이트가 되는지 이해가잘안갑니다 .주문을 저장할때처럼 엔티티매니저에서 persist를 해주어야 commit되는게 아닌가요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
멀티모듈 질문
혹시 강의에 멀티모듈구조 설정하는 방법이 있을까요 ? 하나의 프로젝트에서 무듈별로 나누는 방법은 제공하지 않겠죠 ?
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
목록처리(2)에서 페이지 넘버 버튼을 누르면 표시되는 목록이 10개로 안 나옵니다
위 사진들과 같이 각 페이지에 항목이 10개씩 표시되어야 하는데 페이지 버튼의 숫자대로 표시되고 있습니다.ListConponent.js쪽이 이상한가 싶어서 찾아봐도 뭐가 문제인지 모르겠습니다.혹시 참고 자료 필요하신 게 있으시다면 말씀 부탁드리겠습니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
[사례] Maven에서 TestContainers 플러그인 적용시 예외발생
앞으론 과거에 겪었던 이슈들도 생각날때마다 여기에 기록하도록 하겠습니다. Maven에서 TestContainers 공식 플러그인을 활용해 DSL을 만들면 에러가 출력됨결론부터 말하자면 TestContainers의 자체적인 문제고 실제 DSL 생성에는 문제가 없음.무시하고 사용하면됨 See Alsohttps://github.com/testcontainers/testcontainers-jooq-codegen-maven-plugin/issues/37https://github.com/testcontainers/testcontainers-java/issues/1454 설명 maven 프로젝트에서 Testcontainer + flyway를 활용해 jOOQ DSL을 만드려면아래 testcontainer에서 공식적으로 제공해주는 플러그인을 사용하는게 제일 편리함https://github.com/testcontainers/testcontainers-jooq-codegen-maven-plugin 다만 PostgreSQL, MySQL등을 Testcontainer로 띄워서 DSL을 만들다보면작업 마지막에 다음과같이 NoClassDefCoundError라를 에러메시지가 나옴(다만 작업은 정상적으로 완료됨) 관련해서 이미 아래와 같이 이슈가 올라와있음 (필자도 겪어보고 여기에 의견을 남겼었음)https://github.com/testcontainers/testcontainers-jooq-codegen-maven-plugin/issues/37 결과적으론 공식 플러그인의 문제가 아니라 TestContainers 자체이슈임TestContainers과 Maven 간의 자체적인 문제로 인해 발생하는 거였고, TestContainer의 이 이슈가 해결되기 전까진 해결 할 수 없음 다만 이걸 플러그인 없이 수동으로 작업하는건 유지보수하기도 어렵고, 수동으로 작업해도 동일한 이슈가 발생할것이기 때문에 에러로그가 뜨더라도 사용하는것을 추천함.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
무한 depth 구현 설계에서 질문이 있습니다.
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.00a0z의 prefix(parentPath)를 가지고 모든 자손 댓글에서, 가장 큰 path(descendantsTopPath)를 찾는 과정인데요. 현재 childrenTopPath가 00a0z 00002 이지만 해당 댓글에 대댓글이 없고 00a0z 00001의 대댓글만 있는 상황에서는 00a0z 00002 자기 자신이 childrenTopPath 이자 descendantsTopPath가 되는걸까요? 00a0z 00002 와 00a0z 00001 00000 을 비교했을때 앞의 것이 더 큰 path라고 판단하면 되는걸까요?