inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

안녕하세요 리액트에서 fetchUser를 이용해 로그인이 되어있는지 검증하려고 합니다

해결됨

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

리액트에서 fetchUser를 이용해 로그인이 되어있는지 검증하려고 하는데 로그인api를 호출 후 fetchUser를 호출하면 Unauthorized에러가 납니다 헤더에 토큰이 저장되지 않아서 그런걸까요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
  • graphql
  • react
김선규 댓글 1 좋아요 0 조회수 324

getPostById를 다른 함수에서 사용

미해결

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

안녕하세요 강사님 CRUD를 위한 API를 생성하는 과정에서 의문이 생겨 질문 드립니다. Post부분에서 getPostById 함수를 구현을 했는데, 다른 함수들에서 getPostById와 동일한 로직이 필요한 것을 발견했습니다! 예를 들어, update 또는 delete 함수를 구현할 때, id에 맞는 post를 검색하고, 만약 존재하지 않는다면 에러를, 존재한다면 post를 반환하는 로직이 필요합니다. 근데 getPostById 함수가 그 로직을 그대로 갖고 있기 때문에 다른 함수들에서 getPostById 함수를 가져다 사용해도 되나 해서 여쭤봅니다. 이런식으로요! 코드 가독성 측면에서는 더 좋아보이긴 하지만, 이게 안티패턴인지 아닌지를 모르겠기도 하고, 제가 모르는 문제가 있나 싶어서 여쭤봅니다! 감사합니다!

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
복돌 댓글 2 좋아요 0 조회수 512

npm 대신 yarn을 사용하는 이유가 있나요?

미해결

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

yarn을 사용했을 때 compatibility 문제가 있을 수 있다고 아는데 그럼에도 불구하고 npm 대신 yarn을 사용하시는 이유가 궁금해서 질문 남깁니다. 질 좋은 강의 감사합니다.

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
wonji shin 댓글 1 좋아요 0 조회수 730

안녕하세요 08-02-nestjs-with-graphql 폴더실행시에러

해결됨

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

안녕하세요 해당영역 학습중인데 서버실행시 자꾸 Error: Cannot find module '@apollo/server' 이런에러가 발생됩니다 그래서 node_modules 디렉토리 삭제후 다시 설치해보고 yarn add apollo-server 명령어를 사용해서 설치도해보았는데도 동일한 증상입니다..ㅠ 그래서 앞부분 학습을 못하고잇어요 ㅠ 현재 버전은 이러합니다 !

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

식별 관계랑 비식별 관계

해결됨

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

안녕하세요 강의 끝까지 잘봤습니다!!! 강의 시청 후 포트폴리오용 프로젝트 설계 중에 식별 관계에 대해 의문이 생겨서 질문합니다! 우선 식별 관계로 구성 시 자식 테이블에 데이터를 넣기 전에 부모 테이블에 데이터가 필수적으로 존재해야 한다고 알고 있습니다. 이는 개발자가 실수로 데이터를 입력하는 것을 막아줌으로써 데이터 정합성을 DB에서도 체크할 수 있지만, 만약 요구사항이 변경된다면 테이블의 데이터와 구조를 모두 변경해야하는 불상사가 발생할 수 있다고 알고 있습니다. 그렇다면 굳이 식별 관계로 설정할 필요가 있나요?? 그냥 전부 비식별 관계로 설정하면 안될까요? 포트폴리오에 올릴 프로젝트를 만드는 중이라 정석대로 식별 관계로 설정해야 하나 싶은데, 아직 뭐가 뭔지 잘 모르는 상태에서 괜히 복잡하게 식별 관계로 설정하는게 맞는건가 잘 모르겠어서요ㅜㅜ

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

gcp gke configmap관련 질문드립니다

해결됨

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

gcp gke configmap관련 질문드립니다 지워도 보고 docker-compose file에서 envfile 주석처리되어있는데도 막상 디플로이하면 항상 env에 localhost 로 나와버리네요 configmap에선 정상적으로 제가 입력한값으로 뜨는데 적용이 안됩니다 로컬에서 도커이미지 전부다 지워봤는데도 계속 그럽니다, 어떻게 해야할까요?

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

서버에 여러명이 동시 접속 시 잘못된 개인정보 전송 오류

미해결

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

