inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

결제 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 강의 잘 듣고 있습니다. 강사님 따라서 포트원으로 결제 만들고 있다가 문득 궁금한 점이 생겨서 질문 드립니다. 유저가 결제할 때 악의적으로 매크로를 이용해 결제 버튼을 여러 번 클릭하면 여러 번 결제가 될 수 있을까요? 제가 포트원 카카오페이로 결제했을때 m_redirect_url(모바일 환경)을 설정했더니 재결제가 되지는 않았어요. 포트원으로 결제할 때는, 포트원이 각 거래마다 merchant_uid나 imp_uid를 설정해줘서 재결재가 안일어나는 건가요?

  • rest-api
  • nestjs
웨스 댓글 1 좋아요 0 조회수 344

섹션 8 에서 도커 컴포스파일 작성해보기 에서 에러

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

안녕하세요 docker-compose up 명령어를 입력했을 때 에러가 나왔습니다 에러 내용 joy@gimjonghuiui-MacBookAir CF_SNS % docker-compose up Attaching to cf_sns-postgres-1 Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/host_mnt/Users/joy/Documents/NestJs/CF_SNS/postgres-data" to rootfs at "/var/lib/postgresql/data": mount /host_mnt/Users/joy/Documents/NestJs/CF_SNS/postgres-data:/var/lib/postgresql/data (via /proc/self/fd/9), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type 위에 내용이 뜨면서 실행이 안되는것 같습니다 postgres-data 관련 파일도 새롭게 만들어지지 않았습니다 어떻게 해결하면 좋을까요..?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
JONGHEE KIM 댓글 2 좋아요 0 조회수 581

시트 이름 지정하려는데 title 명령이 안 먹혀요

미해결

파이썬 무료 강의 (활용편4) - 업무자동화 (RPA)

기본 명령어인 것 같은데 어째서 title만 어트리뷰트가 없다고 에러 뜰까요? 프로그램을 껐다 켜봐도 이렇습니다.. 파이선 3.8.6 버전 쓰고 있고 비주얼 스튜디오 코드는 1.83.1 버전 쓰고 있는 것 같네요

  • rpa
  • 파이썬
  • openpyxl
  • python
  • python3
이예린 댓글 1 좋아요 0 조회수 409

개발환경과 배포환경시 다른 의존성을 주입하는 예제

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

질문보다는 코드 리뷰에 가까운데 강의 내용중에 나온 테스트 코드와 실제 배포시 다르게 적용할 경우 예제를 작성해 보았습니다. 이해한 내용이 맞는지 또는 보안이나 수정할 만한 내용이 있는지 알려주시면 감사합니다. //app.service.ts import { Injectable } from '@nestjs/common'; export interface IAppService { getSecret(): string; } @Injectable() export class AppService implements IAppService { getSecret(): string { return '실제 배포 환경'; } } @Injectable() export class Test_AppService implements IAppService { getSecret(): string { return '개발 테스트 환경'; } } //app.module.ts import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService, Test_AppService } from './app.service'; import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ConfigModule.forRoot({ isGlobal: true })], controllers: [AppController], providers: [ { provide: 'AppService', useClass: process.env.NODE_ENV === 'production' ? AppService : Test_AppService, }, ], }) export class AppModule {} //app.controller.ts import { Controller, Get, Inject } from '@nestjs/common'; import { IAppService } from './app.service'; @Controller() export class AppController { constructor(@Inject('AppService') private readonly appService: IAppService) {} @Get() getHello(): string { return this.appService.getSecret(); } }

  • node.js
  • express
  • nestjs
  • typeorm
최석우 댓글 1 좋아요 0 조회수 298

의존성 주입시 객체가 반복적으로 생성될 수 있다고 했는데 해결방법이 어떻게 되는건가요?

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

강의 내용중 어떤것들은 DI 때마다 객체가 생성될수가 있고 그럴 경우 웹소캣 객체같은 경우 문제가 생길수 있다고 하셧는데 Nest 에서 그것을 해결하기 위해 자동으로 Module 단에서 Provider에 추가시 자동으로 객체를 하나만 만든후 재사용하여 (싱글톤과 유사하게 작동) 등을 통해 해결을 해주는것인지 아니면 직접 해당 Class에서 싱글톤으로 생성을 해줘야 하는건지 궁금합니다.

  • node.js
  • express
  • nestjs
  • typeorm
최석우 댓글 1 좋아요 0 조회수 374

핸드폰에 전송이 안 되네요 ㅜㅜ

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

