월 79,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파일명 짓고 구분하기가 어렵습니다
수업 거의 다 듣고 포트폴리오 만드는 중에 질문드립니다. fetchBoards로 게시판을 불러올때 리턴 객체명을 어떻게 해야할지 모르겠습니다. 예를 들어, board[], paging 값이 두개 리턴이 된다고 했을때 dto폴더에 select-board.output.ts 객체 파일을 만들어주면 될까요? 아니면 board[], paging 형태로 내보내는것은 나쁜 방식일까요? 웬만하면 프론트가 아니라 백에서 처리해서 내보내려고 합니다. 이런식으로 폴더 구분이랑 파일 이름 짓기가 모호한 경우가 많은데 여기에 초점을 맞춘다고 시간을 허비하지말고 구분만 잘해놓는게 좋을까요?
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
에러가 뜨네요 수강 강의 내용에도 전체 내용이 없어서 안되네요 전체 코드는 제공이 안되나요??
import { ApolloServer } from '@apollo/server' import { startStandaloneServer } from '@apollo/server/standalone' const typeDefs = `#graphql input CreateBoardInput { writer: String title: String contents: String } type MyResult { number: Int writer: String title: String contents: String } type Query { #fetchboards: MyResult #객체 1개를 의미 fetchboards: [MyResult] # 배열 안에 객체 1개 이상을 의미! } type Mutation { # createBoard(writer: String, title: String, contents: String): String createBoard(createBoardInput: CreateBoardInput!): String }`; const resolvers = { Query: { fetchBoards: (parent, args, context, info) => { // 1. 데이터를 조회하는 로직 => DB에 접속해서 데이터 꺼내오기 const result = [ { number: 1, writer: '철수', title: '제목입니다~~', contents: '내용이에요@@@', }, { number: 2, writer: '영희', title: '영희 제목입니다~~', contents: '영희 내용이에요@@@', }, { number: 3, writer: '훈이', title: '훈이 제목입니다~~', contents: '훈이 내용이에요@@@', }, ]; // 2. 꺼내온 결과 응답 주기 return result; }, }, Mutation: { createBoard: (_, args) => { // 1. 브라우저에서 보내준 데이터 확인하기 console.log(args); console.log("=========================") console.log(args.createBoardInput.writer) console.log(args.createBoardInput.title) console.log(args.createBoardInput.contents) // 2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정 // 3. DB에 저장된 결과를 브라우저에 응답(response) 주기 return "게시물 등록에 성공하였습니다!!"; }, }, }; const server = new ApolloServer({ typeDefs: typeDefs, resolvers: resolvers, cors: true, // 모든 사이트 허용하고 싶을 때 // cors: { origin: ["https://naver.com", "https://daum.net"] } // 특정 사이트만 지정하고 싶을 때 }); startStandaloneServer(server) // 4000node_modules/@graphql-tools/schema/esm/addResolversToSchema.js:62 throw new Error(`${typeName}.${fieldName} defined in resolvers, but not in schema`); at file:///Users/youssipro/Desktop/project/backend/class/section03/03-06-graphql-api-apollo-server-board/index.js:78:16
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의 ppt
강의 ppt는 따로 받을수는 없나요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
이미지를 따로 받는 이유가 있을까요??
안녕하세요. 설명해주신 이미지 업로드 프로세스가 조금 비효율적이라는 생각이 들어서 질문드립니다. 설명해주신 프로세스는 브라우저에서 게시글을 등록할 때 이미지를 선택하면 백엔드로 이미지를 보내고, 백엔드에서 클라우드로 이미지를 업로드 한 후, 주소를 받아서 다시 브라우저로 보내주는 방식입니다.그런데 브라우저에서 이미지를 취소하거나, 다른거로 변경하게되면 이전에 선택해서 클라우드에 올렸던 이미지는 필요가 없어지고, 앞서 했던 행동들이 무의미 해져서 불필요한 통신이라고 생각이 듭니다. 그래서 이미지를 선택했을 때가 아닌, 글등록을 눌렀을 때 선택한 이미지도 같이 백엔드로 보내주고, 백엔드에서는 클라우드로 이미지를 업로드한 후 받은 url을 바로 DB에 저장하면 브라우저로 다시 url을 보내지 않아 통신횟수도 줄게되어 더 좋을것 같은데, 강의에서 처럼 이미지를 먼저 받아서 처리하는 이유가 있을까요??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
재심사를 받게되면 기존의 통과된 업체에는 따로 재심사를 받을 필요는 없나요??
안녕하세요.좋은 경험담 잘 들었습니다. 강의를 듣다가 궁금한점이 생겼는데,신한카드는 심사가 통과 되었고, 국민카드는 심사를 통과하지 못한경우 일단 신한카드를 이용하고 국민카드는 재심사를 요청하면된다고 말씀하셨습니다. 그런데 재심사를 받는다는건 서비스의 내용을 수정한 후, 재심사를 요청하게 될 텐데 이 경우 서비스에 변경된 부분이 있으니, 심사를 통과했던 카드사에 재심사를 받아야 되거나 하는 경우는 없는건가요??
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
restoreAccessToken 이라는 함수를 새로만드는 이유가 있을까요??
안녕하세요. 강의 내용중에 restoreAccessToken이라는 함수를 만드는데 내용이 getAccessToken을 리턴해주는 함수입니다.restoreAccessToken({ user }: IAuthServiceRestoreAccessToken): string { return this.getAccessToken({ user }); } getAccessToken({ user }: IAuthServiceGetAcessToken): string { return this.jwtService.sign( { sub: user.id }, { secret: '나의비밀번호', expiresIn: '10s' }, ); }인터페이스도 두번 작성하게 되는데export interface IAuthServiceRestoreAccessToken { user: IAuthUser['user']; } export interface IAuthServiceGetAcessToken { user: User | IAuthUser['user']; } 이런경우에는 그냥 restoreAccessToken이라는 함수를 새로 안만들고, getAccessToken을 바로 사용하는게 코드의 중복을 제거하는 측면에서 더 좋다고 생각하는데,restoreAccessToken이라는 함수를 새로 만드는 이유가 있을까요??
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
window.event 문제가 있어요
섹션2. 훈훈한 Javascript에서 JS로 HTML태그 생성 강의 듣고 있습니다. 강의 초반부터 window.event.keyCode === 13을 조건문으로 활용하여 엔터키 입력을 감지하는 코드가 있는데.. 저 같은 경우 event 부분에 가로줄이 그어지면서마우스를 올려 문구를 확인해보면'event' is deprecated. 라는 메시지가 나옵니다. 경고 메시지만 출력되고 작동에 이상이 없다면 상관이 없지만,키 입력 시 마다 브라우저의 콘솔창에 undefined가 뜨고 엔터키 또한 마찬가지입니다. 구글링을 좀 해보니, event를 이용한 키 코드 체크를 하는 것이 권장되지 않는다고 하는데.. 다른 방법이 있나요? 구글링으로 찾은 포스팅들은 이해가 되지 않아서.. 도와주세요.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
DB에 데이터 넣는 중간에 에러나면 되돌리는 장치같은건 없나요??
안녕하세요. async create({ createProductInput, }: IProductsServiceCreate): Promise<Product> { const { productSaleslocation, ...product } = createProductInput; const result = await this.productsSaleslocationsService.create({ productSaleslocation, }); const result2 = this.productsRepository.save({ ...product, productSaleslocation: result, }); return result2; }이번 강의를 보면 2개의 연관된 테이블에 데이터를 넣기 위해서 각각의 테이블에 데이터를 각각 넣어주는 2단계 구조라고 이해했습니다. saleslocation 테이블에 location 데이터 넣고 (1단계),받아온 데이터(result)를 product 테이블에 product 데이터와 함께 넣는 (2단계),이런 2단계의 구조로 이루어진것 같은데,만약에 2단계에서 에러가 나게 되면 1단계에 넣었던 데이터를 삭제하거나 되돌리는 안전장치 같은건 없나요??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
리뷰영상 위치 설명 변경이 필요해보입니다.
안녕하세요. 현재 강의 제목이10-중간 점검 퀴즈 (리뷰영상은 섹션 41에서 제공)이라고 적혀있는데 현재 리뷰영상은 섹션 24에 있습니다. 아마 구성이 변경된 듯 싶은데 반영이 필요해보입니다.(현재 강의의 리뷰영상 위치 섹션표시, 그리고 섹션 24에 존재하는 리뷰영상에서의 섹션표시 두 가지)
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker-compose.yaml 에 적힌 password는 따로 처리 안해줘도 되나요??
안녕하세요. 강의에서 .env.docker 에 적는 값들은 DB에 접속하기 위해서 적는거고, Docker-compose.yaml은 DB를 생성하기 위해 적는걸로 이해하고 있습니다. DB에 접속하기 위한 내용들은 Github에 올라가지 않도록 하기 위해서 환경변수로 처리를 한 반면에, DB를 생성하기 위한 Docker-compose.yaml은 따로 처리를 안해서 MYSQL_ROOT_PASSWD 가 그대로 노출되는데 이건 따로 처리를 안해줘도 되나요?처리를 해줘야한다면 어떤식으로 해주나요?? 그리고 강의에서는 언급을 안하셨지만, .env.docker 도 .gitignore 에 추가해주는게 맞겠죠??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
MySQLWorkbench 대신에 DBBeaver를 사용하는 이유가 있나요??
안녕하세요. 제가 알기로는 mysql 전용인 MySQLWorkbench라는게 있는데 이걸 사용안하고, DBBeaver라는걸 사용하는 이유가 있나요?? 그리고 학습자료 ver.2의 MySQL & DBeaver 설치 에서 앞서 mongodb와 mysql의 설치는 brew를 사용한 반면에 DBBeaver는 공식사이트에서 다운받는 방법을 알려주는데 이유가 있을까요??
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
NestJS 의존성 주입 문제
[Nest] 16188 - 2024. 03. 17. 오후 12:19:06 ERROR [ExceptionHandler] Nest can't resolve dependencies of the UsersService (?). Please make sure that the argument "UserRepository" at index [0] is available in the AuthModule context. Potential solutions: - Is AuthModule a valid NestJS module? - If "UserRepository" is a provider, is it part of the current AuthModule? - If "UserRepository" is exported from a separate @Module, is that module imported within AuthModule? @Module({ imports: [ /* the Module containing "UserRepository" */ ] }) Error: Nest can't resolve dependencies of the UsersService (?). Please make sure that the argument "UserRepository" at index [0] is available in the AuthModule context. Potential solutions: - Is AuthModule a valid NestJS module? - If "UserRepository" is a provider, is it part of the current AuthModule? - If "UserRepository" is exported from a separate @Module, is that module imported within AuthModule? @Module({ imports: [ /* the Module containing "UserRepository" */ ] }) at Injector.lookupComponentInParentModules (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:254:19) at Injector.resolveComponentInstance (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:207:33) at resolveParam (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:128:38) at async Promise.all (index 0) at Injector.resolveConstructorParams (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:143:27) at Injector.loadInstance (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:70:13) at Injector.loadProvider (D:\BackEnd\class\section11\11-02-login-authentication\node_modules\@nestjs\core\injector\injector.js:97:9) at D:\BackEnyarn start:dev 실행 시, 위와 같은 오류가 발생하여, users.module.ts 파일의 exports 부분을 아래와 같이 수정하였습니다.exports: [ TypeOrmModule, // 원래는 TypeOrmModule이 아닌 => UsersService(강의 기준) ],이렇게 수정하니, 문제는 해결되었는데, 이렇게 수정해도 괜찮은지, 이유가 무엇인지 잘 모르겠어 여쭤봅니다.
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
class 내의 함수를 화살표 함수로 쓰는 이유가 있나요??
안녕하세요.class 내에 함수는 function을 적지 않아서 더 간단하게 작성이 가능한데, 화살표 함수를 사용하시는 이유가 있을까요?? class Monster { power = 10 constructor(qqq){ this.power = qqq } attact = () => { console.log("공격하자!!"); console.log("내 공격력은" + this.power + "야!!!"); } run(){ console.log("도망가자!!"); } } // 둘의 차이는??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 10-01 실습중에 DB연결 및 생성이 안되서 질문드립니다.
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { GraphQLModule } from '@nestjs/graphql'; import { TypeOrmModule } from '@nestjs/typeorm'; import { BoardsModule } from './apis/boards/boards.module'; @Module({ imports: [ BoardsModule, ConfigModule.forRoot(), GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), TypeOrmModule.forRoot({ type: process.env.DATABASE_TYPE as 'mysql', host: process.env.DATABASE_HOST, port: Number(process.env.DATABASE_PORT), username: process.env.DATABASE_USERNAME, password: process.env.DATABASE_PASSWORD, database: process.env.DATABASE_DATABASE, // env파일에서 수정 entities: [__dirname + '/apis/**/*.entity.*'], // 수정 synchronize: true, logging: true, }), ], }) export class AppModule {} 위와같이 코드 작성했고터미널에서 yarn start:dev 할경우아래와 같이 오류가 떠서 작동이 되지않습니다.어떻게하면 될까요?[Nest] 13226 - 2024. 03. 15. 오전 10:07:01 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...MissingDriverError: Wrong driver: "undefined" given. Supported drivers are: "aurora-mysql", "aurora-postgres", "better-sqlite3", "capacitor", "cockroachdb", "cordova", "expo", "mariadb", "mongodb", "mssql", "mysql", "nativescript", "oracle", "postgres", "react-native", "sap", "sqlite", "sqljs", "spanner". at DriverFactory.create (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/src/driver/DriverFactory.ts:72:23) at new DataSource (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/src/data-source/DataSource.ts:149:43) at createTypeormDataSource (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/@nestjs/typeorm/dist/typeorm-core.module.js:164:23) at /home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/@nestjs/typeorm/dist/typeorm-core.module.js:169:36 at Observable._subscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/observable/defer.ts:55:15) at Observable._trySubscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:244:19) at /home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:234:18 at Object.errorContext (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/util/errorContext.ts:29:5) at Observable.subscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:220:5) at subscribeForRetryWhen (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/operators/retryWhen.ts:74:25)
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
이런경우 npm i nodemon -g 로 설치하는게 더 나은게 아닌가요??
제가 알기로 npm의 경우 -g 라는 글로벌 설치 기능이 존재해서현재 위치에 한정되지 않고 사용이 가능한걸로 알고 있습니다. 앞선 강의에서 빠른 속도등의 이유로 yarn을 쓴다고 하셨지만,nodemon 같이 여러 폴더에서 사용하는 경우에는 npm 글로벌 설치를 하는게, 계속 설치를하고 실행문을 설정해주고 하는 번거러움 같은 측면을 따져본다면 더 좋은 방법이지 않나 하는 생각이 듭니다. 이번 강의에서 yarn과 npm을 혼용해서 쓰지 않는게 좋다고 하셨지만, 글로벌 설치를 하는게 유리한 경우는 npm을 써서 글로벌 설치를 하는게 더 나은지, 아니면 그래도 혼용을 해서 쓰면 안되는지, 그렇다면 yarn이 글로벌 설치가 가능한 npm을 안쓰면서 쓸 장점이 속도 말고 다른게 있는지 궁금합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
코드 리팩토링 이렇게 해도 되나요??
수업 내용 코드는function checkPhone(myphone) { if (myphone.length < 10 || myphone.length > 11) { console.log("에러 발생!!! 핸드폰 번호를 제대로 입력해 주세요!!!"); return false; } else { return true; } } function getToken() { let result = String(Math.floor(Math.random() * 100000)).padStart(6, "0"); console.log(result); return result; } function sendTokenToSMS(myphone, result) { console.log(myphone + "번호로 인증번호" + result + "를 전송합니다."); } function createTokenOfPhone(myphone) { const isValid = checkPhone(myphone); if (isValid === false) return; const mytoken = getToken(); sendTokenToSMS(myphone, mytoken); } createTokenOfPhone("01012345678"); // 01012345678: 인자(argument) 이렇게 되어있는데createTokenOfPhone 함수에서 isValid 상수를 꼭 선언해야하나요?? function checkPhone(myphone) { if (myphone.length < 10 || myphone.length > 11) { console.log("에러 발생!!! 핸드폰 번호를 제대로 입력해 주세요!!!"); return true; } } function getToken() { let result = String(Math.floor(Math.random() * 100000)).padStart(6, "0"); console.log(result); return result; } function sendTokenToSMS(myphone, result) { console.log(myphone + "번호로 인증번호" + result + "를 전송합니다."); } function createTokenOfPhone(myphone) { if (checkPhone(myphone)) return; const mytoken = getToken(); sendTokenToSMS(myphone, mytoken); } createTokenOfPhone("01012345678"); // 01012345678: 인자(argument) 이렇게 checkPhone()이 문제있을 때만 true를 반환하고,checkPhone()이 true일 경우 return 처리하면 코드가 더 짧아지기는 하는데수업에서 말씀하시는 협업의 가독성을 위해서 isValid라는 상수를 선언해줘야 하는지 아니면 제가 생각한 방식으로 코드를 줄여도 괜찮은건지 궁금합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
localStorage에 지역과 날씨를 저장하는 장점이 있을까요??
앞 강의 끝날때는 지연을 줄이기 위해 로컬스토리지에 저장하는걸 알아보자 하고 끝났는데,해당강의에서는 로컬스토리지 중복체크 내용을 다루고 계셔서 로컬스토리지에 저장하는 장점에 대한 궁금증이 생깁니다.강의 내용을 보면 로컬스토리지 저장된 데이터와 관련된거 먼저 보여주고, 통신 데이터가 로컬스토리지와 다르면 다른 데이터를 로컬에 저장하면서 관련된걸 보여주는식인것 같습니다.제 생각으론 같은 지역 같은 날씨, 그리고 자주 접속하거나 새로고침을 자주 한다면 좋은 방법같은데,다른 지역 이나 다른날씨 라면 처음 데이터가 오히려 잘못된걸 보여주고 늦게 바뀌는거라 그런면에서 보면 해당 기능이 장점인지가 궁금합니다.만약 큰 장점이 아니라면 로컬에 저장하고, 그 정보를 먼저보여주고, 다르다면 로컬정보 바꾸고, 해당 정보 보여주고 하는 과정의 기능이 필요한가 의문이 듭니다.아무래도 지연을 줄이기위해 로컬스토리지를 사용한다길래 무슨 방법이 있나 싶었다가 기대했던것과 다른방향이라 의문이 생겨 질문남겨봅니다.제가 잘못 이해했거나, 놓치고 있는 다른 이유가 있다면 알려주시면 감사하겠습니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
14-04 Redis에서 cacheModule을 위한 @nestjs/common버전 업데이트
다른분이 질문주셨던 'app.module.ts에서 redis연결하는데 @nestjs/common에 CacheModule이 없습니다' 에 대한 답변대로 "@nestjs/common": "^9.0.0" 버전으로 업데이트해서 node_modules도 yarn install 해서 설치했습니다. yarn.lock 확인했는데 버전이 바뀌지 않아 "@nestjs/common": "9.0.0" 로 바꿔서 다시 yarn install 했구요.그런데 @nestjs/common 버전을 9.0으로 바꾸면 계속 mybackend-1(백엔드컴퓨터)에서 오류가 생깁니다. 기존버전 10.0.0이었을 때는 오류가 발생하지 않았었습니다. 실은 강의를 들으며 코드를 따라 치다 마지막에 docker-compose build후 up 했을 때 어디서 오류가 발생하는지 모르겠어서 처음부터 yarn add로 redis랑 cache-manager라이브러리 설치하는 것 부터 docker-compose build,up 하면서 확인을 해봤었는데 @nestjs/common 버전을 9.0으로 바꿨을 때 위 사진처럼 오류가 발생했습니다. package.json파일도 올려보내드립니다.@nestjs/common 버전을 바꿔야 될까요? 아님 다른 오류 원인이 있을까요..?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
객체 createBoardInput을 왜 한번 더 { } 객체로 감싸서 보내는지 궁금합니다.
boards.resolver.ts 파일에서 createBoard 함수에서 boardsService클래스에 인자를 전달할때createBoardInput 객체를 보내는데낱개로 된 writer,title,contents 도 아닌데왜 굳이 한번 더 {createBoardInput} 객체로 감싸서 보내는지 이해가 잘 되지 않습니다. @Mutation(() => String) createBoard( @Args('createBoardInput') createBoardInput: CreateBoardInput, ): string { return this.boardsService.create({ createBoardInput }); //**차이점?? return this.boardsService.create(createBoardInput); } boards.service.ts 파일에서는create({ createBoardInput }: IBoardsServiceCreate): string { //**차이점?? create(createBoardInput: CreateBoardInput): string { //1.브라우저에서 보내준 데이터 확인하기 console.log(createBoardInput.writer); console.log(createBoardInput.title); console.log(createBoardInput.contents); //2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정. //3. DB에 저장된 결과를 브라우저에 응답(response) 주기. return '게시물 등록에 성공하였습니다.'; }굳이 IBoardsServiceCreate의 인터페이스를 안만들어도이미 CreateBoardInput 이라는 Class를 타입으로 적용해서 받으면 되는데createBoardInput을 왜 한번 더 { } 객체에 감싸서 보내는지 궁금합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swagger 실행 오류
swagger 실행시 No operations defined in spec!라는 오류가 발생하는데 왜그럴가요?