본문 바로가기
반응형

All Posts134

[NestJS 일기] 영화 api 만들기(2) - DTO를 이용해서 입력값 검증하기 DTO (Data Transfer Object) 란? DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로 , 상대방이 쓰레기 값이나 입력할수 없는 값을 넣을때 검증하는데 쓰일 수 있습니다. dto 폴더를 새로 만들고 , 새 영화를 post방식으로 등록할때(create) body에 대한 입력값 검증을 위해 CreateMovieDto 객체를 만들었습니다. 기존 영화의 정보를 바꿀때도 입력 값의 유효성을 검증하기 위해 UpdateMovieDto를 만들었습니다. validator , transformer 모듈 설치 class-validator는 유효값 검증해주는 모델이고, class-transformer는 입력값을 자동으로 형 변환 해주는 모듈입니다. transf.. 2022. 6. 3.
[NestJS 일기] 영화 api 만들기(1) - 설치 , 컨트롤러 , 서비스 ts파일 만들기 nodejs 환경에서 nest 설치 폴더에서 아래와 같이 터미널에 입력하면 nest를 설치하고 프로젝트를 생성할수 있습니다. $ npm i -g @nestjs/cli $ nest new project-name movie들을 등록하고 정보를 조회하는 백엔드 api를 만들기로 시작했습니다. $ nest g co ==> 컨트롤러 생성 $ nest g s ==> 서비스 생성 movie폴더 안에 movies.controller , movies.service를 생성했습니다. entities(객체) 폴더 안에는 Movie 객체를 생성했습니다. Movie 객체 export class Movie { id : number title : string year : number genres : string[] } movies .. 2022. 6. 3.
[파이썬 python] : numpy 설치 및 활용 (배열 , 수학/행렬연산 , 코싸인 유사도) numpy 모듈 과학 연산과 인공지능 행렬 연산을 위해서 설계된 파이썬 라이브러리 입니다. 다차원 배열 처리와 수학 기능들을 쓸수 있고 , 내부적으로 c언어 구현되어있어 매우 빠르고 효율적입니다. 설치하기(윈도우 / 맥 mac) pip (파이썬 패키지 관리 시스템) 를 설치 안했다면? (맥 MAC) - 3.9 버전 기준 윈도우는 python3.9 대신에 python을 입력하세요! pip로 numpy 설치하기 윈도우 cmd python -m pip install numpy 맥 터미널 (3.9 버전 기준) python3.9 -m pip install numpy numpy array 생성하기 numpy의 array 메소드를 통해 배열로 변환할수 있습니다. numpy의 arange 함수 (리스트의 range와 .. 2022. 6. 2.
[파이썬 python] 클래스 (객체 , class) 만들기 클래스 선언하기 'class' 는 클래스를 만들때 쓰이는 예약어 입니다. 그 뒤에 괄호에는 상속 클래스 등을 써주면 됩니다. class 클래스명(상속 클래스명): 속성1 속성2 ... def 메소드1(self, 인자1, 인자2,...): ... def 메소드2(self, 인자1, 인자2,...): ... ... 함수의 인자로는 항상 첫번째로 self를 받는데, 인스턴스화 될 때 각 인스터와 자신을 구분하기 위한 디폴트 인자입니다. 그러므로 명시적으로 호출하지 않고, class 내부에 함수를 만들때 꼭 첫번째 인자로 넣어줘야합니다. 대표적인 클래스 연산자 메소드(오버라이딩) 자바를 배운사람이라면 오버라이딩이라고 생각하시면 됩니다. __init__ : 생성자(constructor)입니다. 인스턴스가 만들어질.. 2022. 6. 2.
[파이썬 python] 파일 입출력 , csv 파일 읽기 + (기상,지하철 데이터 분석) 파일 불러오기 파일 열어서 파일 객체에 저장하기 : f = open('파일경로' , 옵션 , 인코딩방식) 예시) f= open('myfile.txt,'w') 첫번째 인자는 경로를 받고 그다음 인자는 파일 여는 옵션(open mode)인데요 , 아래는 대표적인 옵션들의 목록 입니다. 'w' : 쓰기용으로 파일 읽기 (파일이 존재하지 않으면 새로 생성하고 , 존재하면 파일 내용을 비웁니다) 'r' : 읽기용으로 파일 엽니다. (옵션을 입력하지 않으면 기본 값입니다) 'x' : 새로운 파일을 생성합니다. 'a' : Append(이어붙이기) 모드로 파일을 엽니다( 없으면 새로 생성합니다) '+' : 파일을 읽고 쓰기용으로 엽니다. 문자열 형태로 파일 읽기 파일 읽을때는 read() 함수를 쓰면 파일을 전부 읽고.. 2022. 6. 1.
[jQuery / JS] DOM, CSS 변경 / 반환하기 (text ,attr , css , show...) 목차 DOM 변경 CSS 조작 show / hide / fade DOM (브라우저 객체)에 반환하거나 변경하는 함수들 $(선택자).func(); ---> func에 대해 배워봅시다! 1. 반환하는 jQuery 함수 (get) $(selector).text() : 선택된 요소 반환합니다 $(selector).html() 선택된 요소의 html 반환합니다 $(selector).val() : 입력 필드/value값을 반환합니다 $(selector).attr(attributeName) : 선택된 요소의 인자로 주어진 것에 해당하는 속성의 값을 반환한다 $(selector).position() : top과 bottom 필드를 가지고 있는 객체를 반환합니다. ex) position 함수 사용법 var pos = $.. 2022. 5. 31.
[MySQL] 테이블 조인하기 (1) - 결합연산 : join , inner join , left outer join , right outer join 실습을 위해 초기화(클릭) 이미 초기화 한 상태에서 추가로 여러 테이블을 추가해 줍시다. query 창에 복붙하고 실행시켜줍니다! 1. 외래키(foregin key) 란? item의 기본키 id 속성이랑 stock의 기본키 tiem_id속성은 동일한 제품을 가리킵니다. 두 테이블을 조인하면 15번 제품의 정보와 가격과 수량(stock)를 한번에 조회할수 있습니다. stock이 item을 참조한다고 하면 item테이블이 부모키가 되고, stock테이블은 자식 테이블이 됩니다. 이때 부모 테이블의 id는 참조당하는 키 , stock테이블의 참조하는 item_id 키는 외래키(foregin key)가 됩니다. stock이 item을 참조하면 item 부모 테이블 기준으로 조인이 일어납니다. 부모 테이블에 있는.. 2022. 5. 17.