묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
yarn 관련 강좌 업데이트가 필요합니다.
강사님 yarn 버전이 1.22 를 사용하고 있는데 지금 4.x 버전까지 yarn berry(2.0 이상)의 zero install 이나 pnp 등 상당히 많은 업데이트가 진행되었습니다. nest/cli 신규 프로젝트 생성부터 yarn 버전으로 프로젝트 진행에 상당히 불편함을 느끼지 싶습니다. 시간이 되신다면 yarn 관련 강좌 업데이트 부탁드리겠습니다.감사합니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
해외에서는 웹 어플리케이션 개발할때 프로시저를 더많이 사용하나요?
안녕하세요. 강의를 듣다가 해외에서 프로시저를 사용하는 부분에서 궁금한점이 들어서 질문을 남깁니다.해외의 경우 웹 애플리케이션을 개발할때 전부 프로시저로 개발하거나 비중이 높은 사이트나 회사도 있나요?(범용적으로 유지보수와 가독성을 위해서 적절히 섞어서 사용한다고 알고 있습니다.)만약 프로시저 비중이 높거나 전체를 개발 된 사이트가 있다면 혹시 어떻게 생각하는지 들을 수 있을까요?(저는 별로라고 생각합니다!)
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
생성자에 대해 질문 있습니다
섹션 2 - 사용자 목록 조회를 위한 API 구현 - HTTP GET method 에서 5:10초 쯤 궁금한 점이 생겨서 질문드립니다. 제가 알기로 기본 생성자는 클래스 명과 동일한 이름으로 아무 매개변수를 받지 않는 구조로 만드는 것으로 평소에는 자동으로 생성되기 때문에 따로 만들어 주지 않는 것으로 알고 있습니다.만약 동일한 이름의 매개변수를 받는 생성자가 만들어진다면, 기본 생성자는 따로 만들어주어야 하는데5:10초 정도에 만들어진 생성자는 매개변수를 하나 받는 구조로 보이는데, 그럼 여기서 기본 생성자를 만들어 주지 않아도 오류가 나지 않는 이유는 무엇인가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
데이터베이스의 작동 방식
강의 내용과는 조금 별개로 궁금한 점이 있어서 질문드립니다.지금 테스트환경에서는 userModel을 한두개 생성해서 테스트하지만, 실제로 네임드 앱들은 유저의 수가 수억개씩 존재하는데, 그렇게되면 데이터베이스가 특정 PostModel에 해당하는 하나의 user객체를 식별하는데 오랜 시간이 걸리지 않나요?그 시간 차이가 미비해서 따로 신경쓰지 않아도 되는건지, 혹은 컴퓨터만의 쿼리 탐색 방법이 따로 존재하는건지 궁금합니다!
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
해당 코드가 작동하지 않는 이유
강의 들으면서 도움이 많이 되고 있습니다.중간까지의 과정을 복습하고싶어 필기와 기억을 토대로 코드를 작성했는데, 첫 수업 복습부터 난항을 겪고 있습니다. program.cs에 오류가 없음에도 작동하지 않아 고민입니다. 1강 강의 기준 똑같은 내용의 코드를 이미 만들어두었던 코드에서 가져와 붙여놓았을때에는 또 정상적으로 작동하는데, 무엇이 문제인지 도통 모르겠습니다.var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); app.MapControllerRoute( name: default, pattern: "{controller=Home},{action=Index}/{id?}"); app.Run();이게 문제가 발생하는 코드var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); app.MapControllerRoute( name: default, pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();이게 정상적으로 작동하는 코드입니다.이럴 때에는 어떻게 해야 하나요? 왜 첫 코드가 정상적으로 작동하지 않을까요? 무엇을 놓친건지를 모르겠어요...
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
user 내장 시 ref 필드 필요성
안녕하세요 !유익한 강의 감사합니다. Blog.js에서 BlogSchema를 보면,user를 내장하였는데,_id에 ref 필드가 그대로 있더라구요.사실 populate 하지 않을 꺼면 ref필드는 삭제해도 되지 않을까요?만약 내장하려는 문서에 ref가 필요한 케이스가 있다면 어떤 게 있을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
데이터베이스와 네스트가 연결이 안됩니다.
import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostModel } from './posts/entities/posts.entity'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'postgres', entities: [PostModel], synchronize: true, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} services: postgres: image: postgres:15 restart: always volumes: - ./postgres-data:/var/lib/postgresql/data ports: - '5432:5432' environment: POSTGRESQL_USER: postgres POSTGRESQL_PASSWORD: postgres POSTGRESQL_DB: postgress POSTGRES_HOST_AUTH_METHOD: trust현재 데이터베이스 도커 컴포즈 코드와 네스트 서버를 연결하려고 합니다.서버 로그는 이렇게 뜨고, 익스텐션에서 들어가면 이런 에러가 뜹니다.실습을 못하고 있어요. 도와주세요ㅜㅜ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker-compose up 실행문제
작성했는데,validating C:\web\codeFactory\Nestjs\typeOrmPracticeReal\docker-compose.yaml: services.postgres Additional property enviroment is not allowed라고 뜨면서 접속이 안됩니다. 무슨문제일까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
spring.io에 3.1.5버전이 없는데 3.2.5를 사용해도 무관할까요??
지금 시점에서는 spring.io에 3.3.0, 3.2.6, 3.2.5, 3.1.12, 3.1.11이 있습니다. 버전이 바뀐다고 해서 수업내용을 못 따라 갈 수 있는건가요? 아니면 pom.xml에서 버전을 임의로 바꿔줘도 반영이 되나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker
Access denied for user 'root'@'localhost' (using password: YES) my-backend-1 | Error: connect ECONNREFUSED 172.18.0.2:3306my-backend-1 | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16)my-database-1 | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'my-backend-1 | [Nest] 42 - 05/02/2024, 6:41:50 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (2)...my-backend-1 | Error: connect ECONNREFUSED 172.18.0.2:3306my-backend-1 | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16)my-database-1 | 2024-05-02T18:41:49.714242Z 0 [System] [MY-015015] [Server] MySQL Server - start.my-database-1 | 2024-05-02T18:41:50.845054Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.0) starting as process 1my-database-1 | 2024-05-02T18:41:50.991351Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.my-database-1 | 2024-05-02T18:41:51.037335Z 1 [ERROR] [MY-012585] [InnoDB] Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.my-database-1 | 2024-05-02T18:41:51.037785Z 1 [Warning] [MY-012654] [InnoDB] Linux Native AIO disabled.my-database-1 | 2024-05-02T18:41:51.786685Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.my-backend-1 | [Nest] 42 - 05/02/2024, 6:41:53 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (3)...my-backend-1 | Error: connect ECONNREFUSED 172.18.0.2:3306my-backend-1 | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16)my-database-1 | 2024-05-02T18:41:53.236794Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.my-database-1 | 2024-05-02T18:41:53.237258Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.my-database-1 | 2024-05-02T18:41:53.247163Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.my-database-1 | 2024-05-02T18:41:53.454585Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.0' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.my-database-1 | 2024-05-02T18:41:53.793849Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sockmy-backend-1 | query: SELECT VERSION() AS versionmy-backend-1 | query: START TRANSACTIONmy-backend-1 | query: SELECT DATABASE() AS db_namemy-backend-1 | query: SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.`TABLES` WHERE TABLE_SCHEMA = 'mydocker' AND TABLE_NAME = 'board'my-backend-1 | query: SELECT * FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA = 'mydocker' AND TABLE_NAME = 'typeorm_metadata'my-backend-1 | query: CREATE TABLE board (`number` int NOT NULL AUTO_INCREMENT, writer varchar(255) NOT NULL, title varchar(255) NOT NULL, contents varchar(255) NOT NULL, PRIMARY KEY (`number`)) ENGINE=InnoDBmy-backend-1 | query: COMMITmy-backend-1 | [Nest] 42 - 05/02/2024, 6:41:56 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized +3294msmy-backend-1 | [Nest] 42 - 05/02/2024, 6:41:56 PM LOG [GraphQLModule] Mapped {/graphql, POST} route +68msmy-backend-1 | [Nest] 42 - 05/02/2024, 6:41:56 PM LOG [NestApplication] Nest application successfully started +3ms 안되네요??
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
서비스가 복잡해질때 모듈 구성을 어떻게 확장해나가나요?
예를 들어 자산을 관리하는 페이지가 있고나의 자산조회 나의 자산환전나의 자산전송이와 같이 구성되고 여기서 선물이나, 현물로 분기된다고 쳤을때모듈에 모듈이 들어가거나 컨트롤러에 컨트롤러가 중첩되어 들어가는 경우도 생기나요? 가지치기하듯 서비스가 확장되어갈때 어떤 방식으로 구조를 짜야할지 감이 안오네요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션6 04-05 몽구스 부분 수강중입니다.
backend 폴더 통합 터미널에서 mongoose를 설치하고,docker-compose build를 했는데 이런 에러가 계속해서 뜹니다.해결해보려고 에러 메세지를 읽어보니, mongoose와 my-backend 도커에 설치되는 node가 버전이 안맞는다는 것 같은데, 괜히 손댔다가 문제가 더욱 복잡해질까봐 섣부르게 건드리질 못하겠네요 ㅜㅜ 04-02 강의에서, backend 도커에 coolsms 가 설치되지 않았다고 하여 Dockerfile에개인적으로 이 코드를 추가해준 걸 제외하면 04-04까지 수강하는데 문제는 없었습니다.RUN yarn add coolsms-node-sdk어떻게 해야될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
백엔드 과정을 수강 중인 학생입니다.
잘 몰라서 아는 지인에게 궁금해서 물어봤더니 도커라는 것을 받아서 거기에 리눅스 이미지로 올려서 쓰는게 있다고 하는데 그렇게 해서 수강해도 문제가 없을까요 ?또는 유튜브에 WSL2 Ubuntu 설치하는 방법도 있던데 이걸로 해도 수강에 문제 없을까요? 답변 부탁드립니다 ㅠㅠ
-
미해결원고 생성기 프로그램 개발 강의 (Chatgpt api)
궁금한 부분이 있습니다.
import openai api_key = " " openai.api_key = api_key def ask_gpt(system, prompt, model="gpt-3.5-turbo"): completion = openai.ChatCompletion.create( model=model, messages=[ {"role": "system", "content": system}, {"role": "user", "content": prompt} ], stream=True ) result = "" for chunk in completion: delta_data = chunk.choices[0].delta if 'role' in delta_data: continue elif 'content' in delta_data: r_text = delta_data['content'] result += r_text print(r_text, end="",flust=True) ask_gpt(system="you are a helpful assistant." , prompt="사과에 관한 글을 써줘") 해당 부분이 작동이 되지 않아서 확인 요청드립니다. api_key 값은 일단 빼두었습니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
RefreshTokenGuard 관련 문제
해당 강좌 아래 질문들을 보면 RefreshTokenGuard 관련하여 문제가 있는 것 같은데, 정확히 어떤 문제인지 아직 이해가 안되어서, 혹시 설명을 조금 자세하게 해주실 수 있을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
강의 너무 잘 듣고 있습니다 혹시 part2는 언제쯤 나올까요?
언제쯤 나올까요 ㅠㅠ 강사님 너무 잘가르치십니다
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
"섹션3. 다국어 처리를 위한 Internationalization 구현 방법" 관련 문의드립니다.
다국어 실습시 Header에 "Accept-Language" 정보 미포함시 400 에러가 발생합니다.github 소스로 실행해도 동일합니다.Header에 "Accept-Language" 미포함시 정상인건지 궁금합니다.미포함시 default 정보로 조회되는게 아닌가요? 테스트는 크롬 확장도구인 "Talend"를 이용했으며 에러 응답은 다음과 같습니다.<problemxmlns="urn:ietf:rfc:7807"><type>about:blank</type><title>Bad Request</title><status>400</status><detail>Failed to convert 'Accept-Language' with value: 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7'</detail><instance>/hello-world-internationalized</instance></problem>
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
password is required 오류
docker-compose up 이후에 postgres 확장자를 이용하여 연결하려고 할 때 모든 과정 이후에 password is required 오류가 뜹니다 ㅠㅠ포트 변경 후에도 동일하고postgres-data 폴더 삭제 -> 생성 후에도 동일합니다ㅠㅠ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
5분 경에 질문있습니다.
@Post() @UseGuards(AccessTokenGuard) @UseInterceptors(TransactionInterceptor) async postPost(@User("id") userId: number, @Body() body: CreatePostDto, @QueryRunner() qr: QR) { // temp -> posts로 옮긴다음에 포스팅 const post = await this.postsService.createPost(userId, body, qr); // throw new InternalServerErrorException("에러가 생겼습니다."); // 포스트만 생성하고, 이미지는 생성안해버림 throw 에러에서 걸림. 원래는 포스트 게시글이 생기면 안됨. for (let i = 0; i < body.images.length; i++) { await this.PostsImagesService.createPostImage( { post, order: i, path: body.images[i], type: ImageModelType.POST_IMAGE, }, qr, ); } // Transaction 타입에 따라서 Transaction이 커밋 되기전에 최신 값을 가져오지 못할 수 있다. (service에서 해당 문제 처리 직접 qr받아서) // 가장 최근상태의 포스트를 받아와서, 반환해줌. return this.postsService.getPostById(post.id, qr);Transaction 타입에 따라서 Transaction이 커밋 되기 전에 최신 값을 가져오지 못할 수 있다고 하셔서, getPostById service에서 직접적으로 qr을 주입받아서, 사용했는데 정확히 어떤 이유로 최신 값을 못받아오는지 잘 이해가 안가서, 자세히 설명을 해주실 수 있나요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker-compose.yml 파일 환경변수 관리
안녕하세요,docker-compose.yml 파일 같은 경우는 .gitignore 처리를 하는 파일인지, 아니면 이 부분도 환경변수로 데이터 접근하는 값들을 환경변수로 바꿔줘야하는지 어떻게 관리하는지 알고 싶어 질문드립니다.