inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

bad CPU type in executable: docker-credential-gcr

해결됨

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

배포 사전 학습과제 진행중에, gcloud로 docker-credential-gcr 설치 gcloud components install docker-credential-gcr docker-credential-gcr 이용 docker-credential-gcr configure-docker 를 입력했을 때 제목과 같이 bad CPU 에러가 발생합니다. 이유를 알고싶습니다. (경로 확인 which docker-credential-gcr 했을 때 /Users/paradise/Desktop/google-cloud-sdk/bin/docker-credential-gcr 라고 확인됩니다.) (파일 executable 확인 file docker-credential-gcr 했을 때 docker-credential-gcr: Mach-O 64-bit executable arm64 라고 확인됩니다.) ingress 설정중에 발생한 문제가 있습니다. ingress 를 만들기 전에 이미지를 새로 만들고 gcloud shell에서 set image를 통해 재배포하는 단계까지는 모두 성공적으로 작동합니다. 다만 ingress를 만들면 404, cannot get error 가 발생합니다. All backend services are in UNHEALTHY state 라고 나옵니다. 이유가 궁금합니다.

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

getCurrentCat 에서 req.user

해결됨

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

req.user 에서, request 가 user 객체 정보를 가지고 있는 건가요..? -- 확인해 보니, passport 에서 User 인터페이스를 가지고 있네요! 그런데, 비어있는데 어떻게 속성을 가지고 있는 걸까요? JwtStrategy/validate 의 리턴값을 가지게 되는 건가요? 3월 14일 질문에 대한 답변도 좀 부탁 드립니다..

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
게으른 개발자 댓글 1 좋아요 0 조회수 634

순환참조

미해결

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

user와 auth가 서로를 import하고 있어서 forwardRef로 순환 참조를 막아줬는데 auth에선 userRepository를 사용하고 있고 user에선 authService.jwtLogin()을 사용하는데 순환 참조가 발생하는 건가요? 안 막아줘도 되는건가요?

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
한승보 댓글 1 좋아요 0 조회수 481

질문드립니다.

미해결

타입스크립트의 모든 것

클래스 - readonly 와 생성자 이 수업에서 타임라인 28초쯤부터 ~ 1분 13초쯤까지 어떨 때는 정보를 보낼 때 class를 쓰고 어떨 때는 json과 object를 쓴다고 예를 들어주시는 내용 같은데.. 말이 좀 엉켜서 제가 이해가 잘 안되네요 😥 다시 한번 설명 좀 부탁드려도 될까요?

  • typescript
  • nestjs
alice 댓글 1 좋아요 0 조회수 283

UpdateValuesMissingError

해결됨

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

import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm/repository/Repository'; import { User } from '../users/entities/user.entity'; import { Payment, POINT_TRANSACTION_STATUS_ENUM, } from './entities/payment.entity'; @Injectable() export class PaymentService { constructor( @InjectRepository(Payment) private readonly paymentRepository: Repository<Payment>, @InjectRepository(User) private readonly userRepository: Repository<User>, ) {} async create({ impUid, amount, currentUser }) { const pointTransaction = await this.paymentRepository.create({ impUid, amount, user: currentUser, status: POINT_TRANSACTION_STATUS_ENUM.PAYMENT, }); await this.paymentRepository.save(pointTransaction); const user = await this.userRepository.findOne({ id: currentUser.id }); console.log(amount); await this.userRepository.update( { id: user.id }, // where { point: user.point + amount }, ); return pointTransaction; } } payment 과제 중 payment.service.ts 코드입니다. 결제는 문제없이 처리가 되었고, payment 테이블에 거래기록이 저장되어야 하는데 이러한 에러가 발생합니다. [Nest] 288 - 03/29/2023, 7:34:01 AM ERROR [ExceptionsHandler] Cannot perform update query because update values are not defined. Call "qb.set(...)" method to specify updated values. 여러 시도를 해봤지만 해결되지 않아 커뮤니티에 글 남깁니다!

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
songin cheon 댓글 1 좋아요 0 조회수 977

