포시코딩

[팀스터디] 남의 팀 프로젝트 뜯어보기 (10-10-gaza) - 작성중 본문

스파르타/내일배움캠프

[팀스터디] 남의 팀 프로젝트 뜯어보기 (10-10-gaza) - 작성중

포시 2023. 1. 19. 01:34
728x90

https://github.com/10-10-gaza/wonbin

 

GitHub - 10-10-gaza/wonbin

Contribute to 10-10-gaza/wonbin development by creating an account on GitHub.

github.com

 

package.json
rimraf:  nodejs 프로젝트에서 설치된 노드 패키지를 정리하는데 사용되는 실행 파일
-> s3 사용하고 싶었으나 프로젝트에 저장 -> public/images/
-> 취소할 경우에 삭제되게끔.. 
-> multer 사용함에 있어서 미들웨어에서 저장해버리니까
uuid4: 랜덤 파일이름 생성하는데 쓰인듯. 그냥 시간으로 저장하면 랜덤으로 할 필요 없지 않을까
uuid를 그럼 실제로 어디에 쓰는지? 실제로 유용한 곳이 있을까
-> 현업에서 이미지 처리할 때 실제로 uuid로 .. 모든곳은 아ㅣㄴ고

UUID 다른 버전은 다 어디서 쓰는지 예제 한번 찾아보기

 


들어온 request 값에 대한 검증에 대해 튜터님은 컨트롤러에서 하고 바로 fail을 던져버리는게 낫다고 배웠었는데
service로 들고 가야 하는지? 
아니면 따로 util과 같은 파일로 빼서 검증 후 처리?


auth.controller 68
auth.service.js 17
프론트로 리턴하는 값에 대해 좀 더 깔끔하게 다루면 좋을듯?
response에 같이 온 객체의 데이터가 아닌 status code로 구분지었다면
코드를 좀 더 줄일 수 있었을듯
-> type에 대해 좀 더 나눠서 처리를 하고 싶지 않으셨을까


**
status code를 정하는건 어디서?
민수님은 controller에서 정하는게 맞다고 생각..
여기선 type으로 하려고 했으나 


env
DB_DIALECT 는 안쓰는데 빼도 되지 않을까


ejs 파일 사용하는 외부 cdn등 하나로 합쳐 불러오는 형태로 썼으면 어땠을까
그리고 bootstrap 을 여러 버전으로 가져와 쓰는것도


salt를 따로 랜덤으로 만들어서 사용함 -> 실제로는 어떤식으로 써야 더 좋은지
-> db가 털려서 암호화된 비밀번호 , salt -> 
 어떤 경우가 더 좋을지 고민

bycript

masters.controller.js 37
success === false인데 똑같음



return await ~~에 대해 
await 을 생략할 수 있음
https://ooeunz.tistory.com/47


# 26
백, 프론트엔드가 완전히 분리되면 redirect는 사용할 수 없음
백엔드는 브라우저 행동을 처리하지 않는다.
redirect가 아닌 status code 401과 같은 실패 처리를 돌려줄 것










repo 클래스의 인스턴스를 model로 만든 이유? -> +김민수


아쉬운건 controller에서 비즈니스 로직을 처리하고 있음
ex) userLogin
-> service 로 넘겨서 처리하면 좋지 않았을까


mysql where 절 관련 블로그 참고
https://sso-feeling.tistory.com/115
https://inpa.tistory.com/entry/ORM-%F0%9F%93%9A-%EC%8B%9C%ED%80%84%EB%9D%BC%EC%9D%B4%EC%A6%88-%EC%BF%BC%EB%A6%AC-%EB%AC%B8%EB%B2%95

getUserOrderListAll
getUserOrderListDoing
getUserOrderListDone
전체, 진행중, 완료에 대한 목록에 대한 잘된 예시 + 페이지네이션
sequelize op 관련

https://inpa.tistory.com/entry/ORM-%F0%9F%93%9A-%EC%8B%9C%ED%80%84%EB%9D%BC%EC%9D%B4%EC%A6%88-%EC%BF%BC%EB%A6%AC-%EB%AC%B8%EB%B2%95



주문 취소시 상단바에 포인트 바로 반영 안됨
주문 목록에서 필터 선택 시 새로고침되는거 아쉬웠음 목록만 바뀌면 좋지 않았을까


사장 손님 테이블 나눈 이유
기능이 확장될수록 구성이 달라질 우려
개발할 때 편의성


유튜브 로그인은 어떻게 유지되고 있는지?
그 유지되게 하는게 refreshToken이라면 그게 탈취 당하지 않게 어떤 방법을 쓰고 있는지

s3
https://github.com/ALAJAKA/ojijo

 

 

 

 

 

 

 

 

 

다른 리뷰 보며 정리

 

 

이보형
bcrypt vs cripto 
bcrypt blow-fish 
서버에 부하가 굉장히 높아짐
보안은 높아지느 만큼

crypto-js에 대해서도

https://choidr.tistory.com/entry/crypto-Module%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%8B%A8%EB%B0%A9%ED%96%A5-%EC%95%94%ED%98%B8%ED%99%94-NodeJS



리뷰

테이블 구성이 비슷하지만 다 나뉜 이유 ex) 사장, 손님
-> join 을 안쓰려고
왜 ?
-> 어려워서 회의 후에 그렇게 하기로 결정

controller에서 input 데이터 체크 한 이유?
service에서 하면 되지 않나
-> 저번 창민 튜터가 controller에서 하라고..
-> 


repo에서 findOne을 써야하는 상황에서도 다 findAll 쓴 이유 



fs 모듈에 대해 fs.rm, fs.rmdir 차이

util 모듈에 대해
util.promisify 사용법
-> crypto 암호화와 같이 사용하심 auth.services
https://choidr.tistory.com/entry/crypto-Module%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%8B%A8%EB%B0%A9%ED%96%A5-%EC%95%94%ED%98%B8%ED%99%94-NodeJS
cryoto randombites 는 왜 64인지


'use strict' 진짜 알고 쓰자

728x90