inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

bind 함수 관련 궁금증

해결됨

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

안녕하세요. 강의 수강 중 궁금한 점이 있어서 질문드립니다! TCP 에코 서비스 전체 흐름 수업 중에 서버에서 bind 함수가 필요한 이유를 듣고 문득 궁금해졌습니다. bind 함수가 소켓이라는 추상적인 객체에 TCP 프로토콜을 붙여서 구체화를 시켜주는 함수로 이해했습니다. 그렇다면, 클라이언트도 bind라는 함수가 필요하지 않나 생각이 들었습니다. 서버와 통신을 한다면 결국 클라이언트도 IP와 port 정보가 필요하다고 생각하는데 왜 클라이언트는 따로 bind 함수를 호출하지 않는지 궁금합니다!

  • socket.io
  • udp
  • iocp
  • tcpip
skek2875 댓글 2 좋아요 0 조회수 393

주피터 익스텐션 다운로드 문제 질문입니다!

미해결

공공데이터로 파이썬 데이터 분석 시작하기

Jupyter command jupyter-contrib not found. 지금 이 오류가 떠서 설치가 안되고 있는데요. 어떻게 해결해야 할까요?? 제가 봤을땐, pip install jupyter_contrib_nbextensions 이 부분은 실행이 되는데 jupyter contrib nbextension 이 부분에서 오류가 생기는 것 같습니다. ㅠㅠ

  • python
  • pandas
  • numpy
1whstudy 댓글 1 좋아요 0 조회수 893

스케줄링과 관련된 질문입니다.

미해결

Airflow 마스터 클래스

섹션3, 첫번째 강의에서 스케줄에 관한 질문입니다. 강의에서, start_date = 2023.1.1 schedule = "30 6 * * * " next_run = 2023 03 18 6:30 그리고 현재 날짜는 2023 03 19 인것으로 봤는데, next_run이 현재날짜보다 뒤에 있으니 pause -> unpause 를 하게되면 자동실행이 안되어야 하는거 아닌가요? 강의에서는 자동으로 실행되는것으로 봐서요. 감사합니다.

  • python
  • 데이터-엔지니어링
  • airflow
Hyeonghwan Kwon 댓글 1 좋아요 1 조회수 268

4.4 클래스의 정의와 호출 parr2 강의 중 attribute 초기화 부분 질문

해결됨

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

클래스 정의하고 호출하면 42번 줄에 player1에 해당하는 height와 weight의 값이 둘 다 나와야 하는데 저는 한가지 값만 출력이 됩니다. weight를 지우고 height 값만 쓰면 height값이 출력되고 둘다 쓰면 height값은 안나오고 weight값만 출력이 되는데 왜 이런 걸까요?

  • python
ㅊㅌㅎ 댓글 1 좋아요 1 조회수 185

aws lambda로 lazy loading 구현

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

(안녕하세요. 제로초님 매번 질문드릴때마다 빠르게 답변해주셔서 정말 감사 드립니다.) 지금 useInfiniteQuery를 통해 게시물의 정보들을 한번에 모두 받아오는 것이 아닌 5개씩 나눠서 받아오도록 구현을 마쳤습니다. 그리고 여기에 한번더 최적화를 진행하기 위해 lazy loading image 기법을 도입하려고 하는데요 도입이유는 사용자가 처음 받아오는 이미지를 모두 다 볼 수 있는 형태가 아니기 때문입니다. 일반적인 모니터라면 사용자는 1개의 게시물 밖에 보지 못합니다. 그래서 이러한 점에서 나머지 4개에는 resize(50*50)정도로 사진 크기를 줄여서 전송하고 사용자가 스크롤을 하여 화면을 내리면 intersection observer를 통해 사용자가 볼수 있는 정도의 resizing된 이미지를 요청하여 화면에 렌더하려고 합니다. 그러기 위해서는 thumb파일 이외에 50* 50 사이즈의 이미지를 저장하는 파일을 한개 더 만들려고 하는데 여기서 막혔습니다. 궁금한게 aws-lambda를 한개 더 만들어야 하나요? 아니면 resizing해주는 lambda한개에서 2종류의 resizing처리가 가능한가요? return 부분의 callback 함수에 파라미터를 어떻게 넣어야 하는지 잘 모르겠습니다.. 그리고 제가 하려는 최적화 방식이 효과 있는 방식이 맞는건가요?혹시 제거 간과 하고 있는 부분은 없는지 궁금합니다.. 답변해주시면 감사하겠습니다.

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
김명재 댓글 2 좋아요 0 조회수 410

