[질문 템플릿] 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로 매핑 되면 그렇지않나요?
hr 은 되는데 nw 는 안됩니다.. 기존 방법이 안되서 깃헙에서 파일 다운 받았습니다 이런거 뜨고요 제가 11.2 버전인데 최신버전이 도저히 안깔려서 대안으로 깔았는데 앞으로 강의 진행 될 동안에 버전 문제로 에러나면 스트레스 받을꺼 같은데 어떻게든 최신 버전 깔아야되나요?? 실습하고 싶은데 셋팅만 하다가 안되서 질문남겨요
안녕하세요. 강의를 보다보니 no offset 최적화를 보니 순차정보(ex: id, datetime, ...)가 기준값으로 사용될 수 있는 경우에는 충분히 사용할 수 있을 것 같은데, 복잡한 조건들이 들어가는 검색 기능(ex: 다나와 상품 상세검색이나, 부동산 사이트의 매물 검색, 쿠팡 상세검색 등) 같은 경우에는 이런 최적화 기법을 사용할 수 없을 것 같은데, 이 경우에는 그냥 offset 기반의 페이징밖에 최적화 방법이 없을까요?
안녕하세요 강의 보면서 게시판 성격의 서비스를 만들던 중에 궁금증이 생겼습니다. 두 가지 방법이 있는데, 제가 취준생이라 실제 서비스 코드들을 본 적이 없어서 어떤 방법이 조금 더 현명한 방법인지 궁금합니다! Jpa 사용법처럼 게시글과 댓글을 맵핑하는 방법입니다. 댓글에 게시글의 키만 가지는 방법입니다. 1번 코드는 대략적으로 이런 형태일 것 같습니다. @Entity public class Article{ @Id @GeneratedValue(strategy = Identity) long id; String content; } @Entity public class Comment{ @Id @GeneratedValue(strategy = Identity) long id; String comment; @ManyToOne(fetch = FetchType.LAZY) Article article; } 1번 코드의 경우에는 배울 때는 맵핑도 깔끔하게 잘 되고 좋았는데, 실제 개발을 하다 보니 댓글만 사용하는 경우에 있어서 Article의 내용은 전혀 필요가 없는 경우도 많을 것 같습니다. 또한 게시글의 댓글들을 조회 할 때, 같은 Article 내용들이 반복해서 들어 있다는 점이 마음에 걸립니다.(Lazy 하게 가져와서 문제가 없을것 같기도 하고 이 부분은 확실하지 않습니다.) 2번 코드는 게시글의 키만 가지는 경우입니다. @Entity public class Article{ @Id @GeneratedValue(strategy = Identity) long id; String content; } @Entity public class Comment{ @Id @GeneratedValue(strategy = Identity) long id; String comment; long articleId; } 2번의 경우에는 불필요한 정보를 담지 않고 필요한 경우에는 Id값으로 찾아서 가져올 수 있습니다. 하지만 article 과 Comment를 각각 따로 관리하는 형태가 됩니다.(사실 1번 코드도 따로 관리는 가능할 것 같습니다) 간단한 경우에는 1번이 좋은 것 같은데 컴포지션 되는 객체들이 많은 경우에는 그 자체로 정말 생각해야 되는 경우가 많아 지는 것 같습니다.(Comment 안에 Article, User, 첨부 파일 Entity 등등이 복잡하게 들어갈 수 있을 것 같습니다 ) 네이버 카페와 같은 사이트들의 경우에서는 게시글과 댓글을 따로 관리하는 것 같기도 하고(작성 글 보기를 누르면 삭제된 게시글 이지만 댓글 내용은 볼 수 있는 경우입니다) 실제로는 어떤 방식으로 풀어 가는지 궁금합니다!
안녕하세요. my.cnf 설정에 local_infile=ON 설정을 넣어야하는데 오타로 local_infole=ON이 들어가게 되었어요. 그 다음 컨테이너 재시작을 하니 unknown variable 'local_info=ON'라고 하며 종료되어 컨테이너 구동이 안되는데, 어떻게 고쳐야 할까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 강의 잘 듣고 있습니다. @Tansactional 어노테이션을 붙이면 private 메서드들에도 해당 어노테이션이 적용되는 건가요? 이 질문을 하는 이유는 join 메서드 안에서 validateDuplicateMember 메서드를 사용하고 있고 join은 @Transactional이 걸려있는 상태인데 이럴 경우에 어떤 게 적용되는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 5. 열거형 - ENUM.pdf 의 p.18 에 SLIVER 오타가 있습니다. SLIVER -> SILVER 로 변경되어야 할 것 같습니다.