묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Redux vs MobX (둘 다 배우자!)
runInAction 에 비동기
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 안에서 처리할려면 어떻게 해야되나요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.js를 server.js로 분리한 이유
만일 그대로 app.js에서 서버를 실행해버리면, 요청이 올때마다 app.js로 와 온갖 미들웨어를 실행하기 때문에, listen만 하기 위해서 나눠 논 것인가요?
-
미해결스프링 핵심 원리 - 기본편
IntelliJ 자동완성 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네[질문 내용]스프링으로 전환하기 4:05 구간을 보시면 applicationContext.getBean(~)에 Bean 이름을 입력하십니다. 신기하게도 텍스트일 뿐인데 IntelliJ가 추정해서 Bean 이름을 제안해주네요. 제 IntelliJ는 자동완성이 안되는데 따로 설정법이 있나요? 구글링을 해봐도 해당 내용을 찾기 어렵군요. IntelliJ IDEA 최신 버전을 사용 중입니다.
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
20:40 hosts 파일 관련
호스트 파일은 아이피와 도메인 이름만을 연결해주는 것 인가요 ? 만약 이름만을 연결해주는 것이라면, 왜 아이피만을 입력했을 때는 예쁜 브라우저가 나오지 않고 이름만 바꿔주었을 뿐인데 예쁜 브라우저가 나오는 것 일까요 ?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
컬렉션과 스토어
제가 이해하기로는 컬렉션은 서버가 클라이언트로부터 다양한 목적을가진 데이터를 전달받을탠대 이때 클라이언트가 전달할 URI( 경로 )는 서버가 관리하고있는 리소스 디렉토리까지만 지목한다 그렇게 데이터 전달로 지정된 URI( 경로 ) 디렉토리를 컬렉션이라고 부른다 스토어는 클라이언트가 서버에 전달한 데이터가 처리될 리소스 디렉토리를 클라이언트가 미리 그 경로를 지정하여 요청에 함께 전달한다 따라서 클라이언트가 지정 , 관리하는 리소스 디렉토리를 스토어 라고한다 라고 이해하였는데요 질문은 컬렉션과 스토어의 하위디렉토리가 존재할수있나요? 그리고 스토어의 하위디렉토리가 서버에서 만들어지면 스토어는 클라이언트에서 관리되고있는것이 아니게 되어지나요?
-
미해결Vuetify Admin Template 만들기 - 기본편 (Based Vue2)
vueint
vue template 만드실 때 vueint 입력하면 template 기본틀이 작성 되던데요! 어떻게 하신건지 궁금합니다!
-
미해결그림으로 배우는 HTML/CSS, 입문!
질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
에러가 나는데 조치방법을 모르겠어서.. 문의남김니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 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의 설명이 이해가 안갑니다.
안녕하세요 강의 정말 잘 보고있습니다. 한가지 의문이 생겨서 문의드립니다. 분기문 강의 중 5분대에서 어셈블리어로 코드를 실행해서 보여주시는데 여기서 isDead에 대해서 전역변수 라고 말씀해주시는데 isDead라는 변수는 main함수 내에서 선언이 되어있으니 전역변수가아니라 스택 영역내에있는 지역변수가 아닌가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
서비스 디스커버리 관련 질문입니다.
안녕하세요. 수업 잘 듣고있습니다. 서비스 디스커버리 관련 질문인데요, 스프링 유레카를 클라우드에 올릴때, 1개의 서버(팟)에만 올려야 하는지요? 여러개의 팟에 올려서 등록된 인스턴스가 공유가 가능한건가요? 서버1개에서만 유레카가 돌면 서비스디스커버리 자체의 트래픽이 높아져, 혹은 커넥션이 꽉차 장애가 나는경우가 있지 않을까 해서요. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링 시큐리티 관련 보안문제
만약 이 예제에서 브라우저에서 암호화한다음 서버로 보내줘도, 결국 서버 메모리 안에서 decoding하는 과정에서 메모리에는 개인정보가 남을텐데 어떻게 해결할 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 기초#2 궁금한점입니다.
포인터 기초#2 강의에서 int 자료형인 number를 캐스팅을 이용하여 __int64 포인터 변수인 *ptr2로 집어넣고 *ptr2 에 0x0000AABBCCDDEEFF를 집어넣어서 메모리가 밀리는 현상을 보여주셨는데, number의 주소에 가보면 (number의 주소) : ccddeeff 한 칸 높은 주소 : 0000aabb 로 되어 있는 이유가 리틀-엔디안 방식이기 때문인건 알겠습니다. 근데 저장이 될 때 한칸 낮은 주소 : ccddeeff ( number의 주소) : 0000AABB 의방식으로 저장되지 않는 이유가 궁금합니다. 스택 프레임은 높은 주소에서 낮은 주소로 쌓이는 형식으로 되어있고, main함수 안의 변수도 스택 메모리를 차지하는 입장이므로 변수의 크기가 주소를 넘어가면 더 낮은 메모리에 저장되야 하지 않나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
server side rendering 시 END 에 관한 질문
[getServerSideProps - 코드] export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req, res, ...ets }) => { console.log('getServerSideProps req.headers: ', req.headers); const cookie = req ? req.headers.cookie : ''; console.log('cookie: ', cookie); axios.defaults.headers.Cookie = ''; // 서버에서 다른 사람과 cookie가 공유되는 문제를 방지하고자 초기화를 해준다. if (req && cookie) { axios.defaults.headers.Cookie = cookie; // 서버에서 요청일때랑 cookie가 있으면 설정한 cookie를 넣어준다. console.log('axios.defaults.headers.Cookie: ', axios.defaults.headers.Cookie); } store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); store.dispatch(END); await store.sagaTask.toPromise(); }); 로그인 페이지에서 로그인 시 성공적으로 홈으로(index.js) 이동하게 됩니다. 1. front server에 console을 확인하면 REQUEST 후 SUCCESS까지 잘 받아옵니다. [Front: Application - Cookies] [API Server: Application - Cookies] 2. 페이지를 새로고침 시 로그인이 풀리는 문제 발생 SSR을 통해 다시 REQUEST 후 다음으로 넘어가질 못합니다. [Front: Application - Cookies] [API Server: Application - Cookies] axios 통해 header에 동일한 Cookie를 담아 잘 넘길텐데 request 후 success까지 넘지길 못하고 user state me에 user 정보를 왜 담아오지 못하는지 원인을파악하지 못했습니다. END를 통해 요청과 응답까지 기다려주는 것으로 알고있는데왜 기다리질 못하고 끝나버리는지 궁금합니다. 계속해서 구글링과 흐름을 파악하고 console을 살피는데도문제해결에 어려움을 겪고있습니다.. 도와주시면 감사하겠습니다
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
jesf.fn() 과 jest.mock() 차이점
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같이 위로 자동으로 올라감)제가 이해한게 맞는지 검증 부탁드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Action 관련해서 질문드립니다.
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가 있고 없고의 차이가 무엇인지 알수 있을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
회원가입부터 다시 하면
안녕하세요 새로운 계정으로 사용하려고 기존 DB 정보를 다 지우고 새롭게 회원가입 해서 사용하니 Add Cart 버튼 클릭 시에도 cart 내부에 아무 값도 저장되지 않아요 오류도 없네요,, 혹시 예상가는 원인이 있을까요?ㅜ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
jset.fn(() => { ... }) 와 jest.fn().mockResolveValue() 차이
둘이 모킹 함수의 결과를 리턴값을 결정해주는것 같은데 차이가 뭔가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H index가 0일 때
#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; }
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
회원 등록/수정 폼을 불러온 다는 것의 의미
안녕하세요!강의를 듣다가 궁금한 점이 있어서 문의 드립니다. 회원 등록폼을 불러오는 URI가 /members/new 라고 하셨는데, 이 회원 등록폼을 불러온다는 것이 잘 이해가 가지 않습니다. html 요소를 서버에서 모두 렌더링한 html를 불러온다는 말씀이신건지, 아니면 기본값 같은 value 를 불러온다는 말씀이신지 잘 모르겠습니다. 저는 vue 로 프론트를 개발하고 있는데, 등록 폼 같은 경우는 vue에 작성해놓고 입력값을 입력한 후 서버로 보내는 방식을 사용하고 있는데, 이거와는 좀 다른거 같아서요..! 감사합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ResponseEntity
안녕하세요 강의를 듣다가 궁금한게 생겨서 질문드리고 싶습니다. 이번 스프링 MVC2편의 각 강의들과 직접적인 연관이 있는 질문은 아니지만, 스프링으로 토이프로젝트를 진행하다 보면 흔히 RestController에서 Dto를 반환할때가 있고, ResponseEntity<>로 반환할 때가 있습니다. return type으로 dto와 ResponseEntity를 반환시키는 것의 차이점이라고 한다면 제 생각으로는 Dto는 Http 메세지 구조에서 Body부분만 클라이언트에게 전달한다면 ResponseEntity는 Status, Header, Body부분을 모두 전달할 수 있어 Dto보다 그때그때 상황에 유연하게 쓸 수 있을 것 같은데요 이렇게 되면 Dto를 반환하는 것 보다 항상 ResponseEntity로 반환하는 것이 유리해 보이는데, 깃헙에서 스프링으로 진행된 많은 레포지토리들을 살펴보아도, 메소드마다 Dto와 ResponseEntity를 그때그때 다르게 반환하고 있습니다. 혹시 ResponseEntity를 반환하는것이 Dto보다 불리한 것이 있거나 단점이 존재할까요? 언제 Dto를 반환하고 언제 ResposeEntity를 반환하는 것인가요??