묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JdbcTemplateItemRepository2 적용 후 로그
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]JdbcTemplateItemRepositoryV2 적용 후 아래 화면처럼 로그가 뜬다고 설명해주셨는데제 PC 에서 실행 후 로그는 아래 화면 처럼 뜹니다.이에 관해 몇가지 질문이 있습니다. 1.로그가 서로 다른 이유가 무엇인가요??본인 PC 로그 표시 레벨은 기본 레벨인 Info로 되어있었기 때문2.어떻게 하면 강의 화면 처럼 로그가 띄울 수 있나요??application.properties 파일에 logging.level.org.springframework.jdbc=DEBUG 속성 추가(스프링 버전은 강사님이 첨부해주신 프로젝트를 가지고 사용한것이라 강의에서 사용된 프로젝트의 스프링 버전과 동일할 것으로 생각됩니다.)두 가지 질문 답변 부탁드립니다.감사합니다. 강의를 보다보니 답을 찾았습니다..... 세션 앞부분 강의에서 방법을 적어주셨었네요....제가 앞부분 강의를 제대로 집중해서 듣지 못했나봅니다.....
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
DB 테이블간 연결에 대한 질문입니다.
안녕하세요 태현님. 두가지 질문이 있습니다.1. 지금까지(34강) 강의를 따라 하고 MySQL 워크벤치에서 ERD를 확인해 보면테이블 간에 PK - FK로 연결이 안 되어있는데요연결을 안 해주어도 괜찮은 이유가 뭔지 궁금합니다.제가 NestJS나 Express.js 로 백엔드를 만들었을 때는 TypeORM, Prisma, Sequelize 같은 ORM을 이용했었는데그때는 코드단에서 테이블 간에 연결 처리 (PK - FK로 연결)을 해주면데이터베이스에서 확인을 해봤을 때이런 식으로 연결이 된 것을 확인할 수 있었거든요..혹시 제가 뭔가 잘못 알고 있는 걸까요?굳이 DB에서 실제로 연결을 안 해주어도 괜찮은 건가요??아니면 스프링 + JPA 조합의 특성인가요??2. 그리고 MySQL 워크벤치에서create table user_loan_history ( id bigint auto_increment, user_id bigint, book_name varchar(255), is_return tinyint(1), primary key (id) );이렇게 DB create 문을 작성해서 실행 시키지 않아도 서버를 실행시킬 때 자동으로 로컬 DB에 테이블을 생성해 주도록 하는 설정이 있는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-M 질문있어서 문의드렸습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님 강의 잘 보고있습니다!2-M문제를 풀때 to_string의 시간복잡도가 O(log n) , find가 O(N)이라서 시간복잡도에 문제가 있을줄 알았는데 해결이 되었습니다. 혹시 이 문제의 시간복잡도는 어떻게 될까요??
-
미해결스프링 핵심 원리 - 기본편
request 스코프 질문입니다.
1.클라이언트 A가 HTTP request를 Controller에 요청한다.Controller은 request scope에 요청하여 빈 인스턴스가 생성된다.클라이언트가 동일한 HTTP request를 Service에 보내면 기존에 이미 만들어진 A 전용 빈 인스턴스를 사용한다.클라이언트 B가 HTTP request를 요청하면 마찬가지로 B 전용 빈 인스턴스가 만들어지고 위와 동일한 과정을 거친다.로 이해하면 될까요? 2.여기서 message가 하는 기능은 무엇이고, init()과 close() 메소드 내에서 this를 왜 넣어줬는지 궁금합니다. 3.여기서 provider이 왜 해결방법인지 이해가 안갑니다... provider가 DL기능을 하는 거로 아는데, 어차피 이때도 사용자의 요청을 받은 상태가 아니기 때문에 오류가 발생하는거라고 생각했습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
문자 질문입니다.
혹시char ch3 = 'a' + 1;이 코드에서 1은 int형 정수로 출력이 되는데 char 타입이 자동으로 변환을 해서 2바이트로 할당하게 되는건가요?그리고 1이라는 숫자에 마우스 커서를 놔두면 (int)1이라고 표현이 되는데 여기서 1은 데이터타입이 문자가 아닌 정수로 변환해야 해서 자동 변환 시켜주는건지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
Annotationconfigapplicationcontext 클래스의 생성자 설명
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]위와 같이 AnnotationConfigApplicationContext 클래스 내부 API를 보면 많은 생성자들이 오버로딩 되어있는데 각각의 생성자 기능이 정확히 어떤 건지 궁금합니다 !특히 그냥 설정 정보 클래스를 하나 지정했을 때와 여러 개의 클래스를 지정했을 때 어떤 차이가 있는지 궁금합니다!
-
미해결데이터 분석 SQL Fundamentals
질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님.질문이 좀 있습니다.a,b,c,d table 과 id 컬럼이 있다고 가정1) 여기서 [1.1] 쿼리는 실행 계획으로 치면 a,b,c를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 결과 도출.이렇게 이해하고 있습니다.그런데, 여기서 궁금한것이 LEFT OUTER JOIN은 서술 왼쪽 테이블이 드라이빙 고정으로 알고 있습니다.그래서, [1.2] 쿼리는 실행 계획으로 치면 a,b를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 데이터 셋을 새로만듬.그리고 , c와 이너조인 진행 이렇게 이해하면 될까요?2) 1.1과 1.2처럼 아우터조인의 서술 위치에 따라서 결과값에 대한 데이터가 달라질수 있나요?결국 a.id와 조인하기 때문에 해당 기준으로 데이터를 뽑아서어디에 서술하던지 데이터는 달라질수 없는거같은데 제가 이해한게 맞는지 질문드립니다.3) 2번을 질문드린 이유중 하나인데요.아우터 조인을 쓰면 테이블의 드라이빙 순서가 고정되버리니까 서술한 위치에 따라서 실행계획이 바뀔테고 그러면 데이터가 변경될수도 있는 사례가 있을까요?실행계획은 아무리 바뀌어도 데이터의 영향을 주는건 없는걸로 알지만 , 자꾸 뭔가 헷갈려서 질문드립니다.4) a.id = b.id on b.id =c.id on c.id =d.id 이런식으로 조건을 주면이너 조인은 상관 없겠지만 아우터 조인을 진행할 때는 데이터가 달라질거 같은데 보통은 아우터 조인 쿼리를 작성할 때 조인 조건을 어떻게 줘야하나요?제가 적은 예시처럼 쿼리를 짜나요??질문이 두서 없고 너무 많아서 죄송합니다..강사님 강의를 통해 확실하게 잡고 가지 않으면 추후에 또 다시 공부를 해야할 거 같아 질문드립니다.[1.1]select * from a INNER JOIN b ON a.id = b.idINNER JOIN c ON a.id = c.idLEFT OUTER JOIN d ON a.id = d.id;[1.2]select * from a INNER JOIN b ON a.id = b.idLEFT OUTER JOIN d ON a.id = d.idINNER JOIN c ON a.id = c.id;
-
해결됨Practical Testing: 실용적인 테스트 가이드
긴 작업일 경우 트랜잭션을 걸지 말아도 된다는 점이 이해가 잘 안갑니다.
안녕하세요. 테스트 코드를 수강하고 있는 학생입니다. 긴 작업일 경우 트랜잭션을 걸지 말라고 하셨는데. 조회용 트랜잭션이 Repository 단에서 걸린다는 말씀을 하셨는데 Repository의 조회 로직이 수행될 때 트랜잭션이 걸리는 건가요? 뭔가 잘못 이해한거 같기도 해서 질문합니다. 그리고 @RequiredArgsConstructor @Service public class MailService { private final MailSendClient mailSendClient; private final MailSendHistoryRepository mailSendHistoryRepository; public boolean sendMail(String fromEmail, String toEmail, String subject, String content) { boolean result = mailSendClient.sendEmail(fromEmail, toEmail, subject, content); if (result) { mailSendHistoryRepository.save(MailSendHistory.builder() .fromEmail(fromEmail) .toEmail(toEmail) .subject(subject) .content(content) .build() ); return true; } return false; } } 여기서는 Transaction을 걸어줘야 하는게 맞는거 같아서.이 부분도 궁금합니다. 요약저는 서비스 Layer에서 Transaction을 걸어 db작업에서 문제가 발생했을 경우 rollback 되어야 한다고 생각했습니다.강의에서 긴 작업들이 실제로 트랜잭션에 참여하지 않아도 되는데 -> OrderStatisticsService에서는 CUD작업이 아니니깐 Transaction을 안 걸어도 된다.?MailService에서는 Transaction을 걸어줘야 하는게 아닌가요? (Create 작업 수행)조회용 트랜잭션이 Repository 단에서 걸린다.? 뭔지 잘 모르겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerWhileEx4 문제
int totalCost = 0; 을 왜 while문 안에 쓰면 안 되고(제가 주석 달아 놓은 부분) while문 밖에 써야 하나요?while문 안에 썼을 때 총 비용이 0으로 나오는 오류가 발생했는데 왜 그런 오류가 발생한 건지 모르겠습니다.
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
논리 연산자 알아보기 강의 질문입니다.
7번 줄에 \는 어떤 이유로 넣으신 건가요? 역 슬레시를 무슨 이유로 사용 하신 건지 궁금합니다.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8. 지표 정의하기 연습문제 1~4번
먼저 연습문제 1,2,3번은 모두 비슷한 관점으로 배달 서비스의 특정 기능에 대한 사용성, 활성화 정도에 대한 지표라고 말씀해주신 것을 참고해서 3가지 문제는 모두 비슷한 관점으로 지표를 정의해봤습니다!제가 생각한 세 문제의 공통점은해당 기능에 대한 사용성 또는 '활성화'에 대한 정의가 필요하다.배달 앱의 퍼널 관점에서 보면, 3가지 문제에 나오는 기능들은 모두 기능 사용의 결과로 음식점 결과 리스트를 보여준다. (단, 배너 영역 기능과 동네 맛집 기능은 음식점 리스트가 아닌, 이벤트 페이지 또는 음식점 상세페이지를 보여줄 수 있음.) 저는 두 가지 공통점을 고려해서 기능의 활성화 지표에 대한 후보로 3가지 지표를 생각해봤습니다.클릭률 = 해당 기능 (또는 영역) 을 클릭한 횟수 / 해당 기능에 노출된 횟수페이지 전환율 = 해당 기능 클릭 후 결과로 나오는 음식점 리스트 중에 하나 이상을 클릭하여 음식점 상세 페이지로 이동한 횟수 / 해당 기능을 클릭한 횟수구매 전환율 = 해당 기능을 통해 주문 완료까지 진행한 횟수 / 해당 기능을 클릭한 횟수 셋 중에 어떤 지표를 선택할지는 활성화 지표를 보는 목적과 문제 정의에 따라 달라질 수 있습니다.활성화 지표를 기능에 대한 만족도에 관계없이 '단순히 해당 기능의 반응성'으로 정의한다면 클릭률만으로 충분하겠지만,활성화 지표를 '해당 기능을 통해서 나온 결과에 만족하여 관심이 가는 음식점이 하나라도 존재하는 것'으로 정의한다면, 2번의 페이지 전환율을 함께 활용하는 게 적절하다고 생각했습니다.3번의 구매 전환율의 경우에는 활성화 지표를 '해당 기능이 이후 구매 전환에 기여하는 정도'로 정의한다면 유의미한 지표가 되겠으나, 해당 기능으로 나온 결과에는 만족했더라도 음식점 상세페이지부터 주문 완료까지 이어지는 이후 퍼널에서 불만족하는 부분이 발생하여 주문 전환이 이루어지지 않는 케이스가 존재할 수 있다는 점을 고려해서 저는 기능의 활성화 지표로는 2번 페이지 전환율이 가장 적절하다고 판단했습니다. 위의 결론을 바탕으로 각 문제의 지표를 정리해보면,연습문제 1.메뉴 카테고리와 이런 음식 어때요 기능의 경우에는 활성화 지표를 페이지 전환율 = (메인화면에서 각 영역을 클릭한 후 나오는 음식점 리스트 중에 하나 이상을 클릭한 횟수) / (해당 영역을 클릭한 횟수)로 정의하고, 클릭률 = (해당 영역을 클릭한 횟수) / (메인 화면을 본 횟수)를 보조 지표로 정의했습니다.배너 영역과 동네 맛집 기능의 경우에는 음식점 리스트를 보여주지 않고 바로 음식점 또는 이벤트 상세페이지로 이동하는 경우로 가정했을 때, 활성화 지표를 클릭률 = (해당 영역을 클릭한 횟수) / (메인 화면을 본 횟수)로 정의했습니다. 단, 배너 영역의 경우에는 클릭하고 나서 이벤트 쿠폰 목록을 보여주는 상세 페이지로 이동하는 경우를 예시로 들었을 때, (클릭의 결과로 나오는 쿠폰 중에 하나 이상을 다운로드한 횟수) / (해당 배너를 클릭한 횟수)로 활성화 지표를 정의할 수도 있을 것 같습니다. 연습문제 2.검색 기능의 만족도(=활성화) 지표는 페이지 전환율 = (검색의 결과로 나오는 음식점 리스트 중에 하나 이상을 클릭한 횟수) / (검색 기능을 사용한 횟수) 로 정의했습니다. 유저가 검색 결과에 만족한다면, 검색 결과로 나온 음식점 중에 하나라도 클릭하여 해당 지표가 높아질 것이고, 그렇지 않다면 검색 결과 중에 하나도 누르지 않고 이탈하여 해당 지표에 낮아질 것이기 때문입니다. 연습문제 3.검색 필터 기능의 활성화 지표는 크게 두 가지 차원에서 정의해봤습니다.필터의 종류에 관계없이 검색 필터 기능 자체의 활성화 지표검색 필터의 세부 종류(ex. 배달 빠른 순, 배달팁 낮은 순, 주문 많은 순, 별점 높은 순)에 대한 활성화 지표두 가지 경우 모두 활성화 지표는 페이지 전환율 = (검색 필터 사용의 결과로 나오는 음식점 리스트 중에 하나 이상을 클릭한 횟수) / (검색 필터 기능을 사용한 횟수)로 정의했으며, 여기서 '검색 필터를 사용했다'라는 것은 디폴트 값인 '기본순'이 아닌 다른 필터를 선택하고 적용한 경우를 의미합니다.두 가지 차원으로 지표를 보는 이유는, 1번 지표의 경우는 검색 필터 자체의 활성화 정도를 보는 것이 목적이라면, 2번 지표의 경우에는 각 검색 필터의 세부 종류에 따라서 활성화 지표의 정도를 비교하여, 상대적으로 활성화 정도가 높은/낮은 필터를 확인하고 그에 맞는 실험을 시도하는 것이 목적입니다.예를 들어서, '활성화 지표(2번 지표)가 높은 필터의 순서대로 위에서부터 내림차순 정렬해서 보여주었을 때 검색 필터 전체의 활성화 지표(1번 지표)가 높아질 것이다.' 라는 가설을 세우고, A/B 테스트 등을 통해 검증한 결과를 토대로 검색 필터의 기능을 최적화할 수 있을 것으로 기대했습니다. 문제를 풀면서 질문이 하나 생겼는데, 만약 기능의 활성화 지표를 '해당 기능이 이후 구매 전환에 기여하는 정도'로 정의한다면, 밑의 두 가지 지표 중에 어떤 것이 더 적합한 것인지 궁금합니다!구매 전환율(CVR) = 해당 기능을 통해 주문 완료까지 진행한 횟수 / 해당 기능을 클릭한 횟수해당 기능을 통해서 주문 완료한 횟수 / 전체 주문 완료 횟수 일반적으로는 1번을 쓸 것 같은데 2번도 쓸 수 있는 유의미한 지표가 될지 궁금합니다! 연습문제 4. 배달 서비스에서 가장 중요한 지표결론부터 말씀드리면, 저는 가장 중요한 지표로 월 단위의 주문 완료 횟수를 선택했습니다. 그 선택의 과정을 로직트리로 그려봤는데요, 먼저 배달 서비스의 순이익을 늘리는 중요한 지표를 보겠다는 데서 출발하여 크게 매출을 늘리거나, 비용을 줄이는 파트로 나누었습니다.비용 감소의 측면에서는 라이더에게 지급하는 배달료나 운영비 등은 적정선 이하로 줄이기 어려운 비용이라고 생각해서 중요 지표 후보에서 탈락시켰습니다.매출 파트는 배민 서비스를 기준으로 전반적인 수익 구조에 대해서 찾아본 후에 작성했는데,배달 서비스의 주요 매출원은 크게 음식 배달로 발생하는 수수료와 광고 수수료로 나누었고,광고 수수료는 주문이 발생할 때마다 금액의 일부를 수수료로 얻는 '오픈리스트 광고'와 점주들이 지역별로 깃발을 꽂아서 광고를 노출시키는 대신에 고정 광고비를 내는 '울트콜 광고'와 그 외 광고로 나누었습니다.여기서 배달 중개 수수료와 오픈 리스트 광고는 '배달 주문을 통해서 얻는 매출'로 묶고,배달 주문을 통해서 얻는 매출은 주문 완료 횟수와 주문 한 건당 평균 주문 금액에 비례한다고 정의하여,두 가지 지표를 가장 중요한 지표의 후보로 선정했습니다. 두 지표 모두 중요하다고 생각하지만, 주문 완료 횟수가 더 중요하다고 생각한 이유는 평균 주문 금액이 아무리 많아도 주문 완료 횟수 자체가 적으면 매출에 의미있는 기여를 하지 못한다고 생각했기 때문입니다. 그에 반해 평균 주문 금액의 경우에는 일단 주문을 완료하면, 업체별로 지정한 최소 주문 금액만큼의 하한선은 보장되기 때문에 주문 완료 횟수가 더 유의미한 지표라고 판단했습니다. (하지만 이 부분은 실제 데이터를 보면서 판단하는 게 정확하다고 생각합니다.) '주문 완료 횟수' 지표에 대한 시간축과 차원에 대해서도 고민해봤는데,시간축의 경우에는 배달앱은 SNS처럼 하루에 수시로 접속하거나 주문하는 서비스는 아니며, 하루에 평균 1-2번 정도 주문하는 것이 일반적이라고 생각해서(이 부분도 데이터를 봐야 함), 일 단위로 주문 완료 횟수를 파악하는 것은 의미가 없다고 생각했습니다. 그래서 시간축을 좀더 넓게 잡아서 월 단위의 주문 완료 횟수를 중요 지표로 선택했습니다. 실제 배달 서비스의 VIP 등급도 월 단위의 주문 횟수를 기준으로 한다는 점에서도 유의미한 지표로 판단했습니다. '월 단위 주문 완료 횟수'를 늘리기 위한 방법은 퍼널의 관점에서 맨 끝 단계(결제 단계)부터 개선하는 것이 효과적이라고 생각했습니다. 결제 퍼널 개선을 위해서는 음식을 장바구니에 담았으나, 결제 페이지에서 이탈하는 고객과 이탈하지 않고 주문을 완료하는 고객을 분류하고 두 집단의 고객 행동 간에 어떤 차이가 있는지 데이터를 통해 파악하는 것이 필요합니다. 예를 들어서, 데이터 분석의 결과로 결제 수단을 선택하는 과정에서 이탈률이 가장 높다는 것을 발견했다면, 이탈의 원인에 대한 가설로 '원하는 결제 수단이 없거나 카드 등록 과정이 복잡하다.'를 세우고, 그에 맞는 액션 플랜(간편 결제 도입, 카드 등록 과정의 단순화 등)을 도출한 후, 실험을 통해서 결제 수단의 단순화가 이탈률 감소 -> 월단위 주문 완료 횟수의 증가로 이어지는지 확인해야 합니다. 쓰다 보니까 너무 장황하게 썼나 싶긴 하네요..😂글이 길어져서 일단 4번까지만 올리고 나머지는 다음 글로 올리겠습니다!문제 풀면서 느낀 점은 도메인이나 비즈니스 모델, 수익 구조에 대한 이해가 아직 부족해서 공부가 필요한 것 같네요ㅜㅜ 제가 많이 쓰는 서비스인데도 이 기업이 어떻게 돈을 버는지, 광고 수수료 구조는 어떻게 되는지, 어떤 수익원이 가장 많은 퍼센트를 차지하는지? 등등 모르는 것이나 봐도 헷갈리는 게 많네요..ㅋㅋ 그래서 연습문제 4번이랑 6번을 풀면서 자료조사를 가장 많이 하게 된 것 같아요ㅎㅎ카일 님이 기술 블로그에 쓰신 https://zzsza.github.io/diary/2020/08/02/how-to-study-business/이 글도 읽어봤는데 비즈니스에 대한 이해가 정말 필요한 걸 느끼게 된 것 같아요. 혹시 도메인 관련 공부 방법으로 더 추천해주실 만한 것이 있으면 알려주실 수 있을까요..?
-
미해결
python 숫자 출력
python에서 숫자를 출력할 때 print('{:10d}'.format('42'))을 실행하면 문자열이랑 다르게 왼쪽부터 시작하고 오른쪽에 공백이 생기는 것이 아닌가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
팝업이 안뜹니다. AssertionError: Tkinter is required for pymsgbox
AssertionError: Tkinter is required for pymsgboxpip install tk 도 해봤지만 자꾸 에러메시지가 뜹니다. 구글링 해봐도 답이 안나와서 질문드립니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
yml파일에서 jpa설정을하고 에러가나요
Caused by: org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [boolean] for value [ture]이런 오류가나는데 뭐가 문제일까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
에러 발생 코드 관련 질문입니다.
//BookService @Service public class BookService { private final BookRepository bookRepository; private final UserLoanHistoryRepository userLoanHistoryRepository; private final UserRepository userRepository; public BookService( BookRepository bookRepository, UserLoanHistoryRepository userLoanHistoryRepository, UserRepository userRepository ) { this.bookRepository = bookRepository; this.userLoanHistoryRepository = userLoanHistoryRepository; this.userRepository = userRepository; } @Transactional public void saveBook(BookCreateRequest request) { bookRepository.save(new Book(request.getName())); } @Transactional public void loanBook(BookLoanRequest request) { // 1. 책 정보를 가져온다. Book book = bookRepository.findByName(request.getBookName()) .orElseThrow(IllegalArgumentException::new); // 2. 대출기록 정보를 확인해서 대출중인지 확인한다. // 3. 만약에 확인해는데 대출 중이라면 예외를 발생시킨다. if (userLoanHistoryRepository.existsByBookNameAndIsReturn(book.getName(), false)) { throw new IllegalArgumentException("이미 대출되어 있는 책입니다"); } // 4. 유저 정보를 가져온다. User user = userRepository.findByName(request.getUserName()) .orElseThrow(IllegalArgumentException::new); // 5. 유저 정보와 책 정보를 기반으로 UserLoanHistory를 저장 userLoanHistoryRepository.save(new UserLoanHistory(user.getId(), book.getName())); } } 북서비스 코드인데요// 1. 책 정보를 가져온다. Book book = bookRepository.findByName(request.getBookName()) .orElseThrow(IllegalArgumentException::new);이 부분에서 // 2. 대출기록 정보를 확인해서 대출중인지 확인한다. // 3. 만약에 확인해는데 대출 중이라면 예외를 발생시킨다. if (userLoanHistoryRepository.existsByBookNameAndIsReturn(book.getName(), false)) { throw new IllegalArgumentException("이미 대출되어 있는 책입니다"); } 이 부분 처럼 "존재하지 않는 책입니다" 라는 메세지를 터미널(콘솔인가요? 이거 찍히는 곳 명칭이 터미널인지 콘솔인지 모르겠네요) 에 찍어주려면 어떻게 해야하나요? 그리고 첫 번째 경우와 두 번째 경우에 에러를 발생시키는 방법이 다른 이유는 무엇인지 궁금합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
맥북에서 에뮬, 시뮬레이터 오류들
안녕하세요, 수업 잘 듣고 있습니다.다름이 아니라 이번에는 제가 근무지 이동때문에데스크탑(윈도우)이 아닌 맥북(m1)으로 코딩을 공부하는 중입니다. 현재 가장 최신인 giraffe버전인데, 맥북에서 시뮬레이터로 코딩하면 크롬에서 스웨거도 잘 뜨고, 자동로그인도 잘되어 splashscreen페이지에서 바로 rootTab으로 넘어갑니다. 그런데 그 외의 서버에서 보내오는 이미지나 텍스트 데이터들이 전혀 뜨지 않아 무한 로딩을 합니다ㅠ 그래서 에뮬레이터를 돌려보려고 하니 파일 경로중에 알맞지 않은 문자가 있다는데, 아무리 봐도 '_'(아래바) 제외하고는 전혀 특수문자나 공백은 없습니다.. 에뮬도 안켜지고, 시뮬레이션에 데이터도 안떠서 답답하네요; 도움 구할 곳이 없어 도움 구해봅니다 ㅠ올 한해도 고생 많으셨고, 해피 크리스마스 입니다^^
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
train_test_split에 관한 질문입니다.
안녕하세요, 수업을 들으면서 궁금한 점이 생겨 여쭤봅니다. train_test_split() 메소드를 쓰실 때, x 값으로 ratings 을 사용하고, y값으로 user_id 를 사용했는데, 이 부분이 제 직관과 다른것 같습니다. x, y 값을 설정할 땐 학습하려는 데이터를 x, 결과를 얻고싶은 데이터를 y로 설정하는게 맞지 않나요? 즉 여기서는 x를 user_id, movie_id 등으로 설정하고, y를 rating으로 설정하는것이 학습 -> 예측 관계에 맞는것 같아 이부분이 잘 이해되지 않아서 여쭤봅니다. 또한 x데이터 안에 user_id가 이미 있는데, 예측하고자 하는 y를 user_id 로 설정하는 것 또한 잘 이해가 되지 않습니다! 혹시 이부분에 왜 그렇게 했는지 설명 부탁드려도 될까요?
-
미해결[실전]텍스톰 TEXTOM 실전 강의: 빅데이터 논문 작성을 위한 텍스트 분석/텍스트마이닝
강의 내용 참고문헌 질문있어요
선생님 안녕하세요.수업 재밋게 잘 듣고 있습니다.덕분에 쉽게 따라할 수 있을 것 같아요. 궁금한게 있어서요. 강의 섹션4 연구논문 관련 작성 강의에 사용한 "영어 인공지능 앱 리뷰"와 관련된 논문을 사용하셔서 강의를 진행해 주셨는데요, 해당 논문의 출처를 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
7강 언리얼 C++ 설계 인터페이스 18:40초 언리얼 인터페이스의 DoLess함수는 UFUNCTION사용 여부
7강 언리얼 C++ 설계 인터페이스 18:40초 언리얼 인터페이스의 DoLess함수는 UFUNCTION매크로를 사용하지 않아도 되나요?
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
ftp 공격과정에서 /cmd/unix/reverse (메타스플로잇 리버스쉘 페이로드)
공격대상서버는 linux를 사용하는데 unix 관련 리버스쉘을 페이로드를 사용해도 되는건 linux가 unix 기반이라 그런건가요?