묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결React로 NodeBird SNS 만들기
질문이여
리덕스사가를 통해서, 회원가입 액션을 백엔드로 보냈어요. 현재, 같은 아이디가 있을때, 백엔드에서 같은 아이디가 있다고 에러를 보내주는걸 구현 하고 있는데요. 백엔드/ routes if(exUser){ return res.status(403).send({error:'같은아이디있음'}); } 이런식으로, error 라는 객체안에 "같은아이디 있음 "을 saga 에서 다시 받고 싶어요 .. front/saga function* signUp(action){ try { yield call(signUpAPI,action.data); yield put(sign_Up_Success_Action()); } catch (e) { console.error(e); yield put(sign_Up_Fail_Action(e.error)); } } 이런식으로 받으려고 하는데, error라는 객체는 안오고, 그냥 진짜 에러가 console.log 가 찍히네요,, POST http://localhost:3075/user/signUp 403 (Forbidden) 그런데 또 network 에서 보면은 , preview 에는 {error: "A userId already exits"} error: "A userId already exits" 이렇게 정상적으로 찍히는데, 무엇이 문제인가요... 지금 이게 ,return res.status(403).send({error:'같은아이디있음'}); 프론트 엔드로 보내는게 맞지않나요?? 서로 로컬 서버가 달라서 못 받는걸까요/? 그래서, saga쪽에서는 진짜 error 가 낫으니, error를 표현을 해주는걸까요?? 어떻게 동작하는지 잘 모르겠네요...
-
미해결코딩의민족 앱 제작 (Android kotlin)
자동완성?
Textview나 LinearLayout을 쓰면 자동으로 android:layout_width=""android:layout_height="" 가 생기시던데 어떻게 설정하나요...저는 자동으로 안생겨서 일일이 써야대더라구요
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
사이킷런에서의 TruncatedSVD, NMF 에서 리턴하는 값
안녕하세요. 사이킷런에서의 TruncatedSVD, NMF 에서 transform을 하면 리턴하는 값이 행렬 분해식에서 보면 A = U * Σ * Vt (SVD) V = W * H (NMF) 각각, U와 W 인건가요? ''' iris = load_iris() iris_ftrs = iris.data # 2개의 주요 component로 TruncatedSVD 변환 tsvd = TruncatedSVD(n_components=2) tsvd.fit(iris_ftrs) iris_tsvd = tsvd.transform(iris_ftrs) '''
-
미해결쉽게 배우는 ZBrush 입문 강좌
stroke 항목을 못찾겠습니다 ㅠ
안녕하세요. 강의 잘 듣고 있습니다! insert mash 항목을 배우는 중에 brush 메뉴에서 stroke 항목을 못찾겠네요 ㅠㅠ 버전은 지브러쉬 2019 쓰고있습니다
-
미해결코알못에서 웹서비스 런칭까지 : 2021 제주 코딩 베이스캠프(Django)
압축파일은 어디서 받아요??
django 파트 하고 있는데 압축파일은 어디서 받아요?? 저만 못찾는건가..
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
코드에 대한질문
passport.authenticate('local', (authError, user, info) => { if(authError) { console.error(authError); return next(authError); } if (!user) { req.flash('loginError', info.message); return res.redirect('/'); } return req.login(user, (loginError) => { // 혹시나, 로그인에서 실패할 경우 에러 점검한다. if (loginError) { console.error(loginError); return next(loginError); } return res.redirect('/'); }); })(req, res, next); 제일 밑에 있는 (req, res, next)를 다시 적어주는 이유는 바로 실행해주기 위한 조건입니까?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
마지막 질문이 되길 바라며~~~ㅜㅠ 죄송함다 선생님~~
1. 선생님~~~ 한글로 비밀번호를 입력할 때 말구요. 그냥 저 cmd(라고해야하나..)에서 한글을 입력할 때의 상황인데요. 선생님께서는 입력 순간마다 바로 글자가 표시가 되는데, 저는 한글자를 다 입력하고나서, 다음 글자를 입력시작해야만 전 글자가 표시가 되요. 밑에 비교 영상을 링크로 첨부할테니 꼭 좀 봐주세요~~ 1) 선생님 https://drive.google.com/open?id=187LKSdpoWDkxE31c7s3JJnhhxDGMQpyi 2) 저 https://drive.google.com/open?id=1l0rPhEGufVORw9SzpKYbXjeTrn7PTi10 2. 백스페이스바는 잘 해결했습니다. 3. 엔터(줄바꿈)입력에 대해서.... 선생님께서 첨부해주신 예제코드는 아주 잘 실행되고, 줄바꿈또한 잘 입력이 됐음을 확인했습니다. 그리고 나서 선생님께서 말씀해주신대로 scanf를 scanf_s로 바꿔서 실행해봤는데요. (비밀번호 틀린 횟수 검사를 코드로 한번 추가해봤습니다. ㅎㅎ) #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #define max 500 // 비밀번호를 입력받아서 // 맞는 경우? 일기를 읽어와서 보여주고, 계속 작성할 수 있도록 합니다. // 틀린 경우? 경고 메시지를 표시하고, 종료합니다. int main() { char line[max]; // 불러오기를 했을 때, 불러올 내용이 저장된 배열(줄). char contents[max]; // 일기장에 입력하고 저장할 내용. char password[20]; // 비밀번호 int c; // getch 함수의 리턴값(문자 하나하나가 아스키코드값으로 바뀌어 저장된다.)을 검사할 변수. printf("'비밀일기'에 오신 것을 환영합니다.\n"); printf("비밀번호를 입력하세요. : "); int n = 0; // 비밀번호 오류 횟수 검사 변수. while (1) { // 비밀번호 오류 횟수 검사를 확인 후, 일기를 쓸 수 있도록. if (n == 3) { printf("\n==== 비밀번호를 %d회 틀렸어요. ====\n", n); printf("==== 비밀일기를 종료합니다. ====\n\n"); break; } // 비밀번호 입력 알고리즘 int i = 0; // 비밀번호 배열의 순서를 의미하는 변수 while (1) { c = getch(); // 입력한 문자들이 getch로 바로바로 입력이 되어, 한 글자씩 변수 c에 저장된다. if (c == 13) { // (Enter의 아스키코드가 13이다.) 입력한 문자가 Enter(줄바꿈 : \n)라면. -> 비밀번호 입력 종료를 위한 조건식. password[i] = '\0'; // i번째에 데이터를 널문자(끝낼수 있도록)를 넣는다. break; // 비밀번호 입력 종료. (반복문 탈출) } else if (c == 8) { // (백스페이스바의 아스키코드가 8이다.) 백스페이스바를 입력하면, 즉 비밀번호를 지우면 if (i >= 1) { // 두번째 이상의 위치에 커서 있을 때 백스페이스바를 입력할 때. password[i - 1] = '\0'; /*i번째에서 커서거 있고, 그 위치에서 Backspace를 입력하는 것이니, 그 전 자리인 'i-1'번째 자리의 데이터를 지워야한다.*/ printf("\b \b"); /*\b는 현재 데이터를 입력하는 위치에서 왼쪽(전)으로 커서를 이동시켜주는 변환문자. 그러니, 왼쪽으로 한번 커서 이동후에, 스페이스바를 입력하여 빈칸이 되게 만들어주고, 스페이스바를 입력했으니 다시한번 뒤로 커서가 이동해야한다.*/ //printf("\b"); //printf(" "); //printf("\b"); 요렇게 따로 써주어도 될 듯하다. i -= 2; } else { i--; /*커서가 첫번째 위치에 있을 때, 즉 i=0일 때, 백스페이스바를 입력하면, 지울 데이터는 없으니 아무것도 하지 않고, 키를 하나 입력할 때마다, i++로 반복문이 반복되니, 백스페이스바를 입력해도 배열이 앞자리로 이동하지 않도록, i--를 해준다.*/ } } else { // Enter와 백스페이스바 둘 다 아니라면. password[i] = c; // getch를 써서 계속 입력하여 c에 저장된 글자들이 password 배열에 저장된다. printf("*"); // 입력할 때마다, 비밀번호는 감추고, 대신 '*' 요놈을 출력할 것이다. } i++; } printf("\n\n==== 비밀번호 확인 중.... ====\n"); // 1. 비밀번호가 맞다면, 일기를 작성하자. (strcmp는 문자열 함수를 보면 복습할 수 있다.) if (strcmp(password, "skehzheld") == 0) { printf("==== 비밀번호 확인 완료 ====\n\n"); // 파일 선언. (비밀번호가 맞아야지만 파일이 생성될테니까 여기에 배치). char* fileName = "c:\\Users\\최윤성\\Desktop\\비밀일기.txt"; FILE* file = fopen(fileName, "a+b"); /*"a+b"는 파일이 없으면 생성하고, 있으면 append(뒤로 내용을 추가)한다는 의미. 내용 추가가 아니라, 내용 수정을 원한다면 저 뒤의 매개변수를 어떻게 바꿀까?*/ // 파일 열기. if (file == NULL) { printf("*****파일 열기 실패*****\n\n"); return 1; } else printf("*****파일 열기 성공*****\n\n"); printf("------------------------오늘의 일기--------------------------\n\n"); // 여기서부터 이전 일기 출력. while (fgets(line, max, file) != NULL) { // 저장된 파일을 불러온다. printf("%s", line); // 불러왔으면 출력한다. } // 처음 쓰면 아무것도 불러올 것이 없을 것이고, 쓴 문장이 있었다면, 썼던 문장들이 불러오게 될 것이다. printf("\n┗ 여기까지가 이전 일기..\n내용을 계속 작성하세요. 종료하시려면 마지막 줄에 \"fin\"을 입력하세요. ┒\n\n"); // 여기서부터 새로운 (추가)일기 입력 후, 저장하고 끝내기 while (1) { scanf_s("%[^\n]", contents, max); // 줄바꿈(\n)이 나오기 전까지, 모든 문자열을 다 입력한다 뜻의 변환 문자이다. 즉, 한 문장씩 저장을 하겠다는 의미. getchar(); // scanf를 사용하기 위해 버퍼에 저장되어 있던 '\n'을 버림처리 한다. if (strcmp(contents, "fin") == 0) { // 일기 입력 끝. printf("---------------------오늘의 일기 : 끝------------------------\n\n"); break; } // 무한반복이니, scanf로 입력하는 모든 문장들은 "fin"이 나오기 전까지, 한 문장씩 전부 기억한다. fputs(contents, file); // 그 한 문장 한 문장을 바로바로 저장한다. fputs("\n", file); // 줄바꿈까지 저장한다. 그리고는 "fin"을 입력하여 종료되기 전까지 계속반복. } //// 잘 저장되어 있는지 출력해서 검사해보자. //while (fgets(line, max, file) != NULL) { // printf("%s", line); //} // ?? 왜 안되지?? // 파일 닫기. int res = fclose(file); // 파일 닫기 함수 리턴값 검사를 위한 변수. if (res != 0) { printf("*****파일 닫기 실패*****\n\n"); return 1; } else printf("*****파일 닫기 성공*****\n\n"); // 결국 파일이 종료된다. 파일 닫기. break; // 비밀번호가 맞았으니, 여기까지 수행한 후, 비밀번호 오류검사 횟수 반복문을 탈출하여 끝낸다. } // 2. 비밀번호가 틀리다면. 다시 한번 기회를 줘보자.... else { n++; if (n <= 2) { printf("\n==== 비밀번호를 %d회 틀렸어요. ====\n", n); printf("==== 비밀번호를 다시 입력하세요. ====\n\n"); printf("비밀번호를 입력하세요 : "); } continue; // 비밀번호가 틀렸으니, 조건문을 처음부터 다시 실행. } } return 0; } 여기까지가 현 상황입니다. 부탁드림돠 선생님~~~~~~ (열심히 배우려다보니 선생님께 폐를 끼치게 되네요;;)
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - 이론과 실습
Visual Studio Code에서 sol 파일의 오류표시 나타나지 않게 할 수 있을까요?
Visual Studio Code에서 AdditionGame.sol 파일에서 빨간 줄 표시되면서 컴파일 오류가 있는 것 처럼 나타납니다. 물론 실행하는데 문제가 없는 건 알고 있지만, 컴파일 오류가 발생한것 처럼 보이는 빨간 줄 보이지 않게 하는 방법 좀 알려주세요 pragma 단어의 오류 메시지는 Expected identifier, got 'LParen' 로 나타납니다.
-
미해결홍정모의 따라하며 배우는 C++
정적멤버함수 강의 듣다가 궁금한점이 있어 질문드립니다.
#include<iostream> using namespace std; class something { private: static int s_value; int m_value; public: static int getvalue() { return s_value; } int temp() { return this->s_value; } }; int something::s_value = 1024; int main() { cout << something::getvalue() << endl; something s1, s2; cout << s1.getvalue() << endl; int(something::*fptr1)() = &something::temp; cout << &fptr1 << endl; cout << *&fptr1 << endl; cout << &something::temp << endl; cout << (s2.*fptr1)() << endl; } 볼드체 중 cout << &something::temp << endl; 결과 값이 1이 나오는데 &는 주소연산자니 주소가 나와야 하지 않나요?
-
미해결Stanford iOS 한글자막 강의
9강 테이블뷰로 트위터 만들기 API 주소입니다
https://web.stanford.edu/class/cs193p/cgi-bin/drupal/fall-2011 위에 있는 테이블뷰가 아닌 더 아래에 있는 테이블뷰 강좌를 찾으시길 바랍니다
-
미해결React로 NodeBird SNS 만들기
NodeBird 컴포넌트에서
NodeBird 컴포넌트를 next의 Container 컴포넌트로 감싸셨는데, Container는 어떤 역할을 하는건가요? 공식 문서에는 딱히 언급이 없고, 검색 결과도 나오지 않아서.. 여쭤봅니다.
-
해결됨React로 NodeBird SNS 만들기
질문이여
리덕스 사가에서여, function* signUp(action){ try{ yield call(signUpAPI, action.data); yield put({ type: SIGN_UP_SUCCESS }) }catch(e){ yield put({ type:SIGN_UP_FAILURE, error:e, }) } } 이 부분이요 ,, 제가 , export const signUpAction = () =>{ return type: SIGN_UP_SUCCESS } 이거를 다른 파일에서 뽑아서, function* signUp(action){ try{ yield call(signUpAPI, action.data); yield put(signUpAction()) // <-에러 }catch(e){ .... } yield put(signUpAction()) 이 부분에서 이런 에러가 나더라구요. actions must be plain objects. use custom middleware for async actions 인터넷에 찾아보니까 thunk? 인가를 쓰라고 하던데, 왜 그런거죠... 잘 이해가 안가네요? signUpAction 함수가 비동기가 아니여서 그런건가요 ??
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
슬라이싱 질문
str_sl = 'Dead by Daylight' print(str_sl[::-1]) print(str_sl[1::-1]) 연습할때 이렇게 했었는데 결과가 thgilyaD yb daeD eD 이런식으로 나오는 이유를 모르겠습니다 처음건 당연히 [(처음부터) : (끝까지) : (-1로 가면서)] 출력 이니까 이해가 되는데 그러면 [(1부터) : (끝까지) : (-1로 가면서)] 출력이니 처음에는 저가 상상하기로 thgilyaD yb dae 이렇게 나오지 않을까 했는데 eD 나왔습니다 그래서 아 그러면 0이 아닌 기준이 생기면 거기서부터 +또는 -값의 끝을 정하는구나 라고 생각했는데 Dead by Daylight 의 1은 D와 e 사이 일텐데 그러면 여기서 슬라이싱이 되서 D 하나만 출력이 되야 하는거 아닌가요? eD가 출력이 될려면 {0}D{1}e{2}a{3}d{4} {5} 2에서 슬라이싱이 되어야하니 [2::-1] 되어야할거같은데 왜 이렇게 되는지 궁금합니다 질문이 너무 길었는데 저가 이해하고있는게 맞는지도 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C++
정적멤버함수 강의 중 질문있습니다.
#include<iostream> using namespace std; class something { public: int m_value=6 ; }; int main() { something st1; something st2; m_value->something; cout << &something::m_value << " " << something::m_value << endl; st1.m_value = 2; cout << &st1.m_value << " " << st1.m_value << endl; cout << &st2.m_value << " " << st2.m_value << endl; return 0; } something::m_value가 비정적 멤버 참조는 특정 개체에 상대적이어야 합니다. 오류가 나와 네이버에 찾아보니다른 클래스를 호출할 때 인스턴스 생성 없이 호출해서 나는 오류다음과 같이 인스턴스 생성 후 호출해야 해결됨. 이라고 하여 m_value->something;로 인스턴트 생성해줬는데도 빨간줄 나오는데 혹시 왜이러는지 알 수 있을까요? #include<iostream> using namespace std; class something { public: static int m_value ; }; int something::m_value = 6; int main() { something st1; something st2; st1.m_value = 2; cout << &st1.m_value << " " << st1.m_value << endl; cout << &st2.m_value << " " << st2.m_value << endl; return 0; } 또 static으로 선언시 st1.m_value,st2.m_value가 같은값이 나오는이유가 정적메모리이기 떄문인가요?
-
미해결데이터베이스 중급(Modeling)
relation에 관해 궁금한 것이 있습니다!
예를 들어 학년 반 학생 마스터가 있을 때 학년 -< 반 -< 학생, 이러한 관계를 갖게 되는데 이때, 학년-<학생하고도 물리적으로 항상 엮어야 하는건가요? 이미 반과 학생이 엮여있어서 반을 통해 학년 정보를 불러오는 것이 가능해서 굳이 엮지 않아도 될 것같은데 결국 학년을 통해 학생들을 불러올 때 편의성을 위해 그렇게 해야하는건가요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
'더보기' 버튼으로 인한 제조사 및 연락처 'None' 발생
현재 영상과 다르게 G마켓 사이트가 '더보기' 버튼이 생겨서 크롤링 시 'None'로 오고 있습니다. 이것을 해결할려면 셀레니움을 쓸 수 밖에 없을까요? requests 및 BeautifulSoup만으로 해결할 방법이 없을까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
리스트 삭제 효과
안녕하세요 강사님 리스트에서 항목 한개를 삭제했을 떄 효과가 저랑 강사님이랑 달라서 문의드립니다..! 예를들어 리스트가 1, 2, 3, 4, 5 라는 5개의 리스트가 있을 때 첫 번째 리스트의 휴지통 아이콘을 클릭하면 강사님은 첫 번쨰 리스트의 위치에서 사라진다면 저는 다섯번째 (마지막줄) 리스트에 삭제 효과가 들어가고 1번이 삭제됩니다..ㅠㅠ 어떤 부분을 확인해봐야할까요..? (TodoList.vue) <template> <div> <transition-group name="list" tag="ul"> <li v-for="(todoItem, index) in this.$store.state.todoItems" v-bind:key="index" class="shadow"> <i class="checkBtn fas fa-check" v-bind:class="{checkBtnCompleted: todoItem.completed}" v-on:click="toggleComplete(todoItem, index)"></i> <span v-bind:class="{textCompleted: todoItem.completed}">{{ todoItem.item }}</span> <span class="removeBtn" v-on:click="removeTodo(todoItem, index)"> <i class="fas fa-trash-alt"></i> </span> </li> </transition-group> </div> </template> <script> /* eslint-disable no-console */ export default { methods: { removeTodo(todoItem, index){ // this.$emit('removeItem', todoItem, index); this.$store.commit('removeOneItem', {todoItem, index}); }, toggleComplete(todoItem, index){ // this.$emit('toggleItem', todoItem, index) this.$store.commit('toggleOneItem', {todoItem, index}) } } } </script> <style scope> ul {list-style-type:none;padding-left:0;margin-top:0;text-align:left} li {display:flex;min-height:50px;height:50px;line-height:50px;margin:0.5rem 0;padding:0 0.9rem;background:white;border-radius:5px} .removeBtn {margin-left:auto;color:#de4343;} .checkBtn {margin-right:5px;line-height:45px;color:#62acde} .checkBtnCompleted {color:#b3adad} .textCompleted {text-decoration:line-through;color:#b3adad} /* 리스트 아이템 트렌지션 효과 */ .list-enter-active, .list-leave-active { transition: all 1s; } .list-enter, .list-leave-to /* .list-leave-active below version 2.1.8 */ { opacity: 0; transform: translateY(30px); } </style>
-
미해결React로 NodeBird SNS 만들기
useRef 대신에
useRef 대신에 state에서 배열을 선언해서 해결해주어도 무방한가요?
-
해결됨남박사의 파이썬 기초부터 실전 100% 활용
안녕하세요. 마그넷 검색기 강좌 연습을 하던 중 문제가 생겼습니다.
삭제된 글입니다
-
미해결React로 NodeBird SNS 만들기
useEffect에서 함수를 반환하면
useEffect에서 함수를 반환하면 그 함수를 컴포넌트가 마운트 되기 이전에 실행해주는 게 맞나요?