클라이언트 컴포넌트 자식으로 서버 컴포넌트를 넣었을 때의 원리에 대해서 질문있습니다!

미해결

Next + React Query로 SNS 서비스 만들기

서버 컴포넌트가 프론트 서버에서 미리 렌더링되는 것으로 알고 있었습니다. 이것이 맞을까요?? 클라이언트 컴포넌트랑 서버 컴포넌트의 렌더링 방식을 찾아봤음에도 여전히 헷갈리는데 시간적 여유가 되신다면 쉽게 알려주실 수 있을까요?? 클라이언트 컴포넌트 사이에 서버 컴포넌트를 넣으면 렌더링 동작이 어떻게 수행되는지 궁금합니다. 강좌에서는 PostArticle이라는 클라이언트 컴포넌트의 자식으로 서버컴포넌트를 넣는데, 공식문서에서는 클라이언트 컴포넌트가 DOM Tree의 끝에 오도록 하는 것을 권장하는 것으로 알고 있었는데 제가 잘못 알고 있던 것이었을까요??

  • react
  • next.js
  • react-query
  • next-auth
  • msw
이종민 댓글 2 좋아요 1 조회수 1923

스마트포인터 사용여부 및 가능성

해결됨

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

안녕하십니까 선생님. 훌륭한 강좌 잘 들었습니다. 비동기 콜백 부분에서 버퍼와 오버랩드구조체를 동적할당하고 콜백함수에 주소를 주고 다쓴후에 딜리트를 하는 방식을 유니크나 쉐어드포인터 같은 스마트포인터로 대체가 가능할까요? 특히 쉐어드는 잘만쓰면 정말유용할것 같긴한데 서버개발할때 레퍼런스 카운팅에 대한 아토믹연산의 오버헤드에 대해 감당할만하다고 생각하시는지요? 또한 스마트포인터를 쓰고싶어도 콜백함수로 등록가능한 함수형태가 정해져있어서 스마트포인터 그 자체를 넘겨줄순없는것같은데 혹시 방법이있다면 조언좀 부탁드리겠습니다. 감사합니다.

  • socket.io
  • udp
  • tcpip
hypernagox 댓글 2 좋아요 0 조회수 282

key값에 영어가 아닌 디른문자가 들어가면 오류 발생

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

사진 파일 이름이 띄어쓰기가 없는 영어가 아닌 경우 무조건 Key를 찾을 수 없다는 오류가 발생합니다. 그런데 왜 도무지 이런 에러가 발생하는지 이해가 되지 않습니다. s3 original폴더에 잘 저장되어있고 그냥 똑같은 key를 찾으면 되는거 아닌가요?... 왜 영어로 안쓰면 key를 못찾는건지 잘 모르겠습니다..그리고 저번에 띄어쓰기도 식별하기 위해 +를 스페이스로 replace하는 코드를 추가하면 됩니다. 라고 말씀해주셨는데 aws-upload의 index.js 코드에는 그냥 온전히 s3에 저장되어있는 key값을 받아오고 그 키값에서 파일 이름이나 확장자를 추출하는 코드밖에 존재하지 않는데 어디에 + 스페이스로 replace하는 코드를 추가하면 되는지 잘 이해가 되지 않습니다... 답변해주시면 정말 감사하겠습니다..ㅠㅠ

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
김명재 댓글 3 좋아요 0 조회수 441

이미지 리사이징 후 화질

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

궁금한점이 생겨 질문합니다. aws lambda로 resizing된 이미지를 사용자에게 보여주면 당연히 화질이 좋지 않은 이미지를 제공할 수 밖에 없는데 이건 어쩔 수 없는건가요? 그럼 구글이나 핀터레스트같은 이미지를 많이 활용하는 웹들은 당연히 이미지 용량 크기를 줄이는 작업을 거칠것인데 이 웹들은 어떻게 사용자에게 좋은 이미지를 보여줄 수 있는건가요?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
김명재 댓글 2 좋아요 1 조회수 363

