본문 바로가기

업무 TIL

230721 금요일 업무 TIL

'오늘의 고민'
한 주 마무리 잘 해보자! 


[잘한점]
상황1) 개인적으로 이전보다 더 나은 질문을 하고 있다고 느꼈다. 
액션1) 팀원에게 왜 id값이 파라미터에 담기는가? 이 순서가 어떻게 되는가 등 이전보다 더 성장한 질문을 하고 있다고 나 스스로 느꼈다. 질문을 잘 하다보니 내가 원하는 답변도 제대로 얻을 수 있다. 
칭찬1) 점점 더 성장하고 있다고 느끼는 요즘인데, 더 열심히 공부해서 성장해야겠다! 


[개선점]
문제1) DEV DB의 컬럼을 변경하고 나서 배포를 하지 않아 다른 팀원한테서 에러가 발생하였다. 
원인1) DEV DB 컬럼하고 Entity 컬럼 값만 나 혼자서 바꾼 다음에 배포는 안하고 있는 상황이었는데, 다른 팀원의 터미널에서 내가 삭제했던 컬럼의 에러가 나고 있었다. 
액션플랜1) DEV DB에서 반영하고 나서 PROD DB 컬럼값 업데이트 해주고, DEV 환경 배포 잘 해주자. 

문제2) controller단에 url path 설정할때 @Put('update-policy') 이런 식으로 형용사형 단어를 넣어주었다. 
원인2) 실행에는 큰 문제가 없지만, 형용사형 단어보다는 명사형 단어를 주로 이용하도록 하자. 
액션플랜2) update한다는 의미에서 형용사형 단어를 나도 모르게 집어넣은 것인데, url path를 만드는 법에 대해서 다시금 찾아보니 동사/형용사형 같이 행동 파악이 쉬운 단어는 넣지 않는게 좋다고 한다. url은 자원을 표현하는데 중점을 두기 때문에 명사형을 주로 사용한다고 한다. 



[배운점] 

배움1) JWT는 모바일이나 웹의 사용자 인증이며, JWT가 탈취되면 서버는 알 수 있는 방법이 없기 때문에, JWT를 만들 때 만료시간 설정을 잘 해야한다. 

의미1) 팀원이 JWT를 어디에다 저장하면 좋은가?에 대한 글을 보내줬는데 LocalStorage와 cookie에 담는 2가지 방법을 소개해줬다. 우리 팀은 주로 LocalStorage에 JWT 토큰을 담아 인증을 진행하고 있다. 

 

배움2) @Controller('/account')가 class 위에 선언이 되어있는데, 이게 prefix다. 

의미2) controller 내에 여러 http 요청 메소드를 선언하는데, 나는 처음에 @Put('/policy/:id')라고 선언을 했었다. 그런데 팀원의 권유로는 account가 prefix 이기 때문에, @Put('/:id/policy')로 account의 id라는 종속성을 표기하는데 적합하다는 조언을 해주었다. 이에 대해 생각해본 적이 없는 부분이었다. 

 

배움3) controller단에도 순서가 있다. @Put('/:id')로 먼저 선언된 http 메소드가 있었는데, 나도 그 다음에 @Put('/:id/policy')를 선언했다. 그런데 여기서 처음에 파라미터로 id값을 넣지 않았는데, id값을 파라미터로 넣지 않으면 에러가 발생했었는데 그 이유가 나보다 먼저 선언된 id가 먼저 로직을 탔기 때문에 이게 먼저 실행되기 때문에 내가 그 아래에 작성한 @Put() 메소드에서도 id 파라미터가 필요했던 것이다. 

의미3) 먼저 선언된 것이 먼저 실행된다. 

 

배움4) as Partial <엔티티 이름>은 어디에 쓰이는가? 

의미4) Type check를 해줘서, address : savedAccount.address라고 한다면 여기서 address에 대해서 내가 선언한 type 으로 자동 완성 + 자동으로 선언된 부분으로 이동할 수 있게 해준다. 

 

 

'업무 TIL' 카테고리의 다른 글

230725 화요일 업무 TIL  (0) 2023.07.26
230724 월요일 업무 TIL  (0) 2023.07.25
230720 목요일 업무 TIL  (0) 2023.07.24
230719 수요일 업무 TIL  (0) 2023.07.20
230718 화요일 업무 TIL  (0) 2023.07.19