react-query
를 쓸 때 enabled: true
로 default 설정이 되어 있었는데, params가 없을 때도 API가 호출되어서 데이터독에 "파라미터 없는데 왜 불러!"라고 발생하는 에러였다. enbaled: Object.keys(params).length !== 0
으로 변경하였다.useInitParams()
로 URL에 필터값을 넣어줬는데, 이게 빨리 실행되면 버그가 나타나지 않았다. 실배포로 나갔을 때도 200으로 찍혀서 데이터독 에러로 나타나는지 몰랐다.키오스크. 결제와 직접적인 관련이 있는 거라서 배우고 싶다. 내 마음을 몸소 보여주기 위해 어제 키오스크 코드를 확인해 보았다. 내일 아침부터 일렉트론 질문으로 팀장님을 괴롭혀야겠다.
const remote = require("@electron/remote");
const appVersion = useMemo(() => remote.app.getVersion(), [remote]);
왜 아래처럼 쓰지 않는지 궁금.
const electron = require('electron');
const appVersion = electron.remote.app.getVersion();
const client = new net.Socket();
client.on
은 이벤트 리스너 역할을 하는데, 소켓이 열려있으면 항상 듣고 있는 건지 궁금client.on("data", function () {
브이디 솔루션 페이지에 체험하기 서비스가 들어갈 예정이다. 말 그대로 우리 서비스를 체험할 수 있는 페이지가 들어가는 것이다. 프론트에서는 웨이팅과 키오스크가 들어간다. 내가 맡은 건 웨이팅.
체험하기 레포를 모노레포로 만들었다. 웨이팅 클라이언트, 웨이팅 어드민, 키오스크가 들어갈 것이다. 현재 옮겨둔 것은 웨이팅 2개.
🤓 신나는 모노레포 만들기 🤓
yarn init
을 하면 package.json
이 생긴다.git remove -v
로 리모트 주소를 확인한다.git remote add <리모트 이름> <리모트 주소>
를 입력한다.git subtree
로 기존 레포에 있던 코드를 끌고 온다.코드를 복사하는 것과 다른 점은 git
내역을 전부 끌고온다는 것이다.
레포는 만들어두어서 이번 주에는 웨이팅 클라이언트와 어드민을 연결하는 작업을 하면 된다.
현재 모노레포에서 태그 배포를 하고 있다. 이렇게 되면 모노레포 안에 있는 레포를 골라서 배포할 수 있다. 이렇게 한 지 2달 정도 되었는데 문제가 발견되었다.
이와 관련되어 트렁크 기반 개발도 이야기를 해보았는데, 이걸 적용하려면 서버, QA팀과 말을 맞춰야 하고 테스크 코드가 아주 잘! 명확하게! 짜여있어야 하기 때문에 당장 적용하긴 어렵다는 결론을 내렸다.
우리는 feature
브랜치를 딸 때 master
에서 딴다. 왜냐하면 기획한 순서대로 배포를 나가지 않기 때문이다. 심한 경우는 개발하고 n달 뒤에 나가는 경우도 있다. 그래서 feature
를 따서 작업이 끝나면 develop
에 병합해서 우리 팀 내부에서 테스트를 하고, 배포가 된다고 확정되면 staging
에 병합해서 QA팀에 넘기고, 실배포 하는 날에 master
에 staging
을 병합한다.
문제: develop
이 staging
보다 너무 앞서가고 있는데 이걸 어떻게 맞춰야 하는가?
답: 안 맞추면 된다.
develop
은 우리의 놀이터니까. 슬프게도 feature
를 develop
에 병합할 때 conflict이 많이 발생하는 경우가 있어서 이때 시간을 많이 쓰기도 한다. 그래서 나는 최대한 작게 작업하고 최대한 빨리 병합해서 conflict를 없애려고 한다. 파이팅.
브랜치 전략을 생각하니 머리가 지끈지끈하다. 이제 신나는 일을 적어봐야겠다.
이제 신나게 물놀이 하러 갈 거다. 싸이 흠 뻑 쇼