no such key

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

{ "errorType": "NoSuchKey", "errorMessage": "The specified key does not exist.", "name": "NoSuchKey", "$ fault ": "client", "$metadata": { "httpStatusCode": 404, "requestId": "YMG06ZYH60K2201P", "extendedRequestId": "3P/v2TuxF22TpEWbU9iXPei37RoBJHIeVTI/mSC9NV7bY2r4BnC2iyJpCcJnmD3gUEaa9WdsNCw=", "attempts": 1, "totalRetryDelay": 0 }, "Code": "NoSuchKey", "Key": "original/1703707251649_studying+economics+student+aesthetic+bib+uni+college+statistics+math+macbook+apple+ipad+pro+jgu+mainz.jpeg", "RequestId": "YMG06ZYH60K2201P", "HostId": "3P/v2TuxF22TpEWbU9iXPei37RoBJHIeVTI/mSC9NV7bY2r4BnC2iyJpCcJnmD3gUEaa9WdsNCw=", "message": "The specified key does not exist.", "stack": [ "NoSuchKey: The specified key does not exist.", " at de_NoSuchKeyRes (/var/task/node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js:5196:23)", " at de_GetObjectCommandError (/var/task/node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js:3440:25)", " at process.processTicksAndRejections (node:internal/process/task_queues:95:5)", " at async /var/task/node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24", " at async /var/task/node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js:30:20", " at async /var/task/node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js:31:46", " at async /var/task/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/flexibleChecksumsMiddleware.js:63:20", " at async /var/task/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-endpoint-middleware.js:14:24", " at async /var/task/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-middleware.js:9:20", " at async /var/task/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26" ] } 이렇게 NoSuckKey라고 뜨는데 이건 혹시 s3 access key가 틀렸다는 소리인가요?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
댓글 2 좋아요 0 조회수 2723

IIS 500.19에러

미해결

남박사의 파이썬으로 실전 웹사이트 만들기

구글로 먼저 배포 해보고 잘 되서 IIS로 배포해보려고 하는데 다음과 같이 나옵니다 handler도 Allow로 바꿨고 web.config는 그대로 복사하고 경로도 확인했는데 뭐가 문제일까요...ㅠㅜㅠ

  • python
Eddie 댓글 2 좋아요 0 조회수 675

강의자료 부탁 드립니다~

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요, 강의자료 부탁 드려도 될까요? fbyksong@gmail.com 입니다.

  • python
댓글 1 좋아요 0 조회수 265

오류 메세지

미해결

실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit

안녕하세요~~ 루비네 코딩 입니다 ^^ 최근 앱을 런칭할 때 다음과 같은 오류가 발생하고 있습니다. ModuleNotFoundError: No module named 'altair.vegalite.v4' 이런경우, 다음과 같이 altair 패키지의 버전을 바꾸어 설치해 주세요 ^^ 감사합니다~ pip uninstall altair pip install altair==4.2.2

  • python
  • streamlit
루비네 코딩 댓글 2 좋아요 1 조회수 919

x.com에 모달창에 url을 적용시킨 이유가 있을까요?

해결됨

Next + React Query로 SNS 서비스 만들기

x.com 을 보면 로그인도 그렇고 게시글 올릴때도 그렇고 모달창이 뜰때마다 그냥 화면에 띄우는 방식이 아니라 저렇게 모달창을 띄울수 있는 url 따로 만든 이유가 뭘까요? 관리가 더 편해서일까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
쵸잉 댓글 1 좋아요 0 조회수 598

passport.authenticate is not a function 도와주세요..

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

