궁금한 점이 있어서 질문드립니다. 강의 중에 jpa 는 transaction 단위로 실행되고 transaction을 벗어나면 그 뒤에는 객체 그래프 탐색이 안된다고 따라서 초기화 되지 않은 프록시 객체를 화면에서 쓰면 안된다고 하셨는데. 디버거를 통해 확인한 결과 분명 OrderController에서 받은 List<Order>의 member 나 다른 객체들이 초기화 되지 않은 프록시 객체 상태인데 어떻게 화면에 제대로 나오는거죠?? 좋은 강의 감사합니다.
https://www.notion.so/bff1425f2f1b4bf2bf505d2a1024f837 1권 4번문제입니다 답안에는 3) 입력 : a = [1, 2, 3], 출력 : class 'list' 라고 적혀있지만 문제에는 3) 입력 : a = 'p', 출력 : class 'char' 으로 적혀있습니다 답안지를 3) 입력 : a = 'p', 출력 : class 'str'이 맞는 출력값이므로 3) 입력 : a = 'p', 출력 : class 'char'은 잘못되어 정답은 '3번' 입니다 로 수정해야하지 않을까 싶습니다
트위치에서 페이지 검사를 해 보니 제목이랑 날짜를 감싸고 있는 태그가 <p class="tw-font-size-4 tw-strong"> 이렇게 바뀌어 있어서, 클래스 이름 부분만 바꿔서 코드를 돌렸는데 작동이 안 되네요. 그런데 예시처럼 "tw-flex"로 클래스 이름을 검색하면 작동이 됩니다. "tw-flex"라는 클래스 이름을 가진 태그가 페이지에 없는데, 왜 이렇게 작동하는지 설명해 주시면 감사하겠습니다~~ 그리고 늘 유익한 강의영상으로 큰 도움 받고 있어요. 감사합니다~
@EnableWebMvc의 WebMvcConfigurationSupport.class에서 servletContext를 참고하므로 setServletContext가 필요하다는 것은 이해됩니다. 여기서... dispatcherServlet 생성 시 applicationContext를 인자로 받고, dispatcherServlet을 servletContext에 등록했기 때문에 applicationContext가 연결된 dispatcherServlet을 통해 servletContext를 찾을 수 있지 않을까 생각했지만 강의 내용처럼 setServletContext하지 않으면 'No ServletContext set' 에러가 발생하는 것을 확인했습니다. servletContext에서 dispatcherServlet, dispatcherServlet에서 applicationContext가 설정되어 있어 servletContext > dispatcherServlet > applicationContext 방향으로 접근은 가능하나, 반대 방향은 설정되어 있지 않으므로 @EnableWebMvc를 위해 setServletContext를 설정한다고 보면 될까요?
강좌대로 유투브 다운로드 받으려니까 오류나요 Traceback (most recent call last): File "C:\Users\User0\Desktop\code\section2\youtube-download.py", line 13, in <module> videos[0].download(down_dir) File "C:\Users\User0\Anaconda3\envs\test1\lib\site-packages\pytube\streams.py", line 238, in download bytes_remaining = self.filesize File "C:\Users\User0\Anaconda3\envs\test1\lib\site-packages\pytube\streams.py", line 164, in filesize headers = request.get(self.url, headers=True) File "C:\Users\User0\Anaconda3\envs\test1\lib\site-packages\pytube\request.py", line 21, in get response = urlopen(url) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 163, in urlopen return opener.open(url, data, timeout) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 472, in open response = meth(req, response) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 582, in http_response 'http', request, response, code, msg, hdrs) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 510, in error return self._call_chain(*args) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 444, in _call_chain result = func(*args) File "C:\Users\User0\Anaconda3\envs\test1\lib\urllib\request.py", line 590, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden [Finished in 3.233s]
스프링 부트 환경에서 스프링 4.2 미만과 이상에 대해서 프로젝트 설명이 되어있는데 직접 프로젝트로 따라해보니 4.2 미만에서의 환경처럼만 구현이 됩니다. 그래서 버전을 맞춰주려고 pom.xml을 봤는데 스프링 부트라서 부트의 버전만 있는데 이럴경우 스프링의 버전은 어떻게 확인할 수 있나요? 그리고 가능하다면 강좌에서 다룬 프로젝트의 코드를 참고 할 수 있을까요? ex) pom.xml 등등
A->B->C 로 참조가 되어 있어서 A를 지우려면 B를 먼저 삭제하고 B를 지우려면 C가 먼저 삭제되어져야 한다고 했을 때, 만약 C가 A를 참조하게 될 경우 싸이클이 생겨서 서로 삭제가 안되는 문제가 생기는데인. 웹던이나 DB단에서 c->a로 참조를 걸려할 때 잘못된 것으로 인지하고 막고 싶은데. 보통 이럴때는 어떤식으로 해결을 해야하나요?