학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 영한님의 설명을 보면 자바 문법상 Address b = a 가 만들어저도 문제가 없다고 하였고, 참조값을 공유해서 사이드 이펙트를 만드는 경우가 있다고 말하였습니다. 여기서 갑자기 궁금해지네요. 여태 까지의 코드를 보면, 사이드 이펙트를 만드는 경우가 없었던 걸로 기억하는데.. 어는 경우 에서야, 사이드 이펙트를 활용하는지. 예시를 알켜 주실수 있으실까요? 답변 부탁 드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] section2 문제와 풀이를 다음과 같이 풀어보았는데, 결과는 맞지만 제 코드에서 부족한 부분이 있는지, 개선점은 없는지 한번 확인 부탁드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 현재 구글링 하면서도 진행 해봤지만 다른게 문제인지 h2 console에도 insert 구문이 날라가지 않습니다 ... 현재 제가 놓친게 있을까요 ?... 지금 스프링부트 버전은 3.2.5 버전입니다. 자바 버전도 17로 설정되어 있습니다. 해당 프로젝트 주소 : https://drive.google.com/file/d/1SbgjH5aDY_j_g07r9_Kmz4Uk-uImcC9L/view?usp=drive_link
안녕하세요. 4-5 연습문제 4번 서브쿼리 부분에서 질문이 있습니다. 서브쿼리에 꼭 * 이나 id를 써줘야 실행이 되는 이유는 무엇인가요?? 처음에는 서브쿼리>select에서 카일님 풀이처럼 *를 안 해주고 실행했더니 Unrecognized name: id 라는 오류가 떴습니다. 구글링을 통해 알아보니, 서브쿼리에 id를 안 썼는데 바깥에 COUNT(DISTINCT id) as battle_cnt 를 써줘서 오류가 떴다고 했습니다. 왜 써줘야 하는지 알 수 있을까요??
안녕하세요 좋은 강의 잘 듣고 있습니다. battle 파일 실행 중 문제가 있어 질문 드립니다. google cloud에서 battle파일을 열면 스키마는 나오는데 미리보기가 안됩니다. '표시할 데ㅌ이터가 없습니다'라고 메시지가 뜹니다. 쿼리를 날려도 데이터가 없는 건지 결과가 안 나옵니다. 다른 파일은 다 멀쩡합니다. 파일탐색기에서 battle.csv 열어도 데이터가 잘 있습니다. 혹시 문제에 대해 알고 계신 게 있으신가요? 감사합니다.
public class StringImmutable2 { public static void main(String[] args) { String before = "hello"; String after = before.concat(" java"); System.out.println("before = " + before); System.out.println("after = " + after); } } 자바 프로그램 로딩 시점에 문자열 리터럴이 문자열 풀에 보관된다고 알고 있는데요. 위 코드에서 "hello" 뿐만 아니라 " java"도 문자열 리터럴인가요? 그렇다면 " java"도 문자열 풀에 저장되는 것인가요? (제가 자바 기초 지식이 부족한 상태입니다) concat() 내부에서 생성하는 String 인스턴스는 문자열풀에 생성되는 것인가요? 아니면 문자열풀이 아닌 힙 영역에 생성되는 것인가요?
SQL 공부하다가 궁금한점이 생겼어요! 실행순서는 group by가 select 보다 먼저 실행되는 것으로 알고 있는데 select절에서 설정한 별칭을 왜 group by절에서 사용해도 되는걸까요? 현업에서는 팀마다 다르겠지만, 보통 어떻게 사용하시나요? 그리고 만약에 안된다면, 서브쿼리를 사용하시나요? 서브 쿼리를 사용하는 이유는 정확히 무엇인가요? 그리고 현업에서도 서브쿼리를 많이 사용하는지 궁금합니다! (아직 서브쿼리가 정확히 왜 필요한지 모르겠어요. 자바스크립트의 클로저라는 개념과 비슷한 개념일까요?) 마지막으로 아래 쿼리가 결과는 똑같은데 어떤게 더 바람직한 작성 방법일까요? (해당 강의는 4-6. 조건문(CASE WHEN, IF)입니다) 감사합니다 :) SELECT new_type1, COUNT(DISTINCT id) AS cnt FROM( SELECT *, CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, FROM `basic.pokemon` ) GROUP BY new_type1 SELECT CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, COUNT(DISTINCT id) AS cnt FROM `basic.pokemon` GROUP BY new_type1
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 5:50에서 공통 처리 catch를 최상위 예외인 Exception으로 잡았는데 결국 해결할 수 없는 예외들은 언체크 예외들로 구성되어 있으니깐 RuntimeException으로 잡는게 낫지 않나요? 다른 케이스가 있어서 그런건지 궁금해서 질문 남깁니다.
//JdbcTemplateMemberRepository public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); //SpringConfig @Configuration public class SpringConfig { private final DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } JdbcTemplate을 사용하도록 스프링 설정 변경하는 부분인데 이전에 객체를 생성해서 직접 주입하면 안좋다고 하셨었는데 jdbc템플릿을 적용하시는 부분에서는 직접 dataSource를 JdbcTemplate를 생성해서 넣으셨습니다. public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; }대신에 JdbcTemplate를 빈에 등록해서 이렇게 사용하는게 이전에 배운내용에 따르면 의존성, 결합성 면에서 나은 코드라 생각했습니다. (@autowired를 사용하게끔 수정해본 코드) //JdbcTemplateMemberRepository public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); //SpringConfig @Configuration public class SpringConfig { private final DataSource dataSource; @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); } } 이렇게 수정해서 사용하라고 설명해주시다가 이 JdbcTemplate강의에서는 직접 주입하시면서 설명해주셨는데, JdbcTemplate빈을 정의해서 주입하는 방식이 아닌 Datasource를 직접 사용한 이유가 있을까요? 뭔가 데이터접근할때는 다른부분이 있어서 이런 방법이 사용된건지 궁금합니다.
선생님 어제 알려주신대로 잘 따라했더니 연결 성공했습니다 정말 감사합니다. 한 가지 궁금한 게 더 있는데요! 정규식 사용해서 특수문자 등을 모두 제거하니 공백 문자열이 생겼는데요 trim 이나 is not null 이렇게 해도 null 값이 아니다보니 공백 문자값이 계속 추출이되서요 공백 문자값 자체를 데이터에서 제외하려면 어떻게 해야될까요?
글자가 겹쳐 써지거나, SELECT를 썼을 때 위처럼 파란색이 나타나지 않는 경우가 있어요. 그리고 드래그를 해도 파란색으로 보이지가 않아요. 제가 실수로 어떤 설정을 건드렸을까요? 혹은 제 노트북 내 잘못 설정한 것인지 문제를 발견하기 어려워요. 도와주실 수 있으실까요?
강의 관련해서 제가 조금 이해가 어려운 부분이 있는데 도와주실 수 있나요?(위의 이미지는 강의 영상을 캡쳐한 것입니다) 2번 문제가 '오전 6시에서 오후 6시 사이에 일어난 배틀의 수를 계산해주세요' 입니다. 그런데 EXTRACT(HOUR FROM battle_datetime) <= 18 을 해보면 빨간색 네모 상자에 표시해둔 것처럼 18:53분 즉, 오후 6시를 넘어서 나온 시간까지 데이터에 잡히는데요! 이럴 때는 어떻게 하면 좋을까요? 그냥 EXTRACT(HOUR FROM battle_datetime) < 18이 나을까요? (그런데 그러면 딱 정확히 18:00에 배틀이 이루어진 순간은 포함되지 않아서 고민이네요)
안녕하세요! 카일스쿨님! battle 테이블을 영상 그대로 만들었는데도, 계속 battle 테이블에 관한 데이터에 관한 정보를 볼 수가 없어요! 빠진것 없이 최대한 꼼꼼히 다시 체크했는데도 모르겠습니다. 혹시 제가 어떤 실수를 했을지 도와주실 수 있나요? 아래는 스키마 정보와, 제가 테이블 만들때 과정을 이미지로 첨부했습니다. 감사합니다.
안녕하세요 MySQL 사용하고있는데요 조인하려는 테이블이 PK가 없는 단일 값인데요 메인 select 절에 있는 컬럼이 pk 테이블에 있는 단일컬럼에 포함되는 값이 있는지 regexp_like 함수로 확인하고싶은데요 pk값이 없다보니 join 을 어떻게 할지.. 모르겠습니다 using 으로 연결해보려 했는데 (natural join은 지원안됨) 컬럼절에 regexp_like (a.테이블 컬럼, pk 없는 테이블 컬럼) 이렇게 조건을 거니까 에러가 떠서요.. 방법이 있을까요? 요약 : left join으로 pk 테이블이 없는 단일 컬럼과 같다는 조건으로 연결 시, regexp_like 를 사용해도 똑같은 값만 불러오는 에러가 발생 ex. pk 테이블이 없는 컬럼에 '사과' 라는 단어가 있다고 가정, '사과와당근' 이라는 메인 테이블의 컬럼값이 pk 테이블의 '사과' 단어가 매칭되는지 아래 조건으로 걸면 null 값으로 반환. regexp_like('사과와당근', pk 없는 테이블) - > '사과'가 포함되지만 조인조건 때문에 사과와 당근을 매칭해서 불러오지 못함.
안녕하세요, 궁금한 내용이 생겨 기존에 질문들을 살펴보고 제가 이해한 것이 맞는지 확인차 질문드립니다. redis의 싱글스레드 특성으로 100개 발급에 대한 race condition 해결 --> 그러나 insert 시 DB 처리량에 부하가 발생할 수 있음 kafka 미들웨어를 통해 100개의 쿠폰 저장 이벤트를 보관해두었다가 컨슈머에서 원할때 꺼내어 처리할 수 있는 여지를 주어 처리량 부하를 분산시킬 수 있음 ex) 쿠폰 발급은 당장 안해도 되니, kafka에 이벤트만 잘 발행되어 있다면 DB 작업량이 적은 새벽에 꺼내서 저장해도 됨 이렇게 이해했는데, 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] join을 하면 4개가 나오는데 id가 같지만 orderItems는 서로 다르게 나옵니다. 근데 왜 json에서는 orderItems 중복되서 왜 똑같이 나오는건가요? 그리고 값이 왜 orderItems는 여러개씩 출력이 되는거죠? 사실상 sql시 하나씩 setter로 들어가서 출력되지않나요? 예) "orderItems": [ { "itemName": "JPA1 BOOK", "orderPrice": 10000, "count": 1 }, { "itemName": "JPA2 BOOK", "orderPrice": 20000, "count": 2 } ] 위와 같이 orderItems가 두개가 나옵니다. 근데 sql은 하나씩 출력이 되는데 그러면 "orderItems": [ { "itemName": "JPA1 BOOK", "orderPrice": 10000, "count": 1 } ] 위와 같이 하나만 출력이 되어야하는거 아닌가요? setter로 매핑 되면 그렇지않나요?