묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)
똑같이 따라하고 오류나서 다시해보고 다시해보고 올려주신 코드 확인해봐도 계속 에러가 뜨는대요 ㅠ.ㅠ
PS C:\Users\ohdaesung\Desktop\study\fastify> npm start> sample@1.0.0 start> npm run build:live> sample@1.0.0 build:live> nodemon --watch 'src/**/*' --exec ts-node --esm src/main.ts --verbose[nodemon] 3.0.3[nodemon] to restart at any time, enter rs[nodemon] or send SIGHUP to 12892 to restart[nodemon] watching path(s): 'src\**\*'[nodemon] watching extensions: ts,json[nodemon] starting ts-node --esm src/main.ts[nodemon] spawning[nodemon] child pid: 17216[nodemon] watching 4 filesTypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\ohdaesung\Desktop\study\fastify\src\main.ts at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9) at defaultGetFormat (node:internal/modules/esm/get_format:203:36) at defaultLoad (node:internal/modules/esm/load:143:22) at async nextLoad (node:internal/modules/esm/hooks:750:22) at async nextLoad (node:internal/modules/esm/hooks:750:22) at async Hooks.load (node:internal/modules/esm/hooks:383:20) at async handleMessage (node:internal/modules/esm/worker:199:18) { code: 'ERR_UNKNOWN_FILE_EXTENSION'}[nodemon] app crashed - waiting for file changes before starting... ㅠ.ㅠ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
NodeJS 의 single thread 와 event loop 에 대해 자세하게 알아 봤는데 제가 이해한 것이 맞는지 확인하고 싶어서 질문드렸어요!
동작하는 원리와 각 키워드의 역할에 대해 제가 알고 있는 점을 정리해 봤습니다.어디가 틀리고 맞는지 확인하기 어려워서 질문드렸습니다! 원리모든 task는 Call Stack(Execution Context Stack) 에 쌓인다. main thread는 Call Stack에 있는 작업을 순차적으로 진행한다.그런데 오래 걸리는 요청이 들어오면 main thread가 blocking 된다. 그래서 nonblocking 이 되도록 event loop 와 background, event queue, micro task queue 등 막히는 작업을 해결 해줄 공간이 존재한다.사용자가 요청을 보내면 오래 걸리든 아니든 우선은 Call Stack 에 쌓이게 된다.main thread 가 요청을 하나씩 해결 하는데 오래 걸리는 task를 해결할때 blocking 되지 않도록 CPU의 가용 가능한 main thread 이외의 다른 Thread(background)에 Task를 던진다. 그 후 다음 동작을 진행한다.main thread 와 background 는 동시에 task 를 동작하기에 nodejs 는 그 자체로 single thread 는 아니다. 사용자의 요청과 응답을 하는 task를 실행하는 thread가 1개라는 의미이다.이 background thread에서 작업이 완료된 task는 event queue와 micro task queue 에 순차적으로 들어가게 된다. promise, nextTick 등 우선순위가 높은 작업들은 micro task queue에 쌓인다.Event Loop는 Call Stack에 모든 요청이 실행 완료되면 micro task queue, event queue에 있는 작업을 순서대로 Call Stack에 하나씩 담는다. micro task queue 에 task 가 있으면 event queue 보다 우선순위가 높아서 먼저 Call Stack 으로 이동한다.event loop는 non-blocking을 위해서 task를 background에 던지고 반환되면 event queue, micro task queue에 던지고, call stack을 observing 하다가 비어 있게되면 task를 순서대로 하나씩 넣는다.main thread는 call stack에 있는 task를 실행한다. 역할main thread는 call stack에 있는 task를 실행한다. (얘는 이것만 하는 놈이다.)background는 event loop에서 오래 걸리는 작업을 던짐 당한 곳이고 작업이 완료되면 event loop 에게 알리는 작업을 한다.여기서 Stack과 Queue는 모두 작업이 저장되는 공간인 메모리이다.(call stack, event queue, microtask queue)이 메모리의 작업을 수행하고 던지고 받고 등의 작업을 하는 thread는 main thread와 background 이다.background 는 CPU 에서 가용 가능한 모든 thread 를 말하고 1개일 필요는 없다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
followers and followees 프로퍼티 생성하기 질문
안녕하세요 코드 팩토리님!너무 기본적은 질문이 많아 죄송합니다.혹시나... 제가 이해를 못하고 있는건지 모르겠는데...여기에서 followers, followees 의 property 정의가 주석에 바뀌지 않았는지 여쭤 봅니다. followers 가 나를 follow 하는 사람이 아닌지요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
Uri함수 파라미터 주소에 sslport번호를 넣으면 무한 로딩이걸림
여기 sslPort 번호를 가져와서Uri함수 파라미터에 주소를 입력했더니이렇게 무한 로딩이 걸려서 해결하고 싶어서 중단점 걸어보고 실행해봤습니다.여기서여기로 들어가면 var resultContent = await result.Content.ReadAsStringAsync(); 이 부분 전에 있는 중단점에는 잘 걸리는데 이 중단점에는 안 걸리고 함수 안에 있는 코드들이 전부 실행 되지 않고결국 _gameResults 는 정상적으로 함수가 실행 되지 않아서 값을 못 받아서 계속 null인 상태로 있어서 무한 로딩이 걸렸습니다. 그래서 처음에는 비동기 함수가 실행을 완전히 끝내기 전에 그 전에 있던 함수가 종료 되었나? 생각하면서 이것저것 만지다가 그런 문제는 아닌 것 같고 그냥 무지성으로 Uri 파라미터에 sslPort번호 말고여기에 "applicationUrl": "https://localhost:7146이 부분을 Uri파라미터 주소에 넣었더니 잘 실행됩니다 그런데 강사님은 sslPort번호를 넣어서 잘 작동시켰는데 왜 저는 sslPort를 넣었는데 이상하게 작동되는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
이미지 s3 업로드 관련 질문드립니다!
안녕하세요 코팩님!다름이 아니라 현재 제가 프로젝트에서 presigned url 방식으로 프론트단에서 이미지를 s3로 업로드하고 람다가 트리거 돼서 이미지 리사이징을 해주고 있습니다. 현재 업로드 방식은 s3 잉여 데이터들이 쌓이는게 걱정돼서 매번 s3로 바로 올려놓는게 아닌 최종 업로드 버튼시에 모든 이미지가 한번에 업로드 되는 구조입니다. 그런데 용량이 좀 큰 이미지는 람다 리사이징이 좀 걸려서 딜레이 때문에 프론트단에서 로딩을 걸어놓긴 하는데 사용자 경험이 좋지 못합니다. 그리고 게시물 작성 중 임시저장 기능을 새롭게 추가하려고 하니깐 이미지 처리를 어떻게 가져가야하나 싶더라고요.혹시 강의에 나오는 temp 폴더에서 post 폴더로 옮겨가는 로직을 이용해서 s3에 적용을 한다면 좋을까요? 아님 더 좋은 해결방안이 있을까요?그리고 리사이징 부분이 람다로 작동되다 보니 사용자가 게시물을 업로드 하지도 않고 계속 이미지를 수정하는 상황이 발생하면 람다 비용 문제도 고민되기도 합니다... 고민이 많다보니 횡설수설 질문드렸는데 현업에서는 기획에 따라 다르겠지만 이런 상황에선 어떻게 하는지가 좀 궁금합니다! 항상 감사드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swagger 실행 오류
swagger 실행시 No operations defined in spec!라는 오류가 발생하는데 왜그럴가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
post에서 타입
authorId의 타입은 number인데,포스트맨에서 return받는 newPost의 id의값은 스트링으로 들어오는 이유는 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
강의 질문입니다.
안녕하세요.typeOrm 에 관한 질문입니다.댓글과 포스트에 관한 ManyToOne의 관계에서 commentRepository에 save할때 포스트와 연결하고 싶을때 포스트 모델 객체를 넣어도 되고 post : {id:postid} 값만 넣어줘도 되는지 궁금합니다. comment post 요청 작성시 author은 모델로 save 하고 post는 id로 save 해서 궁금해서 여쭤 봅니다.미리 감사합니다
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
온라인 ide
The terminal process failed to launch: Access was denied to the path containing your executable "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe". Manage and change your permissions to get this to work.방금 vs code를 이용하여 터미널을 이용하려고 했는데 다음과 같은 오류가 나와 터미널 실행이 안되는 것 같습니다 오류를 보니 군대 보안특성상 powershell에서 사용을 막은 것 같습니다.그래서 이런 온라인 ide를 이용하려고 하는데 괜찮을까요?? 가상환경은 설치 만들 수 있는걸로 알고 있습니다.레플릿: https://replit.com/구름: https://ide.goorm.io/?_gl=1*1oawf9g*_ga*ODI1MzYwNDc5LjE3MDc4Mjg2MTg.*_ga_7BMX792Y7W*MTcwNzgyODYxOC4xLjEuMTcwNzgyOTc4Mi42MC4wLjA.&_ga=2.209210519.446475569.1707828619-825360479.1707828618
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
섹션6의 3번째 강의 faker파일이 어디있나요?
전 강의에 올려놓으셨다고 하셨는데 Mongoose v6 업데이트 관련 공지만 있고 faker 관련 코드를 못 찾겠어서 질문 남깁니다.
-
미해결스프링 기반 REST API 개발
spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.
안녕하세요. 설 연휴 잘 보내셨는지 궁금하네요.늦었지만 새해 복 많이 받으셨으면 좋겠습니다. 설 연휴에 처음부터 끝까지 재수강하여 재밌게 잘 배웠네요. 다름이 아니라 배포관련하여 질문이 있습니다. 일단 배포 전 항상 테스트 하는 것에 대해서 부정적인 입장은 아닙니다. 만약에 MSA를 구축하지 않고 단일 프로젝트에서프로젝트 규모가 커진다면 배포 할 때 마다 모든 테스트를 돌리기가 버거워질 텐데요. 그래서 테스트 스킵을 고려하는 팀에서는 spring doc snippet생성을 어떻게 해야 할까요..?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
다음 강의는 언제쯤...
안녕하세요 코드 팩토리님..강의 너무 잘듣고 있습니다.혹시 nestjs part2 강의는 언제 계획되어 있으신지 궁금합니다.빨리 보고 싶어서요^^;;
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
안드로이드 앱 서버개발 질문
안드로이드 앱 개발에서 백엔드를 맡아 서버를 개발해야 하는데요 강좌는 웹을 기반으로 rest api를 작성하는데 앱에 적용 시켜도 별반 차이가 없을까요?
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
vs code
안녕하세요 강사님 제가 지금 군복무중이고 부대 내 컴퓨터 이용중이라 제어판이나 명령 프롬프트 이용이 불가능 합니다. 그래서 일단은 vs code로 수업을 들으려고 하는데 괜찮을까요??
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
환경변수 설정 시 Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string 라는 에러가 납니다.
안녕하세요. 환경변수 설정 간 TypeOrmModule.forRoot()를 설정하는 구간에서강의대로 process.env로 .env에 있는 키들을 받아오려 하니 제목과 같은 에러가 납니다.구글링을 해보았는데, forRootAsync를 활용하라는 말 등은 있지만 저 에러가 동일하게 구현된 사례는 없었습니다. 혹시 제가 어떤 잘못을 했는지 궁금하여 질문을 남깁니다. 강의 정말 잘 보고 있습니다. 감사합니다. @Module({ imports: [ TypeOrmModule.forRoot({ type: 'postgres', host: process.env[ENV_DB_HOST], port: parseInt(process.env[ENV_DB_PORT]), username: process.env[ENV_DB_USERNAME], password: process.env[ENV_DB_PASSWORD], database: process.env[ENV_DB_DATABASE], synchronize: true, }), CommonModule, ConfigModule.forRoot({ envFilePath: process.env.NODE_ENV === 'production' ? '.env.production.local' : '.env.development.local', isGlobal: true, }), AuthModule, UsersModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {} // .env.development.local DB_TYPE=postgres DB_HOST=localhost DB_PORT=5430 DB_USERNAME=123123 DB_PASSWORD=123123 DB_DATABASE=123123 // constants.ts export const ENV_DB_HOST = 'DB_HOST'; export const ENV_DB_PORT = 'DB_PORT'; export const ENV_DB_USERNAME = 'DB_USERNAME'; export const ENV_DB_PASSWORD = 'DB_PASSWORD'; export const ENV_DB_DATABASE = 'DB_DATABASE'; // 에러 메세지 Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
CacheModule
app.module.ts에서 redis연결하는데 @nestjs/common에 CacheModule이 없는데요?
-
미해결가장 빠른 풀스택: 파이썬 백엔드와 웹기술 부트캠프 (flask/플라스크와 백엔드 기본) [풀스택 Part1-1]
혹시 강의자료 공유가 가능한가요?
강의자료가 공유가 가능하신지 문의 드립니다. 코드위주로만 작성하다보니, 설명해주신 텍스트를 작성하는게 부족했는데, 강의 처음부터 다시 작성하자니 시간이 너무 오래걸릴것 같아 여쭤보기 위해 질문글 남깁니다. 강의 자료가 가능하신지 확인해주시면 감사하겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
피그마에 css 코드를 볼 수 없어요.
이게 옆으로 옮겨지지 않습니다.검색해보니까 데브모드가 이제 유료화됐다고 하는데어떻게 해결해야할까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
db 컬럼 camel or snake
안녕하세요! 강의 너무 잘 듣고 있습니다. 별건 아니고 혹시 db 컬럼을 평소에도 camel로 쓰시는건가요??보통 db컬럼은 스네이크로 많이들 쓰는걸로 알고 있어서 여쭤봅니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker 와 local DB 연결 시 각 폴더는 어떻게 연결되는 건가요?
안녕하세요! nestjs 수강생 입니다!docker 부분에서 질문이 있어서 문의 드리게 되었습니다. 현재 local 과 docker postgres image 가 이렇게 연결되어 있습니다. 알고 있는 점(1) docker-compose up 을 실행하면 두 폴더가 연결되며 docker postgres 의 데이터 폴더를 로컬 폴더와 매핑한다.(2) docker postgres 에서 데이터 손실 시 로컬에서 관리하는 postgres-data 폴더 덕분에 문제 없음(3) 로컬 폴더를 날리고 docker-compose up을 재 실행하면 모든 데이터 날라감. 궁금한 점(1) 개발자는 자신의 로컬 폴더에 있는 데이터만 CRUD 하고 그 결과가 docker postgres 에 반영되는 건가요? 그래서 로컬폴더를 삭제하고 docker-compose up 을 재 실행하면 데이터가 모두 날라가는 건가요?(2) docker-compost up 을 실행하면 처음에는 로컬에서 docker postgres 에 데이터를 가져오는데 그럼 ./postgres-data 폴더가 있을때와 없을때가 다르게 동작하는 건가요? 예를들어 있을때는 로컬에서 docker postgres 로 전송, 없을때는 docker postgres에서 로컬로 전송. 아래는 제가 이해하고 있는 점인데 어떤 부분이 맞고 틀린 지를 알 수 없어서 쭉 적어봤습니다!!처음 docker-compose up 을 실행하면 ./postgres-data 폴더가 없어서 docker postgres의 폴더를 복사해서 가져와 매핑합니다. 매핑 되어있는 폴더 덕분에 우리는 로컬 폴더와 TypeORM 을 사용해서 데이터에 변화를 주고 이러한 CRUD 는 docker postgres 에 반영됩니다.이러한 매핑 덕분에 docker 가 문제가 되어 docker postgres 의 데이터가 삭제되어도 로컬에서 저장된 데이터를 매핑할 수 있어 데이터를 보존할 수 있습니다.로컬에서 ./postgres-data 를 삭제하고 docker-compose up 을 실행하면 docker postgres 는 로컬의 CRUD 중 Delete 상황을 docker postgres 에 반영하여 데이터를 모두 삭제하고 폴더가 없어졌으니 다시 받아오는 작업을 한다. 혹시 잘못된 개념 부분이 있을까요?