prisma timezone에 관한 질문이 있습니다.

미해결

Node.js의 모든 것

현재 공식 레퍼런스를 보며 prisma, next를 사용해서 게시판을 만드는 프로젝트 작업을 성공적으로 끝냈지만 한가지 문제가 있었습니다. prisma의 now()가 timezone UTC를 베이스로 작동하고 있는데 이걸 설정하는 방법을 prisma에서 공식적으로 지원하지 않는다고 검색을 통해 알게되었습니다. 아직 강의 내용을 수강하지는 않았기에 강의내용에서 timezone 관련 이슈를 다루는지는 모르겠지만 그 파트를 직접 찾기에는 오래 걸리는터라.... 먼저 질문부터 남겨봅니다.

  • postgresql
  • nestjs
  • prisma
  • mysql
edu1 댓글 1 좋아요 0 조회수 3374

일반적인 ORM 사용패턴(DDL, DML) 문의

미해결

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

수업에서는 기존 DB라 typeorm-model-generator를 사용했는데요, 저의 질문의 요점은 ORM으로 DML 위주의 사용이 보편적인가 하는 것입니다. 제가 python하다가 node.js로 넘어와서, python 예를 들어 죄송합니다만, https://velog.io/@youngkiu/SQLAlchemy-with-DDL python에서는 model도 create table sql로 만들지 않고, model을 생성하고, ORM에서 DDL 처리도 같이 해주었습니다. 스프링에서도 DDL은 ORM을 사용하지 않고, DB에서 직접 처리한다는 이야기를 듣기도 하여, 업계에서 ORM의 일반적인 사용방법이 궁금하여 질문드립니다. 늘 많이 배우고 있습니다. 감사합니다. 타입스크립트 책 얼릉 출간해 주세요. 바로 구매하겠습니다.

  • node.js
  • express
  • nestjs
  • typeorm
유영기 댓글 2 좋아요 0 조회수 912

unexpected end of input

해결됨

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

