묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
캡슐화 추가 설명 중 단일책임원칙 관련 질문
안녕하세요! 캡슐화 추가 설명 강의 중 궁금한 것이 있어 질문 드립니다. 상위 모듈인 app 모듈의 providers에서 하위 모듈들의 service나 repository를 주입 받아 사용하게 되면 다음과 같은 문제가 있다고 하셨습니다. 모듈들의 관리가 힘들어진다.단일책임원칙이 깨진다.추가적인 학습으로 알게된 1번에서 발생할 수 있는 문제는 다음과 같습니다.-상위 모듈의 providers에서 인덱스 순서대로 service를 불러 오기 때문에 만약 하위 클래스끼리의 의존성이 존재한다면, 그 순서를 관리해줘야 되는 복잡성이 발생한다 . 순환참조 또한 일어날 수 있다.하지만 2번 단일책임원칙이 깨진다는 문제점이 발생한다는 것은 아직 이해하지 못했습니다. app 모듈안에서 다른 클래스들의 기능을 사용할 때 참조하는 방식이 잘못된 것이지, 해당 클래스의 기능의 책임이 확장된 것은 아니라는 생각이 듭니다. 여전히 기능의 변경이 일어났을 때 해당 클래스만 수정하면 된다고 생각하기 때문입니다.제 이해가 잘못된 것인지, 강사님께서 SRP원칙의 의미를 조금 더 확장해서 말씀해주신 것인지 궁금합니다!
-
미해결Vue로 Nodebird SNS 만들기
npm run dev 할 때 에러가 발생합니다.
2강에서 서버 실행시 에러가 발생합니다.무료 게임 강좌에서는 정상적으로 실행되었습니다. node : 10.15.3nuxt: 2.8.1vue: 2.6.10vue-server-renderer: 2.6.10 [로그 정보]PS C:\vue-nodebird\ch1\front> npm run dev> vue-nodebird-front@1.0.0 dev C:\vue-nodebird\ch1\front> nuxt WARN Address localhost:3000 is already in use. 11:49:13i Trying a random port... 11:49:13 ╭─────────────────────────────────────────────╮ │ │ │ Nuxt.js v2.8.1 │ │ Running in development mode (universal) │ │ │ │ Listening on: http://localhost:58015/ │ │ │ ╰─────────────────────────────────────────────╯i Preparing project for development 11:49:14i Initial build may take a while 11:49:14√ Builder initialized 11:49:14√ Nuxt files generated 11:49:14 ERROR Unexpected token . 11:49:14 const r=Object.create(null),i=e=>globalThis.process?.env||undefined||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?r:globalThis),s$1=new Proxy(r,{get(e,o){return i()[o]??r[o]},has(e,o){const E=i();return o in E||o in r},set(e,o,E){const b=i(true);return b[o]=E,true},deleteProperty(e,o){if(!o)return false;const E=i(true);return delete E[o],true},ownKeys(){const e=i(true);return Object.keys(e)}}),t=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",B=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:true}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:true}],["CODEBUILD","CODEBUIL SyntaxError: Unexpected token . at new Script (vm.js:80:7) at createScript (vm.js:274:10) at Object.runInThisContext (vm.js:326:10) at Module._compile (internal/modules/cjs/loader.js:664:28) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at Object.<anonymous> (node_modules\@nuxt\friendly-errors-webpack-plugin\node_modules\consola\lib\index.cjs:2:13) at Module._compile (internal/modules/cjs/loader.js:701:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3)
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결
async findAll() { const CommentsModel = mongoose.model('comments', CommentsSchema); const result = await this.catModel .find() .populate('comments', CommentsModel); return result; }cats.repository 파일 github에 되어있는 건 이렇게 되어있습니다. 그런데 에러 발생이유는 모르겠으나 Nest 버전 차이로 보임 constructor(@InjectModel(Cat.name) private readonly catModel: Model<Cat>) {} async findAll() { const result = await this.catModel.find().populate('comments'); return result; }위처럼 바꿔주고 cats.schema에서 ref: 'comments' => 'Comments' 변경 _CatSchema.virtual('comments', { ref: 'Comments', localField: '_id', foreignField: 'info', }); _CatSchema.set('toObject', { virtuals: true }); _CatSchema.set('toJSON', { virtuals: true }); export const CatSchema = _CatSchema; 이렇게 해주니 해결 되었습니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
채팅 이슈
안녕하세요. 강의 재밌게 잘 듣고 있습니다. 강의를 따라하는 중 브로드캐스팅 전송이 안 되어 글 남깁니다. [Nest] 41701 - 2025. 01. 21. 오전 10:08:29 ERROR [WsExceptionsHandler] Socket validation failed: userName: Path userName is required.ValidationError: Socket validation failed: userName: Path userName is required.위와 같은 로그가 발생하며 채팅이 다른 브라우저에 전송이 안 됩니다.(* 제 로컬에서는 username을 userName으로 사용중입니다.) 강사님 githup에 있는 내용을 가져와 실행시켜보아도 동일한 현상이 발생합니다.다른 분들은 정상작동하시나요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
모듈이 더 이상 지원하지 않는답니다
@types/bcrypt는 다운 가능 합니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
오류가 있습니다
이 코드를 실행하면이렇게 data가 undefind가 나오는데 이유가 뭔가요(data:body하면 정상적인 결과가 도출됩니다)
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
import 에서 오류가 납니다
깃허브에서 배꼇는데 오류가 발생합니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
이런 오류가 나옵니다
이런 오류가 나옵니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
에러가 발생합니다
이것 외에는 단서가 없습니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
프론트 에러 뜨는데 수정 안해주시나요
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요.- 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요!- 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요.- 논리적이고 구체적인 질문은 학습 효과를 올립니다 :)
-
미해결Next.js 시작하기(feat. 지도 서비스 개발)
키보드 어떤 거 사용하시나요
궁금합니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
emit() broadcast.emit() 질문있습니다
두 함수의 차이는 해당 메시지를 발행하는 client 를 포함하고 않하고로 알고 있습니다. 그럴때 socket.emit('user_conneted', username);다음 코드를 통해서도 상대방에게 보여진다고 생각했는데 실제로는 메시지 발행 client 의 console에만 나오는 것을 확인했습니다. 왜 상대방쪽의 console에서는 메시지가 보이지 않는지 궁금합니다
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Next.js SSR 방식에 대해 질문 드립니다.
안녕하세요 강의 잘 듣고 있습니다. SSR 의 동작방식에 대해 문의 드립니다. 1) 프로젝트에 초기 접속할때는 '/' 페이지에 대한 HTML 반환 후 js bundle 반환 => 하이드레이션 2) '/search' 로 이동하면 '/search' 페이지에 대한 HTML 반환 후 캐싱된 js bundle 과 결합하여 하이드레이션저는 대충 위 과정으로 이해하고 있었는데, 페이지에 따라 js bundle을 추가로 요청하는 경우도 있다고 해서 헷갈리는 것 같습니다. 초기 접속과 이후 새로운 페이지를 요청할때 HTML 응답과 js bundle 응답이 어떤식으로 동작하는지 설명 부탁 드립니다!
-
미해결Nuxt.js 시작하기
nuxt 최신버전 설치 후 layouts 없어서 직접 폴더 생성 후 문제
nuxt 최신버전 설치 후 layouts 없어서 직접 폴더 생성 후 문제인데요.error.vue 는 문제없이 실행되는데default.vue 생성시 pages에 있는 내용은 하나도 안나오고default.vue에 있는 내용만 똑같이 나오는 현상이 나옵니다.default.vue 내용만 나옴 default.vue 삭제시
-
미해결Nuxt.js 시작하기
vue나 nuxt 새로운 강의는 출시 예정이 없으실까요?
안녕하세요~혹시 새로운 강의는 출시 예정이 없으신지~궁금합니다!답변 주시면 감사하겠습니다~
-
해결됨Nuxt.js 시작하기
24년 강의를 들으면서 에러나는 부분 정리
img url 기한만료로 깨져서 나올 때backend 폴더의 db.json 이미지 주소를 변경하시면 정상적으로 출력됩니다. 인덱스 0은 어떤 이유에서인지는 모르나 가져오지 못하기 때문에 30번을 추가하면 됩니다.아래 코드로 db imageUrl을 전체 수정하시면 됩니다."imageUrl": "https://picsum.photos/640/480"localhost 액세스 거부맥북인 경우에 종종 생기는 일인 거 같은데 크롬에서 잘 되다가도 안되면 포트를 5000에서 4000으로 바꾸고 실행하시거나다른 브라우저를 이용해서 진행하시면 됩니다.
-
미해결Nuxt.js 시작하기
공식홈페이지에 설치방법이 바뀐거같아요
npx nuxi@latest init <project-name>만 남아있고 npm설치방법은 안보이는데말씀주신 방법도 작동은하네요 공식홈페이지에 적힌 방법과 말씀주신방법으로 생성하는게 폴더구조가 완전히 다른데 괜찮은건가요?
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
아주 기초적인 질문입니다.
현재 next.js 를 생성시킨후, 서버 start를 시킨후, 화면을 수정하면, 화면이 리로딩되고 있지 않습니다. 계속 새로 빌드를 해야지만, 화면 소스가 바꼈을 경우, 리로딩이 되는건가요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
서버연결이 안됩니다.
AWS Lightsail ssh 에서 sudo npm run start:prod 를 입력하고 pm2 list을 넣어보았습니다.잘 작동되는 것 같아 서버로 가봤는데 제 nest.js api가 실행되지 않는 걸 보고 pm2 log을 넣어봤는데도 크게 이상이 없는 것 같습니다. 그런데 여전히 들어갈 수가 없네요.postman에서도 http://<IP>/user/test 접근을 시도해도 똑같이 작동이 되지 않습니다. 뭐가 문제일까요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
[PM2][ERROR] Command not found
[PM2][ERROR] Command not foundusage: pm2 [options] <command>pm2 -h, --help all available commands and optionspm2 examples display pm2 usage examplespm2 <command> -h help on a specific commandAccess pm2 files in ~/.pm2npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! project@0.0.1 start:prod: pm2 run dist/main.jsnpm ERR! Exit status 1npm ERR! npm ERR! Failed at the project@0.0.1 start:prod script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:npm ERR! /root/.npm/_logs/2024-05-02T14_05_57_337Z-debug.log<AWS 클라우드 VPS 구축 & PM2로 서버 운영하기> 강좌에서 SSH에 마지막 sudo npm run start:prod 코드를 작성했더니 나온 에러입니다. 혹시 어떻게 해결해야할까요? https://github.com/DongGyu123/DOT_G 이게 현재 강의에서 제가 활용한 스터디용 코드입니다.