안녕하세요, 강의 보기 전 소스코드부터 보고 있는데 패키지 구조에 궁금증이 생겨 질문드립니다. 현재 domain 및 db core 패키지 하위에 도메인별 세부 패키지 분리 없이 모든 파일이 배치되어 있는데요, 추후 프로젝트 규모가 커져 파일 개수가 수백, 수천 개에 달하게 될 경우에도 이러한 구조(패키지 미분리)를 유지하시는 것을 선호하시는지 궁금합니다. 감사합니다.
안녕하세요~ 좋은 강의 잘 듣고 있습니다. 넘파이 ndarray 인데싱(indexing) 이해 - 단일값과 슬라이싱 인덱싱 수업을 듣는중 궁금한게 있어서 질문합니다. 해당 강의 8분 50초 정도에서 array2d[ 1:3, 0:3 ] 과 array2d[ 1:3, : ] 예시가 이해가 안되서요 제가 이해한건 : 앞은 시작 인덱싱 값이고 : 뒤는 가져올 값의 범위 즉 갯수로 이해했는데요 그러면 array2d(3, 3) 의 2차원 ndarray 이면 axio0의 1:3 인덱싱이 범위를 벗어나는거 아닌가해서요
안녕하세요. 강사님 맥북에서 강의 2-1 파이썬 가상환경 설정을 따라 하고 있는데, 1, 가상환경 생성 가상환경 활성화 32비트 환경 설정 파이썬 설치 여기까지는 잘 됐는데, 5번 32비트 파이썬 정상 작동 확인 여기서 zsh: command not found: python 이렇게 에러가 발생합니다. 그러다보니 다음 강의로 진행을 못하고 있는데, 뭐가 잘못된건지 모르겠습니다. 답변 부탁드립니다.
ASCII 코드 챕터 18:12 printf(%s\n", p+1) printf(%c\n", *(p+1)) printf(%s\n", *p+4) 위 3가지 경우에 대해서 해설 부탁드립니다. 1번 경우 KOREA에서 한칸 오른쪽으로 이동하여 OREA되는 것은 이해가 되고 2번 경우 *p가 K를 가르키기에 +3하면 E가 되는 것도 이해되고 3번 경우에는 1번과 2번을 바탕으로 이론을 숙지하고 있는상황에서 이해가 되지 않습니다.
안녕하세요. 오늘도 재미있게 잘봤습니다. 감사합니다. // ReviewManager.kt @Transactional fun delete(user: User, reviewId: Long): Long { val found = reviewRepository.findByIdAndUserId(reviewId, user.id) ?: throw CoreException(ErrorType.NOT_FOUND_DATA) found.delete() return found.id } 이 코드를 보면서 삭제를 구현할 때 두 가지 방식이 있겠다는 생각이 들었습니다. 첫번째는 조회 + 삭제, 두번째는 정확한 key를 넘겨주어서 한번에 삭제. 둘 가운데 어떤 방식을 선호하시는지 궁금합니다. 처음에는 두 번째 방식으로 구현을 한다면 메서드 이름과 동작이 더 일치해서 좋고 코드도 한 줄에 끝나서 더 좋은게 아닌가? 라고 생각을 했었는데 그렇다면 첫번째 방식을 하면 좋은점이 무엇일까 다시 생각을 해보니 만약 삭제할 때 ORM 예외가 발생한다면 ReviewManager가 몰라도 된다는게 장점일 수 있겠다는 생각이 들었습니다.
현재는 클라이언트에서 넘어온 amount를 검증하고 있는데 이는 조작 위험이 있지 않은지 궁금합니다. 예를 들어 1원만 결제하고 서버에는 10000원을 결제했다고 보내면 서버에서는 결제 승인 API를 호출하여 totalAmount를 확인하기 전까지는 알 수 없는걸까요? 결제 승인 API에서 반환되는 Paymet 객체에 totalAmount 필드가 있기는 하지만 결제를 승인하기 전에 toss 서버에서 실제 결제된 금액을 조회하는 방법이 따로 없는건지 궁금합니다
강의를 듣고 재민 님이 말씀해주신대로 코드를 옮겨 봤는데요. ProductFinder에 findSections 메서드가 있지 않고 ProductSectionService에서 ProductSectionRepository를 통해 바로 조회하는 것도 꽤 자연스럽고 괜찮다고 느껴졌습니다. 그런데 여기서 궁금한게 있습니다. Product 관련한 건 ProductFinder 라는 별도의 객체가 책임을 갖게 해서 코드를 짜다가, ProductSection에서 갑자기 바로 Repository에 접근해서 조회를 하도록 하면 코드 통일성 측면에서 바람직한가? 하는 의문이 문득 들더라구요. 그렇다고 ProductSectionFinder를 또 만들어서 하자니 너무 과한가? 싶은 생각도 들었습니다. 추가로 ProductSection 조회에 다른 요구사항이 생기거나, 복잡한 구현을 해야 된다면 ProductSectionFinder 같은 걸 만들어도 좋을 것 같은데, 현재 시점에서 만드는 것이 좋은 접근인지 확신이 안 생긴달까요 ㅎ 만약 이런 고민이 들 때는 어떤 것에 우선순위를 두어서 결정하는 것이 좋을 지 재민 님의 의견이 궁금합니다. 좀 더 자연스러운 흐름대로 짜는 것이 나을지, 혹은 코드 통일성 유지를 위해서 바로 Repository에 접근하는 것은 지양 하면 좋을지 등등 말이죠! 이건 회사나 팀마다 정해진 규칙이 있을 가능성이 높지만 공부하는 입장에서 궁금증이 들어 이렇게 질문을 드립니다. 감사합니다 😀
쿠폰 챕터 부분에서 "코드 느끼기" 강의의 7~8분대에 CouponController 부분에 getOwnedCoupons 에 대해 강의에서는 "내가 받을 수 있는 쿠폰 목록 전체를 내려준다"고 말씀하셨습니다. 그런데 제가 이해하기로는 "다운로드 받은 쿠폰(들)을 전체 조회한다"로 생각했습니다. 그 이유는 download(다운로드)를 해야만 ownedCoupon 엔티티로부터 데이터를 가져오기 때문입니다. 혹시 제가 이해한 것처럼 getOwnedCoupons 의 역할이 "내가 받을 수 있는 쿠폰을 조회한다"가 아닌 "다운로드 받고 난 쿠폰을 조회한다"와 같은 API인지, 혹은 그게 아니라면 무슨 의미인지 알려주시면 감사하겠습니다! 강의 내용을 듣다보면, "다운로드 받을 수 있는 쿠폰을 조회한다" , "다운로드 받은 쿠폰을 조회한다"와 같이 의미가 비슷하지만 이해하기 헷갈려서 그렇습니다 ㅜㅜ
안녕하세요, 선생님. 강의 잘 듣고 있는 재직자입니다. 저번 시험부터 준비하려고 했지만, 프로젝트가 겹쳐서 마지막 시험인 이번 회차까지 넘어오게 되었네요... 수강 기간이 11월 1일까지인데, 혹시 이번 시험인 11월 말까지만 강의 연장이 가능한지 여쭤보고 싶습니다. 마지막 기회인만큼 정말 열심히 하겠습니다..! 답변 기다리고 있겠습니다. 감사합니다! 제 이메일은 ( areuwho112@gmail.com ) 입니다!
ASCII 코드 강의 챕터 9:10 char lower = 'a';에서 a는 문자 취급하고 char upper = (char)(lower-32); 여기에서 (char)은 문자 취급하는 구문이고 (lower-32) 관련하여 숫자 취급하는 int 같은 것이 없는데 lower는 a 문자로 확인이 됩니다. a 문자 관련하여 왜 ASCII 코드 97로 변환하여 32를 빼는지 이해가 되지 않습니다.
안녕하세요? 결측치를 처리할때 평가지표 결과를 통해 점수가 높은 방법으로 결측치를 처리하는게 좋다고 하셨는데 만약 train에 결측치가 포함된 컬럼이 3개일때 각각 컬럼마다 다양한 방법의 결측치 처리방법을 적용하여 결과값을 비교하면서 최적값을 찾아야하는지, 아니면 결측치가 있는 컬럼 3개에 대해서는 한가지 방법의 결측치 처리방법을 적용해도 되는지 궁금합니다. 컬럼이 3개일때 각 컬럼마다 여러가지 결측치 처리방법을 적용하면서 비교하면 경우의 수가 많을것같아 질문드립니다.
안녕하세요. printf("5+(a<b)=%d\n",5+result1); 출력결과가 5+(a<b)=6이라고 설명해 주셨는데, 출력값 관련해서 궁금한게 생겨서 질문드립니다. 문제에 출력 명령문이 printf("5+result1=%d\n",5+result1); 위와 같이 되어 있으면 결과는 어떻게 되나요? 5+1=6이 되나요? 아니면 5+result1=6이 되나요? 그 이유도 설명해 주시면 감사드리겠습니다.