-
Notifications
You must be signed in to change notification settings - Fork 44
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주차 과제 #113
전남대 FE_강호정 6주차 과제 #113
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hojeong26
앗 호정님 기다리고 있었습니다 ㅎㅎ 일단 충돌 해결해주시면 오늘내로 확인해볼게요~!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hojeong26
호정님~ 아직 배포가 안된 것 같은데 맞을까요?
그리고 Readme.md파일에 충돌이 있어서요. 충돌해결해주시겠어요?
지금까지 하신 코드로 우선 소소한 리뷰 달아보았습니다~!
|
||
- 아래 endpoint로 접속해볼 수 있습니다! | ||
- 52.78.81.37:8080 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기로 접속하면 에러가 뜨는데요. 프론트 배포된 것 맞을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아직 에러 수정하고 있습니다..!
src/api/hooks/products.mock.ts
Outdated
@@ -7,15 +7,15 @@ import { getProductsPath } from './useGetProducts'; | |||
export const productsMockHandler = [ | |||
rest.get( | |||
getProductsPath({ | |||
categoryId: '2920', | |||
category_id: '2920', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아마 서버 인터페이스로 snake_case를 채택한 것 같은데, 프론트엔드에서 코드 case를 섞어 사용하면 차후 의도를 알아보기 힘들 수도 있고, 가독성을 떨어뜨릴 수도 있습니다.
camelCase와 snake_case를 섞어 쓰기 보다는, 카멜케이스로 작성하였으니 서버에서 받는 데이터들도 모두 api interceptor를 통해 카멜케이스로 바꿔서 사용할 수도 있습니다. 그러면 서버 필드가 어떤 case이든지 fe입장에선 카멜케이스로 통일시킬 수 있습니다.
직접 구현할 수도 있고, 이러한 유틸은 라이브러리의 도움을 받을 수도 있습니다.
ex) https://www.npmjs.com/package/change-case
console.log('Fetched Data:', data); | ||
console.log('isError:', isError); | ||
console.log('isLoading:', isLoading); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이러한 콘솔로그 코드들은 배포 시 꼭 지워야합니다. 현재 프로젝트는 연습용이기는 하지만, 주석만이라도 남기면 좋을것같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hojeong26
안녕하세요 호정님!!
아직 배포가 안된 것이 맞을까요..?
http://52.78.81.37:8080/
이 주소에서 확인이 불가한데, 배포된 다른 링크가 있을까요?
우선은 배포가 되지 않은 것으로 보여 해당 피알 머지는 보류하겠습니다..!
아 제가 github action을 사용해서 배포를 해야되는 건가요??? |
멘토님 ci.yml파일을 설정하고 배포하는게 맞지않나요?? 혹시 제 코드에 문제가 있을까요? |
package.json
Outdated
@@ -7,7 +7,7 @@ | |||
"^axios$": "axios/dist/node/axios.cjs" | |||
} | |||
}, | |||
"homepage": "https://hojeong26.github.io/react-deploy", | |||
"homepage": "https://hojeong26.github/react-deploy", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gh-pages로 배포하는 것이지요? 깃헙페이지 기본 도메인은 {name}.github.io이 맞습니다. io 다시 넣어주세요~!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
github.io저장소를 만들고 파일들을 github.io저장소로 가져와야 되나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gh-pages 배포방식은, 빌드된 프로젝트 결과물 자체를 gh-page 브랜치에 올리고 이를 깃허브가 무료로 제공하는 저장소에 배포되도록 하는 것입니다. 그리고 github actions를 통해 이 과정 자체를 자동화하는 것이고요. 이를 CI/CD라고 합니다.
즉, 두 개념은 다릅니다. gh-pages배포방식과 함께 github actions로 배포를 자동화하는 것을 함께 찾아보시고 적용해보세요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기본적으로 Repository가 gh-pages를 바라보게 되어있는지 등도 체크해야 합니다. 아래 문서를 참고해보세요.
그리고 이후에 이 배포과정을 자동화해주는 github actions를 설정해보세요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
배포 성공한 것 같은데 npm run start를 했을 땐 오류가 안났는데 배포된 웹페이지로 들어가면 에러가 납니다..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
http://192.168.56.1:3000/react-deploy
멘토님 혹시 여기 들어가 지나요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
남겨주신 링크는 본인의 로컬 ip주소인 것으로 보입니다. 그 주소에 접속하려면 외부에 공개해야해서 저는 진입할 수 없습니다. 아래 깃헙페이지에 잘 배포된 것 확인했습니다. 엔트리를 react-deploy로 잡았기 때문에 이를 꼭 붙여줘야해요
@hojeong26 |
@hojeong26 다만, 배포가 된것인지 질문을 남기기보다는 배포가 무엇인지 이해하고 본인이 설정한 주소를 들어가서 확인하는 것이 우선이었으면 더 좋았었겠다고 생각이 드네요~ 배포한다는 것이 무슨 의미인지 CICD는 어떤 개념인지 조금더 알아보시면 좋을 것 같습니다 ㅎㅎ |
@hojeong26 회원가입 밸리데이션을 통과했는데도 진행이 안되는데 혹시 별도 쿠키설정이 필요한 걸까요? 로그인할 수 있는 동선을 알려주세요. |
회원가입 성공을 하면 세션저장소에 authToken이 저장이 되고 자동으로 로그인이 됩니다 |
"회원가입 중 오류가 발생했습니다"라고 뜨면서 가입되지 않습니다. 확인 부탁드립니다 |
오류 해결 그래도 안된다면 다른 방법이 있을까요? |
@hojeong26 그래서 로컬로 일단 확인해보았는데요. 회원가입은 진행되나, my-account쪽 api들도 모두 401에러를 뱉고 있네요. 서버쪽과 로그인 인증에 대해 협의를 해야할 것 같아요. 서버에서 미리 인증된 정보를 만들어두고 FE에서 그것을 바라보게 해서 테스트할 수도 있고... 이부분을 서버와 협의하지 않은 것 같은데 맞을까요? 혹시 호정님은 지금까지 어떻게(어떤 인증정보로) 로그인하고 테스트하고 계셨나요? |
혹시 로그인이 안되는 건가요?? 제가 npm run start로 했을 땐 에러가 발생하는 부분이 없었습니다 |
@hojeong26 그래서 어떤 인증정보로 테스트하고 계셨는지 여쭤본 것이에요~ |
음..인증정보를 협의한건 없는 것 같아요...! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hojeong26
인증과 관련해서 401이 뜨고 있어 확인할 수 있는 기능이 별로 없어, 해당 피알에 대한 동작테스트는 중단하겠습니다. (너무 시간이 오래 지나기도 했고요~)
로그인 후 my쪽 api들에서 왜 401이 뜨는지 저는 알수가 없으므로... 호정님께서 서버개발자와 함께 논의해보아야 하는 부분이라고 생각하는데요. 재현이 안된다고 하셨는데, 크롬 시크릿 브라우저에서도 한번 시도해보시고 재현이 되지 않는지도 한번 확인해보시면 좋을 듯합니다~! (재현이 되었다면, 그때부터는 이제 원인을 파악해야겟죠? ㅎㅎ)
그리고 mixed content에러도 반드시 담당 서버개발자분께 https로 줄 수는 없는지 한번 협의해봐도 좋겠습니다. 실습 강사님께도 한번 여쭤봐도 좋고요. 배포에 대해서도.. 이번엔 깃헙페이지로 빠르게 배포해주셨는데, 그 배포과정을 다시한번 복기해보고 개념을 숙지하시면 좋겠습니다. aws s3 + cloudfront처럼 다른 배포방식으로 배포해봐도 좋겠습니다. 이를 통해 배포가 어떻게 이루어지는 지를 확실히 숙지해보세요~
추가로, 동작관련해서만 계속 질의응답하다보니 말씀을 못드린 코멘트가 있는데, 에러와 관련해서 사실 현업에서는 FE-BE끼리 에러코드를 정해두고 케이스에 맞는 에러메시지를 노출시킵니다. 밸리대이션 통과가 안된 것인지, 주문정보가 변경된 것인지, (상품이라면)이미 품절된 상품을 구매하려고 한다든지... 그리고 사용자 입장에서는 에러를 받고 아무 동작도 일어나지 않으면 단순 버그로 생각하기 쉽습니다. 그래서 특별하게 뭔가를 해야하는 에러가 아니라면 공통적으로 새로고침 or 특정url로의 라우팅을 통해 후처리를 해주면 좋습니다.
그럼 그간 6주간 정말 고생많으셨고 다음에 기회가 된다면 또 만나요 !!
다시한번 정말 수고 많으셨습니다~
ebe3838
into
kakao-tech-campus-2nd-step2:hojeong26
새로운 주로 넘어가버렸네요...?ㅎㅎ...
일단 백엔드분께 받은 url을 이용해서 코드 수정하고 있습니다. 먼저 pr부터 보내요!!
p.s. 저는 여름감기에 걸렸답니다🤒🤒요즘 감기와 코로나가 유행이래요..멘토님도 몸조심하세요..!!!