묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 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)
-
미해결김영한의 실전 자바 - 기본편
static 변수1 강의 내 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]static 변수1 부븐의 객체 수를 세는 것이 이해가 안되는데 어디를 다시 복습해야하나요 ㅠㅠ?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
13:00 강의 내용 이해 질문
즉, 메인스레드가 하나의 스레드가 아닌 여러개 스레드 각 스레드마다 조인을 걸 수 있겠죠. 조인을 겁니다. 각스레드의 작업이 끝나게될때까지 메인 스레드는 계속 대기하게되겠죠 각 스레드가 작업이 종료되면 그 때 메인 스레드는 대기에서 빠져나오지만 나머지 스레드가 다시 모든 작업이 종료될 때 까지는 대기해야되겠죠?라고 하시면서 실행을 재개하는 흐름을 반복한다. 라는 4번 내용을 읽었습니다. 즉, 저 설명 내용이 각 스레드가 join 이 걸려서 join 이 걸린 스레드들이 작업이 종료되면 그 때 메인스레드는 대기 즉, wait 상태에서 나오고 runnable 상태가 되는거라고 이해했습니다.그런데 다음 설명에서스레드는 대기에서 빠져나오지만 나머지 스레드가 다시 모든 작업이 종료될 때 까지는 대기해야되겠죠? 라는 설명이 이해가 잘 안가는데요각 스레드가 종료됨에따라 메인스레드가 대기에서 빠져 runnable 상태가 되지만... 나머지 스레가 다시 모든 작업이 종료될때까지 대기????? ...이미 메인을 제외한 모든 스레드들이 작업이 끝났는데 어떻게 또 종료될때까지 대기하는거죠? 이전 강의에서 한번 사용한 스레드는 재사용이 불가능하다고 하셨습니다
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.
안녕하세요 좋은 강의 감사드립니다!강의를 보던중 StockService 에 있는 decrease 메서드에 @Transactional 을 걸어주면 왜 동시성 문제가 해결이 안되는지 궁금합니다. 결국 @Transactional 을 걸어주면 AOP 객체가 생성되고 그 객체가 가지고 있는 모니터락을 사용해 그 객체에 한번에 하나의 스레드만 접근 가능한거 아닌가요~? 왜 동시성 제어가 안되는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
숙제 검사 부탁드립니다.
출력에 변동을 주어서 레벨 별로 정점을 나오게 했습니다.코드가 맞는지 검사해주시면 감사하겠습니다.import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static boolean visit[]; static ArrayList<ArrayList<Integer>> graph; static int n; public static StringBuilder bfs(int v) { StringBuilder sb = new StringBuilder(); Queue<Integer> queue = new LinkedList<>(); queue.offer(v); visit[v] = true; int L = 0; while (!queue.isEmpty()) { sb.append(L).append(" : "); int len = queue.size(); for (int i = 0; i < len; i++) { int cv = queue.poll(); sb.append(cv).append(" "); for (int nv : graph.get(cv)) { if (!visit[nv]) { visit[nv] = true; queue.offer(nv); } } } L++; sb.append('\n'); } return sb; } public static void main(String[] args) throws Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(bufferedReader.readLine()); n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); visit = new boolean[n + 1]; graph = new ArrayList<>(); for (int i = 0; i <= n; i++) { graph.add(new ArrayList<>()); } for (int i = 0; i < m; i++) { st = new StringTokenizer(bufferedReader.readLine()); int from = Integer.parseInt(st.nextToken()); int to = Integer.parseInt(st.nextToken()); graph.get(from).add(to); } System.out.println(bfs(1)); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 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로 바꾼다거나 이런식으로 트랜잭션 레벨을 조절하는 경우가 있나요???
-
미해결기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
교안 p.305 'throw 필수' 질문
교안 305쪽에 두 가지 예외 종류Checked예외처리 강제화catch 혹은 throw 필수라고 되어있는데 'throw'가 아니라 'throws'필수인 것 같아 글 남깁니다:)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
객체타입은 값타입인가요? 엔티티타입인가요?
안녕하세요. 강의에서,값 타입에서, 기본타입은 == 비교를 해도되는데,그 외에 객체타입이나 임베디드타입은 equals를 재정의해서 사용하여 비교해야한다.라고 말씀하셨습니다. 앞서 강의에서도 객체타입이라는 단어가 나오는데, 객체타입은 엔티티 타입으로 분류가 되나요? 아니면 값타입으로 분류가 되나요?엔티티 타입인거 같기도하고.. 값타입인거 같기도해서.. 어떤것으로 분류되는것인지 이유가 궁금합니다...ㅠㅠ값타입은 기본값타입, 임베디드타입, 컬렉션값타입이 있다고 앞선 강의에서 말씀해주셨는데, 그럼 강의에서 나오는 Address 객체타입은 어디에 속하는것인가요 ..?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
char 대신 String만
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.char 대신 String만 쓸 수도 있나요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
그래프 최단거리(BFS) 질문이 있습니다.
두 번째로 푸는 방법에서 이해가 확실히 가지 않는 부분이 있습니다.정점을 방문할 때 ch[] 배열에 방문했다 표시를 하고 dis[] 배열에 값을 집어넣는다는 건 지금 이 정점을 방문했다는 건 무조건 최단거리이다라고 확신하고 넣는거라고 이해했는데 왜 그렇게 되는지 이해가 잘 가지 않습니다.처음 설명으로 이해하자면 레벨 관점에서 이미 전 레벨에서 해당 정점을 방문 했기 때문에(ex. 4번 정점을 방문했는데 지금이 2레벨이고 전 레벨인 1에서 4를 방문했을 때 ch[] 배열에 체크돼있음)라고 생각하면 되는걸까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
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 서버를 재시작 하기도 해보고 비밀번호도 다시 변경 해보기도 하는데 안되네요 ㅠㅠ 왜 이럴까요??
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
키워드 synchronized와 어노테이션 synchronized
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의에서는 키워드 synchronized를 메서드 앞부분에 붙여 동기화를 구현하는데, 롬복의 @Synchronized 다른 점이 무엇인지 궁금합니다. 그리고 실무에서는 둘 중 어느 방법을 사용하는지도 궁금합니다!
-
미해결김영한의 실전 자바 - 기본편
수업자료 오타 확인 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 복습중 실행오류로 발견했습니다패키지가 oop 대신 oop1에 들어가야 할 것 같아요. 강의에도 oop1으로 되어있네요.p.12에 있어요++ 조금 명확히 하자면이 코드를 실행하는 main 클래스가 oop1에 있어서 저 클래스를 참조 못하는 것 같아요.이 자료는p.13 과 p.14에 걸쳐 있어요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
6강 복습중에 질문 있습니다
GetAPI를 만들때는 dto에 생성자를 만들었는데왜 post때는 생성자를 만들지 않나요?
-
미해결고성능 JPA & Hibernate (High-Performance Java Persistence)
섹션1 - Github Repository 실습 관련
Github Repository에서 Master branch를 내려받고 강의대로 mvn clean test-compile 을 실행하면 java: cannot find symbol 에러가 발생하네요.m1 맥 환경에서 아래와 같은 오류가 발생합니다. cannot find symbol symbol: class Category_ location: package com.vladmihalcea.hpjp.hibernate.query.recursive.category.model