강의랑 똑같이 따라한 것 같은데.. postman에서는 오류가 발생하지 않고 인증완료라고 뜨긴 하는데요, vscode의 터미널을 보면 발신번호 미등록이라고 뜨고 .. 핸드폰에 전송이 안 되네요. 뭐가 문제일까요? coolsms, mysms, API key랑 API secret도 cSpell 오류가 뜨길래 상위 폴더에서 .cspell.json 파일 만들어서 오류 안뜨게 했는데.. 여기서부터 문제였던 걸까요? 참고로 yarn add coolsms-node-sdk도 했고.. 분명 다 한 것 같은데ㅜ 어디서부터 잘못된건지 정말 모르겠어요.. 혹시 제가 코드 이상하게 작성하거나 잘못된 부분이 있나 해서.. 코드도 붙여봅니다 ㅜㅜ 꼭 성공하고 싶은데 제가 아직 코린이라 ㅜㅜ 다 어렵기만 하네요 ㅜㅜ { "name": "04-01-rest-api-with-express", "version": "1.0.0", "main": "index.js", "license": "MIT", "type": "module", "scripts": { "dev": "nodemon index.js" }, "dependencies": { "coolsms-node-sdk": "^2.0.1", "cors": "^2.8.5", "express": "^4.18.2", "nodemon": "^3.0.1", "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^5.0.0" } } import coolsms from "coolsms-node-sdk"; export function checkValidationPhone(myPhone) { if (myPhone.length !== 10 && myPhone.length !== 11) { console.log("에러 발생!!! 핸드폰 번호를 제대로 입력해 주세요!!!"); return false; } else { return true; } } export function getToken() { const myCount = 6; if (myCount === undefined) { console.log("에러 발생!!! 갯수를 제대로 입력해 주세요!!!"); return; } else if (myCount <= 0) { console.log("에러 발생!!! 갯수가 너무 적습니다!!!"); return; } else if (myCount > 10) { console.log("에러 발생!!! 갯수가 너무 많습니다!!!"); return; } const result = String(Math.floor(Math.random() * 10 ** myCount)).padStart( myCount, "0" ); return result; // console.log(result) } export async function sendTokenToSMS(fff, ggg) { // console.log(fff + "번호로 인증번호" + ggg + "를 전송합니다!!"); const mysms = coolsms.default; const messageService = new mysms( "NCSESSQG0X1RZAGF", "2OFMQEDM5YCL59ICURBSPJGD08R1FQOG" ); const result = await messageService.sendOne({ to: fff, from: ggg, text: `[코드캠프] 안녕하세요?! 요청하신 인증번호는 [${ggg}] 입니다.`, }); console.log(result); } import { checkValidationPhone, getToken, sendTokenToSMS } from "./phone.js"; import express from "express"; import swaggerUi from "swagger-ui-express"; import swaggerJsdoc from "swagger-jsdoc"; import { options } from "./swagger/config.js"; import cors from "cors"; const app = express(); app.use(cors()); app.use(express.json()); app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerJsdoc(options))); app.get("/boards", (req, res) => { //1. 데이터를 조회하는 로직 => DB에 접속해서 데이터 꺼내오기 const result = [ { number: 1, writer: "철수", title: "제목1", contents: "내용1" }, { number: 2, writer: "맹구", title: "제목2", contents: "내용2" }, { number: 3, writer: "훈이", title: "제목3", contents: "내용3" }, ]; //2. 꺼내온 결과 응답 주기 res.send(result); }); app.post("/boards", (req, res) => { // 1. 데이터를 등록하는 로직 => DB에 접속해서 데이터 저장하기 // 프론트엔드로부터 데이터 받아오기 // 콘솔로 찍어서 확인 해보기 console.log(req.body); // 2. 저장 결과 알려주기 res.send("게시물 등록에 성공하였습니다."); }); app.post("/tokens/phone", (req, res) => { const myPhone = req.body.aaa; // 1. 휴대폰번호 자릿수 맞는지 확인하기 const isValid = checkValidationPhone(myPhone); if (isValid) { // 2. 핸드폰 토큰 6자리 만들기 const myToken = getToken(); // 3. 핸드폰번호에 토큰 전송하기 sendTokenToSMS(myPhone, myToken); res.send("인증완료"); } }); app.listen(3000, () => { console.log(`Example app listening on port ${3000}`); });

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
김소진 댓글 2 좋아요 0 조회수 1016

TypeORM @PrimaryGeneratedColumn 관련 질문

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

@PrimaryGeneratedColumn() 데코레이터에 인자로 전달할 수 있는 increment와 identity에 따라서 어떤 차이가 있는지 궁금합니다. 찾아봐도 알기가 어려워서 질문드립니다.

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
Intuitioner 댓글 1 좋아요 0 조회수 848

nestjs와 프론트 연동 질문드립니다.

미해결

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

nestjs랑 nextjs를 사용하여 로그인 기능을 만들고 있습니다. nestjs의 validation을 사용해서 @IsEmail이 아닌 경우 예외처리를 하게 만들어주었습니다. postman에서는 message가 잘 뜨는데 프론트엔드에서 console.log(error)로 찍어보면 postman에서 response으로 받은 값이 없습니다. 프론트에서도 postman처럼 response값을 받으려면 어떻게 해야하나요? <프론트> <서버> <dto> <postman> <브라우저>

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
dalim508 댓글 2 좋아요 0 조회수 867

파트2 강의도 출시되나요??

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

궁금합니다

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
developerDoor 댓글 1 좋아요 1 조회수 523

css질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

display:flex가 없어도 위치가 똑같은부분에 왜 display:flex; flex-direction:column; or flex-direction:row를 왜 쓰는지 모르겠어요 안써도 위치가같아보이는데 필요성도 안느껴지고 언제언제쓰는지도 잘 모르겠습니다

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
김민준 댓글 1 좋아요 0 조회수 245

[Patch Post 엔드포인트 생성하기] posts 변경 이유

해결됨

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

[4:23] 부분에 post를 변경하고 다시 기존 배열 값을 치환해주시는데, find()통해 할당된 변수가 어차피 참조형이라 얕은 복사로 바로 배열 내부 post가 수정되지 않나요?

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
Tykan 댓글 3 좋아요 4 조회수 699

피그마 code가 강의내용과 다릅니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

저는 피그마 코드가 강의랑 다릅니다. 강의랑 똑같이는 안되나요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
이하늘 댓글 2 좋아요 0 조회수 412

서비스 배포 관련 궁금한 부분이 있어 질문드립니다.

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

서비스 배포 관련 궁금한 부분이 있어 질문드립니다. 1. 현재 ubuntu 에 nginx 와 pm2 설치 해서 nestjs를 테스트 진행하고 있는데 특별한 이상은 없어 보이는데 실제 서비스에도 pm2를 사용하게 안전성에 문제가 없는지 궁금 합니다. 2. 검색을 하다보니 Bun 1.0 이 있던데 이거 실제 서비스에 사용할수 있는지 궁금합니다.

  • node.js
  • express
  • nestjs
  • typeorm
심재화 댓글 1 좋아요 0 조회수 179

5:54 분에 에러 고치라는 숙제에 대해서

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

DeepPartial 이란 타입이 있던데 그걸 사용하는건가요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
박상준 댓글 1 좋아요 0 조회수 375

복습개념으로 다시 들을려고 하는데요

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

html,css,javascript를 복습 개념으로 다시 들을려고 하는데 훈훈한 Javascript 부터 들으면 되나요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
kql 1 댓글 1 좋아요 0 조회수 261

apply axis 관련 질문

해결됨

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

섹션7-2 5분 2초 apply부분에 apply(func, axis = 0)으로 하면 왜 '영어' 행이 하나 더 생기나요?

  • python
  • pandas
tjswn0125 댓글 1 좋아요 0 조회수 315

AWS-SDK를 사용하여 S3에 이미지를 저장할때 이 경로를 DB에 저장하려면 어떻게 해야하나요?

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

강의 따라 진행하며 프론트엔드에서 Image Upload 버튼을 눌러서 이미지를 선택하였을때 AWS S3에 저장되는 것까지는 확인이 되었습니다. 다만 DB에서는 기존 이미지 경로 그대로여서 업데이트한 이미지가 적용되지 않고 있는데, 여기서는 어떻게 진행하면 좋을까요? S3 사용 전에는 cats.repository에서 save 메소드 사용하여 새로 갱신된 이미지 파일 경로를 저장하는 과정이 있었듯이 async findByIdAndUpdateImg(id: string, fileName: string) { const cat = await this.catModel.findById(id); cat.imgUrl = fileName; const newCat = await cat.save(); // DB에 내용 저장 console.log(newCat); return newCat.readOnlyData; } aws.service의 S3 저장하는 구간 중간에 db에 저장하는 과정을 추가해주면 될 것 같은데.. 언어 실력이 부족하여 어떻게 시도를 해야할지 감이 잡히질 않습니다. async uploadFileToS3( folder: string, file: Express.Multer.File, ): Promise<{ key: string; s3Object: PromiseResult<AWS.S3.PutObjectAclOutput, AWS.AWSError>; contentType: string; }> { try { const key = `${folder}/${Date.now()}_${path.basename( file.originalname, )}`.replace(/ /g, ''); const s3Object = await this.awsS3 .putObject({ Bucket: this.S3_BUCKET_NAME, Key: key, Body: file.buffer, ACL: 'public-read', ContentType: file.mimetype, }) .promise(); return { key, s3Object, contentType: file.mimetype }; } catch (error) { throw new BadRequestException(`File upload failed : ${error}`); } } 조언 부탁드립니다..

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
jeongho218 댓글 1 좋아요 0 조회수 833

강의에 있는 똑같은 ppt는 pdf로라도 구할 수 없는걸가요?

미해결

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

강의자료에 자료가 있습니다만, 가르쳐주시는 곳의 ppt 랑 똑같은거는 아니더라고요. 강의중에 쓰는 ppt가 복습할때 더 효율적일 거 같아서 볼려고 하는데 볼 수 없을까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
leejken530 댓글 1 좋아요 1 조회수 301

회원가입 과제 정답지를 알고싶어여

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

파이널 과제말고 수업도중에 회원가입 과제가있는데 그거 정답지를 좀 알고싶어요

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민준 댓글 2 좋아요 0 조회수 501

인기 태그

인프런 TOP Writers

주간 인기글