inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

04-02 docker-api 패키징 실습 중 에러

해결됨

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

04-02 docker에서 포트 내보내는 실습 도중 갑자기 사진과 같이 에러가 나는데 서버 띄우는데는 지장이 없이 잘 돌아갑니다. 지금까지 잘 돌아가다가 확인해보니 모든 파일의 import 코드 부분이 다 저렇게 에러가 나는데 어떻게 해야 하나요 ? 서치해도 마땅히 나오지 않아 질문 드립니다 ㅜㅜ

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

숫자야구 문제 질문

해결됨

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

숫자야구 문제 코드 부분에서 약간 오류가 있는 것 같아서 질문드립니다. number, strike, ball에 각각 힌트를 분배할 때 hint[0]~[2]가 아닌 arr[0]~[2]를 담으면서, arr[1]이 strike, arr[2]가 ball이 맞는 것 같은데 영상에 나오는 코드를 다음과 같이 고치면 될까요? for arr in hint: number = arr[0] strike = arr[1] ball = arr[2]

  • python
  • 코딩-테스트
  • 알고리즘
댓글 1 좋아요 5 조회수 704

상품 알러지 정보에 아무것도 없는 경우

해결됨

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

상품 알러지에 아무 것도 없는 경우에는 어떻게 구조를 잡아야할까요? '만다린 버베나 피지오'의 경우에는 알러지 정보가 없어서 이런 식으로 정규화를 진행했는데, 다른 방법이 있는지 궁금합니다!

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박호정 댓글 2 좋아요 0 조회수 384

No repository for 질문

미해결

따라하며 배우는 NestJS

RepositoryNotFoundError: No repository for "BoardRepository" was found. Looks like this entity is not registered in current "default" connection? at RepositoryNotFoundError.TypeORMError [as constructor] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\TypeORMError.ts:7:9) at new RepositoryNotFoundError (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\RepositoryNotFoundError.ts:10:9) at EntityManager.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\entity-manager\EntityManager.ts:964:19) at Connection.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\connection\Connection.ts:354:29) at InstanceWrapper.useFactory [as metatype] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\typeorm\dist\typeorm.providers.js:16:34) at Injector.instantiateClass (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:368:55) at callback (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:65:45) at processTicksAndRejections (node:internal/process/task_queues:95:5) at Injector.resolveConstructorParams (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:144:24) at Injector.loadInstance (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:70:13) 검색을 여러번 해 봤더니 typeorm을 0.2버전으로 바꾸라고 하셔서 npm install typeorm@0.2.45 --save로 했는데 다운로드 이후에 npm show typeorm version을 했을 때 0.3.17버전이 나오더라구요 혹시 버전이 바뀌지 않았던 것인지 아니면 그냥 다른 이유때문에 되지 않는것인지 궁금하네요...

  • postgresql
  • jwt
  • nestjs
  • typeorm
서정원 댓글 1 좋아요 0 조회수 541

map(el,index)가 어디에 나와있나요?

해결됨

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

강의 보다가 map(el,index)이 나와있길래, 개념을 자세히 설명하는 강의를 찾을려고 했는데 어디에 있는지 모르겠습니다 목차 좀 알려주세요

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

웹스크래핑 코드 리뷰 도와주세요 (초렙.. '-')

미해결

네이버웹툰 만화 -> 신혼일기 -> 15화 제목을 가져와 보려고 하기와 같이 코드를 작성했습니다만 주피터 노트북에서 run 했을 때 [ ] 라고만 나옵니다 ㅠㅠ 어떻게 해야 할까요?? import requests from bs4 import BeautifulSoup as bs url = " https://comic.naver.com/webtoon/list?titleId=812354 " rsp = requests.get(url, verify=False) rsp.raise_for_status() soup = bs(rsp.text, "lxml") print(soup.find_all("span", attrs={"class": "EpisodeListList__title--lfIzU"}))

  • python
  • requests
  • scraping
김하린 댓글 1 좋아요 0 조회수 481

클로저 예시 함수에서 nonlocal 사용이 필요한 여부에 대해 질문드립니다.

