1주차 멘토링 일지 - boostcampwm2023/baekjoonrooms GitHub Wiki

✔️ 결론 및 To Do

✔️ 아젠다 및 질문

Q. React 상태관리?

  • 당장 상태관리 라이브러리가 필요없어 보이면 상태관리 라이브러리를 안 써도 되나요?
  • 가벼운 상태관리 추천 Recoil vs Zustand vs Jotai vs Valtio

→ 필요없으면 안 써도 된다

→ recoil vs jotai | zustand vs redux toolkit | valtio vs mobx

→ 아래에서부터 위로 | 위에서부터 아래로 |

→ 만드는 앱이 컨텍스트 api를 얼마나 쓰느냐가 고려점

→ 서스펜스는 선택이 아니라 필수(상황 분기 코드, 관리를 잘 하면 에러바운더리 등 에러 관리 측면에서 배울 점이 많다)

→ 서스펜스 → tanstack query 필수


→ 상태 관리는 해야 한다. 무슨 상태를?

→ 정의한 다음 라이브러리 선택하라

→ 처음에는 안쓰는 걸 추천

→ 라이브러리 없이도 할 줄 알아야 라이브러리의 역할을 이해할 수 있음

→ 그나마 redux toolkit이 입문에 괜찮다, tanstack query는 편하지만 이해는 어려움


잘 만들거라는 기대를 하지 않아도 괜찮다.

Q. CSS? Emotion? Styled component? SCSS? Tailwind?

→ 우리가 쓰고 싶은 거! 한 번쯤은 다 써봄직 하다!

→ css(클래스 기반) vs css in js(컴포넌트)

→ 이후의 선택은 기술 수준에 따라 선택

Q. CI/CD

→ 올바른 방향은 존재하지 않는다, 챌린지도 줄여야ㅋㅋㅋ

→ 비용적 부분에서 고려했을 때 그냥 ncp도 괜찮다

→ jenkins github action 거기서 거기, 그냥 쓰고 싶은 거

→ 캐싱, 셀프 호스티드 러너 등 엔지니어링으로 github action의 느림을 해결하는 것도,,,

(느리면 왜 느린지를 봐야한다! 관찰을 해야 최적화가 가능하다)

Q. 서버 포트 뭐뭐 열어둬야 하는지… 3389, 22, 8080, 80, 443?

  • ACG (Access Control Group) 설정
    • ACG 설정에서 참고할 블로그 글: https://manvscloud.com/?p=859
    • 해킹 시도가 빈번해서 자주 사용되는 포트 번호 22, 3389, 80 등등…을 닫아둬야 한다?

→ ip 제한을 거는 것도 방법, key가 털리지 않으면 상관x

→ 중요한 데이터 집어넣지 말고 그냥 필요한 것만 열자

Q. 배포할 때 root 에서 작업하지 않고 bojrooms라는 계정을 따로 파는 게 맞는 방향인지

→ 안 파도 괜찮지만 따로 파면 베스트, tanstack query랑 비슷하게 나중에는 ssh를 써서 들어갈 경우 없다

Q. 프로젝트 파일 permission을 어떻게 하는 게 좋을지… 700? 600?

→ permission도 대충

Q. 도메인 어떻게?

→ ncp 무료 도메인?

→ ncp TLS certificate manger 인증서를 공짜로 만들어주느냐? 무료 인증서1

→ 로드밸런서 붙이면 못생긴 주소 하나 생김

맨 앞에 로드 밸런서 붙이고 ~ 못생긴 주소가 하나 바뀌는데 그거 가져다 쓰세요!!

Q. 푸시할 때마다 매번 비밀번호를 입력해줘야 하나요?

  • ssh의 경우, ssh private key를 다른 팀원들에게 노출해야 함. 결국 비밀번호를 설정해야 함.
  • https의 경우, github이 비밀 번호 입력을 막아둠.
  • https + PAT의 경우, PAT가 매우 길고 복잡하다.
  • credential.manager store나 gh의 경우, PAT를 plain text로 서버에 저장한다. (위험)
  • git config —global credential.helper manager 를 설치해야 하는가?
  • organizational PAT?
  • 현재 해결책: git credential.helper cache를 한 뒤 gh auth login 후 https browser login을 하면 리모트 서버 로그인도 호스트에서 할 수 있다. 그 이후 gh auth logout 해주면 토큰이 사라지지만 여전히 credential-cache daemon이 살아있어서 push 가능하다.

Q. Nginx 따로 서버 생성?

→ nginx 붙이지 않아도 됨 굳이 붙이지 말라

→ nginx 안 써도 됩니다!! express?

Q 프론트, 백, 디비 다 한 ec2에 올려도 되나요? 도커에 담아도 되나요?

→ 회사마다 다 다르다 상관없다

✔️ 멘토링 내용

일렉트론 같은 크로스플랫폼 아이디어 생각해보라

백준 사이드 프로젝트 많다 → 후기나 사례 찾아보기

✔️ 체크리스트

이번 주 멘토링에서 이야기 나누면 좋을 주제입니다. 우리 팀의 상황은 어떤가요? 멘토님과 이야기 나눈 후 셀프 체크하고, 그 이유를 작성해보세요. 추가하고 싶은 항목이 있다면 직접 추가해도 좋습니다.

  • 기술적 도전 과제 수립이 되었다.
  • 현실성 있는 계획 수립이 되었다.
  • 프로젝트 기획과 설계의 뼈대가 나왔다.