[ Project - OfficeHours ] 오피스 아워 - 3

2022-03-23 Office Hour

이미지 파일 관련

파일 제공 서버를 node로 쓰면 안 좋다 => 느림!
nginx 사용하면 좋음
reverse proxy, cors

코드리뷰

middleware 사용하기

body, params, query 체크 -> 나머지 로직 실행
각자 미들웨어 하나씩 만들어 주는 것도 괜찮다.

isTruthy

함수가 애매하다.
if (data) {} 쓰면 되지 않을까?

목적이 있다면 함수 이름을 좀 더 명확하게
https://developer.mozilla.org/ko/docs/Glossary/Truthy
https://developer.mozilla.org/ko/docs/Glossary/Falsy

Date

Date는 Date 형식으로 넣어주는 것이 좋다.
https://food4ithought.com/2021/05/24/unix-time-%EC%9D%B4%EB%9E%80-epoch-posix-%EC%BF%BC%EB%A6%AC-%EC%8B%9C-%EC%A3%BC%EC%9D%98-%EC%82%AC%ED%95%AD/
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4_%EC%8B%9C%EA%B0%84
https://currentmillis.com/

+) Temporal
https://tc39.es/proposal-temporal/docs/

+) Moment
https://momentjs.com/
이거 좀 무거움

+) Day.js
https://day.js.org/docs/en/installation/installation
https://jsikim1.tistory.com/196
https://www.npmjs.com/package/dayjs

error 관련

custom error를 만드는 것도 좋다.
Error를 상속받아서 넓혀주기

지금은 그냥 error.statusCode=500 이런 식으로 하기
res.status(error.statusCode)

class, prototype

prototype

function UserAuthService() {
}

UserAuthService.searchUser = function() {}

UserAuthService.prototype.foo = function() {} // static이 아닌 경우

class

const userService = new UserAuthService();

?? operator

null, undefined 체크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

WebAssembly

성능은 좋다.
https://arghya.xyz/articles/webassembly-wasm-wasi/
https://d2.naver.com/helloworld/8257914

Deno

이건 제가 들으려고 스크랩해둔 건데 참고하세요!
https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%94%94%EB%85%B8-%EA%B8%B0%EB%B3%B8#curriculum

morgan

https://www.npmjs.com/package/morgan
https://chan180.tistory.com/164

postman share

export해서 JSON 파일로 만들고 git에다 올리기
또는 invite 해서 같이 공유

📒 오피스 아워 진행 후

: 역시 이번 오피스아워 시간에도 여러가지 지식들을 알 수 있어서 너무 좋았다.
이미지 파일을 express static을 통해 정적으로 제공하고 있었는데, 이런 방식은 작은 프로젝트나 토이 프로젝트에서는 괜찮지만 실제 큰 서비스를 진행할 때는 속도가 매우 느리다고 했다.
그때 Nginx를 사용해서 정적파일을 제공하면 훨씬 빠른 속도로 진행할 수 있다는 것을 알게되어 Nginx에 대해 공부하는 시간을 가졌다.
또한 원래 만들던 parameter 체크 middleware를 express validator를 통해 만들면 조금 더 간결하고 직관적으로 만들 수 있다 하여 express validator 또한 공부하여 적용하였다.
그리고 Morgan이라는 패키지를 알려주었는데, Morgan은 요청을 보내거나 요청이 올때, 그걸 console창에 보여주는 역활을 하는데 설치하고 적용하자 어디서 요청이 오고, 오디다 요청을 보내는지에 대한 정보가 나와 프로그래밍을 할 때 더욱 편함을 느꼈다.

좋은 웹페이지 즐겨찾기