미해결

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

안녕하세요. 강의 감사히 잘 듣고 있는 수강생입니다. 클로저 관련 내용을 듣다 궁금한 점이 있어 질문 드립니다. 해당 문제와 관련하여 다른 분들도 동일한 질문을 여러 번 올려주셨는데 "명확하게 이렇기 때문이다"라는 답변이 없이 외부 링크를 걸어주시거나 단답형으로 답변을 주셨던 것 같아 다시 질문을 드립니다. def closure_ex1(): # Free variable series = [] # 클로저 영역 def averager(v): # series = [] # 주석 해제 후 확인 series.append(v) print('inner >>> {} / {}'.format(series, len(series))) return sum(series) / len(series) return averager avg_closure1 = closure_ex1() # 잘못된 클로저 사용 def closure_ex2(): # Free variable cnt = 0 total = 0 def averager(v): cnt += 1 # cnt = cnt + 1 total += v return total / cnt return averager avg_closure2 = closure_ex2() 위 두 함수 closure_ex1과 closure_ex2를 비교하면 차이는 series는 list, cnt와 total은 int형 변수라는 것, averager 함수 내부에서 series는 append 작업을 하고, cnt와 total은 값을 더해주는 작업을 한다는 것 입니다. 그런데 closure_ex1에서는 오류가 나지 않고, closure_ex2에서는 averager 안에 nonlocal cnt, total을 작성하지 않으면 오류가 납니다. 여쭤보고 싶은 것은, [1] closure_ex1의 averager 함수 내부에 nonlocal series 라는 코드를 작성하지 않아도 되는 이유가 무엇 때문인가 입니다. closure_ex2의 averager 안에 nonlocal cnt, total 이 필요한 것은 내부 함수의 영역은 local 영역이고 closure_ex2 내부이면서 average 외부인 영역은 nonlocal 영역이기 때문에 local 영역에서 free variable을 write 작업하기 위해서는 nonlocal 변수 선언이 필요한 것으로 알고 있습니다. 하지만 series 변수에 대해서는 왜 nonlocal series 라는 코드가 필요하지 않은 것인지요? 제가 추가로 공부할 링크를 주시는 것은 감사하지만, 이 질문에 대한 답변을 명확하게 댓글로 작성해주시면 감사드리겠습니다. 다른 분들의 질문에 올려 주신 링크는 모두 읽어보았습니다. 또한 명확한 답변을 주시면 공부하시는 다른 분들께도 유용할 것이라고 생각합니다. 감사합니다. ps. 강의 영상을 확인하라는 답변도 주셨었는데, 수업에서 정확하게 list나 int형 자료의 scope 별 생명 주기까지 설명한 내용은 찾지 못하였으니 만약 해당 내용이 필요하다면 강의 시간을 알려주시면 감사드리겠습니다.

  • python
  • closure
힌턴 댓글 2 좋아요 1 조회수 470

규제 적용시 cross_val_score NaN반환

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 규제 부분 코드 실습 중 규제 클래스에 관해서 cross_val_score적용 시 NaN값이 반환되는 것이 확인되어 질문드립니다. 싸이킷런 버전의 경우 1.0.2버전인데 구글링을 했을 때는, 데이터 내에 NaN값이 있어서 그럴 것이라는데 제가 확인해봤을 때는 NaN값이 없었습니다. 혹시 버전과 관련된 문제일까요...? 동일 코드에 Ridge클래스대신 LinearRegression클래스로 대체시 정상적으로 코드가 동작하는 것을 확인하여 우선 Ridge클래스에 대한 문제로 간주하고 있습니다...ㅠ

  • python
  • 머신러닝
  • 통계
RYU 댓글 3 좋아요 0 조회수 734

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)") 오류

해결됨

실전! FastAPI 입문

