2. mask-on 프로젝트 구조

프로젝트 회고/mask-on 2021. 9. 8. 08:20

5주 동안 팀원들과 개발한 Mask_On 프로젝트 아키텍쳐는 사진 촬영과 ML 러닝을 담당한 Pi Camera, Raspberry Pi 4, 도커 환경으로 구성한 Python 기반 백엔드 프레임워크인 Django 와 프론트엔드 프레임워크인 React로 구성되어있다. 내가 담당한 부분은 백엔드 , 데브옵스 부분이다. 백엔드는 Django, MySQL를 Docker-compose를 통해 Docker 이미지 단위의 컨테이너로 관리하는 방식으로 개발 환경을 구성하였다. 5주라는 어떻게 보면 짧은 기간 안에 PoC(Proof of Concept)와 본 프로젝트를 진행해야하는 사항 때문에 데이터 베이스는 Django ORM을 활용하여 구현하였다. 프론트엔드와 RESTful api로 통신하기 위해 Django Res..

Article Thumbnail
[TypeORM] @Many-to-One & @One-to-Many를 활용하여 @Many-to-Many Relations 구현

개발/TypeORM 2021. 9. 7. 08:20

TypeORM을 통해 Table간 Relation을 구성하다보면 N : N의 관계로 구성을 해야될 때가 있다. TypeORM의 공식 문서를 확인해보면 N : N을 구성하는 법은 다음과 같다. // category.entity.ts import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class Category { @PrimaryGeneratedColumn() id: number; @Column() name: string; } // question.enetity.ts import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm..

[OOP] 오버로딩과 오버라이딩의 차이점

개발/Java 2021. 9. 6. 08:20

오버로딩(Overloading)은 메소드의 이름은 같지만, 메소드 파라미터의 타입, 개수, 그리고 리턴되는 타입이 다르게 정의하는 것(확장)이다. 오버라이딩(Overriding)은 한국어로 상속이라 불리며, 상속받은 메소드와 파라미터 타입과 개수, 리턴되는 타입이 동일해야하고, 상속받은 메소드의 내용만을 변경하는 것(재정의)이다. 오버로딩(Overloading) 오버라이딩(Overriding) 메소드 이름 같음 같음 파라미터 타입 다름 같음 파라미터 개수 다름 같음

Faker.js를 통한 Seed API 작성

개발/NestJS 2021. 9. 4. 08:20

백엔드를 개발하다보면 REST API의 GET 메소드에서 DB에서 데이터를 제대로 불러오는지 확인해야하는데 이럴 때 Seed API를 통해 테스트 용도의 fake DB를 구성하는 것이 매번 데이터를 직접 입력해넣는 시간을 절약할 수 있으므로 좋다고 생각했다. TypeScript기반의 NestJS로 백엔드를 구성하다보니 Faker.Js 패키지를 활용하여 Seed API를 작성하였다. Faker.JS의 패키지 설치 방법은 매우 간단하다. npm i faker Faker.JS는 Typescript가 아닌 순수 JavaScript로 작성되어 사용하는 방법에는 두 가지가 있다. //@ts-ignore import faker from 'faker'; const faker = require('faker'); 위와 같..