묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Cannot read property 'split' of undefined 에러가 나옵니다...
코드 작성 후 정상적으로 실행이 되었는데 갑자기 재실행을 하면 8005 번 포트에서 대기 중 몽고디비 연결 성공 chat 네임스페이스에 접속 C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\socket.js:29 .split('/')[referer.split('/').length - 1] ^ TypeError: Cannot read property 'split' of undefined at Namespace.<anonymous> (C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\socket.js:29:8) at Namespace.emit (events.js:315:20) at Namespace.emit (C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\node_modules\socket.io\lib\namespace.js:213:10) at C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\node_modules\socket.io\lib\namespace.js:181:14 at processTicksAndRejections (internal/process/task_queues.js:75:11) [nodemon] app crashed - waiting for file changes before starting... 이런 에러가 나오면서 실행이 되지않습니다.. 그리고 저 에러가 나고 나서?? 채팅방에 사용자가 0명일때 채팅방이 삭제되는 부분도 삭제는 정상적으로 되는데 새로고침을 해줘야만 삭제된상태로 나옵니다.. 왜 그런걸까요 제로초님..
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
데이터 입력에서 오류가 발생합니다.
안녕하세요 강사님. 파이썬 강좌부터 지금까지 양질의 강의로 감탄하고 꾸준히 보고 있는 학생입니다. 처음으로 고비가 막힌 부분이 나타나 이렇게 질문드립니다. 질문이 처음이라 횡설수설한 티가 많이 날 듯 싶은데 ㅠ 검토 한 번 간곡히 부탁드립니다. 이 강의 마지막에서 제시해주신 연습문제* 위 pymysql 샘플코드를 참고해서 다음과 깉이 작업하기웹페이지(http://www.enuri.com/list.jsp?cate=070701) 에서 1위 ~ 10위까지 데이터 입력하기- id는 자동 증가- name 은 코어 이름- model_num 은 코어 모델 번호- model_type 은 코드명 (카비레이크, 스카이레이크 로 작성)- 예: 코어 i7 7700 카비레이크-> name 은 i7-> model_num 은 7700-> model_type 은 카비레이크 앞에서 설명해주신 방법(주피터 노트북)으로 테이블 생성까지 마쳤습니다. 후에 데이터를 입력하는 과정에서 SQL1=""" INSERT INTO cpu (name, model_num, model_type) VALUES('i5', '10400', 'Comet Lake S'); INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700', 'Comet Lake S'); INSERT INTO cpu (name, model_num, model_type) VALUES('i5', '10400F', 'Comet Lake S'); INSERT INTO cpu (name, model_num, model_type) VALUES('i9', '10900K', 'Comet Lake S'); INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700K', 'Comet Lake S Avengers Edition'); """ cursor.execute(SQL1) 이런 방식으로 시도했으나 ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700', 'Comet Lake ' at line 3")가 발생하였습니다. 문제점에 대해서 여쭤보고 싶습니다.다시 한 번 간곡히 검토 부탁드리겠습니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
passport-naver
passport-naver을 이용해보려 하는데 porfile.displayName 값이 계속 undefind여서 nick값에 들어가지가 않습니다... naver 앱등록할때 권한도 다 설정 해줬는데 왜 정보를 받아오지 못할까요 제로초님 ㅠㅠ const passport = require('passport'); const NaverStrategy = require('passport-naver').Strategy; const User = require('../models/user'); module.exports = () => { passport.use(new NaverStrategy ({ clientID: process.env.NAVER_ID, // 네이버에서 발급받을 ID clientSecret: process.env.NAVER_SECRET, callbackURL: '/auth/naver/callback', // 네이버로부터 인증결과를 받을 라우터 주소 }, async (accessToken, refreshRoken, response, done) => { // 네[이버에서 인증 후 Token 과 profile을 보내준다. console.log('naver profile', response); try { const exUser = await User.findOne({ // 기존의 User가 있는지 조회 where: { snsId: response.id, provider: 'naver' }, }); if(exUser) { // 기존 User의 정보가 있다면 User정보를 done과 호출하고 전략을 종료 done(null, exUser); } else { // 기존의 User정보가 없다면 회원가입을 진행 const newUser = await User.create({ email: response.emails[0].value, nick: response.id, snsId: response.id, provider: 'naver', naver: response._json }); done(null, newUser); // 사용자 생성 후 done함수 호출 } } catch (error) { console.log(error); done(error); } })); }; 이렇게 작성했습니다 naver profile { provider: 'naver', id: '60727489', displayName: undefined, emails: [ { value: 'juren528@gmail.com' } ], _json: { email: 'juren528@gmail.com', nickname: undefined, profile_image: undefined, age: undefined, birthday: undefined, id: '60727489' } } 가져온 결과 콘솔로 확인해보니 이렇게 나오구요 좀더 공부해보려다 안되서 막막합니다 ㅠㅠ 혹시 이유를 아실까요 ㅠㅠ
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
deserializeUser findAll()실행시 로그인 성공 후 화면이 그대로입니다.
로그인을 하면 세션까지는 올바르게 잘 넣어집니다. 그런데 deserializeUser를 실행할때 findOne을 findAll로 실행하면 req.user까지만 되고 나머지 user.id user.nick 등이 받아와지지 않습니다. findAll 과 findOne에 id를 조건으로 입력하면 같은 결과가 나온다고 생각했는데 왜 안되는지 혹시 알려주실수 있나요 ㅠㅠ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Node.js 교과서
안녕하세요 제로초님 Node.js 교과서를 사서 열심히 수업을 듣고 있는 한 학생입니다! 다름이 아니고 유튜브를보며 노드교과서 개정판 4-5. 쿠키 이해하기에서 코드 질문이 있어서 여쭤보러 왔습니다. 이것은 되는 코드이고 const parseCookies = (cookie = '') => cookie .split(';') .map(v => v.split('=')) .reduce((acc, [k,v]) => { acc[k.trim()] = decodeURIComponent(v) return acc; }, {}); 이것은 안되는 코드입니다. const parseCookies = (cookie = '') => { cookie .split(';') .map(v => v.split('=')) .reduce((acc, [k,v]) => { acc[k.trim()] = decodeURIComponent(v) return acc; }, {}); }; 둘의 차이점은 함수를 {} 로 감싸냐 안감싸냐의 차이인데 화살표함수에서 중괄호는 선택사항이라고 배웠습니다. 만약 아래 코드를 사용하게 되면 (node:9452) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'name' of undefined at Server.<anonymous> (C:\Users\ksy\Desktop\Node.js\ch04\ex03\cookie2.js:30:22) at Server.emit (events.js:315:20) at parserOnIncoming (_http_server.js:874:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17) (Use `node --trace-warnings ...` to show where the warning was created) (node:9452) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:9452) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 라는 에러가 뜹니다. 함수를 제대로 사용하지 못해서 그런거 같은데 왜 중괄호를 붙이면 함수가 실행이 안되는건지 궁금합니다
-
미해결따라하며 배우는 MySQL on Docker
Proxy Layer 구성 > ProxySQL 구성 및 Failover 테스트 > app_test_conn.sh 오류 문의
좋은 강의 제공해주셔서 많이 배우고 갑니다. 실습 과정중 오류가 발생하여 문의 드립니다. 환경 : 맥북 + Docker 환경 진행사항 : proxysql 이전 과정까지는 정상 완료 (replication, Orchestrator) 사전 작업 centos7 docker 생성 후 app_test_conn.sh 수행 예정 centos docker run -it --name centos7 -h centos7 \ --net mybridge --net-alias=proxysql \ --privileged centos:7 init 오류 현상 01 : app_test_conn.sh 수행시 오류 centos7 에서 app_test_conn.sh 수행시 16033 포트로 연결이 되지 않음 tcping proxysql 16033 수행시 포트가 close 되어있는 부분 확인, proxysql 데비안 리눅스 환경 확인 후 포트를 열어볼려고 했지만 진행하지 못함. 그래서 poxysql docker의 포트를 6032, 6033으로 다이렉트로 연결해서 생성 후 수행 docker run -it --name proxysql -h proxysql -p 6032:6032 -p 6033:6033 \ --net mybridge --net-alias=proxysql \ -v /Users/hansung/docker/db/proxysql/data:/var/lib/proxysql \ -v /Users/hansung/docker/db/proxysql/conf/proxysql.cnf:/etc/proxysql.cnf \ -d proxysql/proxysql 오류 현상 02 : app_test_conn.sh 수행시 오류 수행시 아래와 같은 오류 발생 (mysql -uappuser -papppass -hproxysql -P6033) [root@centos7 ~]# sh app_test_conn.sh ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) 트러블 슈팅을 위해서 db01 mysql에 다이렉트로 연결하는 부분으로 설정후 연결 시도. (centos7 > db01) 아래와 같이 정상적으로 연결 확인. (mysql -uappuser -papppass -hdb01 -P3306) [root@centos7 ~]# sh app_db01_conn.sh db01 2020-12-09 13:40:24 db01 2020-12-09 13:40:25 참고. 강의 자료의 app_test_conn.sh의 ip 정보는 알수 없는 ip로 proxysql ip로 지정해서 연결 시도 했음. docker inspect --format '{{.NetworkSettings.Networks.mybridge.IPAddress}}' proxysql 어제 밤부터 삽질 중입니다. 도와주세요.
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.
제로초님 노드 js교과서 예전버전과 유튜브에 올려주식 새 버전 모두 너무 감사하게 잘 듣고 있습니다. 강의 중간에 소개해주셨던 HTTP 완벽가이드책을 보면서 HTTP를 한번 훓었는데 HTTP 전체 개념을 잡는데 정말 큰 도움이 된것 같습니다. 너무 좋은 책 소개해주셔서 감사드립니다. 다름이 아니라 HTTP 공부 뒤에 운영체제도 공부해보려고 하는데 혹시 추천해주실만한 책이 있는지 물어봐도 될까요?현재 알아본것은 - 운영체제 (일명 공룡책)- 그림으로 배우는 구조와 원리 운영체제- 운영체제와 정보기술의 원리 이렇게 세권이 좋다는 말은 들었습니다. HTTP 완벽가이드처럼 입문자도 쉽게 이해할수 있으면서 필수개념은 다 익힐 수 있는 책을 공부하고 싶은데 혹시 조언을 부탁드려도 되는지 여쭙고 싶습니다. 강의와 관계없는 질문이라 물어보기 죄송한데 주변에 조언을 얻을만한 곳이 없어서 이곳에 올립니다.좋은 하루 보내시기 바랍니다!
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
char(); 함수 반환값이 영상과 다릅니다.
char(97); -> 0x61 영상대로라면 char(아스키코드); 는 해당 아스키코드의 문자를 반환하는걸로 나와있는데 실제론 위와 같이 '0x61'이라는 값이 나옵니다. 왜 저런 결과가 나오는지 잘 모르겠습니다ㅏ
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
GCP관련질문입니다.
제로초님이 하신대로 gcp 컴퓨트엔진으로 생성해서초기설정(apt-get update, npm 설치등등)하고 express-generator로 express 제일 기본앱을 만들었는데외부아이피로 3000포트 붙여서 접속해도 계속 로딩만 돌고 접속이 안되어서 질문드립니다. 혹시 방화벽 문제인가 싶어서 방화벽도 수신,송신을 3000을 다 열어놨는데도 안되고그래서 bin/www열어서 3000포트를 80번 포트로 바꿨더니`Port 80 requires elevated privileges`라는 에러가 뜨네요어떻게 해결하면 좋을지 조언을 구합니다.강의 감사히 보고있습니다~!!
-
미해결Vue로 Nodebird SNS 만들기
trough, as
제로초님 강의 잘 보고 있습니다. 문서를 봐도 이해가 잘안되서 그러는데여.. sequlize associate부분에서 through,as가 무슨 역할인지 알려주실수 있을가요?? 강의 돌려봐도 좀 어렵네여 ㅠ
-
미해결DATABASE 1&2 - MySQL
이럴때 탈출은 어떻게해야되나요?
INSERT INTO topic (title,description,created,author,profile) VALUES('MySQL','MySQL is...',NOW(),'egoing','developer); '> ; '> ; '> ; '> ; '> ; '> ;;; '> show databases; '> '> '> exit '> ; '> q; '> q! '> exit '> ; 무슨 키를 입력해도 다 계속 >이게나와요 이럴때 전에로 돌리거나 나가거나 취소하기 같은 기능은없나요?
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
dB 이름 변경은 어떻게하나요?
애초에 데이터베이스 만들때 example을 오타로 exampel로 만들었는데 이거 이름 변경은 못하나요?!
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
select의 정확한 용도는무엇인가요?
데이터베이스를 선택하는 것 이외에도 select 5&1;이라던지 select 'te' 'st'를 하는 거라던지 실행한 명령문들을 보여주는역할을 하는데 이게 저장되거나 그런건아니잖아요? 그냥 리눅스에서 사용하듯이 5+3은8이다 이런식으로 보여주는역할인가요?
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
데이터베이스 만들어놓은거요
CMD창에서 데이터베이스를 만들어놓은거 cmd창을 끄면 사라지나요? 차례대로 강의들으면서 따라가고있는데 select * from member하니까 데이터베이스가 없다고 나오네요 오늘 강의들으면서 따라는거에서는요 !
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
저는 실행이 이렇게되는데 무슨차이 인가요?
강의 하시는 선생님은 1 rows가 나오는데 저는 0 rows가나옵니다 뭐가 다른건가요??
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
제글 질문 확인부탁드릴게요
질문에 댓글 달았습니다 확인 부탁드리겠습니다 .
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
정말 이상하네요 유ㅠㅠㅠ
제가 학교에서는 ,apmsetup으로 했는데 거기서도 비밀번호 맞는데도 제대로 쳤는데도 커맨드창이 꺼지고 여기서도 설치하는과정에서 비밀번호 설정해서 check까지했는데도 work bench들어가서 connection할려고하니 연결이 안되네요 .... 진짜 왜이런거죠? 교수님께서는 지우고 다시 삭제하라했는데 apm setup도 mysql도 다 지우고해도 둘다 똑같은 현상이 반복되니 정말 답답하네요 ㅠㅠ 그리고 다시 설치할때 경로가 이미있는데 설치하시겠습니까 나오길래 예스했습니다 다음날인 지금도 아침부터 계속하는데 mysql은 삭제하려면 구글에 쳐보니 레스트리편집기에서 관련된걸 다 삭제해야한다해서 다 삭제후 재설치하는과정에서 오류뜹니다 여기 사진을 어떻게올리는지 ..ㅠㅠ
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
10장 4절 오류 메시지
안녕하세요? API <-> Call 간에 다음과 같은 오류 메시지가 발생하네요... web(localhost:8003/test)오류 메시지 :: Error: secret option required for sessions at session (C:\Users\pleoc\OneDrive\Documents\Start_up\javawork\nodebird-call\node_modules\express-session\index.js:200:12) at Layer.handle [as handle_request] (C:\Users\pleoc\OneDrive\Documents\Start_up\javawork\nodebird-call\node_modules\express\lib\router\layer.js:95:5).................console terminal Message ::[nodemon] starting `node app.js` express-session deprecated req.secret; provide secret option app.js:18:9 8003 '번 포트에서 대기중' GET /test 500 621.475 ms - 1444 express-session option 문제인 것 같은데, 도움을 받을 수있을까요?감사합니다.