console.log("안녕하세요, 문자 인증번호 보내드립니다.") function createTokenOfPhone(myphone){ if(myphone.length !== 10 && myphone.length !== 11){ console.log("에러 발생! 핸드폰 번호를 제대로 입력해 주세요. ") return } const aaaa=6 if(aaaa === undefined){ console.log("에러 발생!!! 갯수를 제대로 입력해 주세요!!!") return } else if(aaaa <= 0){ console.log("에러 발생!! 갯수가 너무 적습니다!!") return }else if(aaaa > 10){ console.log("에러 발생!!! 갯수가 너무 많습니다!!!") return } const result = String(Math.floor(Math.random() * 10 ** aaaa)).padStart(aaaa,"0") console.log(result) console.log(myphone+ "번호로 인증번호" +result+ "를 전송합니다!!!") createTokenOfPhone("01012341234") 수업과 동일하게 코드를 작성했으나 아래와 같은 에러가 뜹니다. (base) c@Dui-c-G9C7V6620L 01-01-token % node index.js /Users/c/Desktop/codecamp-backend-03./class/01-01-token/index.js:25 createTokenOfPhone("01012341234") SyntaxError: Unexpected end of input at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:23:47

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

dto 와 entity의 유지보수

미해결

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

안녕하세요. 상석님! 상석님의 강의를 듣고 공식문서와 typeorm, mongoose등의 공식문서를 함께 이용하여 nest 프로젝트를 제작중인 1년차 node js 개발자입니다. 강의 너무 잘 들었습니다. 개인적으로 프로젝트를 진행하는 중 dto파일과 entity를 어떻게 관리하면 수월할까 라는 고민을 깊게 하게 되었습니다. chat gpt나 스택오버 플로우, 구글 등 많은 검색을 해봤지만 제 실력이 부족한지 정보를 찾기가 힘들어 여쭤보게 되었습니다. export class CreateRequestPostDto { @ApiProperty({ example: 'youtube uri', name: 'youtubeUri' }) @IsUrl() uri: string; @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; } export class UpdatePostDto { @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; } 위는 제가 만들고 있는 프로젝트의 일부입니다. postTitle과 postDescription이 두 클래스에서 중복이 되는 케이스인데 상속을 이용해서 postTitle과 postDescription을 따로 빼는 방법은 제가 원하는 방향이 아닙니다. 저는 기본적인 base dto클래스를 하나 만들어 놓고 이를 재활용하는 방법을 사용하고 싶습니다. export class BasePostClass { @ApiProperty({ example: 'youtube uri', name: 'youtubeUri' }) @IsUrl() uri: string; @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; } 만약 위와 같은 클래스가 있다면 이를 이용해서 export class uriPostClass { uri: 위의 BasePostClass에 있는 uri 프로퍼티만을 가져와서 이 곳에서 사용하고 싶습니다. } 이와 같이 @ApiProperty 데코레이터를 다시 적어주지 않아도 되고 BasePostClass의 프로퍼티 하나를 바꾸면 이 클래스를 이용해 다른 클래스들에 영향을 주고싶은겁니다. uri라는 이름을 URI로 변경하면 이 다른 클래스에서도 영향을 받아 URI로 변한다거나 하다못해 서버 실행 과정에서 에러라도 발생시킬 수 있도록 하고싶습니다. 프로젝트가 커지다보니 DTO파일을 관리하기도 쉽지 않았어요. db의 컬럼 이름을 하나 바꿔주면 여기저기 dto파일을 찾아다니며 같이 바꿔줘야 했습니다. 좋은 방법이 있다면 알려주실 수 있을까요?

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
qwe980121 댓글 1 좋아요 1 조회수 832

graphql 접속문제

해결됨

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

https://practice.codebootcamp.co.kr/graphql 는 사용을 못하는데 그럼 과제 연습은 못하나요?

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

if __name__=="__main__" 사용 기준

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

강사님 안녕하세요 :) 유익한 강의 잘 듣고 있습니다! 학습 중 궁금한 점이 있어서 질문드립니다. 강사님께서 DFS문제 외에도 코드 시작 부분에 이 코드를 작성하실 때가 종종 있는데 혹시 강사님의 사용 기준이 있는지 궁금합니다. ex) [섹션 8] 회장뽑기(플로이드-와샬) 사용 O vs 위상정렬(그래프 정렬) 사용 X

  • python
  • 코딩-테스트
댓글 1 좋아요 0 조회수 386

httpException 에러 응답이 제대로 나오지 않습니다.

해결됨

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

