학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 분명 MemberServiceV2에서 매개변수로 Connection con을 추가 해주어서, Test시에도 findById에서 con을 같이 추가해줘야 할 것 같은데, 영한님께서는 아무것도 안던지고 바로 테스트를 해서 정상 작동이 되었네요. 아마도 V1에 con부분은 없어서 정상작동 된거같은데, con을 넣어주어야 맞는거 아닌가요??
JPA 사용시 테스트 환경이 아닌, 일반 환경에서 update 쿼리문이 보이지 않는 이유가 궁금합니다. 제가 생각하는 update 쿼리문이 적용되는 과정은 transaction이 커밋이 되고, 더티 체킹을 통해서 기존 스냅샷과 비교해 달라진 값을 기준으로 쿼리문을 작성하고 flush()를 통해서 쿼리문을 DB에 날린다음에 flush()한 쿼리문에 대한 commit()을 통해 db에 최종적으로 저장되는 과정으로 이해하고 있는데, 결국 DB에 쿼리를 날리기때문에 로그를 확인했을때, 확인할 수 있어야 하는거 아닌지에 대해 궁금합니다. insert와 select 쿼리문은 로그가 올바르게 찍히는데 그에 반해 update 쿼리는 로그가 보이지 않습니다.
[질문 내용] JpaRepository 코드를 타고 들어가보니, 코드는 다음과 같았습니다. @NoRepositoryBean public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> { 분명 JpaRepository는 interface로 선언이 되어있는데, JpaRepository를 상속받은 제가 커스텀한 Repository는 구현을 따로 하지 않고 JpaRepository 인터페이스에 정의된 메서드들을 사용할 수 있는 건가요? 추상 클래스면 이해를 하겠지만 인터페이스에서 어떻게 사용이 가능한지 이해가 잘 되지 않습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 좋은 강의 열심히 강의 수강중에 질문있어 남깁니다. HTTP 요청데이터는 세가지 방식으로 데이터를 전달 할 수 있다고 배웠습니다. 해당 강의에서는 HTML Form방식으로 상품 게시판을 진행한것 같은데, HTTP messagebody방식으로 게시판을 만들어 볼 수 있을까요? 있다면 관련 강의가 있는지 궁금합니다. 없다면 HTTP messagebody방식은 어떻게 공부해야하는지 간단하게라도 알려주시면 감사하겠습니다. 어리석은 질문일 수도 있겠지만 답변 부탁드리겠습니다!
안녕하세요. 강의 자료중에, " MemberRepository는 JPA를 통해 회원을 저장하는데, 이때 JPA는 트랜잭션이 시작된 con1을 사용해서 회원을 저장한다 " 라고 되어있는데요. 이 부분에 대해 영한님께서 "em.persist()를 호출할때 내부적으로 JPA는 트랜잭션이 시작된 con1을 사용한다" 고 하셨는데, em.persist()를 호출할때, 실제 데이터베이스에 커밋은 아직 하지 않지만 con1을 사용해서 회원을 데이터베이스에 저장하는것인가요? "LogRepository도 트랜잭션C와 관련된 con2를 사용한다" 라고 강의자료에 나와있는 부분도, 위 내용과 동일한걸까요? con1과, con2를 사용한다는 개념이 어떤것을 의미하는지 궁금해서 질문드립니다. 감사합니다.
"자바스크립트 링크"가 <script> 태그에 있는 경로를 말하는 거고 클라이언트가 그 js 파일을 서버에 요청하는게 "자바스크립트 요청"이 되는건가요? 서버가 그 파일을 전달하면 클라이언트가 필요한 데이터를 다시 요청한 후에 파일을 완성해서 렌더링하는 과정이 맞는지 궁금해요
안녕하세요! 강의 잘 듣고 있습니다 공부를 하다가 오래 고민해도 이해가 안되는 부분이 생겨서 질문 처음 남겨봅니다~ 침몰하는 타이타닉 (그리디) 문제에서 예를 들어 무게가 100 90 80 80 80 80 40 30 20 10 인 10명의 사람들을 무게 한도가 140인 구명보트에 태울때 강사님 풀이 대로면 100인 사람과 10 인 사람을 태우고 90 인 사람과 20인 사람을 태우는 방식으로 시작해서 (100,10) (90,20) (80,30) (80, 40) (80) (80) 이렇게 6개의 구명보트에 사람을 태우는데 저는 100인 사람과 40인 사람을 먼저 태워야한다고 생각을 했습니다. 뭔가 강사님 풀이대로 100인 사람과 10 인 사람을 먼저 태우면 80 인 사람이 혼자 타게 되는데 100이 40과 함께 타면 80 인 사람이 10 인 사람과 같이 탈 수 있으니 80은 혼자 타지 않아도 되서 cnt 가 최소가 되는게 아닌가 생각했습니다. ( 즉 100 일떄 140 - 100 은 40 이니 40보다 작은 수 중에서 가장 큰 값을 구하는 방식으로 풀었습니다 이중 반복문을 사용합니다 (100, 40) (90, 20) (80, 20) (80, 10) (80) (80) ) 제가 제 방식, 강사님 방식으로 5시간정도 시뮬레이션 해 본 바로는 결국 결국 cnt는 같았습니다 그런데 왜 같은지 논리적으로는 이해할 수가 없어요.. ㅠㅠ 논리적으로 왜 같은지 혹시 설명해주실 수 있으실까요..
직장을 다니면서 자격증 시험을 준비했는데, 하필 실기 시험날 타 지역 출장이 있어 응시를 하지 못했습니다..ㅠㅠ 일 하면서 틈틈히 강의 듣고 했는데 너무 아쉽네요 ㅎ 지금 필기 유효기간도 만료되어서 내년에 다시 준비를 해야하는데, 실기 강의가 내년 5월 만료더라구요 . 혹시 필기 대비하는 강좌나 25년 대비 강좌를 계획중이신게 있으실까요? 있다면 패키지로 묶어서 구매하고 싶은데, 기존 수강생 할인이나 쿠폰같은게 있으면 좋을 것 같아서요 .(양심이 없어 죄송합니다ㅠㅠ) 그리고 필기 공부하면서 실기를 같이 병행(실기강좌중 개념을 다루는 부분)하는게 좋은지도 궁금합니다!
안녕하세요 선생님 전국 평균 분양가격(2013~2015년 8월까지)데이터는 너무 옛날거라 쓰기가 좀 그래서요 혹시 최신버전이나 공공데이터에서 다운 받아서 쓸 수 있는 정보가 있을까요?? 현재 2023 09~202408까지 데이터로 진행하고 싶은데 기존 데이터로 따로 월이랑 연도만 따로빼서 파일을 만드신건지.. 그렇다고 하면 규모구분 칼럼에서 어떤게 기준점인지 궁금해요 ...
안녕하세요. 강의 자료중에, " MemberRepository는 JPA를 통해 회원을 저장하는데, 이때 JPA는 트랜잭션이 시작된 con1을 사용해서 회원을 저장한다 " 라고 되어있는데요. 이 부분에 대해 영한님께서 "em.persist()를 호출할때 내부적으로 JPA는 트랜잭션이 시작된 con1을 사용한다" 고 하셨는데, em.persist()를 호출할때, 실제 데이터베이스에 커밋은 아직 하지 않지만 con1을 사용해서 회원을 데이터베이스에 저장하는것인가요? "LogRepository도 트랜잭션C와 관련된 con2를 사용한다" 라고 강의자료에 나와있는 부분도, 위 내용과 동일한걸까요? con1과, con2를 사용한다는 개념이 어떤것을 의미하는지 궁금해서 질문드립니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 프론트단 질문 검증 오류뜰시 태그를 추가하는데 alert창을 띄우는 방식으로 한다면 어떻게 달라지는지? 예를들면 검증해서 문제가 있으면 bindingresult에 담고 템플릿에 넘겨주는데 지금방식은 문제가 잇으면 input태그밑에 오류를 표시해주는데 alert창으로 표시를 하고 싶다면 프론트에서 코드가 어떻게 달라지는지 알고싶네요. 자바스크립트코드에 오류가 있을시에 alert창에 ${에러문구} 이런식으로 넣어주면 되는건가요?
코랩에서 910 실습파일 실행 시 skimage.data_dir 경로에 이미지 파일이 없는것으로 보입니다. FileNotFoundError Traceback (most recent call last) <ipython-input-31-48f15de4b83a> in <cell line: 9>() 7 8 # skimage의 데이터 디렉토리에서 .png 또는 .jpg로 끝나는 모든 파일을 반복하여 처리합니다. ----> 9 for filename in [filename for filename in os.listdir(skimage.data_dir) if filename.endswith(".png") or filename.endswith(".jpg")]: 10 # 파일명에서 확장자를 제거하여 이미지의 이름을 얻습니다. 11 name = os.path.splitext(filename)[0] FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/scikit-image/0.24.0/data
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] th:fied 가 바인딩 실패시 값을 넣어주는것을 아는데 타임리프말고 다른 템플릿은 어떻게 오류값을 넣는건지? new FieldError("item", "itemName", item.getItemName(),....) 위에 3번째 파라미터가 들어가는거같은데 템플릿에서 3번째 파라미터를 어떻게 꺼내는건지 알고싶네요.
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
SqlConnection이 deprecated 되었다고 뜨는데 이 부분은 상관없나요? 아니면 제가 잘못...선택을 한건지...ㅠqlConnection이 deprecated 되었다고 뜨는데 이 부분은 상관없나요? 이후 강의를 들으면서 따라가는데 차질이 생기는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] "@Repository가 붙은 클래스는 예외 변환 AOP의 적용 대상이 된다."는 내용에 대해 더 궁금한 점이 있습니다. 테스트 코드의 @Transactional를 주석 처리하고, @Import로 설정도 수정해서, JPA 대신 MyBatis나 JdbcTemplate을 적용해 봐도 log.info("repository = {}", itemRepository.getClass()); 테스트의 이 코드를 실행하면 itemRepository가 프록시로 생성된다는 것을 확인할 수 있었습니다. JPA가 아니라 해도 @Repository가 적용되면 프록시 객체로 생성되는 것 같습니다. 그런데 이전 스프링 핵심 원리 기본 편 강의에서 사용했던 core 프로젝트에서도 한번 테스트해 봤는데 //@Component @Repository public class MemoryMemberRepository implements MemberRepository { . . . } class OrderServiceImplTest { @Test void createOrder() { MemoryMemberRepository memberRepository = new MemoryMemberRepository(); System.out.println(memberRepository.getClass()); . . . } } 이 테스트를 실행해 보면 memoryMemberRepository는 @Repository가 적용되어 있음에도 불구하고 프록시 객체로 생성되지 않는 것 같습니다. 이 이유가 무엇인가요? @Repository를 통해 프록시 객체를 만드는 기능은 JPA 라이브러리가 있어야(JPA를 사용하지 않고 MyBatis를 사용하더라도) 적용되는 건가요? +) 그런데 스프링 DB 1편 강의에서 사용한 프로젝트에서도 테스트해 봤는데, 여기선 JPA 라이브러리를 받지 않았는데도 @Repository를 통해 프록시 객체가 생성되는 것 같습니다. 물론 @Transactional도 주석 처리했습니다. @Slf4j @Repository public class MemberRepositoryV5 implements MemberRepository { private final JdbcTemplate template; . . . } @Test void AopCheck() { log.info("memberService class = {}", memberService.getClass()); log.info("memberRepository class = {}", memberRepository.getClass()); Assertions.assertThat(AopUtils.isAopProxy(memberService)).isTrue(); Assertions.assertThat(AopUtils.isAopProxy(memberRepository)).isFalse(); } @Transactional을 주석 처리했으므로 memberService는 프록시 객체가 아니고, @Repository가 적용된 memberRepository는 CGLIB 관련 내용이 출력됩니다. @Repository를 통해 프록시 객체가 생성되려면 어떤 조건이 필요한지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 만약에 쿼리파라미터로 price="" //빈값 price=" " //한칸띈 빈값 이렇게 들어오고 Integer로 받으면 그냥 null이 들어가나요? int는 그냥 0이 들어가는건가요? 테스트 해보니 그런거 같아서요. 이유가 뭔가요? 자동으로 컨버터가 되는건가요? 만약에 쿼리파라미터로 price를 넣지 않으면 그냥 자동으로 null이 들어가는건가요? 그리고 숫자가 들어올때 Integer나 int 중에 주로 현업에서는 무엇으로 받는게 좋나요? 뭔가 이런 사소한게 선택장애가 있어서