mobx react next 로 하고 있는데 runInAction 에서 비동기처리를 하려면 어떻게 해야되나요? Component.tsx const store = useIndexStore(); useEffect(() => { const fetchData = async () => { await store.loadNewMemberData(); console.log(store.newMember) } fetchData(); }, []) 일단 훅스 컴포넌트에서 useEffect에서 store 에 저장된 정보를 불러와야되는데 Promise 기때문에 따로 함수를 만들어줘서 호출을 했고요. useEffect 뜯어보니 함수 리턴타입이 void|Destructor(?) 라 Promise 타입을 못받아서 저렇게 만들었습니다. 1. useEffect 에서 비동기 작업을 할때 저렇게 async 함수 만들어서 호출해야되는건가요? 2. async 함수를 만들었으면 꼭 await 으로 호출안해도 되는건가요? store.ts class IndexStore { root; repository rtrMenu: MenuItem[] = []// constructor(root: RootStore, repository: BaseRepository) { this.root = root this.repository = repository makeAutoObservable(this) } loadRealtimeRequestData = async (): Promise<void> => { runInAction(() => { this.rtrMenu =this.repository.getRealTimeRequestItem() }); } } store에선 loadRealtimeRequestData() 함수에서 네트워크 요청한 결과를 받습니다. await this.repository.... 여기가 await axios.get() 이런 역할을 하게 되는데 then 을 하면 쉽게 해결될문제지만 async awiat 으로 runInAction 안에서 처리할려면 어떻게 해야되나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 [질문 내용] 스프링으로 전환하기 4:05 구간을 보시면 applicationContext.getBean(~)에 Bean 이름을 입력하십니다. 신기하게도 텍스트일 뿐인데 IntelliJ가 추정해서 Bean 이름을 제안해주네요. 제 IntelliJ는 자동완성이 안되는데 따로 설정법이 있나요? 구글링을 해봐도 해당 내용을 찾기 어렵군요. IntelliJ IDEA 최신 버전을 사용 중입니다.
제가 이해하기로는 컬렉션은 서버가 클라이언트로부터 다양한 목적을가진 데이터를 전달받을탠대 이때 클라이언트가 전달할 URI( 경로 )는 서버가 관리하고있는 리소스 디렉토리까지만 지목한다 그렇게 데이터 전달로 지정된 URI( 경로 ) 디렉토리를 컬렉션이라고 부른다 스토어는 클라이언트가 서버에 전달한 데이터가 처리될 리소스 디렉토리를 클라이언트가 미리 그 경로를 지정하여 요청에 함께 전달한다 따라서 클라이언트가 지정 , 관리하는 리소스 디렉토리를 스토어 라고한다 라고 이해하였는데요 질문은 컬렉션과 스토어의 하위디렉토리가 존재할수있나요? 그리고 스토어의 하위디렉토리가 서버에서 만들어지면 스토어는 클라이언트에서 관리되고있는것이 아니게 되어지나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. vue : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\cki60\AppData\Roaming\npm\vue.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https:/ /go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + vue init webpack-simple vue-todo + ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요 강의 정말 잘 보고있습니다. 한가지 의문이 생겨서 문의드립니다. 분기문 강의 중 5분대에서 어셈블리어로 코드를 실행해서 보여주시는데 여기서 isDead에 대해서 전역변수 라고 말씀해주시는데 isDead라는 변수는 main함수 내에서 선언이 되어있으니 전역변수가아니라 스택 영역내에있는 지역변수가 아닌가요?
안녕하세요. 수업 잘 듣고있습니다. 서비스 디스커버리 관련 질문인데요, 스프링 유레카를 클라우드에 올릴때, 1개의 서버(팟)에만 올려야 하는지요? 여러개의 팟에 올려서 등록된 인스턴스가 공유가 가능한건가요? 서버1개에서만 유레카가 돌면 서비스디스커버리 자체의 트래픽이 높아져, 혹은 커넥션이 꽉차 장애가 나는경우가 있지 않을까 해서요. 감사합니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 기초#2 강의에서 int 자료형인 number를 캐스팅을 이용하여 __int64 포인터 변수인 *ptr2로 집어넣고 *ptr2 에 0x0000AABBCCDDEEFF를 집어넣어서 메모리가 밀리는 현상을 보여주셨는데, number의 주소에 가보면 (number의 주소) : ccddeeff 한 칸 높은 주소 : 0000aabb 로 되어 있는 이유가 리틀-엔디안 방식이기 때문인건 알겠습니다. 근데 저장이 될 때 한칸 낮은 주소 : ccddeeff ( number의 주소) : 0000AABB 의방식으로 저장되지 않는 이유가 궁금합니다. 스택 프레임은 높은 주소에서 낮은 주소로 쌓이는 형식으로 되어있고, main함수 안의 변수도 스택 메모리를 차지하는 입장이므로 변수의 크기가 주소를 넘어가면 더 낮은 메모리에 저장되야 하지 않나요?
jest.fn() : 개별적으로 하나하나씩 모킹 함수 해줄때 사용. User 객체는 안에 많은 메소드들을 내포하고 있다. 만일 jest.fn()을 통해 모킹화 하면 User.fineOne = jest.fn(); User.findOrCreate = jest.fn(); 이런식으로 하나하나 일일히 지정해야 한다. 따라서, jest.mock("..."); const User = require("..."); 이렇게 User 객체에 있는 모든 엘리먼트를 그룹 모킹화 하기위해 사용하기 위해 jest.mock()를 사용하는 것이다. (jest.mock는 사실 순서는 상관없음. import나 function같이 위로 자동으로 올라감) 제가 이해한게 맞는지 검증 부탁드립니다.
InputManager에서 public Action KeyAction = null; public void OnUpdate() { if (Input.anyKey == false) return; if (KeyAction != null) KeyAction.Invoke(); } 저 빨간 부분인 KeyAction.Invoke()에 대해 궁금한데요. 찾아보니까 Action을 사용하려면 Invoke가 붙어야 한다고 구글링을 통해 알았습니다만... 그런데 Invoke 없이 일반적으로 KeyAction(); 만 사용해도 문제없이 실행 되더라고요. 여기서 Invoke가 있고 없고의 차이가 무엇인지 알수 있을까요?
#include <bits/stdc++.h> using namespace std; int n, k, temp, psum[100001], ret = -987654321; int main(){ ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); cin >> n >> k; for(int i=1;i<=n;i++){ cin >> temp; psum[i] = psum[i-1] + temp; } for(int i=k;i<=n;i++){ ret = max(ret, psum[i] - psum[i-k]); } cout << ret <<endl; return 0; } 코드 전체를 가져 왔습니다. i가 순회할 때, 1부터 시작하지만 그렇게 되면 psum[1] = psum[0] - temp가 되는데 이는 0번째가 초기화되지도 않았는데 참조하게 됩니다. 그렇다고 psum[0]이 0은 아니니까요. 그리고 ret = max(ret, psum[i] - psum[i-k]); 에서 k가 5일 때, psum[5] - psum[0]가 되는데 psum[4]도 빼지 않고 후보군에 포함되어야 하는데 모든 범위를 순회했다고 볼 수 없습니다. 그래서 저는 treadmill 구조를 떠올려서 만들었습니다. 제가 지적한 오류가 맞는지 글을 남기는 겁니다. #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); int n, k, tmp; cin >> n >> k; vector<int> v1(n,0); for(int i=0;i<n;i++){ cin >> tmp; v1[i]=tmp; } tmp =0; for(int i=0;i<k;i++){ tmp += v1[i]; } //미세섬유에서 treadmill model를 모사한 two pointer int tmp2= tmp; for(int i=0;i<n-(k);i++){ tmp -= v1[i]; tmp += v1[i+k]; if(tmp2 < tmp) tmp2 =tmp; } cout << tmp2; return 0; }
안녕하세요! 강의를 듣다가 궁금한 점이 있어서 문의 드립니다. 회원 등록폼을 불러오는 URI가 /members/new 라고 하셨는데, 이 회원 등록폼을 불러온다는 것이 잘 이해가 가지 않습니다. html 요소를 서버에서 모두 렌더링한 html를 불러온다는 말씀이신건지, 아니면 기본값 같은 value 를 불러온다는 말씀이신지 잘 모르겠습니다. 저는 vue 로 프론트를 개발하고 있는데, 등록 폼 같은 경우는 vue에 작성해놓고 입력값을 입력한 후 서버로 보내는 방식을 사용하고 있는데, 이거와는 좀 다른거 같아서요..! 감사합니다
안녕하세요 강의를 듣다가 궁금한게 생겨서 질문드리고 싶습니다. 이번 스프링 MVC2편의 각 강의들과 직접적인 연관이 있는 질문은 아니지만, 스프링으로 토이프로젝트를 진행하다 보면 흔히 RestController에서 Dto를 반환할때가 있고, ResponseEntity<>로 반환할 때가 있습니다. return type으로 dto와 ResponseEntity를 반환시키는 것의 차이점이라고 한다면 제 생각으로는 Dto는 Http 메세지 구조에서 Body부분만 클라이언트에게 전달한다면 ResponseEntity는 Status, Header, Body부분을 모두 전달할 수 있어 Dto보다 그때그때 상황에 유연하게 쓸 수 있을 것 같은데요 이렇게 되면 Dto를 반환하는 것 보다 항상 ResponseEntity로 반환하는 것이 유리해 보이는데, 깃헙에서 스프링으로 진행된 많은 레포지토리들을 살펴보아도, 메소드마다 Dto와 ResponseEntity를 그때그때 다르게 반환하고 있습니다. 혹시 ResponseEntity를 반환하는것이 Dto보다 불리한 것이 있거나 단점이 존재할까요? 언제 Dto를 반환하고 언제 ResposeEntity를 반환하는 것인가요??