강의 내용 처럼 postman에서 에러 응답을 받고 싶습니다. 하지만 제대로된 에러 응답을 받지 못하고 있습니다. 시도한 내용 첫번째로, postman에서 post || localhost:3095/api/users 로 body에 아무런 내용없이 send를 보냈습니다. 이후, 에러 응답으로 "msg":"이메일이 없네요." 라는 답을 받았습니다. (성공) body에 이메일을 작성 하여 send를 보냈지만, "msg":"이메일이 없네요." 라는 이전과 동일한 에러응답 을 받았습니다. (실패) 이메일을 send해도 "이메일이 없네요"라는 에러응답으로 답을 받고, 다른 것으로 send를 해도 "이메일이 없네요"라고 에러응답을 받았습니다. 이를 해결하려고 하는데, 참고할만한 코드가 있을까요? users.service.ts @Injectable() export class UsersService { constructor( @InjectRepository(Users) private usersRepository: Repository<Users>, ) {} getUser() {} async join(email: string, nickname: string, password: string) { if (!email) { throw new HttpException('이메일이 없네요', 400); } if (!nickname) { throw new HttpException('닉네임이 없네요', 400); } if (!password) { throw new HttpException('비밀번호가 없네요.', 400); } const user = await this.usersRepository.findOne({ where: { email }}); if (user) { throw new HttpException('등록된 사용자입니다.', 401); } const hashedPassword = await bcrypt.hash(password, 12); await this.usersRepository.save({ email, nickname, password: hashedPassword, }); } } [계속 아래 이미지와 같은 에러 응답만 출력됩니다] 또한, 깃헙에서 코드를 참고하려했으나 아래와 같이 진도가 달라서 어려웠습니다. ㅠㅠ 제로 초님께서 작성해주신 users.service.ts 는 아래 코드 입니다. 완성된 users.service.ts 내용인 것 같아서, 본 강의에 참고하기 어려워서 질문드렸습니다. @Injectable() export class UsersService { constructor( @InjectRepository(Users) private usersRepository: Repository<Users>, @InjectRepository(WorkspaceMembers) private workspaceMembersRepository: Repository<WorkspaceMembers>, @InjectRepository(ChannelMembers) private channelMembersRepository: Repository<ChannelMembers>, private dataSource: DataSource, ) {} async findByEmail(email: string) { return this.usersRepository.findOne({ where: { email }, select: ['id', 'email', 'password'], }); } async join(email: string, nickname: string, password: string) { const queryRunner = this.dataSource.createQueryRunner(); await queryRunner.connect(); await queryRunner.startTransaction(); const user = await queryRunner.manager .getRepository(Users) .findOne({ where: { email } }); if (user) { throw new ForbiddenException('이미 존재하는 사용자입니다'); } const hashedPassword = await bcrypt.hash(password, 12); try { const returned = await queryRunner.manager.getRepository(Users).save({ email, nickname, password: hashedPassword, }); const workspaceMember = queryRunner.manager .getRepository(WorkspaceMembers) .create(); workspaceMember.UserId = returned.id; workspaceMember.WorkspaceId = 1; await queryRunner.manager .getRepository(WorkspaceMembers) .save(workspaceMember); await queryRunner.manager.getRepository(ChannelMembers).save({ UserId: returned.id, ChannelId: 1, }); await queryRunner.commitTransaction(); return true; } catch (error) { console.error(error); await queryRunner.rollbackTransaction(); throw error; } finally { await queryRunner.release(); } } } 해결방법이 있을까요:?

  • node.js
  • express
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 603

docker mysql dbeaver utf-8 error

해결됨

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

docker로 mysql server를 띄우고 product_category table 에서 전자제품, uuid 를 등록하고 save를 누르면 한글을 인식할 수 없다는 에러가 납니다. 해결방법이 궁금합니다. ERROR [ExceptionsHandler] Incorrect string value: '\xEC\xA3\xBC\xEC\x86\x8C' for column 'address' at row 1

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
댕청토마토 댓글 1 좋아요 0 조회수 572

소셜인증

미해결

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

안녕하세요 다음 연재 강의 주제는 소셜 인증이라고 강의 노트에 써있으나 저에게 프로젝트3는 이번 강의가 마지막인데 맞나요??

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
이재현 댓글 1 좋아요 0 조회수 464

nestjs, graphql 강의중 resolver에서 service 클래스 메서드에 접근을 못 하는듯 합니다.(인젝트가 제대로 안된 듯 합니다.)

해결됨

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

