HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤎
프론트엔드 데브코스 5기 교육생
/
🥕
김은수팀
/
4. 커피챗

4. 커피챗

Tags
날짜
Feb 21, 2024 22:00

헬스체크

  • 김은수
    • 저는 머리를 했구요. 손질하느라 아침 시간을 더 쓰고있습니다
    • 주말에 웡카 영화를 보고왔어요. 재밌어요 추천추천!!
  • 김영현
    • 하루에 한 문제씩 알고리즘 풀고 있다!
    • 노션 클론 리팩토링 진행. 상태관리를 옮겼더니 잘 동작한다!
  • 백준원
    • 자취방 짐 빼고 청주 학교 친구들 만나고 이사하느라 바빴다. 본가로 이사 완료!
  • 신종욱
    • 운동 하고 친구들 만나고. 주말에 1차 팀원 분들 만남! 잘 보냈다~
  • 이예진
    • 1차 팀원 분들 만나서 수다 떨었다! 팀 애기 취업얘기 많이 했는데 저번엔 수다 ㅎ
    • 금요일에 동기 졸업식!!
    • 코테,, 개발,, 삽질의 연속
 

질문

 

1. sqush merge / rebase merge

Q: squash merge와 rebase merge를 동시에 할 수 있는가?
A: github 사이트에서는 불가능. ide에서 rebase 후 squash merge는 가능. but… github cli를 찾아보면 뭔가 나올지도>>?!
 

2. 컴포넌트분리

요거 조금만 더 자세히 어떤 내용인지 적어주실 수 있나요??
컴포넌트 분리를 레이아웃 단위로 하게 되었는데,
⇒ 다음 커피챗때 자세한 예시 가져오기
 

3. openapi-generator-cli 사용시 api base url 과 swagger url 노출문제

 
  1. swagger주소가 노출되는 문제
    1. inputSpec을 url로 설정시 swagger주소가 노출. swagger base url이 곧 api base url임
    2. inputSpec을 로컬에 저장해두고 사용할 시 swagger주소가 노출되지는 않음 but, 최신화 수동(클라이언트 기준)
    3. 그렇다면 swagger주소도 환경변수로 하면 되는거 아닐까? ⇒ 명령어를 사용(openapi-generator-cli generate -i swagger주소)할땐 환경변수가 안 써짐, openapitools.json 설정파일을 사용할땐 json 파일에서 환경변수가 안써짐…(openapitools를 js로 바꿔서 사용할 시 오류가 남!)
      1. Javascript로 Bash 스크립트를 작성하는 방법
        Google의 ZX NPM 패키지를 사용하여 이제 자바 스크립트로 셸 스크립트를 작성할 수 있습니다.
        Javascript로 Bash 스크립트를 작성하는 방법
        https://flaming.codes/ko/posts/google-zx-shell-scripts-with-javascript/
  1. base url 노출문제
    1. mustaches 템플릿을 이용하면 generating시 아래처럼 환경변수로 바꿀 수 있음.
    2. /* baseApi.mustache 내부 수정사항 이전 export const BASE_PATH = {{{baseUrl}}}.replace(/\/+$/, ""); 이후 export const BASE_PATH = import.meta.env.VITE_BASE_URL.replace(/\/+$/, ""); */ //아래부분 처럼 되어있던걸 export const BASE_PATH = '원래 API 주소'.replace(/\/+$/, ""); //아래로 바꿔줌 export const BASE_PATH = import.meta.env.VITE_BASE_URL.replace(/\/+$/, "");
  1. 그러나, swagger문서가 바뀌면 명령어 yarn run template (지정해둠)를 실행해서 openapi-generator-cli가 default로 설정한 template을 받아온 뒤, baseApi.mustache내부를 위처럼 수정해 주어야함.
  1. 이 또한 수동으로 한다 가정하여도, 1번의 문제가 그대로 남아있음(swagger 파일 노출 문제)
결론 : swagger파일과 mustaches파일을 직접 최신화 하면 base url이 노출되지 않을것으로 여겨짐
 
질문 : 이보다 나은방법이 존재할까요…?! 문서를 열심히 뒤져봤습니다..ㅠㅠ
 
⇒ 고민할 필요x (백엔드 형님들이 고민..ㅎㅎ)
 

4. 폴더 구조

현재 구조
notion image
notion image
src/common/Ingame 을 src/pages/GamePage 내부로 옮기는 것이 문제가 될까요?! → pages라는 폴더에는 pages만 있어야 할 것 같은데 page와 연관된 컴포넌트들이나 hook, constants가 들어가게 되면 폴더 구조의 depth가 너무 깊어지는 것 같기도 하고, pages라는 폴더에 안 맞는것 같았다.
  • 역할별로 나누면 응집도가 떨어지는 것 같고 페이지별로 나누면 응집도는 올라가지만 depth가 너무 깊어지는 것 같다.
 
⇒ 유지해도 ok, 페이지와 관련없으면 꺼내본다
 

리액트 컴파일러의 등장?

  • React Labs: What We've Been Working On – February 2024
  • Vue에서는? Compiler-Informed Virtual DOM
    • 내부 구현은 어떨까
      • vue-loader
      • @vue/compiiler-sfc