반응형 분류 전체보기242 [NestJs] Modules, Injection 모듈: 여러 컴포넌트를 조합하여 좀 더 큰 작업을 수행할 수 있게 하는 단위모듈로 쪼개는 이유: 여러 모듈에 각기 맡은 책임을 나누고 응집도를 높이기 위해마이크로서비스 아키텍처 관점에서 모듈이 커지면 하나의 마이크로서비스로 분리할 수 있다. 모듈 생성하기nest g mo 모듈을 분리하는 것이 좋다.app.module.ts@Module({ imports: [MovieModule], controllers: [], providers: [],}) movie.module.ts@Module({ controllers: [MovieController], providers: [MovieService],}) controller 생성app.controller.tsnest g co마찬가지로 app.provider.. 2023. 8. 16. [구름톤챌린지] day 2 프로젝트 매니징 python 문제 내 정답 구름 컨테이너 공유 day2.py - goorm 구름IDE에서 공유된 소스코드를 볼 수 있는 페이지입니다. ide.goorm.io:443 몰랐는데 배운점 출력하는 부분이 숫자+' ' + 숫자 형태로 출력해야하는데, 그냥 하니까 안되더라구요. 검색해봤고 저는 이렇게 출력했습니다. sep을 사용하면 중간에 해당 문자로 이어져서 출력된다고 합니다. print(now_tm[0], now_tm[1], sep=" ") 어려운점 아직 2일차이기때문에 난이도는 낮습니다~ 2023. 8. 15. [구름톤챌린지] day 1 운동 중독 플레이어 python 메일을 보다가 우연히 구름톤 챌린지라는 것을 발견하여, 공유드립니다~ 알고리즘 문제를 하루에 한개 푸는거라 부담없는 것 같아서 해보려고 합니다. (매일 풀 수 있을지는 모르겠지만 ㅠㅎㅎ) 구름톤 챌린지 구름LEVEL 알고리즘 먼데이 챌린지가 구름톤 챌린지로 새롭게 찾아왔습니다. 온라인 알고리즘 문제 풀이와 오프라인 팀 챌린지를 모두 즐길 수 있는 구름톤 챌린지와 4주 동안 매일 꾸준히 성장 9oormthonchallenge.oopy.io 단순 푸는거에서 + 다양한 오프라인 행사, 이벤트도 있는 것 같고 해당링크에서 확인해보세요! 문제 내 정답 구름 컨테이너 공유 day1.py - goorm 구름IDE에서 공유된 소스코드를 볼 수 있는 페이지입니다. ide.goorm.io:443 몰랐는데 배운점 오랜만에 .. 2023. 8. 15. [노마드 코더 NestJS로 API 만들기] 2 DTO, Validation 파이프 요청이 라우터 핸들러로 전달되기 전에 요청 객체를 변환할 수 있는 것. ValidationPipe ParseIntPipe / ParseBoolPipe / ParseArrayPipe / ParseUUIDPipe : 전달된 인수의 타입을 검사 DefaultValuePipe : 쿼리 매개변수가 생략된 경우 기본값 설정 유효성 검사 라이브러리 class-validator, class-transformer 설치하기 npm i class-validator class-transformer mapped-types 설치하기 npm i mapped-types main.ts 에 유효성 검사 pipe 생성하기 transform: request로 들어온 파라미터를 원하는 타입으로 변경해준다. true로 해야한다. app.. 2023. 8. 13. Spring MVC vs WebFlux 패턴 비교하기 MVC 패턴 동기적으로 동작하는 블로킹 방식 어플리케이션이 JPA, JDBC 또는 네트워킹 API에 의존하는 경우 spring MVC가 최선이다. 사용자 요청마다 스레드를 계속 생성해야하므로 Thread pool이 만들어진다. 장점 모듈의 분리를 가능하게 하여 코드 가독성이 높아지고 협업에 유리하다. 가장 많이 쓰이는 패턴이며 유지보수가 쉽다. 단점 view-model간 의존성 대량 요청을 받아내는데 (Thread pool hell현상: 큐에 계속 요청이 쌓여있는 것) 한계가 있다. 시스템의 트래픽을 측정해서 Thread pool size를 잘 조정해야한다. 요즘은 webflux 방식을 사용한다고 한다. WebFlux 비동기적으로 동작하는 논블로킹 방식 spring 5 (spring boot 2)에서 새.. 2023. 8. 13. [노마드 코더 NestJS로 API 만들기] 2 service service 생성 $ nest g s entity 폴더 생성 > 데이터베이스 모델 생성 - 가짜 데이터베이스 export class Movie { id: number; title: string; year: number; genres: string[]; } service 에 로직 구현 단일 책임의 원칙 - 한개의 요소는 한개의 기능만 책임진다. @Injectable() export class MovieService { private movies: Movie[] = []; getAll(): Movie[] { return this.movies; } getOne(id: string): Movie { const movie = this.movies.find((movie) => movie.id === +id); i.. 2023. 8. 12. 2 Rest API - Controller, Route [노마드 코더 NestJS로 API 만들기] 컨트롤러 생성$ nest g co Get & Param & Query @Get() getAll() { return 'retturn'; } @Get('search') search(@Query('year') year: string) { return `searcing after ${year}`; } @Get(':id') getOne(@Param('id') id: string) { return id; } Post & Body @Post() create(@Body() movieData) { return movieData; } Delete & Param @Delete() remove(@Param('id') id: string) { return id; } Patc.. 2023. 8. 12. [NestJS] 초기 세팅 설치$ npm i -g @nestjs/cli 프로젝트 생성$ nest new 프로젝트 실행$ npm run start:dev 알아야할 용어: 데코레이터 main.ts : NestFactory를 사용하여 Nest 애플리케이션 인스턴스를 작성하는 애플리케이션의 엔트리 파일모든게 시작된다. app.module.ts : application의 root Module루트 모듈이며 모든 모듈을 import한다. app.controller.ts : 기본 컨트롤러라우트같은 것으로 url을 가져오고 function을 리턴한다. app.controller.spec.ts : 컨트롤러에 대한 단위 테스트 app.service.ts: 기본 서비스비지니스 로직이며 function을 가지고 있다. 2023. 8. 11. Redis vm 생성, AWS EC2 설치 계정을 만들고, 카드 등록 후 검색창에 "EC2" 를 검색하고 들어와서 "새 인스턴스 시작" 한다 Ubuntu 환경으로 나머지는 기본 설정을해서 만들고 인스턴스에 연결 기본적으로 사용자명은 ubuntu 다. 생성까지는 조금의 시간이 필요하므로 후에 연결하면 sentinel은 1대만 설치해도 되지만 해당 VM에 장애가 발생되면 정상적인 monitoring과 failover가 불가하기 때문에 3대로 설치한다. 장애여부와 failover 시 다수결 의사 결정을 할 수 있어야하기 때문에 sentinel은 홀수개로 설치해야한다. $ sudo su $ apt-get update $ apt-get install redis-server $ cd /etc/redis # redis.conf가 생성됨을 확인 $ ps -ef.. 2023. 8. 6. 이전 1 2 3 4 5 6 7 8 ··· 27 다음 728x90 반응형