passport.authenticate is not a function TypeError: passport.authenticate is not a function at exports.login (/home/node/app/controllers/auth.js:26:14) at Layer.handle [as handle_request] (/home/node/app/node_modules/express/lib/router/layer.js:95:5) at next (/home/node/app/node_modules/express/lib/router/route.js:144:13) at exports.isNotLoggedIn (/home/node/app/middlewares/index.js:15:9) at Layer.handle [as handle_request] (/home/node/app/node_modules/express/lib/router/layer.js:95:5) at next (/home/node/app/node_modules/express/lib/router/route.js:144:13) at Route.dispatch (/home/node/app/node_modules/express/lib/router/route.js:114:3) at Layer.handle [as handle_request] (/home/node/app/node_modules/express/lib/router/layer.js:95:5) at /home/node/app/node_modules/express/lib/router/index.js:284:15 at Function.process_params (/home/node/app/node_modules/express/lib/router/index.js:346:12) POST /auth/login 500 34.609 ms - 2536 GET /main.css 304 2.895 ms - - 현재 로그인을 눌렀을 때 이 오류가 생깁니다. 해결방법을 모르겠습니다.. localStrategy.js const passport = require('passport'); const {Strategy: localStrategy} = require('passport-local'); const User = require('../models/user'); const bcrypt = require('bcrypt'); module.exports = () => { passport.use(new localStrategy({ usernameField: 'email', passwordField: 'password', passReqToCallback: 'false' }, async (email, password, done) => { try { const exUser = await User.findOne({ where: {email}}); if (exUser) { const result = await bcrypt.compare(passport, exUser.passport); if(result) { done(null, exUser); } else { done(null, false, {message: '비밀번호가 일치하지 않습니다.'}); } } else { done(null, false, {message: '가입되지 않은 회원입니다.'}); } } catch(error) { console.error(error); done(error); } })); }; controllers/auth.js const User = require("../models/user"); const bcrypt = require('bcrypt'); const passport = require("../passport"); exports.join = async (req, res, next) => { const {nick, email, password} = req.body; try { const exUser = await User.findOne({ where: {email}}); if (exUser) { return res.redirect('/join?error=exist'); } const hash = await bcrypt.hash(password, 12); await User.create({ email, nick, password: hash, }); return res.redirect('/'); } catch (error) { console.error(error); next(error); } } //POST /auth/login exports.login = (req, res, next) => { passport.authenticate('local', (authError, user, info) => { if (authError) { console.error(authError); return next(authError); } if (!user) { return res.redirect(`/?loginError=${info.message}`); } return req.login(user, (loginError) => { if (loginError) { console.error(loginError); return next(loginError); } return res.redirect('/'); }); })(req, res, next); }; exports.logout = (req, res, next) => { req.logout(() => { res.redirect('/'); }) } app.js const express = require('express'); const cookieParser = require('cookie-parser'); const morgan = require('morgan'); const path = require('path'); const session = require('express-session'); const nunjucks = require('nunjucks'); const dotenv = require('dotenv'); const passport = require('passport'); dotenv.config(); // process.env const pageRouter = require('./routes/page'); const authRouter = require('./routes/auth'); const { sequelize } = require('./models'); const passportConfig = require('./passport'); const app = express(); passportConfig(); app.set('port', process.env.PORT || 8080); app.set('view engine', 'html'); nunjucks.configure('views', { express: app, watch: true, }); sequelize.sync({ force: false }) .then(() => { console.log('데이터베이스 연결 성공'); }) .catch((err) => { console.error(err); }); app.use(morgan('dev')); app.use(express.static(path.join(__dirname, 'public'))); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, }, })); app.use(passport.initialize()); app.use(passport.session()); app.use('/', pageRouter); app.use('/auth', authRouter); app.use((req, res, next) => { const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`); error.status = 404; next(error); }); app.use((err, req, res, next) => { res.locals.message = err.message; res.locals.error = process.env.NODE_ENV !== 'production' ? err : {}; res.status(err.status || 500); res.render('error'); }); app.listen(app.get('port'), () => { console.log(app.get('port'), '번 포트에서 대기중'); });

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
이경록 댓글 1 좋아요 0 조회수 507

npm run start:dev 명령어 실행시 Error: connect ECONNREFUSED ::1:6379 에러 발생

미해결

Next + React Query로 SNS 서비스 만들기

