전체 글 654

Query Builder (with 제품목록 페이지) **

상황에 맞춘 쿼리를 만들어주기 위해 사용 때에 따라 쓰는 다른 쿼리문을 api로 따로 하는게 아니라 함수로 ex. 제품목록 페이지 SELECT name, prie, score, image FROM products WHERE category id =2 ORDER BY created at DESC 카테고리가 2번인 것만 보여주고 싶어, 정렬을 최신순으로 카테고리를 전체로 바꿨어 -> 쿼리문 바꿔야 해 검색창에 '가을'로 치면 -> 또 퀴리문 바꿔야 함 WHERE product name LIKE %가을% 정렬을 가격순으로 ORDER BY price DESC -> 매번 퀴리문 바뀔 수 없으니 service.js 내가 정렬하고 싶은 키를 () 에 넣어둔다 const ordering = async (sortBy) ..

typescript 구조 문법

https://typescript-kr.github.io/pages/tutorials/ts-for-the-new-programmer.html TypeScript 한글 문서 TypeScript 한글 번역 문서입니다 typescript-kr.github.io https://adjh54.tistory.com/39 [TS] 타입 스크립트(Typescript) 이해하기-3(타입스크립트의 사용목적) 해당 글의 목적은 타입 스크립트(Typescript)란 무엇이며, 왜 써야 하는지에 대해 이해를 돕기 위해서 작성한 글입니다. 1) 기술 동향 하단의 사진은 ‘Stack Overflow’ 커뮤니티에서 조사한 자료로 2020 adjh54.tistory.com https://jaejade.tistory.com/89 [Typ..

Postegre 정리

애플리케이션에 잦은 데이터 업데이트가 필요한 경우 PostgreSQL이 더 나은 선택입니다. 그러나 데이터를 자주 읽어야 하는 경우에는 MySQL을 사용하는 것이 좋습니다 쓰기 성능 MySQL은 쓰기 잠금을 사용하여 실제 동시성을 구현합니다. 예를 들어 한 사용자가 테이블을 편집하는 경우 다른 사용자가 테이블을 변경하려면 작업이 완료될 때까지 기다려야 할 수 있습니다. 그러나 PostgreSQL에는 읽기-쓰기 잠금이 없는 다중 버전 동시성 제어(MVCC) 지원이 내장되어 있습니다. 따라서 쓰기 작업이 빈번하고 동시에 수행되는 경우 PostgreSQL 데이터베이스이가 더 잘 작동합니다. 읽기 성능 PostgreSQL은 데이터베이스에 연결된 모든 사용자에 대해 상당한 메모리 할당량(약 10MB)을 포함하는 ..

기업협업 1주차 화요일 - 오늘 배운 것 : 현업 개발자의 꿀팁

