나의 개발일지(김지헌)
항해 99 70일차 11/27일 본문
MVP개발을 하는 3주 동안 어떤 기술을 다뤘는지?
1. Tyscript
자바스크립트 런타임 시 변수의 타입이 결정되기 때문에 코드를 실행시키기전까지 에러를 알 수 없다.
TypeScript는 정적 타입 언어로 컴파일 단계에서 오류를 포착할 수 있는 장점이 있다.
명시적인 정적 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있다.
이는 코드의 가독성을 높이고 예측할 수 있게 하며 디버깅을 쉽게 한다.
2.mysql 및 시퀄라이즈 ORM
Mysql - 관계형 데이터 베이스
시퀄라이즈 -자바스크립트 구문을 알아서 sql 로 바꿔주기 때문에 sql 언어를 직접 사용하지 않아도 자바스크립트 언어만으로 mysql을 조작 가능하기 떄문에 사용했다
3.helmet
Express 사용시 헤더를 자동 설정을 통하여 웹 취약점으로부터 서버를 보호해주는 보안 모듈이며
HTTP response header를 설정하는 여러개의 작은 미들웨어 함수 유형 모음인 것이다
4.multer , multer-S3 , AWS-sdk
Express 미들웨어이다.중간 파일을 인 메모리 방식이나 하드디스크에 저장한다.
req.files에 들어오는 객체를 사용한다.
세밀하게 컨트롤 할 수 있고 업로드 되는 파일의 수를 제한할 수도 있다.
5.jsonwebtoken
유저를 인증하고 식별하기 위한 토큰 기반 인증이고,
헤더+페이로드+시그니쳐로 구성된 암호화된 토큰이다.
장점-
-토큰 기반 인증 방식이고 세션에 사용자 정보를 저장할 필요가 없기 떄문에 세션서버가 필요가 없어
서버측 부담이 적고 능률적인 접근 권한 관리를 할 수 있으며
분산/클라우드 기반 인프라스트럭처에 더 잘 대응 할 수 있다.
-마이크로서비스의 인증 인가에 사용할 수 있는 서명된 json형식
단점 - 토큰 자체에 정보를 가지고 있어서 정보노출에 위험이 있다.
-> 단점 보안 : 리프레쉬 토큰을 비크립트로 한번 더 암호화 해서 저장하여 보안성을 높였다.
다음주 해야할것
1.Joi Validator를 사용한 유효성 검사를 class Validator로 수정
'항해 99' 카테고리의 다른 글
항해 99 72일차 11/29일 (0) | 2022.11.30 |
---|---|
항해 99 71일차 11/28일 (0) | 2022.11.28 |
항해 99 69일차 11/26일 (0) | 2022.11.27 |
항해 99 68일차 11/25일 (0) | 2022.11.26 |
항해 99 67일차 11/24일 (0) | 2022.11.25 |