OS: macOS python 3.10 버전을 사용하고 있고, sqlalchemy 2.0.19, pymysql 1.1.0 등등 최신 패키지 사용중입니다. from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker DATABASE_URL = "mysql+pymysql://root:todos@127.0.0.1/todos" engine = create_engine(DATABASE_URL, echo=True) SessionFactory = sessionmaker(autocommit=False, autoflush=False, bind=engine) connection.py 는 위와 같이 동일하게 작성했고, session.scalar(select(1)); 실행시 아래와 같은 오류가 발생하여 더 이상 진행을 할 수가 없습니다. Traceback (most recent call last): File "/Users/someone/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/232.8660.197/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevconsole.py", line 364, in runcode coro = func() File "<input>", line 1, in <module> File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2296, in scalar return self._execute_internal( File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2131, in _execute_internal conn = self._connection_for_bind(bind) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1998, in _connection_for_bind return trans._connection_for_bind(engine, execution_options) File "<string>", line 2, in _connection_for_bind File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go ret_value = fn(self, *arg, **kw) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1123, in _connection_for_bind conn = bind.connect() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3264, in connect return self._connection_cls(self) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ Connection._handle_dbapi_exception_noconnection( File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2426, in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ self._dbapi_connection = engine.raw_connection() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3288, in raw_connection return self.pool.connect() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 452, in connect return _ConnectionFairy._checkout(self) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1267, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 716, in checkout rec = pool._do_get() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 169, in _do_get with util.safe_reraise(): File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 147, in __exit__ raise exc_value.with_traceback(exc_tb) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 167, in _do_get return self._create_connection() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 393, in _create_connection return _ConnectionRecord(self) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 678, in __init__ self.__connect() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 902, in __connect with util.safe_reraise(): File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 147, in __exit__ raise exc_value.with_traceback(exc_tb) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 898, in __connect self.dbapi_connection = connection = pool._invoke_creator(self) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 637, in connect return dialect.connect(*cargs, **cparams) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 615, in connect return self.loaded_dbapi.connect(*cargs, **cparams) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/connections.py", line 358, in __init__ self.connect() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/connections.py", line 664, in connect self._request_authentication() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/connections.py", line 976, in _request_authentication auth_packet = _auth.caching_sha2_password_auth(self, auth_packet) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/_auth.py", line 267, in caching_sha2_password_auth pkt = _roundtrip(conn, data) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/_auth.py", line 120, in _roundtrip pkt = conn._read_packet() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/connections.py", line 772, in _read_packet packet.raise_for_error() File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/Users/someone/.pyenv/versions/fastapi-env/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)") (Background on this error at: https://sqlalche.me/e/20/e3q8) Check the PassWord Hashing Method: If the MySQL server is using caching_sha2_password but the client (like PyMySQL) doesn't support it, it can give rise to such issues. You can switch the MySQL user's password hashing method to mysql_native_password . 이런 글도 있어서 따라하고 새로 비밀번호를 todos 로 넣어줬는데도 마찬가지네요. 더 참고할만한 내용이 있을까요?

  • python
  • 리팩토링
  • orm
  • FastAPI
  • pytest
댓글 1 좋아요 2 조회수 2357

구현역량에 대한 질문

해결됨

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

안녕하세요 강의 완강후 오랜만에 질문드립니다! 그동안 클린코드, sql, oop, cs등을 공부해보고 강의도 다시 복습중입니다. 다름이 아니라 구현능력에 대한 질문입니다. 강의코드를 이해하거나 복붙, 수정해서 api를 구현하는 것은 가능한데, 백지상태에서 구현하라고 하면 머리가 하얘집니다… 아직 부족하다고 생각돼서 회사에 지원은 안해봤는데 막상 과제테스트를 하게되면 정말 막막할 것 같네요..(어떤 회사들은 과제테스트 할 때 라이브러리를 사용하지 않고 구현해야된다고 하더군요) 새로운 api를 구현하려고 하면 일단 강의코드를 참고해서 복붙 ,수정 작업을 반복하는데 이게 맞나하는 생각이 드네요. 그래서 코드를 한줄 한줄 따라 치면서 이해하고 외우는 방법으로 구현능력을 키워보려 하는데 괜찮은 방법일까요? 아니면 그냥 코드를 참고하더라도 무작정 구현을 많이 해보는게 좋을까요? 그리고 코파일럿을 쓰고있는데 굉장히 편리하긴 하지만 구현능력을 키우려면 쓰지 않는게 좋겠죠? 독학으로 하다보니 여러 생각이 많아지는 것 같습니다. 조언 부탁드릴게요!

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

섹션4 예제0 질문입니다.

미해결

타입스크립트의 모든 것

강의를 따라 타이핑 중 저의 VS에서는 다음과 같은 에러가 떳습니다. 위의 this에서는 "this에는 형식 주석이 없으므로 암시적으로 any 형식이 포함됩니다." 라는 오류와 밑의 new에는 "대상에 구문 시그니처가 없는 new 식에는 암식적으로 any 형식이 포함됩니다." 라는 오류가 떳습니다. 해당 구문을 js 파일로 바꾸어 사용했을 땐 다음과 같이 문제가 없었습니다. 어떤 문제일까요ㅠㅠ? tsconfig.json

  • typescript
  • Deno
  • nestjs
차형석 댓글 2 좋아요 0 조회수 737

docker-compose 실행후 페이지 실행안됨

해결됨

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

nest.js docker파일을 실행하였는데 정상적으로 돌아가는데 이상하게 매번 [Nest] 42 - 08/13/2023, 7:22:38 AM ERROR [ExceptionHandler] Access denied for user ''@'172.19.0.3' (using password: YES) 이 오류가 나더라구요 그래서 확인해보니까 user 권한을 주면된다는데 제가 env파일 root로 두개다 설정을 했는데 왜 저러는지 모르겠는거랑 error에 user부분이 ''이렇게만 나오는 이유를 잘모르겠습니다 그리고 페이지에 들어가니 페이지가 작동되지않는다는 오류와 전송된 데이터가 없다는 오류만 나옵니다. FROM node:16 COPY ./package.json /myfolder/ COPY ./yarn.lock /myfolder/ WORKDIR /myfolder/ RUN yarn install # packge.json이 변경되지않았는데 매번 새롭게 다운받는게 비효율적이라서 packge.json과 yarn.lock을 미리 복사 # 캐시에서 확인할때 변경되지않으면 다음부터는 다운받지않고 바로 가져올수있기때문에 # 코드를 변경하면 이부분만 캐시가 깨지기때문에 속도가 더빠르다 COPY . /myfolder/ # WORKDIR /myfolder/ # RUN yarn install # . 했을 당시의 소스코드를 기억함으로 캐시에서의 소스코드와 다르면 다시 카피해서 가져옴 # 한번 캐시가 깨지기 시작하면 그아래부분부터는 전부깨서 전부다시 다운받거나 새로시작 -> 어디가 변경된지 몰라서 영향을 줄수있기때문에 CMD yarn start:dev version: '3.7' # 컴퓨터들 # 들여쓰기가 부모자식관계로 인식해서 중요함 services: # 변수명처럼 자유롭게 작성할수있음 / 컴퓨터명 my-backend: build: # 파일경로 context: . # 파일명 dockerfile: Dockerfile volumes: - ./src:/myfolder/src # 포트포워딩 ports: - 3000:3000 env_file: - ./.env.docker # 도커를 실행할때 사용하는 환경변수파일설정 my-database: # platform: linux/86_64 # cpu등의 문제가있을때 # 설치해서 바로실행되는경우 dockerfile없이 image: mysql:latest # mysql은 비밀번호가 있어야지 작동한다 설치하고 사용할 database도 만들어주어야 작동한다 # mysql에 접속해서 자동적으로 myproject명으로 설정된 데이터베이스를 만들어준다 environment: MYSQL_DATABASE: 'starbucksDB' MYSQL_ROOT_PASSWORD: 'root' # 처음으로 들어갈때 비밀번호를 설정 ports: - 3306:3306 # 하지만 네임리졸루션으로 express에서 접속가능

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

manses.sql DB Import 하는데 오류가 납니다.

미해결

지금 당장 NestJS 백엔드 개발 [사주 만세력]

saju-db-prod.sql import 는 정상적으로 되었는데, 이어서 manses.sql DB Import 하는데 오류가 납니다. ERROR 1062 (23000) at line 24: Duplicate entry '1' for key 'manses.PRIMARY'

  • nestjs
  • db
RGB코딩 댓글 1 좋아요 0 조회수 380

서비스 파일의 쿼리 빌더 관련 질문입니다.

해결됨

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

안녕하세요. 강의를 듣던 도중 갑자기 궁금한게 생겨서 글을 남기게 되었습니다. service 파일에서는 어떤 서비스의 로직만을 구현하는 것으로 들었었습니다. 다만 해당 강의에서는 service 파일에 로직 + 쿼리빌더로 쿼리까지 사용하는 부분에서 repository.ts 파일을 따로 만들어서 분리시킬 필요는 없는건가요??

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

포트번호 때문에 에러 날 수 있나요

해결됨

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

프론트,백엔드,몽고db로 api 조회하는게 강의 듣고 복습폴더에서 포트번호 똑같이 4000으로 했다가 에러나서 3000으로 바꿨더니 해결됐어요 근데 어쩔땐 복습폴더에서 포트번호 4000으로 맞춰놓고 도커 접속했더니 잘만 되더라구요 에러나는 기준이 궁금해요

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

백엔드는 창의성을 필요로 하나요?

해결됨

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

그냥 서버만 관리하면 되니까 새로운 아이디어가 떠오르거나 창의성 같은 거는 필요하지 않나요?

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

grpahql-upload이슈

해결됨

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

안녕하세요 원두멘토님! 13챕터에서 graphql-upload 버전이슈로 버전을 낮춰 대응하셔 작동이 되게 알려주셨습니다. 확인을 해보니 apollo server에서 원래 패키지에 포함시켰던 디펜젼시를 csrf문제로 포함시키지 않고 분리를 해서 버전관리가 되지 않아서 생긴 문제인것 같았습니다. 제가 궁금한 점은 graphql-upload로 클라이언트에게 업로드 기능을 제공해주는 것이 아닌 다른 방법으로 grpahql에서 upload기능을 제공해 줄수있는지 궁금합니다. 보안상 좋지 않고 버전관리가 되지 않는 패키지는 사용하는것이 나중을 생각했을때 더 개발난이도가 올라갈 것 같다 생각이 들었습니다. 제가 생각한 방법은 multer를 사용하는 건데 그렇게 하려면 restapi로 제공을 해줘야 하는데 grpahql 과 restapi를 같이 사용해서 api를 제공해줘야하는데 이 또한 가능하거나 추천하시는지 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
이주환 댓글 2 좋아요 1 조회수 514

특정 게시물을 찾을 때 없는 경우 에러 메세지 생성 에러

미해결

따라하며 배우는 NestJS

아래와 같이 NotFoundException()을 설정해줬는데요, 에러 메세지에 작성한 텍스트로 나오지 않습니다. Delete는 message에 잘 찍혀서 나오는데 GET만 안되네요.. 같은 문제 있으셨던 분 계시나요? getBoardById(id: string): Board { const found = this.boards.find((board) => board.id === id); if (!found) { throw new NotFoundException('게시물 없음'); } return found; } { "message": "Cannot GET /boards/wefqwefe", "error": "Not Found", "statusCode": 404 } { "name": "project-test", "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": { "@nestjs/common": "^10.0.0", "@nestjs/core": "^10.0.0", "@nestjs/platform-express": "^10.0.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", "uuid": "^9.0.0" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "jest": "^29.5.0", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.1.3" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }

  • postgresql
  • jwt
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 493

로그인 테스트 중 발생했던 express-session 관련 질문입니다!

해결됨

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

안녕하세요. 로그인 코드 작성 완료 후 테스트로 포스맨을 호출했을 때 2가지 오류가 발생했었습니다. Error: Login sessions require session support. Did you forget to use express-session middleware? secret option required for sessions 1번은 express-session 아래에 passport를 작성하라는 것 같아서 강사님의 깃 보고 아래 코드를 추가했었고 app.use(cookieParser()); app.use( session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, }, }), ); 2번은 검색해보니 secret 설정을 하면 된다고 해서 .env 파일에 COOKIE_SECRET에 대한 값을 넣어줘서 1,2번 전부 해결했었습니다. 다만, 강의에는 이미 들어가있던 부분이였던 아래 코드와 passport.session을 같이 사용하는 이유가 궁금합니다! passport.session만 사용하니 express session의 미들웨어를 사용하라는 것 같았고, express session을 찾아보니 express session만 사용해서 로그인을 구현하기도 하는 것 같았습니다. app.use(cookieParser()); app.use( session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, }, }), ); 그리고 secret는 express session의 암호로만 알고 있어도 되는걸까요? .env 파일에 제가 임으로 설정한 암호를 예를들어 COOKIE_SECRET=12314 이런식으로 작성해놓는게 맞는건가요?? ++ 그리고 수업 별개로 추가 질문 사항이 있습니다! 현재 강의에서 사용되는거는 typeORM 0.3 버전인가요? 실무에서는 0.2 버전보다 0.3으로 많이 사용되는건가요??

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

