Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

전남대 FE_박건규 6주차 과제 Step1,2 #99

Open
wants to merge 7 commits into
base: geongyu09
Choose a base branch
from

Conversation

geongyu09
Copy link

@geongyu09 geongyu09 commented Aug 3, 2024

바쁘신 와중에도 코드리뷰를 해주시는 멘토님께 감사의 말씀 드립니다.

배포 링크 : https://geongyu09-step3.react-deploy-d5u.pages.dev/
(3단계까지 진행한 코드가 배포되어 있습니다.)

해결과정

1단계 :

  • 크게 변경된 부분은 없습니다. 다만, 백엔드와 협의를 통해서 api 명세서를 작성하고, 이에 맞추어 api 로직을 변경하게 되었습니다.

2단계 :

  • 사용자가 base URL을 option 태그를 통해서 변경할 수 있어야 했습니다.
  • 이에 따라서 instanse에 BASE_URL_LIST 상수를 정의해두고, optino의 value값이 BASE_URL_LIST의 key의 값으로 설정하여, baseURL을 가져올 수 있도록 하였습니다.
  • 새로고침을 하여도 baseURL이 변경되지 않도록 세션스토리지에 저장하도록 하였습니다.

배포

  • cloudFare를 사용하여 배포를 진행하였습니다. 현재는 3단계에서 코인 부분까지 구현된 로직이 배포되어있습니다.

리뷰어에게

  • [질문] 프론트 배포를 진행할 때 도커를 사용하는 경우도 있다고 들었습니다. 실제로도 현업에서 프론트에서 도커 혹은 k8s 를 사용하는지 궁금합니다.
  • [질문] 프론트엔드 개발자로서 성장하는데, 배포에 대한 개념이 많이 부족함을 느꼈습니다. 특히나 배포는 aws, Jenkins 등등 엄청 툴도 많고 어렵게만 느껴졌었어서 공부를 미루게 되었는데요. 혹시 배포에 대한 개념을 신입 혹은 취업을 하기 이전의 개발자 지망생이 어느정도 깊이까지 알아야 할지 궁금합니다

1단계는 코드가 조금은 더러운 느낌이 드네요.. 그래서 리뷰를 부탁드리기가 죄송스럽네요.
아무래도 빠르게 백엔드와 기능을 맞추어 봐야해서, 바로 3단계로 넘어가게 되었고, 여기서 1단계 브랜치를 변경하면 컨플릭 해결에서 조금 비용이 들어갈 것 같아서 손을 떼버리니 이렇게 된 것 같습니다. 수정사항이 있다면 3단계 pr에서 수정하도록 하겠습니다

baseURL의 데이터는 해당 데이터를 메인으로 사용하는 axios instance를 만드는 모듈에 둠

baseURL의 리스트를 객체로서 관리하도록 하였으며, 이는 사용시 BASE_URL[serverType] 로 사용할 수 있다.
타입 지정시  keyof typeof BASE_URL로 할 수 있다.

baseURL관리는 전부 useServer hook으로 위임하였으며, 이는 상태 및 session storage에서 동시에 저장하도록 하였다.

hook을 사용할 수 있는 곳에서는 state로서 반환받는 값을 사용하여 빠르게 가져올 수 있으며, 사용하지 못하는 서버단에서는 sessoinStorage에서 가져오도록 설계하였다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant