수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
해당 코드를 실행했을때 어떤 문제점이 있을지 생각해보는 문제였습니다.. 어떤 문제가 발생할지 가늠이 안됩니다....
코드는 다음과 같습니다 해당 코드를받고 어떤 문제점이 생길 수 있는지 파악해보라 하셨는데... 모른채 넘어갔습니다. 혼자라도 알아보려고 노력했는데 잘 모르겠습니다. 도움을 주실 수 있을까요.. let number = 0; const times = 100; function sleep() { return new Promise((resolve) => setTimeout(resolve, Math.random() * 5)); } async function adder() { for (let i = 0; i < times; i++) { await sleep(); let read = number; read = read + 1; await sleep(); number = read; } } async function subber() { for (let i = 0; i < times; i++) { await sleep(); let read = number; read = read - 1; await sleep(); number = read; } } async function main() { console.log("Started with", number); await Promise.all([ adder(), subber(), ]); console.log("Ended with", number); } main() .then(() => console.log("All done")) .catch((err) => console.error(err));
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Unknown database 에러 (질문 아니에요!)
안녕하세요. 강의 잘 듣고있습니다. 질문이 아니고 해결법인데, 혹시 같은 증상이 나타나시는 분이 있을까봐 적어둡니다. ConnectionError [SequelizeConnectionError]: Unknown database 'nodejs' 이미 데이터베이스를 만들어놨는데 위 에러가 떠서 좀 당황했는데, bitnami 있으신 분들은(xampp처럼 비슷한 툴도 아마.) 실행시켜서 mysql가 켜져있으면 끄고, 꺼져있으면 켜라는 해결방법을 발견했고, 적용하니 잘 해결되었습니다. 이 방법이 안먹히면 차선책으로 config.json파일에 "database": ""처럼 빈 문자열로 넣어보라는 방법도 봤는데, 연결 자체는 되는데, test용 database가 따로 설정돼있어서 가능한 것 같아요. 그래서 별다른 코드 추가 없이 미리 만들어뒀던 nodejs라는 이름의 데이터베이스에 접근이 가능한지까지는 잘 모르겠습니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
퍼그에서 h1= message 띄어쓰기 여부
h1= message를 h1 = message 로 쓰면 에러 나나요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
퍼그 변수를 클라이언트단에서 변경
이럴일은 없겠지만 혹시나해서 묻습니다.퍼그 내에서 - 로 선언한 변수를 자바스크립트에서 접근해서 변경할수도 있는지 궁금합니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
session() 질문
app.use(session({ secret: 'secret key', // 암호화 resave: false, saveUninitialized: true, cookie: { httpOnly: true, }, store: new fileStore() // 세션 객체에 세션스토어를 적용 })); 이렇게 이해하면 되나요?만일 요청이 들어왔는데 세션쿠키가 없다면? 위에 인자대로 설정해주고 만들어서 클라우드에 세션쿠키 보내주고,만일 세션쿠키가 있다면, 그냥 읽어서 req.session 객체를 보내준다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
미들웨어 확장법 자세하게좀 설명 해주세요..
잘 이해가 안가서 질문 드립니다. app.use('/', (req, res, next) => { // 미들웨어 안에다 둔다. if (req.session.id) // 세션 아이디가 있다면 (로그인 상태라면) express.static(path.join(__dirname, 'public'))(req, res, next); // public에서 에셋을 보여준다 else next(); } express.static(path.join(__dirname, 'public'))(req, res, next) 가 어떤식으로 실행되는건지 감히 안잡히네요.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
강의랑 상관없는 질문 해서 죄송합니다.
강의 도중에 코딩하실때, 제로초님 키보드 치실때 소리가 너무 좋아서 저도 쓰고싶네요. 혹시 키보드 어떤 제품 쓰시는지 알 수 있을까요? 저적축 쓰시는것 같던데..
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
워커 쓰레드 수 설정할때
워커 쓰레드수를 8로 설정하면8쓰레드를 쓴다는 의미이고 그럼 4코어(1코어 2쓰레드 cpu일 경우)를 사용한다는 의미로 받아들이면 되죠?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
깃험 주소가 안들어갑니다
https://github.com/zerocho/nodejsbook피피티에 있는 깃험 주소에 안들어가집니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
세션쿠키 용어 질문입니다.
용어에 대해서 제가 정확히 알고 있는게 맞는지 궁금하여 질문드립니다. 세션쿠키라는 용어는 단순히 "세션으로 처리하는 쿠키"라고 생각해도 될까요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
fs.readfile과 fs.read차이점은 무엇인가요?
구글링해보고 원문도 읽어보고 했는데 명확한 답이 안나와서 물어봅니다. 일단 open,read,write는 파라미터가 다르고 파일디스크립터로 읽힌다고 하는데내부적으로만 좀 다르고 외부적으로는 그게 그거인건가요??
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
MessageChannel
워커에 관해 추가적으로 공부하던중 MesshageChannel api를 지원하네요?자세히 보니까, 워커 통신이 iframe통신과 매우 유사하더군요. postMessage어디서 봤나 싶었는데 iframe공부할때 본 거군요 ㅋㅋ; MesshageChannel 은 양방향 통신에 특화되어있어, 양측이 계속 유지할때 쓰는건데, 그럼 워커가 계속 유지할 일이 있을까요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
워커 모듈화 효율성?
강의에서는 if (isMainTread) {} esle {} 로 하셨는데,new Worker(경로1) new Worker(경로2) 로 나눠서 관리하는건 비추천인가요??
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
배포시 .env 처리 방법
안녕하세요, 제로초님. 지난번에 passport 분기처리 관련해서 질문 드렸었는데, 해결 후에 한가지 궁금한 점이 생겨서 질문드립니다. 현재 .env를 gitignore에서 git으로 add 되지 않도록 처리하고 있는데, 배포 후에는 .env에서 설정한 변수는 어떻게 처리해야 접근이 가능할까요? 구글링해보니 Heroku를 사용하는것 같은데 다른 방법이 있는지 해서 문의드립니다. 감사합니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
passport-local 확장에 대해서
안녕하세요, 제로초님. 노드교과서 들으며 이것저것 수정해보다가 질문이 있어 질문을 남깁니다. 강의에서 passport를 사용하여 localStartegy를 구성하실때에는 db Model이 User 1개였는데, Model을 2개로 늘리면(2개로 늘리려는 이유는 구인구직 사이트에서 구직자/사업자 이렇게 나뉘어 로그인을 하는것을 봐서 적용해보려고 합니다.) passport index.js를 어떻게 작성해야할지 모르겠어서 도움을 부탁드려요! 지금 저는 Model을 JobSeeker로 구현을 해놓았는데, 추가로 Model 1개 더 작성하고자 합니다. Db 2개를 한개로 합쳐서 Db안에서 구분을 하는게 효율적일지, passport에서 Model 1개 더 추가 가능한지 감이 안와서 질문드립니다. <<passport/index.js deserialize 부분>> passport.deserializeUser((id, done) => { JobSeeker.findOne({ where: { id } }) .then((user) => { // console.log("kk", user); done(null, user); }) .catch((err) => done(err)); });
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
최근 노드에서도 mjs 가능하나요?
최근 노드에서도 mjs 가능하나요?
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
HTTPS 설정방법에 대한 질문입니다.
안녕하세요. https, http2강의를 듣고 한가지 궁금한게 생겨 질문을 작성해 봅니다. [서론] Node.js를 처음 배워보는 시점에서는 Node.js로 생성한 웹 서버가 우리가 흔히 아는 정말 웹 서버인지, 웹 애플리케이션 서버인지 헷갈렸었습니다. 하지만 이제서야 웹 서버 보다는 웹 애플리케이션 서버의 성격이 더 크다라는 생각이 들었네요..! [본론] 이전 강의 까지 http 모듈을 통한 서버를 띄우는 프로그래밍을 해왔었데요. 이번 강의에서는 https, http2 각각의 모듈을 통해 서버를 띄우는 방법에 대해 학습할 수 있었습니다. 만약, 기존 운영 환경에서는 http 모듈을 통해 서비스를 하고 있는 중에 SSL 인증서를 발급받았고, HTTPS 프로토콜을 지원하기 위해서는 http 모듈로 프로그래밍 되어 있는 코드를 https 모듈로 바꿔야하는 이슈가 생길 수도 있겠다라는 생각이 들었는데요. Node.js 외 웹 서버, 웹 애플리케이션 서버를 사용하는 경우 코드의 수정 없이 특정 환경설정 파일에서 SSL 인증서 경로를 설정하고 재시작만 하더라도 HTTPS 프로토콜 지원이 가능했었습니다. 제가 전체 강의를 다 보지는 않았지만 Node.js에서도 이런 환경설정 파일을 통한 HTTPS 프로토콜을 지원하는 방법이 있는지 궁금합니다. P.S저는 현재 실무에서는 PHP, Java 개발 언어를 다루며 Linux(CentOS)환경에서 웹 서버로는 Apache, 웹 애플리케이션 서버로는 Tomcat을 다루고 있습니다.
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Cluster 사용 목적과 예외 상황에 대한 질문입니다.
안녕하세요. Cluster 강의를 듣고 한가지 궁금한게 생겨 질문을 작성해 봅니다. Cluster를 사용하는 큰 이유로는 결국 부하 분산을 시키기 위한 목적으로 사용하는 것으로 이해를 했는데요. 저 같은 경우 실무에서 1대의 서버로 처리할 수 없는 요청들이 빈번하게 발생하는 경우 인프라 확장(예: 로드밸런싱)을 고려하는 경우를 본적이 있었습니다. Node에서의 Cluster와 서버의 개념(?)에서의 로드밸런싱 기능적으로 이 같은 역할을 하는지 궁금하며, 만약, Node로 생성한 웹 서버는 딱 1개의 프로세스만 띄워 놓고, 이를 서버의 확장(위에서 언급드린 로드밸런싱) 통해 부하 분산을 시킨다고 가정했을 때에는 Cluster를 사용할 필요가 없는지 궁금합니다.(즉, Cluster 사용은 서비스 규모에 따른 선택사항인지 묻습니다.) 질문 글 읽어주셔서 감사합니다. P.S저는 현재 실무에서는 PHP, Java 개발 언어를 다루며 Linux(CentOS)환경에서 웹 서버로는 Apache, 웹 애플리케이션 서버로는 Tomcat을 다루고 있습니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
vs code 질문
4분 26초경에 console.log() 안에있는 value쪽에 마우스를 올려놨을시에 value에 대한 정보가 나오는데 되게 유용해보이는데 단축키를 쓰신건가요? 궁금합니다
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
get 에도 include 를 쓸수 있나요?
나의 채팅방 리스트를 구현할려고하는데, const me = User.findOne() 로 내 정보를 가져온다음 me.getRoom() 이렇게 하면 제가 포함된 방의 리스트까진 구할 수 있겠는데, room 안에 들어있는 다른 회원들 정보, 채팅정보도 들고오려고 합니다. (카카오톡 리스트보면 상대 프로필도있고 마지막 대화시간 및 내용도 나오는 것처럼) 이 기능을 구현하려면 getRoom() 안에 include를 사용해야할것같은데 가능한가요??