안녕하세요 제로초님~ 금일 질문드리고자 하는 내용은 제 ec2 에 띄워둔 nest.js 서버에 여러명이 동시에 접속 시, 서버의 오작동에 관한 내용입니다. nest.js 로 개발을 하면서 여러 사람이 서버에 동시에 로그인을 하면, 로그인한 당사자가 아닌 다른 사람의 회원정보가 나타나는 버그를 발견했습니다. 그래서 인터셉터를 사용하여 사용자에게 응답을 보내기 전 한번 더 검증을 진행하는 방식으로 해결을 했지만, 여러 의문점들을 해결하지 못하여 질문드립니다. 1. 인터셉터를 사용하여 위 문제를 해결한 것이 올바른 접근 방식일까요? 팀원들에게 물어보니 인터셉터를 적용한 후에 위 같은 현상이 사라졌다고는 합니다. 2. 이러한 문제가 나타나는 이유가 무엇일까요? 제 예상으로는 Node.js 가 싱글스레드라서 여러 요청이 한번에 몰려오면 비동기 부분이 꼬여서 나타나는 문제일까 생각했습니다. 그런데 챗지피티에게 물어보니 오히려 싱글스레드, 싱글톤이면 꼬일 일이 없다고 해서 더 혼란스럽네요. ============================================ 깃허브 저장소 컨트롤러 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/users/users.controller.ts#L63 서비스 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/users/users.service.ts#L72 가드 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/auth/guard/at.guard.ts#L13 전략 부분 : https://github.com/fog-of-war/dev-be/blob/fff2d70af55ba51d1b3649006774b4d2aec7d566/src/auth/strategy/at.strategy.ts#L12 인터셉터 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/common/interceptor/user-sub-check.interceptor.ts GetCurrentUser 데코레이터 부분 : https://github.com/fog-of-war/dev-be/blob/dev/src/auth/decorator/get-current-user-id.decorator.ts#L4 ============================================ 아래의 글은 제가 해결해보면서 적은 블로그 글입니다. ### 1. 로그로 찍어보기 일단 로그로 어떻게 된 일인지 확인해봤다. ```ts @UseGuards(ATGuard) @Controller("users") export class UsersController { constructor( private userService: UsersService, private logger: LoggerService ) {} /** 나의 정보 가져오기/ 마이페이지, 메인페이지 사용 */ @Get("me") async getMe(@GetCurrentUserInfo() user) { // 1. 여기선 user_id : 3 으로 출력되나 this.logger.log("1️⃣ 1. 자신의 회원정보 호출한 사람 ", user["sub"]); const result = await this.userService.findUserById(user["sub"]); // 2. 여기선 user_id : 2 의 정보를 출력 후 user_id : 3 에게 응답 this.logger.log("2️⃣2. 자신의 회원정보 호출 결과", result); return result; } } user_id : 3 이 'users/me' 요청을 했을때 1️⃣ 로그에서는 정상적으로 요청한 사람의 정보를 출력했다. 그러나 서비스 계층 비즈니스 로직을 지난 뒤인 2️⃣ 로그에서는 user_id : 2 의 정보를 출력했다. 엑세스토큰 소유자의 것이 아닌 동시에 접속한 다른 사람의 정보를 전달한 것이다. 혼자 로컬에서 여러 계정으로 로그인해가며 작업을 할 땐 이런 현상이 없었기에, Node.js 의 싱글스레드 방식 때문이 아닐까 예상했다. ### 2. 비슷한 사례 찾아보기 "로그인하면 다른 사람 정보가"···리디, 개인정보 유출 사고 [https://v.daum.net/v/20230329083313717]( https://v.daum.net/v/20230329083313717 ) 올리브영 개인정보 노출 사건, 무슨 일이 일어났을까? [https://www.boannews.com/media/view.asp?idx=114594]( https://www.boannews.com/media/view.asp?idx=114594 ) 리디북스의 경우 CDN 서버 캐시 설정 오류, 올리브영의 경우 CDN 오류 였다고 한다. 현재 내 서버는 CDN 방식을 사용하지 않고 있다. 올리브영, 아직 조사 중이라 상세 내용 공개 어려워 그러면서 “CDN(콘텐츠 배포 네트워크)에서 일시적인 오류가 발생해 일부 고객들의 정보가 노출된 것”이라고 설명했다. CDN이 엉키면 사용자가 특정 콘텐츠를 요청했을 때, 엉뚱한 결과가 출력되는데, 바로 그런 일이 일어났다는 것이다. Open AI 의 경우 Redis 라이브러리 버그 [https://www.clien.net/service/board/news/17984872]( https://www.clien.net/service/board/news/17984872 ) 클리앙의 경우 Redis 라이브러리 버그 [https://www.clien.net/service/board/annonce/17922106]( https://www.clien.net/service/board/annonce/17922106 ) Open AI 와 클리앙의 경우 레디스 라이브러리 버그로 발생했다고 한다. 하지만 내 서버에 레디스를 설치하기 전에도 해당 버그는 발생했었다. 정확한 원인이 파악되었습니다. 저희가 서버에서 세션을 저장하고 있는 redis(일종의 메모리db)가 한계수치 이상의 부하를 받으면 인덱스가 깨지는 현상이 발생한다고 합니다. 국내 대형 쇼핑몰 두곳에서 최근 유사한 증상이 있어 관련자들에게 문의해본 바 저희와 같은 증상이었습니다. 이번의 여러 조치 중 redis 통신 최적화 작업도 진행하였기에 다시 재발되지 않을 것입니다. 더 줄일 수 있는 요소가 있으므로 추가적인 작업을 진행할 예정입니다. ### 3. 해결 방안 클라이언트에게 데이터를 돌려보내기 전에 한 번 더 검증을 진행하기로 했다. 들어오는 모든 요청을 인터셉터가 먼저 확인하고, 해당 엔드포인트가 Access Token 을 사용하는 메서드라면 user_id 를 originalUserSub 라는 변수에 기록해둔다. 그리고 응답을 반환하기 전, 반환 값에 들어있는 user_id 와 originalUserSub 의 동일 여부를 검증한다. 만약 검증을 통과하지 못한다면 해당 요청을 무효화하고 다시 실행하게끔 로직을 구성했다. import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { LoggerService } from '../../logger/logger.service'; @Injectable() export class UserSubCheckInterceptor implements NestInterceptor { constructor(private readonly logger: LoggerService) {} intercept(context: ExecutionContext, next: CallHandler): Observable<any> { const request = context.switchToHttp().getRequest(); const user = request.user; const originalUserSub = request.user.sub; return next.handle().pipe( switchMap(async (data) => { if (user['sub'] && data.user_id) { if (data.user_id && originalUserSub !== undefined && data.user_id !== originalUserSub) { // user["sub"] 값이 변경되었으므로 해당 메서드를 다시 호출합니다. this.logger.log("UserSubCheckInterceptor : user['sub'] 가 동일하지 않습니다 " + originalUserSub + "!==" + data.user.user_id) return await next.handle().toPromise(); } } return data; }), ); } } https://github.com/fog-of-war/dev-be/blob/dev/src/common/interceptor/user-sub-check.interceptor.ts

  • node.js
  • express
  • nestjs
  • typeorm