안녕하세요. 강사님. "Nest.js - GraphQL 연결" 강의중 제목과 같이 resolver에서 service의 메서드로 접근을 못하는듯 합니다. 그럼 인젝트가 안된거 아닌가요? 해결책 문의 드립니다. "yarn start:dev" 오류없이 실행은 됩니다. app.module.ts, boards.module.ts, boards.resolver.ts boards.service.ts 코드 입니다. // app.module.ts import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { GraphQLModule } from '@nestjs/graphql'; import { BoardModule } from './apis/boards/boards.module'; @Module({ imports: [ BoardModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {} // boards.module.ts import { Module } from '@nestjs/common'; import { BoardResolver } from './boards.resolver'; import { BoardService } from './boards.service'; @Module({ // imports: [], // controllers: [], providers: [BoardResolver, BoardService], }) export class BoardModule {} // boards.resolver.ts import { Query, Resolver } from '@nestjs/graphql'; import { BoardService } from './boards.service'; @Resolver() export class BoardResolver { constructor(private readonly boardService: BoardService) {} @Query(() => String) getString(): string { return this.boardService.serviceString(); } @Query(() => Number) getNumber(): number { return this.boardService.serviceNumber(); } @Query(() => Boolean) getOnlyResolver(): boolean { return true; } } // boards.service.ts import { Injectable } from '@nestjs/common'; @Injectable() export class BoardService { serviceString() { return 'Hello World!'; } serviceNumber(): number { return 100; } } "getOnlyResolver" 쿼리는 정상적입니다. Service까지 가지 않도록 테스트 했습니다. "getString" 쿼리는 Service의 "serviceString()" 메서드로 접근 합니다. (오류 발생) "getNumber" 쿼리는 Service의 "serviceNumber()" 메서드로 접근 합니다. (오류 발생) "package.json" 정보 입니다. { "name": "aaa", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@apollo/server": "^4.5.0", "@nestjs/apollo": "^11.0.4", "@nestjs/common": "^9.0.0", "@nestjs/core": "^9.0.0", "@nestjs/graphql": "^11.0.4", "@nestjs/platform-express": "^9.0.0", "graphql": "^16.6.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.2.0" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", "@types/express": "^4.17.13", "@types/jest": "29.2.4", "@types/node": "18.11.18", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "jest": "29.3.1", "prettier": "^2.3.2", "source-map-support": "^0.5.20", "supertest": "^6.1.3", "ts-jest": "29.0.3", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.1", "typescript": "^4.7.4" } } 감사합니다.

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

prettier 관련 질문드립니다.

미해결

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

prettier 관련 질문도 드려도 되는지 모르겠지만 일단 강의에서 나와서 질문드립니다! :) 프리티어 세팅을 하고 작업을 하다가 const test = { a: "test", b: "test2", }; 위와 같은 코드를 써봤는데요. 이 때, 제가 원하는건 a속성과 b속성의 간격이 없는 즉, 의미없는 빈 줄이 없도록 하는 것입니다. 하지만, 이걸 prettier로 자동으로 하는 속성 값을 인터넷으로 찾아봐도(사실 검색할 단어를 잘 못찾은 것 같습니다) 없어서요.. 질문에 올립니다! 감사합니다!

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
yong kini 댓글 1 좋아요 0 조회수 333

front, front-js, front-rq 폴더 질문

해결됨

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

총 2개의 질문사항이 있습니다. GitHub에서 제공해주신 front폴더를 사용하려고 하는데, 아래와 같이 이름이 다른 front 폴더가 총 3개가 있습니다. front-js front-rq front 질문1. 이 중, 어떤 폴더에서 npm run dev의 명령어를 입력해야 하는 것인지 궁금합니다. 질문2. front이름 뒤에 붙어있는 js와 rq의 의미가 궁금합니다!

  • node.js
  • express
  • nestjs
  • typeorm
댓글 1 좋아요 1 조회수 428

테스트 코드 관련하여 질문

미해결

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

안녕하세요. nestjs boilerplate강의 관련해서 마지막에 users.service.spec.ts의 테스트 코드들에 대하여 설명을 해주신다고 하였는데 제가 찾지 못한건지 아니면 추후에 강의가 올라오는지 궁금합니다 .

  • nestjs
  • test
댓글 1 좋아요 1 조회수 423

bcrypt를 설치하니까 docker 컨테이너가 실행이 안되네요ㅠ

해결됨

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

검색을 나름대로 열심히 해봤는데 잘 해결이 되지 않아서 질문 남깁니다. error: /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid elf header 에러 메시지는 이렇습니다. bcrypt가 설치되는 OS에 따라 버전이 달라서 그렇다는거 같은데, Dockerfile에 bcrypt 삭제했다가 설치하는 명령어도 넣어봤는데 잘 안되네요ㅠ

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
songin cheon 댓글 1 좋아요 0 조회수 876

GetText()사용법

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

GetText 사용법이 감이 잘 안오네요 while과 state없이 GetText()를 실행하면 텍스트 출력이 안되네요.. 파이썬에서 정확한 문법 정의가 어떻게 되는지요?

  • python
  • 한컴오피스
schnabel 댓글 2 좋아요 1 조회수 2028

인기 태그

인프런 TOP Writers

주간 인기글