백엔드

[백엔드 공부]

조쿼카 2021. 5. 11. 22:54

FOODLE 과제 (~5/12 12:00)

#과제 1:example 내 모든 파일 어떤 기능하는지 알아오기

adjust/adjust.controller.ts

웹 요청과 응답을 처리하는 클래스에 사용하는 파일이다. 함수별로 res, req 작성 후 export는 한번에 하기 위해 하나의 class로 다 묶는다.

adjust/adjust.repository.ts

db관련 함수들 정의, 각 함수마다 query 만들기, query랑 runSql작성(공통적으로 사용되는 부분은 database.ts파일로 따로 빼서 구성)

영속성을 가지는 속성을 담아놓는 파일(파일, 데이터베이스)

adjust/adjust.service.ts

repository에 있는 함수들 불러와서 사용함, 각 함수별로 return값 정해줌, 세세한(부가적인) 구현들 모아놓음

서비스 레이어, 비지니스 로직을 가진 클래스에 사용하는 파일이다.

database.ts

db관련해서 공통적인 부분 구현해놓은 파일

.editorconfig

많은 개발자들이 다양한 Editor나 IDE에 관계없이 일정한 코드 스타일을 유지하기 위해 도와주는 설정파일, 파일 형태로 유지되며 읽기 쉽고 스타일에 대한 형상관리가 가능한 장점이 있다.

.eslintrc.js

ESLint는 코딩 스타일 가이드를 따르지 않거나 문제가 있는 코드 또는 안티 패턴을 찾기 위해 사용하는 Javascript linter다. 따라서 개발자가 자신의 스타일 가이드를 작성한 파일이다. -> 코드 품질에 초점

prettier과 같이 잘쓰인다

.gitignore

Project에 원하지 않는 Backup File이나 Log File, 혹은 컴파일 된 파일들을 Git에서 제외시킬 수 있는 설정 파일이다.

.prettierrc

Prettier는 코드를 읽어들여서 사용자 옵션에 따라 코드를 다시 포맷팅하는 코드 포맷터이다. 이에 대한 prettierrc 설정 파일이다. -> 코드 스타일에 초점

eslint와 같이 잘쓰인다

app-config.ts

프로그램 설정을 저장해놓은 파일이다.

app.ts

필요한 미들웨어들 등록, 서버 세팅하는 파일이다=서버에 필요한 미들웨어를 등록한 가장 중요한 파일이다

nodemon.json

nodeJS 서버환경에서 프로젝트 소스 수정시 자동으로 서버를 재시작해주는 개발 모듈인 nodemon을 사용하기 위해 있는 설정 파일이다.

package.json

노드로 생성한 패키지/프로젝트 정보를 가지고 있는 파일이며, npm에서 핵심적인 역할을 한다

pm2-backend.config.js

pm2는 서비스를 제공하고 있는 도중 서버가 중지되는 것을 막거나, nodeJs는 싱글 스레드 기반인데 멀티 코어 혹은 하이퍼 스레딩을 사용하고 싶을 때 사용할 수 있는 백그라운드로 등록해주는 도구이다. 이런 pm2에 관한 설정을 담은 파일이다.

routes.ts

express, Router()로 등록한 라우터 파일들을 가지고 있는 디렉토리이며, router.get()을 통해 사용자 요청에 따라 처리해주는 파일이다

server.ts

서버 내용에 관련된 파일이다. 포트번호를 지정하고 리스닝을 실행한다.

tsconfig.json

typescripte프로젝트의 루트가 되는 파일이다. 프로젝트를 컴파일하는데 필요한 루트 파일과 컴파일러 옵션을 지정한 파일이다.

tslint_old.json

TSLint는 타입스크립트 소스 코드가 코딩 규칙을 따라 컴파일된다면, 타입스크립트의 코드 질 확인을 위한 소프트웨어 개발에 쓰이는 정적 코드 분석 도구이다. TSLint는 타입스크립트 코드의 가독성, 유지보수성, 기능성 오류를 검사한다. 이런 TSLint를 적용시키기 위한 파일이다.
2019년에 TSLint 팀은 더이상 TSLint를 지원하지 않기로 결정했다. 그 이유는 ESLint가 존재하기 때문에 동일한 의도의 목적으로 프로젝트간의 많은 중복코드가 있었기 때문이다. TSLint 팀은 ESLint의 마이그레이션을 지원하고 ESLint의 Typescript 지원을 개선하는데 집중한다고 밝혔다. 다만, TSLint를 새로운 컴파일러 버전 및 기능과 호환성을 보장하도록 지원은 할 예정이라고 한다.

 

'백엔드' 카테고리의 다른 글

[Docker(도커) 공부]  (0) 2021.05.04