안녕하세요. 백기선님 강의 너무 잘 보고있습니다. JPQL로 만든 쿼리가 캐싱이 안되는것 같아 질문드립니다. 테스트로 spring data jpa 의 findById를 JPQL 로 만들어보았습니다. @Query ( "select p from Person p where p.id = :id" ) public Person findByIdCustom(Long id ); 동일한 트랜잭션에서 동일한 id로 위 쿼리를 여러번 호출하면 호출한 만큼 쿼리가 날아가고 있습니다ㅠ JpaRepository 의 findById 를 여러번 호출하면 정상적으로 한번만 쿼리가 날아가고 이후에는 쿼리가 날아가지 않는데 제가 만든 위 쿼리를 사용하면 호출한 만큼 쿼리가 날아가 질문드립니다.. 위 쿼리로 얻어온 엔티티 객체를 equals로 비교하면 전부 동일한 객체로 나오고 있는데도 쿼리가 여러번 호출됩니다.
좋은 강의를 통해 많이 배우고 있습니다! 다름이 아니라, 공부를 하면서, 제가 직접 한 번 코드도 짜보고 하면 기억에 많이 남더라구요... 그래서, 따라하는 것 이외에 숙제처럼 제가 한 번 직접 짜보고 이렇게 저렇게 해보고 싶은데요... 그런 자료를 주실 수 있나요? 혹은, 따로 구할 수 없을까요? 아니면 제가 찾을 수 있는 곳이 있나요? 감사합니다 ^^
안녕하세요 선생님. ANDY BAE입니다. 테스트 시도 중 아래와 같은 오류가 발생하였습니다. 원인을 찾지 못하여 문의드립니다! Execution failed for task ':test'. > No tests found for given includes: [jpabook.jpashop.MemberRepositoryTest](filter.includeTestsMatching) * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
const xhr = new XMLHttpRequest (); xhr . responseType = 'blob' ; xhr . onload = () => { const url = window . URL . createObjectURL ( xhr . response ); /* blob: http://localhost:63342/6737c626-231f-4158-8d46-ac1c207f2e99 */ console . log ( xhr . responseURL ); /* http://localhost:63342/13/file/video.mp4 */ console . log ( url ); const video = document . createElement ( 'video' ); video . onload = () => { /* 영상이 정상적으로 실행되면 revoke */ /* 해당 URL 에 대해 더이상의 접근을 못하게 하는것인가요 ? */ window . URL . revokeObjectURL ( url ); }; video . src = url ; /* video Element 에 대한 부가기능 설정 */ video . autoplay = true ; video . loop = true ; document . querySelector ( '#show' ) . appendChild ( video ); }; xhr . open ( 'get' , '../file/video.mp4' ); xhr . send (); 이번 영상 보면서 비동기로 BLOB 객체를 받는 방법을 배운 후 여러가지 시도를 해 보았습니다! video 타입도 문제없이 잘 재생되구요! 여기서 한가지 의문이 생겼습니다. xhr.responseURL 과 window.URL.createObjectURL 로 만든 url 은 기능은 같은 것 같더라구요. 다만 둘 다 로그를 찍어서 확인해보니, responseURL 쪽은 서버 쪽의 파일 Path 가 확연히 들어나는 반면에, createObjectURL 쪽은 새로고침 할 때마다 랜덤한 숫자들과 문자들로 이루어진 고유한 url을 가지고 있는것이 확인되었습니다. 이는 파일의 경로를 감춤으로서 해킹을 막고자 하기 위해 이렇게 createObjectURL을 쓰는 것인가요? 또 하나, video.onload 이벤트에서 window.URL.revokeObjectURL(url) 를 해서 그런지, 해당 URL 로 다시 접근 할 시에 NotFound가 떴습니다. 이 또한 역시 보안을 위해 해당 이벤트를 수행하는 것인가요? 그렇다면 blob 객체를 받아서 HTML에 뿌리고자 할 때는 위 두가지 사항은 필수조건처럼 생각해도 될런지요. 이런 의문을 가지게 된 배경은 그냥 document.createElement 한 후에 바로 src 만 설정해줘도 웹 페이지에서 정상적으로 보이는데, 이렇게까지 수고스럽게 코드를 작성하는 이유가 뭘까 개발자의 입장에서 한번 생각해보면서 자연스럽게 의문이 생기게 되었습니다. 항상 좋은 강의 감사합니다. 정말 많은 도움이 되고있습니다.
지금 개인용으로 쥬피터 노트북 파일을 pdf로 만드려고 합니다! 그런데 여기에 문제가 있는데요 MikTex를 설치한 다음 쥬피터 재실행 후 pdf 저장을 눌러보면 아래와 같은 에러 500이 뜹니다ㅜㅜ 이거 구글링해봐도 외국 성님들도 다 깃헙에서 나도 같은 문제 겪고 있다는 내용밖에 나오질 않더군요.. 어떻게 해야 해결할 수 있을까요? 감사합니다! nbconvert failed: PDF creating failed, captured latex output: Failed to run "xelatex notebook.tex -quiet" command: notebook.tex:382: notebook.tex:382: dvipdfmx:fatal: Image inclusion failed for "https://colab.research.google.com/assets/colab-badge.svg". No output PDF file written. miktex-dvipdfmx: major issue: So far, you have not checked for MiKTeX updates. Sorry, but xelatex did not succeed. The log file hopefully contains the information to get MiKTeX going again:
시도1. SELECT CASE s.Name WHEN g.Grade < 8 THEN "NULL" ELSE s.Name END 8,9,10 GRADE인 경우가 NULL, 8 미만은 이름이 나옴 => FAIL 시도2. SELECT CASE s.Name WHEN g.Grade < 8 THEN "NULL" ELSE s.Name END 강의와 똑같이, 8,9,10 GRADE인 경우 이름, 8 미만은 NULL 나옴 => SUCCESS 강의 : SELECT CASE WHEN g.Grade < 8 THEN NULL ELSE s.Name END as name, 질문 : 왜 동일한 CASE문인데 저의 시도에서는 grade >= 8 해야 강의의 grade <8 과 같은 결과가 나오나요?
에이전트 설치단계에서 아래와 같은 에러로 설치가 안되네요... 클라우데라 다운로드 정책 바뀌어서 그런가요? ㅠㅠ 만약 정책문제로 클라우데라 레파지토리에서 allkeys.asc파일 못가져오는거라면 강의를 수정하셔야될 것 같아요ㅠㅠㅠ 일단 오류내용은 아래와 같습니다! ^^ /tmp/scm_prepare_node.cJ1hXlSj https://archive.cloudera.com/cm6/6.3.1/allkeys.asc/
코드만 먼저 짜보려고 30분을 계속 헤매다가, 강의 첫 시간에 생각을 먼저 해보고, 주석을 달아보면서 코드를 짜보라고 말씀하신게 생각이 났습니다. 그래서 고민을 먼저 하고 주석을 달아보고, 키보드를 두들기니까 답이 나와서 신기했습니다. 생각을 하고 주석으로 정리 후 코드를 짜보는게 정말 도움이 되네요. 좋은 팁 고맙습니다. //for() 문을 사용하여 1~50 까지 반복 //홀수 번째값과 짝수 번째 값을 누적 //반복한 값 누적 var ODD = 0 ; //홀수 var EVEN = 0 ; //짝수 for ( k = 1 ; k < 51 ; k ++) { if ( k % 2 === 0 ) { //2로 나눴는데 나머지가 0이니 짝수값 console . log (( EVEN = EVEN + k )); /*EVEN 초깃값0, EVEN에 (=) 할당, 늘어나는 짝숫값 k와 EVEN이 더해짐, 반환값이 EVEN= 에 계속 누적 할당 */ } else { //2로 나눴는데 나머지가 있으니 홀수값 console . log (( ODD = ODD + k )); /*ODD 초깃값 0, ODD에 (=)할당, 늘어나는 홀수값 k와 ODD가 더해짐, 결과가 ODD= 에 계속 누적 할당 */ } } //반복을 완료하면 홀수 짝수 누적값 출력 console . log ( "홀수 누적값 :" , ODD ); /*ODD는 표현식이라 콤마로 분리해서 표현 */ console . log ( "짝수 누적값 :" , EVEN ); /*EVEN은 표현식이라 콤마로 분리해서 표현 */
안녕하세요. 먼저 RxJava에 개념을 잡는데 좋은 강의를 해주셔서 감사합니다. 많은 도움이 되고 있습니다. 혹시 CarRepairShop에서 Future를 리턴하는 getCarRepairCostAsync 메서드에 코드를 확인할 수 있을까요? Future를 사용해본적이 없어서요...ㅠ 확인 부탁드립니다.
안녕하세요. JWT를 기본 가이드를 알려주셔서 감사합니다. 강의를 듣는 도중 궁금한점이 생겨서 질문 드립니다. 강의 5:36 분에 나오는 Authentication authentication = authenticationManagerBuilder .getObject().authenticate(authenticationToken) ; 이 부분에서 loadUserByUsername 메소드가 실행되는 것 까지는 이해를 했는데 여기서 저는 Token 정보뿐만 아니라 유저의 정보 일부(Email, Name)를 같이 반환시키려고 합니다. 유저 정보를 얻으려면 다른 메소드를 만들어서 한번 더 조회해야 하는지 아니면 다른 방법이 있는지 궁금합니다. 감사합니다.
import pytube yt = pytube.YouTube("https://www.youtube.com/watch?v=WH7xsW5Os10") #다운받을 동영상 URL 지정 vids= yt.streams.all() print('vids',vids) 에러가 Traceback (most recent call last): File "C:\section2\youtube-downloader.py", line 1, in <module> import pytube File "C:\Users\FS15020201\Anaconda3\envs\section2\lib\site-packages\pytube\__init__.py", line 13, in <module> from pytube.streams import Stream File "C:\Users\FS15020201\Anaconda3\envs\section2\lib\site-packages\pytube\streams.py", line 62 self.is_otf: bool = stream["is_otf"] ^ SyntaxError: invalid syntax 분명 pytube 가 설치되어 있습니다. 버전 10.7.2