entity.ts파일의 class 데이터 타입지정안됨 오류

해결됨

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

entity.ts파일에서 input으로 사용할 틀을 resolver에서 Mutation쪽 service의 매개변수로 넘겨줄려고 사용했는데 Argument of type '{ inputStarbucks: InputStarbucks; }' is not assignable to parameter of type 'InputStarbucks' 이러한 오류가 나서 찾아보니 해당 타입으로는 변수타입을 지정할수없어서 변경하라고했는데 class틀도 문제가 없는데 왜 오류가 나는지 잘모르겠습니다. import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { StarbucksService } from './starbucks.service'; import { InputStarbucks } from './entities/starbucks.input'; import { Starbucks } from './entities/starbucks.entity'; @Resolver() export class StarbucksResolver { constructor( private readonly starbucksService: StarbucksService, // prettier때문에 아래로 내려쓰기가 안되니까 주석달기 ) {} @Query(() => [Starbucks], { nullable: true }) // graphql에서는 배열을 [Board]식으로 사용 아래에서는 Board[]라고 사용했는데 fetchBoards(): Starbucks[] { return this.starbucksService.findAll(); } @Mutation(() => String) creatBoard( // 한번에 사용하는 방식 @Args('inputStarbucks') inputStarbucks: InputStarbucks, // graphql에서 데이터를 입력받고 변수명과 타입을 지정 // graphql에서 writer로 입력받은값을 writer라는 변수에 받고 데이터 타입은 string으로 지정 ): string { return this.starbucksService.create({ inputStarbucks }); // return을 작성해야 사용한 api쪽 리턴이 module쪽까지 전달됨 } } import { Injectable, Scope } from '@nestjs/common'; import { Starbucks } from './entities/starbucks.entity'; import { InputStarbucks } from './entities/starbucks.input'; @Injectable({ scope: Scope.DEFAULT }) export class StarbucksService { findAll(): Starbucks[] { // entity에서 만든 Board의 배열형태를 가져와서 사용 const result = [ { number: 1, writer: '짱구', title: '제목', contents: '내용이요' }, { number: 2, writer: '짱구2', title: '제목2', contents: '내용이요2' }, { number: 3, writer: '짱구3', title: '제목3', contents: '내용이요3' }, ]; return result; } create({ inputStarbucks }: InputStarbucks): string { console.log(inputStarbucks.writer); // 데이터 타입의 클래스의 명과 동일해야한다 .writer이부분이 console.log(inputStarbucks.title); console.log(inputStarbucks.contents); return '게시물 등록 성공'; } } import { Field, InputType } from '@nestjs/graphql'; // @ObjectType() // 이렇게 작성하면 type으로 나옴 . 리턴타입이 type이었을때 // mutation의 경우에는 input으로 작성했다 @InputType() export class InputStarbucks { @Field(() => String) writer: string; @Field(() => String) title: string; @Field(() => String) contents: string; } // Graphql에서 사용하기위해서 graphql 데이터 타입지정

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

인기 태그

인프런 TOP Writers

주간 인기글