묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
8-6 도커 compose-build 에러 질문있어요,,
ModuleNotFoundError: No module named 'distutils' 이런 에러가납니다.구글링해보면 파이썬 버전관련해서 얘기를하던데..갑자기 파이썬이 튀어나오니까 당황스럽습니다 ㅜㅜ 풀 에러코드는 다음과 같습니다.$ docker-compose build Traceback (most recent call last): File "/usr/bin/docker-compose", line 33, in <module> sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/bin/docker-compose", line 25, in importlib_load_entry_point return next(matches).load() ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load module = import_module(match.group('module')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 995, in exec_module File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 9, in <module> from distutils.spawn import find_executable ModuleNotFoundError: No module named 'distutils' 다음은 제가 작성한 docker-compose.yaml입니다.# docker-compose.yaml version: '3.7' services: my-backend: build: context: . dockerfile: Dockerfile volumes: - ./src:/myfolder/src ports: - 3000:3000 env_file: - ./.env.docker my-database: image: mysql:latest environment: MYSQL_DATABASE: 'mydocker' MYSQL_ROOT_PASSWORD: 'root' ports: - 3306:3306 혹시 고수님들 이 문제에대한것을 알고계신다면 답변주세요..혹시나 제가 해결했을 경우 댓글에 해결완료라고 제가 적겠습니다.. 도움이 필요합니다..오늘 하루종일 mysql 로컬 연결 에러와, 지금 이 에러에 강의진도를 못나가니 심신미약상태가 되어버렸네요..
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
여러분 우분투에서 mysql 설치 질문있습니다.
처음에 터미널 열어서 아무 블로그에서 나오는대로 설치하고 로그인도하고 잘했던거같아요.근데 강의 따라하면서 dbeaver-ce에 연결이안되서 내가 설치를 잘못했나 싶어서검색해서 mysql 지웠습니다.근데 리눅수 우분투 App Center에 mysql치면 나오는게있길래 mysql-shellmysql-server두개를 설치후,mysql -u root -p 를하면 ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2) 이런 에러가 나옵니다.다시 재설치를위해서sudo apt-get install mysql-server명령어를 입력하면몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고, 불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나, 아직 Incoming에서 나오지 않은 경우일 수도 있습니다. 이 상황을 해결하는데 다음 정보가 도움이 될 수도 있습니다: 다음 패키지의 의존성이 맞지 않습니다: mariadb-client-core : 충돌: virtual-mysql-client-core mysql-community-server-core : 의존: libaio1 (>= 0.3.93) 하지만 설치할 수 없습니다 추천: mecab-ipadic-utf8 하지만 %s 패키지를 설치하지 않을 것입니다 E: 오류, pkgProblemResolver::Resolve가 망가졌습니다. 고정 패키지때문에 발생할 수도 있습니다. 이렇게 터미널에 나옵니다.마리아db를 설치한적도없는데 왜 충돌나는건지 잘 모르겠네요.. 혹시 제가 겪은거 겪고 해결해보신분 계실까요?ㅠㅠ
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
Celery 수업중 세팅 질문드립니다.
안녕하세요! 강사님의 좋은 강의덕에 완강을 눈앞에 두고 있습니다! 현재 celery 파트 강의를 듣는중 docker 환경이 아니라 로컬에서의 celery 세팅방법을 알려주시면 감사하겠습니다ㅠㅠ
-
해결됨차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)
섹션 5 login 인증 기능
섹션5 인증관련 login 기능 코드를 수업과 똑같이 작성 했는데 postman 에서{ "success": false, "status": 400, "message": "Bad Request" } 에러 뜹니다.터미널에서 뜨는내용{"level":50,"time":1718325166296,"pid":23544,"hostname":"DESKTOP-BDGKO8E","reqId":"req-d","err":{"type":"Error","message":"\"expiresIn\" should be a number of seconds or string representing a timespan eg: \"1d\", \"20h\", 60","stack":"Error: \"expiresIn\" should be a number of seconds or string representing a timespan eg: \"1d\", \"20h\", 60\n at module.exports [as sign] (D:\\Practice\\slog-fastify-prisma-ts-study\\node_modules\\jsonwebtoken\\sign.js:213:22)\n at generateRefreshToken (d:\\Practice\\slog-fastify-prisma-ts-study\\src\\lib\\authHelper.ts:54:30)\n at Object.loginWithPassword (d:\\Practice\\slog-fastify-prisma-ts-study\\src\\services\\authService.ts:46:30)\n at Object.<anonymous> (d:\\Practice\\slog-fastify-prisma-ts-study\\src\\routes\\auth\\index.ts:24:28)"},"msg":"\"expiresIn\" should be a number of seconds or string representing a timespan eg: \"1d\", \"20h\", 60"}{"level":30,"time":1718325166297,"pid":23544,"hostname":"DESKTOP-BDGKO8E","reqId":"req-d","res":{"statusCode":400},"responseTime":44.27779999934137,"msg":"request completed"}어디 부분을 수정해야 하는지요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
오류로 인해 더 이상 진행이 어려워 문의합니다.
강의 잘 듣고 있습니다.아래 이미지와 같은 오류가 뜨면서 여러가지(db 삭제, Docker 재 시작, 서버 재 구동, debugger 로 확인..등) 해 봤는데, 원인을 찾을 수가 없어 강사님께 도움 청합니다.이 전까지 잘 진행되고 있었고, 현재 진행하는 강좌도 반복해 확인 해 봤는데...위와 같은 이미지 내용만 봐서 찾기 힘드시겠지만, 혹시 하는 심정으로~~도움 부탁 드립니다. 꾸~벅.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
nestjs 자료 다운로드 받을 수 있다고 하는데, 찾아봐도 도저히 못찾겠네요 어디서 찾을 수 있나요?
nestjs 자료 다운로드 받을 수 있다고 하는데, 찾아봐도 도저히 못찾겠네요 어디서 찾을 수 있나요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
클래스 라이브러리 추가시
클래스 라이브러리를 추가하면 계속해서 클래스 라이브러리에 대한 폴더가 생성 되는데 이것이 정상인가요?강사님이 올려주신 코드, 강의를 보면 클래스라이브러리 폴더가 추가가 되지 않던데.. 어떻게 설정을 해야 하는건가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
onDelete 실행 시 대상 entity 가 null, 관계 Entity가 삭제되지 않는 현상
typeORM은 0.3.17 입니다. 말 그대로 UserModel 에서 OneToOne 의 relation option "'onDelete: CASCADE'" 로 profile entity 를 삭제했을때 UserModel 이 삭제되지 않고, profile 이 null 로 표기되는 현상입니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
액세스 토큰 재발급 관련하여 질문이 있습니다.
안녕하세요 강의 잘 듣고 있습니다.액세스 토큰이 만료되었다고 가정했을 때 프론트에서 특정 API(예시. post 조회)를 호출하면 토큰이 만료되었다는 에러 메시지를 받죠.그러면 앱에서 토큰만료 리스폰스가 도착하면 토큰을 재발급 받은 후 다시 post를 조회하는 API를 호출하는건가요??고객의 입장에서는 위 내용을 알 필요가 없을 것 같아서요.(c. 클라이언트, s.서버)C.API 호출 -> [ S.만료되었다는 익셉션 -> C.재발급 요청 -> S.토큰 재발급 -> C.다시 API호출 ] -> S.응답 반환위 순서도에서 대괄호 친 부분은 클라이언트에서 알아서 다시 처리하는건지 궁금합니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
맞는 의존성 주입
저는 Maven이 아닌 gradle을 사용하고 있습니다 근데 31강에서 오류가 발생했습니다.Maven이 아닌 gradle이라 바꿔서 의존성주입을 하면서 강의를 진행했는데 트러블 슈팅이 되지 않아 올립니다 도와주세요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션26 FileIntercepter 업로드 파일 질문
다른것은 다 문제가 없다만, 업로드 public/post파일에 이미지가 안들어옵니다일부러 폴더이름과 변수명은 다르게 했습니다@Module({ imports: [ TypeOrmModule.forFeature([Event]), MulterModule.register({ fileFilter: (_req, file, cb) => { extname(file.originalname) return cb(null, true) }, storage: multer.diskStorage({ destination: (_req, _res, cb) => { cb(null, EVENT_IMG_PATH) }, // 파일 이름이 겹치지않게 고유한 uuid값을 이미지 고유 이름 앞에 붙여줌 filename: (_req, file, cb) => { cb(null, `${uuid()}${extname(file.originalname)}`) } }) }) ], controllers: [EventController], providers: [EventService] }) export class EventModule {} import { join } from 'path' //서버 프로잭트 루트 폴더 export const ROOT_PATH = process.cwd() // 외부에서 접근가능한 파일들 모아둔 폴더 이름 export const PUBLIC_FOLDER_NAME = 'upload' //위클 이벤트 사진들이 저장된 폴더 이름 export const EVENT_FOLDER_NAME = 'event' //실제 공개폴더의 실제 위치 export const PUBLIC_FOLDER_PATH = join( ROOT_PATH, PUBLIC_FOLDER_NAME ) //위클 이미지를 저장할 폴더 export const EVENT_IMG_PATH = join( PUBLIC_FOLDER_PATH, EVENT_FOLDER_NAME ) // upload/event/이미지 export const EVENT_PUBLIC_IMG_PATH = join( PUBLIC_FOLDER_NAME, EVENT_FOLDER_NAME )
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션26 FileIntercepter
@Module({ imports: [ TypeOrmModule.forFeature([Event]), MulterModule.register({ fileFilter: (_req, file, cb) => { extname(file.originalname) return cb(null, true) }, storage: multer.diskStorage({ destination: (_req, _res, cb) => { cb(null, EVENT_IMG_PATH) }, // 파일 이름이 겹치지않게 고유한 uuid값을 이미지 고유 이름 앞에 붙여줌 filename: (_req, file, cb) => { cb(null, `${uuid()}${extname(file.originalname)}`) } }) }) ],
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
relation Selection 관련
Image 의 특정 컬럼만 select 하고 싶어서 find 옵션에 아래와 비슷하게 적용했더니, transform 데코레이터가 적용이 되지 않네요. chatGPT 에게 물어보니 transform 데코레이터 적용을 받으려면 QueryBuilder 를 쓰라는데, 가독성이 떨어질 것 같아서 찜찜하네요. 다른 방법은 없을까요? 아니면 일단 그냥 인강대로 쭉 진행한 다음 Prisma 로 빠르게 마이그레이션 한 다음에 이런 고민을 진행하는 게 나으려나요? export const POST_FIND_OPTIONS: FindManyOptions<PostsModel> = { select: { id: true, ..., images: { path: true } }, relations: ['images', 'author'], };
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
public/posts가 붙는이유
좋은 강의 감사합니다! DB에는 파일명만 저장되어있고 post POST 요청보낼때도 파일명만 보내는데, 어떻게 post get요청을할때 public/posts가 붙는건가요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn add express 를 해도 Cannot find module 이슈
yarn add express 을 여러번 하고,구글링을 통해 현재는 node_modules 가 생성되지 않는 것까지 파악했습니다.{ "name": "NestJS", "packageManager": "yarn@4.2.2", "dependencies": { "express": "^4.19.2" } } 현재 의존성이 다음과 같이 세팅되어 있는데 맨 위 사진처럼 cannot find modules 가 나오는데, 방법이 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 통합 링크https://links.codefactory.aiFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
DB에서 조회된 다건의 데이터를 처리할 때
안녕하세요 강사님저 강의를 다회차 보면서 궁금한 점이 생겨서요.기존 코드 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO); dc.Remove("Password"); ProcCall procCall= new ProcCall(); DataTable dt = await procCall.RequestProcedure("sp_login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.Id = (int)dt.Rows[0]["id"]; dto.Userid = dt.Rows[0]["userid"].ToString(); dto.Username = dt.Rows[0]["Username"].ToString(); dto.Point = (int)dt.Rows[0]["Point"]; return dto; }로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
기간별 조회가 안되고 있습니다.
안녕하세요. 강의 잘 듣고 있습니다.막히는 부분에서 부분별로 강의를 들으면서 하는데, 개념 잡기에는 좋은데.. 실무에서 변형하면서 사용하려니 막히는 부분이 생기네요.. ㅡ.ㅜ; 우선 주문 데이타를 기가별로 조회를 하려고 하는데, 안되고 있습니다.구글링과 스택쪽을 찾아봐도 딱히 잡히는것도 없고.. gpt가 알려준대로 해도 안되네요.. db는 postgreSQL로 최신버전이며.. 구성은 nest.js + prisma + swagger + graphQL로 구성되어 있으며, 버전은 최신버전으로 현재 구성된 상태입니다.// schema.prisma model Order { .... order_date DateTime? } // orders.controller.ts async getOrdersByDateRange( @Query('start_date') start_date: string, @Query('end_date') end_date: string, ): Promise<Order[]> { const startDate = new Date(start_date); const endDate = new Date(end_date); if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) { throw new BadRequestException('날짜 형식이 잘못되었습니다.'); } return this.ordersService.getOrdersByDateRange(startDate, endDate); } // orders.service.ts async getOrdersByDateRange( start_date: Date, end_date: Date, ): Promise<Order[]> { const orders = await this.prisma.order.findMany({ where: { order_date: { gte: new Date(start_date.setHours(0, 0, 0, 0)), // 시작일 00:00:00 lte: new Date(end_date.setHours(23, 59, 59, 999)), // 종료일 23:59:59.999 // gte: start_date, // 이것도 안됨 // lte: end_date, // 이것도 안됨 }, //order_date: Between(start_date, end_date), }, }); if (!orders || orders.length === 0) { throw new NotFoundException( `기간 내에 주문 데이터가 없습니다.`, ); } 디비쪽 데이타를 이와 같습니다. 입력 값은 start_date : 2024-05-01end_date : 2024-06-05이렇게 전달해서 조회하는데, 아무런 데이타를 못 가져오고 있습니다.request url : http://localhost:3000/orders/dateRange?start_date=2024-05-01&end_date=2024-06-05response body:{ "message": "Order with ID dateRange not found.", "error": "Not Found", "statusCode": 404 }이처럼 출력되고 있습니다.아무리 해 봐도 안되어서 질문 드립니다.알려주시면 감사하겠습니다.. ㅜ.ㅜ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
선생님 그러면 만약에 도커로 백엔드 실행하지말고 구냥..
만약 도커로 백엔드 실행하기싫고,내 로컬에서 백엔드 실행한다고하면 mongoose .connect("mongodb://my-database:27017/mydocker") .then(() => { console.log("DB 연결 성공"); }) .catch((err) => console.log("DB 연결 실패", err));connect부분을 로컬호스트:27017로만 변경하면 되는거는 알겠는데..너무 번거로운거같은데 혹시 .env에 설정하는 방식같은게 없을까요? 예를들면 프로덕션, 개발모드에 따라서env를 바꿀수있잖아유그런것처럼 도커컨테이너 환경 혹은 그냥 로컬에서 백엔드 실행했을때환경 이런걸 구분할수있는 방법은없나유?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
cshtml.css, cshtml.cs 비하인드 코드 추가 방법
아래와 같이 css를 추가 했는데 적용이 되지 않습니다.asp.net core mvc로 했을 때 아래와 같이 추가를 하면 적용이 되는데 asp.net core 비어있음으로 생성 후 아래와 같이 추가를 하면 동작이 되지 않아요cshtml.css, cshtml.cs를 추가하고 싶으면 어떻게 해야 하나요? 관련 강의도 추가를 해주시면 감사하겠습니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
Schemaless 특성을 재생시 검은화면이 나와요
Schemaless 특성을 재생시 검은화면이 나와요 새로고침해도 같은 현상이 나오네요 ㅠ