본문 바로가기

반응형

전체 글

(55)
[NestJS] - 6편 (DB연결하기 TypeORM 트랜잭션 마이그레이션) NestJS - 6편 (DB연결하기 TypeORM 트랜잭션 마이그레이션) 관련 라이브러리 설치하기 npm install --save @nestjs/typeorm typeorm@0.2 Typeorm 버전을 0.2로 명시한 이유는 https://docs.nestjs.com/techniques/database#typeorm-integration WARNING Note that we're using TypeORM v0.2, which isn't the latest version of TypeORM. The latter has substantial modifications and duplicate methods which are used on this page. You can read about t..
[NestJS] - 5편 (파이프) NestJS - 5편 (파이프) 파이프 개념 파이프란? 파이프는 클라이언트의 요청이 왔을 때 요청된 객체를 변환할 수 있는 기회를 제공한다. 파이프 사용 목적 파이프는 주로 2가지 목적으로 사용된다. 변환: 입력 데이터의 형변환 유효성검사: 입력데이터가 내가 정한 기준에 맞는지 검사하고 아닐경우 예외 처리 @nest/common @nest/common 패키지에는 내장파이프가 들어있다. ValidationPipe ParseIntPipe ParseBoolPipe ParseArrayPipe ParseUUIDPipe DefaultValuePipe ParseIntPipe, ParseBoolPipe, ParseArrayPipe, ParseUUIDPipe 여기서 ParseIntPipe, ParseBoolPipe, P..
[NestJS] - 4편 (모듈~config파일) NestJS - 4편 (모듈~config파일) 모듈(Module) 개념 모듈이란? 클래스나 함수같은 한가지 일만하는 컴포넌트가 아닌, 여러 컴포넌트를 조합해 더 큰 작업을 수행하는 단위. 우리가 그동안 다른 곳에서 작성한 파일을 불러와 import가 가능했던 것은 작성했던 파일의 아래에서 export 명령어를 통해 내보내줬기 때문이다. 전역 모듈 사용이 좋은 방법은 아니지만 꼭 필요하다면 선언하는 방법도 있다. @Global() @Module({ providers: [CommonService], exports: [CommonService], }) export class CommonModule { }동적 모듈(Dynamic Module) 동적 모듈이란? 모듈이 생성될 때 동적으로 어떠한 변수들이 정힌다. ..
[NestJS] - 3편 (프로바이더) NestJS - 3편 (프로바이더) 프로바이더 2편에서 소개한 컨트롤러가 클라이언트의 요청과 응답을 처리한다면, 제공해야할 데이터의 처리는 프로바이더가 맡는다. Nest에서 제공하는 프로바이더의 핵심은 의존성을 주입할 수 있다는 점이다. 의존성 주입(Dependency Injection, DI) 쉽게 말하자면 우리가 스프링에서 컨트롤러로 들어온 요청을 서비스에게 보내주었듯 마찬가지로 Nest에서도 컨트롤러에서 서비스로 보내준다. 우선 모듈에 사용할 수 있도록 등록을 해줘야한다. 모듈 @Module({ ... providers: [UsersService] }) export class UsersModule {} 크게 두가지로 나누어 컨트롤러와 서비스를 연결할 수 있다. 상속관계에 있지 않는 생성자 기반 주입..
[NestJS] - 2편 (설치~인터페이스) NestJS - 2편 (설치~인터페이스) 설치 npm i -g @nestjs/cliNestJS generator 설치 nest new project-nameNestJS generator로 새 프로젝트 생성 여기서 폴더구조 쫌 살펴보면 @Controller가 보인다. 엥? 내가 생각하는 그 스프링 어노테이션 컨트롤러가 맞나? 정답: 맞다.. npm i필요한 패키지 설치 npm start 컨트롤러 MVC(Model View Controller)패턴의 컨트롤러가 맞다. Request, Response를 처리한다. 코드로 이해해보자 nest g controller [name]해보면 띠용? 컨트롤러가 알아서 생성되고 메인 모듈인 app.module.ts에도 알아서 컨트롤러가 등록된다. 컨트롤러 뿐만이 아니다. n..
[NestJS] - 1편 (NestJS란?) NestJS - 1편 (NestJS란?) 리액트에 Next.js가 있고 Vue.js에 Nuxt.js가 있다면 NestJS는 Node.js 기반 백엔드 프레임워크이다. 기본적으로 Express 또는 Fastify 프레임워크를 기반으로 동작하며, 기본 설정은 Express이다. 데이터베이스, ORM, 설정, 유효성 검사 등 수 많은 기본 기능을 기본으로 제공하고 으며 필요한 라이브러리를 쉽게 설치하여 확장가능한 Node.js의 장점은 그대로 가지고 있다. Augular로부터 영향을 많이 받아 모듈/컴포넌트 기반으로 프로그램을 작성함으로써 코드 재사용성을 높여준다. IoC(제어역전), DI(의존성 주입), AOP(관점 지향 프로그래밍)와 같은 객체지향 개념을 도입하였다. TypeScript를 기본으로 채택하고..
웹 크롤링 vs 웹 스크랩핑( feat. puppeteer) 웹 크롤링 vs 웹 스크랩핑(feat. puppeteer vs Selenium) 주저리~ 이전에 크롤링 관련해 Selenium & NodeJS 관련 글을 쓴적이있다. https://ppoble.tistory.com/17?category=1262711 크롤링은 Selenium이 유명해서 Selenium이 짱이지! 라는 생각이 베이스에 깔려있어 Selenium & NodeJS의 구글 이미지 크롤링만 찾아보다가 못찾았었는데 추후에 다른 공부를 하다가 괜찮은 라이브러리를 발견해서 정리해 놓았다. 크롤링 크롤링이란 도서관에서 책을 찾는 개념.(크롤링을 연구하신 분이 구글을 개발함.) 셀레니움을 이용한 구글 크롤링? 엄밀히 따지면 웹 스크래핑이나 크롤링이라고 불린다. 크롤링전에 robots.txt 확인하기! 1세대..
React-02(Redux) React 리액트의 꽃 Redux(리덕스) 리덕스란? : 상태 관리 라이브러리로써 React뿐만이 아닌 jquery, vue.js, Augular.js와도 충분히 사용가능 ex) 컴포넌트에서는 useState, props를 통해 관리하였는데 todo리스트의 경우 const state = { todoList: [], doneList: [], deleteList: [], } 와 같이 관리하는 것이 복잡해 질 수 있다. 이것을 redux에서는 글로벌로 관리가 가능하다. 사용방법은? : 리덕스가 적용된 react를 이용하기위해서는 npx create-react-app my-app --template redux또는 기존 react 앱에서 yarn add react-redux를 통해 추가 가능하다. redux 기본..

반응형