해당 강의에서 postgresql 설치와 노드버전 18.17.0 환경에서 nest-prisma의 폴더를 다운 받은 후 npm i -> npx prisma migrate dev 까지는 순조롭게 진행되었으나 npm run start:dev에서 Error: connect ECONNREFUSED ::1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1495:16) { errno: -61, code: 'ECONNREFUSED', syscall: 'connect', address: '::1', port: 6379 } 에러가 발생했습니다 구글링을 해보니 레디스 서버가 구동이 안된 것 같다고 나오기도하고 서버쪽을 잘 몰라 질문 드립니다 .env 파일 입니다 DATABASE_URL="postgresql://postgres:비번@localhost:5432/zcom?schema=public" REDIS_URL=redis://localhost:6379 COOKIE_SECRET=cookienyamnyam

  • react
  • next.js
  • react-query
  • next-auth
  • msw
mun9927 댓글 4 좋아요 2 조회수 1426

API 요청 시, cookie 보내는 것에 대한 질문

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요! 제로초님! 보너스 강의까지 잘 챙겨보고 있습니다. 매번 감사합니다! 제 질문은..! server action 함수쪽에서 fetch config 객체에 credentials 을 include로 해줘야 쿠키(세션)를 API 요청 시 같이 태워서 보낼 수 있다고 설명해주셨는데, 혹시 이것이 next-auth 로부터 도움을 받는 것일까요? 강의 수강 후, next 14로 프로젝트를 구현하고 있는데, fetch 할 때, credentials 를 include 해주었음에도 불구하고, 브라우저 application 탭에서 확인 할 수 있는 쿠키가 태워지지 않아서요. 해당 쿠키는 서버에서 로그인 시에 set-cookie 해준 쿠키이고, 프론트엔드는 localhost , 서버는 ec2에 배포된 서버입니다. 그래서 현재는 server action 함수내에서 next.js에서 지원해주는 cookie() 를 이용해서 fetch config 객체 내 headers 에 직접 쿠키를 넣어주고 있는데, 강의에서는 credentials 만으로 API 요청시 쿠키(세션)을 잘 태워서 보내주고 있는 것 같아 질문을 남기게 되었습니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
withkey 댓글 2 좋아요 0 조회수 1082

CreateThread()를 사용하여 클래스의 멤버함수를 실행할 수 는 없나요?

해결됨

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

수업을 듣고 따로 서버코드를 만들어 보려는 중 잘 안돼서 질문 드립니다. class Server { private: SOCKET listenSocket; std::list<SOCKET> listClients; SOCKADDR_IN serverAddr; public: Server(); Server(USHORT port, IN_ADDR addr); void Bind(); void Listen(); DWORD WINAPI ThreadAcceptLoop(LPVOID pParam); void AcceptClient(); void ReleaseServer(); ~Server(); }; main 함수에서 Server클래스의 객체를 만들어서 서버를 실행하는 로직을 구현하고 있습니다. Server클래스의 AccpetClient()에서 CraeteThread()를 사용하여 ThreadAcceptLoop()를 실행하는 쓰레드를 만들어서 클라이언트의 요청을 Accept()하려고 합니다. 하지만 CreateThread()함수에서 E0167 DWORD (__stdcall Server::*)(LPVOID pParam) 형식의 인수가 LPTHREAD_START_ROUTINE 형식의 매개 변수와 호환되지 않습니다. 라는 오류와 함께 컴파일이 되지 않습니다. 찾아본 결과 함수를 static으로 선언하던지 전역함수를 사용하라고 합니다. 제가 하려던것처럼 클래스의 멤버함수를 실행할 수는 없나요??

  • socket.io
  • udp
  • iocp
  • tcpip
박성용 댓글 2 좋아요 0 조회수 657

cjs방식인 이유가 있으신가요? require, import

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

강의에 나온대로 require()로 따라하던 중 import가 더 최신방식이라는 이야기를 듣게 되었습니다. 구글링을 해보니 require()를 쓰는 쪽은 CommonJS(CJS)이고 import 쓰는 쪽이 ESM이라는 걸 알게되었습니다 Es6(2015)부터 import를 쓸 수 있던거 같은데 그 이후에 나온 강의가 require를 쓰게된 이유가 있을까요? 사용되는 패키지의 호환성 이슈인지 다른 이유인지 궁금합니다

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
진호 댓글 1 좋아요 0 조회수 425

인기 태그

인프런 TOP Writers

주간 인기글