본문 바로가기

내일 배움 캠프/Weekly I learned

WIL 20230730

728x90

0. 기간 : 

20230724 ~20230730

 

1-1. 이번 주 동안 있었던 일

새로운 팀 배정 (가급적 매일 저녁 회의 중)

키오스크 프로젝트 완성

노드 독서회 1회 개최

1-2. 이번 주 체크리스트

[ O ] 예쁜 말로 협업하였는가?

[ O ] 12시간 동안 몰입하였는가?

[ ... ] 코딩 시 복사 + 붙여넣기를 하지 않았는가?

[ O ] 친절한 개발자였는가?

[ O ] 이번 주를 평가하였을 때 주니어 개발자가 될 수 있겠는가?

 

2. 이번 주 소감

열심히 하였다. 칭찬한다. 

3. 이번 주에 배운 것

1. google access token 

문제

google access token 은 언제 사용하는 것인가?

시도

로그인 할 때 사용하는 access token을 대체할 수 있을 것 같다.

해결

우준호 튜터 님 : 

그렇지 않다. google access token은 단순히 google  정보에 접근할  쓰는 access token 이다.

정보를 가져와서 DB의 정보와 일치하는 경우에 우리 사이트에서 사용 가능한 acess token을 새로 발급해 주어야 한다.

알게된 것

google access token은 단순히 google  정보에 접근할  쓰는 access token 이다.

 

2. 예약을 삭제하면 리뷰가 삭제가  된다.

문제

예약을 삭제하면 리뷰가 삭제가  된다.

시도

예약을 삭제하면 삭제한 예약에 대한 리뷰를 가려 줘야 할 것 같다. 

해결

우준호 튜터 님 : 

- 애초에 리뷰가 달린 예약을 왜 삭제하는가? 

리뷰가 달린 건 서비스를 이용했다는 것이기 때문에 삭제 되면 안 된다.

- 예약을 삭제한다는 개념이 있는가? 왜 있는가?

취소한다는 표현이 맞다. 사용자는 예약을 삭제할 수 없고 취소할 수 있다. 

알게 된 점

코드도 중요하지만 서비스의 흐름이나 개념도 중요하다.

 

3. Cannot use import statement outside a module

To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

문제

시도

package.json에 "type":"module"추가

해결

잘 됨.

알게된 것

 "type":"module" 을 추가해 줘야 import를 쓸 수 있다. 

 

4. ERR_MODULE_NOT_FOUND

문제

모듈을 찾을 수 없다고 한다. 

시도 

뭔가 경로를 못 찾는 것 같아 위치 뒤에 js라는 확장자를 붙여 주었다. 

해결

확장자가 없어도 vscode 내에서 경로는 찾아지지만 실제로 모듈을 찾을 수는 없다. 

 

알게 된 점 

module import 시 js를 꼭 붙이자. 

 

5. Values for ENUM have not been defined.

문제 

ENUM의 값을 정해 주지 않았다.

시도 

ENUM의 values를 정해 준다. 

해결 

잘 되었다. 

 

알게 된 점

ENUM은 캐릭터형 데이터 타입이며, 해당 칼럼에 들어올  있는 값을 지정해   있다.

그러므로 값을 정해 줘야 스키마가 생긴다. 

 

6. API 못 찾음

문제

라우터 경로도 다 제대로 작성한 것 같은데 API 주소를 못 찾는다. 

시도

파일을 꼼꼼히 살폈다. app.js에  this.setAppRouter()를 추가하는 걸 잊었다. 

해결

시도의 방법으로 잘 해결 되었다. 

알게된 것

새로운 기능을 추가하면 그 기능을 사용할 수 있게 설정하였는지 살피자. 

 

7. 외래키 id를 못 찾음

문제

시도

id가 자동생성 되게 하였었는데, PK로 지정하여 만들어 주었다. 

해결 

잘 되었다 .

알게 된 점

models에 설정하는 경우 PK 도 넣어주기

 

8. migration이란?

migration 파일과 똑같은 운영상황 세팅

 

9. 백엔드의 역할

문제

발주 API를 만들 던 중 enum.js의 key 를 입력값으로 하고 value를 데이터베이스 저장값으로 하면

나중에 데이터를 조회할 때 데이터 베이스 저장값으로만 조회가 되는데 괜찮은 건가?

시도

enum.js의 key를 데이터베이스 저장값으로 하고 value를 출력값으로 지정

하지만 발제 예시에 그렇게 나와 있지 않아 조호영 튜터 님께 질문

해결

백엔드에서는 데이터 저장을 0,1,2,3으로 한다. 데이터 보안 등 여러가지 이유가 있다. 

이것을 출력해야 하는 문자열로 바꿔주는 건 프론트엔드의 역할이다. 

이것을 실무에 가서 회의하게 된다.

ex) 우리 백엔드에서 0,1,2,3을 만들었으니 이렇게 표현해 주세요!

알게 된 점

백엔드에게는 백엔드까지의 역할이 있다. 

백엔드는 보안상 너무 친절하게 모든 것을 설명하면 안 된다. 

사용자에게 친절하게 설명해 주는 것은 프론트엔드의 역할이다.

 

10. 헬스 체크 (health check)

서버의 상태를 주기적으로 확인하여 서버의 정상 작동 여부를 판단하는 과정

this.app.use('/ping', (req, res, next) => {
      return res.status(200).json({ message: 'pong' });
    });

4. 배운 것들을 토대로 적용할 미래

개발자 되기

5. 다음주 목표

타입스크립트 강의 완강

AWS 강의 완강

6. 나에게 응원 마디

잘 하고 있는 것 같다. 파이팅 해서 주말에도 열심히 하자.

'내일 배움 캠프 > Weekly I learned' 카테고리의 다른 글

WIL 20230813  (0) 2023.08.13
WIL 20230806  (0) 2023.08.06
WIL 20230723  (0) 2023.07.23
WIL 20230716  (0) 2023.07.16
WIL 20230709  (2) 2023.07.09