이전 강의에서 물어본 사항들을 이번 강의에서 설명하시네유ㅠㅠ 보고 질문드릴걸 그랬습니다! useSWR이 동일한 키 값이면 동일한 data를 공유한다는것 까지는 이해했고, 리덕스를 대체할 수 있다는것까지도 알겠습니다. 근데 이 둘 간에 분명히 차이점이 있는데 이를 제대로 이해했는지 잘 모르겠어서 확인 차 질문드립니다! 동일한 키 값이란 말은 결국 동일한 url이라는 말인데, 동일한 url로 처리할 수 있는 요청들이 제한적이기 때문에 결국 SWR 공간들이 분할될 수 밖에 없다고 생각하는데요( 필요할 때 useSWR로 값을 불러올 수 있지만, 서로 다른 url에서 서로 다른 구조의 data를 응답받았을 때, 리덕스 스토어의 경우 initialState에 전체를 다 때려박아넣은 다음, 요청의 response 값을 initialState에 채워넣거나 수정하는 식으로 관리하지만, SWR의 경우 이와같은 조작을 하려면 서버에서 매번 data구조를 거대하게 리턴해야해서 효율이 너무 떨어지기 때문에 실용적인 측면에서 불가능하다 생각되서 분할되었다고 표현 ). 그럼에도 불구하고 코드 전체적으로 보았을 때 swr에서 사용되는 url들, 즉 키 값들은 한정적이기 때문에 같은 키값에서 사용되는 데이터들만 골라서 쓰면 전역공간처럼 쓸 수는 있을 것 같지만, 리덕스와 같은 완전한 전역공간은 아닌 것으로 예상됩니다. swr은 키값과 지역공간을 매핑해서 사용함. 필요에 따라 동일한 키값을 부여해서 데이터 공유가 가능하므로, 전역공간처럼 사용할 수 있음. 리덕스는 지역이고 뭐고 필요없이 그냥 전역공간 그 자체를 만들어서 사용함. 이렇게 이해했는데 얼추 맞나요? 수정) 비동기요청에 사용하는 fetcher들의 then에 동기useSWR('global',...)를 호출해서 비동기요청 then구문마다 global 키값에 데이터를 채워넣는 식으로 사용하면 리덕스 스토어를 완전히 대체하는 방법일까요?
선생님 안녕하세요. 항상 좋은 강의 감사합니다. 강의 듣다가 문득 궁금한게 생겨서 질문 드립니다. 교재에 보면 웹 스코프는 웹 환경에서만 동작한다고 하는데, 스프링에서 웹환경 말고 non-web환경은 어떤게 있나요? 제 생각에는 spring-boot-starter-web을 gradle에 추가 하기 전에 CoreApplication을 실행하거나, 테스트 코드 정도일거 같은데, 실무에서 실제로 쓰는 non-web환경이 있는지 궁금합니다. 그리고 제가 멀티스레드에 대한 개념이 약해서 질문 드리는데, http request 하나당 스레드가 한개 생성되는게 맞나요? 그러니까 request가 1000개면 1000개의 멀티스레드가 생성되서 작업을 하나요?
안녕하세요. 해당 강의를 처음부터 듣고있는 강의생입니다. DML 강의를 듣는중 궁금하게 생겨서 질문드립니다. DELETE나 UPDATE INSERT 같은 구문을 사용할때 , 쿼리를 통해 return 값에만 적용이 된는게 맞는지요? 원래 기본 DB에는 영향이 없는지 질문드립니다. 감사합니다.
리덕스의 경우 configureStore를 통해서 스토어를 만들어서 실제 전역변수들이 저장되는 공간을 만들고 그 스토어에 데이터를 저장하는 것으로 이해하고 있습니다. SWR의 경우 전역변수공간을 다루는것처럼 보이지만 사실 LogIn에서의 data와 SignUp에서의 data는 아무 관련이 없는것처럼 보이는데 맞나요? 예를 들어 리덕스 스토어 구조로 data를 얻는 방법을 생각했을 때, LogIn에서 요청을 한 번 하고, 인터넷이 끊겨버리더라도 이는 스토어에 저장되어있기 때문에 SignUp에서 가져다 쓸수있지만(최신데이터임은 보장할 순 없지만), swr의 경우 LogIn에서 요청을 한 번 하고 인터넷이 끊겨버리는 상황을 생각해보면 LogIn에서야 data를 쓸 수 있지만, SignUp에서는 data를 다시 서버로 요청하는 개념이지, LogIn에서 쓰던 data를 끌어다 쓰는 개념이 아니라고 이해하고 있는데 혹시 다른 점이 있나요?
안녕하세요. 강의 잘 듣고 있습니다. 궁금한 것이 하나 있어서요. React 예제에서는 main.js에서 store 객체를 사용하기 위해서 상단에 아래와 같이 Store.js 를 import 하였습니다. import store from " ./js/Store.js " ; 그런데 Vanilla 예제에서는 main.js 에서 아래와 같이 바로 현재 경로에서 import 합니다. import Store from " ./store.js " ; 두 예제(1-vanilla, 2-react) 전부 main.js 파일과 store.js 파일이 같은 경로(/js/)에 있는데요. 왜 react는 절대경로 형태로 루트부터 ./js/store.js 에서 불러오고, vanilla에서는 상대경로 형태로 불러와야 되는지 궁금합니다. 혹시나해서 react 예제에서 상대 경로로 store.js 파일을 불러왔더니, 오류도 발생하지 않는데, 화면에는 제대로 표시가 되지 않더군요. 예제 소스 대로 ./js/Store.js 하는 경우에만 제대로 동작하였습니다. 조언 부탁드릴께요. 감사합니다.
안녕하세요, 강의를 듣다가 질문이 있어 글을 남깁니다. 2.1절의 Theorem 3 설명에서 d 에 대한 풀이 중 (AB)ij=ai1b1j+ai2b2j+...+ainbnj 는 맞지만 (AB)ijT = aj1b1i+aj2b2i+...+ajnbni => (AB)ijT= bj1a1i+bj2a2i+....bjnani (BTAT)ij = aj1b1i+aj2b2i+...+ajnbni => (BTAT)ji = bj11a1i+bj2a2i+....bjnani 가 되어야 하지 않나 해서요.. A는 ain으로 표현 가능하고 B는 bnj로표현 가능하고 AT는 ani, BT는 bjn이니까요... 설명이 상세하고 친절한 강의 감사드립니다. 이렇게 강의 하실수 있다는게 대단하신것 같습니다. 많이 배우고 있습니다. 그래도 자잘한 것이지만 수정할 것이 있는 것 같아 글을 남깁니다.
강사님 덕분에 재미있는 프로젝트도 만들 수 있어서 강의 본 것을 절대 후회 하지 않고 있습니다. 근데 opencv 강의 해주신 두 개를 잘 봤는데 실시간 퍼포먼스는 느려서 아쉽더라고요. 그래서 혹시 나중에 gpu를 이용하면 빨라진다고 들었는데 gpu를 이용한 실시간 yolo나 얼굴 인식 방식 등 을 강의 해주실 수 있으신가요? 그럼 꼭 듣겠습니다.
안녕하세요 선생님 드롭다운네비게이션 강의 보다가 마지막에 와이어프레임을 만든 후 연습하라고 해서 갑자기 궁금해져서요! 보더랑 배경색으로 만드는 2가지 방법이 있는데 좀 더 추천하시는 방법이 있나요? 개인적으로는 배경색으로 하는게 더 쉬울꺼 같은데 드롭다운강의 하시는거 보면 다 보더로 그려져 있는거 같아서요 *드롭다운 네비 마지막에 와이어프레임을 잘할줄알면 ~ ... 이라고 자신감을 주셔서 감사합니다.
안녕하세요 선생님, 서비스 계층의 트랜잭션 처리와 관련해 질문이 있습니다. 보통 모놀리식 형태의 웹 어플리케이션의 경우 서비스 계층에 @Transactional을 이용해 트랜잭션 처리를 해주는 것으로 알고 있습니다. 하지만 이번 마이크로서비스 강의에서 나오는 유저 서비스, 오더 서비스, 카탈로그 서비스 모두 @Transactional이 사용되지 않고 있는데 문제가 전혀 없는 것인지 궁금합니다.