신유빈 댓글 1 좋아요 0 조회수 1081

[Create 함수로 새로운 데이터 생성하기] create() 함수 질문

해결됨

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

안녕하세요 선생님 흐름에는 진짜 전-혀 지장없는데 궁금한 게 하나 생겨서 여쭤봐요 포스트 만들 때 여기서 repository.create() 에 툴팁을 올리면 엔티티를 DeepPartial 로 받더라구요. 근데 이러면 필수 정보를 빠트려도 컴파일 단계에서 알아챌 도리가 없게 되는 거 아닌가? 이게 궁금했어요. 자동완성 기능을 제공해주긴 하지만, 직접 객체를 만들어서 save() 에 넣는 게 더 나은(적어도 안전한) 선택 아닌지 제가 아직 TDD를 경험해보지 못해 이 부분이 궁금했슴미다... 에러내기도 힘든 초보적인 구역이지만 정신줄을 종종 놓고 살아서요ㅠ

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ㅂㄱ 댓글 1 좋아요 0 조회수 467

결제 질문

해결됨

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

안녕하세요. 강의 잘 듣고 있습니다. 강사님 따라서 포트원으로 결제 만들고 있다가 문득 궁금한 점이 생겨서 질문 드립니다. 유저가 결제할 때 악의적으로 매크로를 이용해 결제 버튼을 여러 번 클릭하면 여러 번 결제가 될 수 있을까요? 제가 포트원 카카오페이로 결제했을때 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 조회수 582

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

해결됨

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 조회수 1018

TypeORM @PrimaryGeneratedColumn 관련 질문

미해결

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

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

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

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 조회수 870

파트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 조회수 246

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

해결됨

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

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

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

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

해결됨

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

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

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

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

미해결

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

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

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

인기 태그

인프런 TOP Writers

주간 인기글