일단 회사에서는 오전에 nest.js 독학 파보기, 알아서 타고 들어가는 코드 파악 오후에 회의를 통해 git flow, controller.js부터 타고 가는 법, transaction, 등등 안내 후 관리자 api 짜는 미션을 받았다. 우선 typescript, orm, postegre, nest.js에 대해 처음 접하기에, 독학하면서 헷길린 것들 공유하고. Transaction -> user.service.js -> connect, startTransaction (try, catch 안에 담아서, 에러 없음녀 try 안에 / 에러면 롤백 Transaction도 테스트 / 에러 던지면서 백엔드 -> nest -> 프론트 admin / 백엔드 admin은 관리자 (다 하나에 있음) git flow 브랜..

nest.js: useGuards, useInterceptors

[ openAi와 공부 ] Q: nest.js를 쓰는데 import{useGuards, useInterceptors} from '@nestjs/common' 를 설명해줘 A: @nestjs/common 모듈에서 가져온 useGuards 및 useInterceptors 함수는 Nest.js 애플리케이션에서 미들웨어, 가드, 인터셉터를 사용하는 데 도움을 주는 함수입니다. 이들을 사용하여 요청 처리를 커스터마이즈하고 요청과 응답 처리에 중간 과정을 추가할 수 있습니다. useGuards: useGuards 함수는 라우터 핸들러(컨트롤러 메서드)에 가드(Guard)를 적용할 때 사용됩니다. 가드는 요청을 처리하기 전에 요청을 필터링하거나 수정하는 역할을 합니다. 예를 들어, 인증 관련 가드는 요청이 인증된 사..

새 기술 스택 공부 방법

express.js와 nest.js를 공부하며 깨달은, 개발자는 새로운 기술 스택 공부에 끝이 없으니 새 기술 스택 공부 방법 - 공식문서를 본다 예제 보며 따라 쳐본다. 틀을 외운다. 다음 api에서도 보면서 따라친다 어느정도 보고 나면, 공식문서 너무 많으니 -> 그때그떄 필요할떄 보고 - 유튜브 보면서,. 예제 해본다 - api 하나만 쓰고 나면 이해가 딱 된다 api 짜면서 일단 Output 위주로 -> 하면서 얻어지는 것도 있으니, 너무 파지말고 - framework의 경우, 틀이기 때문에, 이해하려고 하기보다 암기이다. 외우다보면 이해가 된다 . Module, service, controller 차례로 띄어놓고 flow를 보면 됨 layered 된 파일, 폴더들 보는 법 - framework에..

기타 2023.10.31

@nestjs/swagger 패키지,, @apiquery, @apiparams 데코레이터, 언제 @apiquery를 쓰고 언제 @apiparams를 쓰니

swagger를 이용하기 위한 거라 생각 안 해도 됨 -> @Apiparames 등 등 swagger=. 프론트에게 스펙 전달하는 개발 문서 api document [ openAi와 공부 ] Q: nest.js를 쓰는데 import{ApiBody, ApiParam, ApiQuery, ApiResponse, ApiTags} from '@nestjs/swagger'를 설명해줘 @nestjs/swagger 패키지는 Nest.js 프레임워크에서 Swagger 문서 생성 및 API 문서화를 지원하기 위한 패키지입니다. 이 패키지는 API 엔드포인트의 설명, 요청 및 응답 모델, 파라미터 등을 문서화하고 Swagger UI 또는 기타 Swagger 관련 도구를 사용하여 API 문서를 생성하고 제공합니다. @nest..

NestJS

구조화된 아키텍쳐: NestJS는 코드를 거시적인 관점에서 Provider, Controller, Module로 분리하며 이런 작은 컴포넌트들끼리의 조합(DI)을 통해 전체 애플리케이션을 완성한다. 1. Provider = 비즈니스 로직 @Injectable() export class Service {} nest의 가장 간단하고 작은 단위의 컴포넌트를 표현 기본적으로 @Injectable() 데코레이터로 나타내며 다른 프로바이더나 컨트롤러에 주입(Inject)될 수 있다. (provider = 제공자) Provider의 종류로는 가장 간단한 Service부터 시작해서 Middleware, Pipe, Guard, Interceptor 등이 존재 2. Controller = 실제 외부와의 통신과 라우팅 등을..

nest.js 초기세팅

프로젝트 마다 사용하는 툴이 다르지만, 나중에 필요시 읽어보면 좋을 Nest.js - 초기 세팅 nest.js와 typeORM을 사용하여 데이터베이스에 대한 CRUD 기능이 구현되가끼자의 절차(과정)에 대해 정리해보자. nest.js는 Express를 기반으로 만들어진 웹 프레임워크다. Java의 Spring와 비슷한 아키텍쳐 velog.io 01. Nest.js 프로젝트 초기 세팅하기 엘리스 부트캠프가 끝나고 친해진 팀원들과 함께 궁금해약 프로젝트를 하기로 했다. 환호 와 새로운 프로젝트! 처음 이 알약 프로젝트는... 엘리스 마지막 프로젝트 때 현타가 심하게 와서 혼자 velog.io

git flow 개념, branch 개념/ 종류 / 구분

git flow 사용법 (git flow avh), 명령어git flow 개념, branch 개념/ 종류 / 구분git flow란? Vincent Driessen의 브랜칭 모델을 위한 고수준 저장소 작업을 제공하는 git의 확장" - merge 기반 솔루션 - feature 브랜치를 rebase하지 않음 Vincent Driessen의 브pm-developer-justdoit.tistory.comgit flow란?Vincent Driessen의 브랜칭 모델을 위한 고수준 저장소 작업을 제공하는 git의 확장"  - merge 기반 솔루션 - feature 브랜치를 rebase하지 않음master : 제품으로 출시될 수 있는 브랜치develop : 다음 출시 버전을 개발하는 브랜치feature : 기능을 ..