2024 5월 회고(feat. 3월 4월은 어디에?)

이셀·2024년 5월 23일
0

til

목록 보기
6/9

회고가 이렇게까지 밀릴줄은 몰랐다...!!!
사실 3월까진 진행하던 프로젝트를 최종의 최종으로 마감했기 때문에 3~4월에 걸쳐서 다른 프로젝트의 의사결정과 에러 핸들링, 문제 해결정도만 기술했었다.
그런데... 5월부터 대기업의 프로젝트의 협력을 하게 되어 내 모든 근간이 바뀐 상황이다.
정리를 해보자면 웹 개발자(프론트엔드) > 시스템 개발자 루트를 타게 되었다.
sql을 공부할겸 좋은 기회겠다~ 싶어서 수락했는데:)...

그래도 이렇게 여러가지를 접할 수 있는 기회도 없고 나쁘지 않은 상황이라 생각하고 이전에 노션에 정리했던 것들을 기술(이라고 쓰고 복붙이라 말하는)해둔다.


3-4월 프로젝트의 의의

문제정의

이전에 만들었던 프로젝트들의 코드들이 오래되고 복잡하여 보수가 어려울 가능성이 크기에 마이그레이션을 결정함

| + 사내에서 사용하고 있던 그리드 유료 라이브러리에서 suspense와 React.lazy를 사용했는데, React19버전이 나오면서 지원을 하지 않게 되었고 이로 인하여 마이그레이션을 결정.

참고용 링크
https://velog.io/@tap_kim/react-learn-suspense

목표

이전에 작성했던 프로젝트의 UI와 기능을 가져와서 각각의 현장에서 사용 가능한 웹 페이지로 만들기

사용한 라이브러리와 데이터베이스

  • [React] - 자바스크립트 라이브러리
  • [node.js] - 크로스플랫폼 자바스크립트 런타임 환경
  • [next.js] - React기반 정적 웹페이지 / 서버사이드 렌더링
  • [Typescript] - 타입 명시 개발 언어
  • [Zustand] - 상태관리 라이브러리
  • [React Query] - 세션관리 라이브러리
  • [Tailwind] - CSS 프레임워크
  • [Express] - 네트워크 앱 프레임워크
  • [Ag grid] - 그리드 라이브러리 (이전엔 wijmo를 사용했으나 대중성을 위해 변경)
  • [Oracle SQL]

의사결정

  • NEXT 버전은 13버전으로 하되 라우팅 방식은 페이지 라우팅(page routing)방식으로 진행한다.
  • 깃허브 브랜치는 각자 이름으로 따서 진행하여 4월 4주째 함께 코드 리뷰를 진행한다.

프로젝트의 문제 해결 (20240417~20240426)

데이터가 true/false 형태가 아닌 1/0으로 올 때

forEach문을 사용한다

// 예시
const Grid = () => {
    logic(async () => {
      setDataTable2([]);
      if (getValueFromArray(currentSelectionRow, "ROLE_NO") === null) {
        return;
      }
      const response = await getApi({
        // 프로시저에 있는 데이터들 불러오기
        },
      });
      if (response.rtnResult === "OK") {
        let resultData: any = [];
        response.rows.forEach((item: any) => {
          let obj = {
          // 아이템과 변경해야하는 데이터를 삼항연산자로 변형
            ...item,
            데이터1: item.데이터1 === "Y" ? true : false,
            데이터2: item.데이터2 === "Y" ? true : false,
          };
          resultData.push(obj);
        });
        setDataTable2(resultData);
      } else {
        // 오류 메세지 송출
      }
    });
  };

NEXT13 에러 핸들링

REACT에서는 try-catch문을 사용하여 에러 핸들링을 했지만, next13에서는 try-catxh문을 사용하지 않고도 에러 핸들링이 가능했다.
그리고 next+ts를 사용하는 프로젝트였기 때문에 공통 컴포넌트화 하여 진행하여 코드를 최소화할 수 있었다!


5월의 회고

대기업의 프로세스를 익힐 기회는 많지 않다고 판단하여 5월 초부터 옮겨서 업무를 보았다.
또한 업무 특성상 해외 출장이 잦은데 6월에도 해외 출장이 잡혀있는...:)
그런 상황이다

그리고 업무 내용도 UI/UX 디자인과 번역 그리고 개발(예정) 이렇게 세 단락으로 나뉘는데 업무 내용이 바뀌니까 적응중에 있다!
맨날 메인으로 react, js만 쓰다가 sql이라니...
아마 6월부터 차근차근 공부할 것같은데 그래도 전 프로젝트에서 Oracle Sql을 조금 썼다보니 현재 사용하고 있는 MSSQL도 금방 적응하리라 믿는다ㅜㅜ

프론트엔드 작업을 좀 놓게 되어 너무 걱정이긴한데...
그래도 프론트엔드 작업은 개인작업을 해서라도 놓지 않기로 했다

너무 걱정될 때엔 이 글을 보기로...

https://f-lab.kr/insight/frontend-to-backend

profile
FrontEnd/백엔드 조금씩 먹어보는중

0개의 댓글