제안

요청하신 범위를 그대로 받기 전에, 먼저 정하고 가야 유리한 것들을 정리했습니다.

제안

신규 구축을 권해 드립니다

기존 소스를 손보는 쪽이 싸 보이지만, 이번 건에서 고쳐야 하는 곳이 한 군데가 아니라 구조 전반이라 고치는 비용이 새로 만드는 비용을 금방 넘어섭니다. 아래 네 가지가 이유입니다.

두 방향 비교

항목기존 소스 고치기신규 구축
뚫린 경로알려진 곳부터 막지만 같은 방식의 코드가 다른 화면에도 남음조회·업로드·결제를 한 방식으로 통일
상품권 번호평문으로 저장된 값을 옮기는 작업이 따로 필요처음부터 바꿔 저장하고 키를 분리
관리자 분리같은 소스 안에 있어 떼어 내는 작업이 큼처음부터 별도 서버로 시작
판올림오래된 도구에 묶여 있어 올리면 화면이 깨짐현재 버전에서 시작
검수고친 곳마다 영향 범위를 다시 봐야 함만든 범위만 보면 됨
이후 유지고친 사람만 아는 부분이 계속 늘어남한 방식으로 정리되어 인수인계가 쉬움

권해 드리는 이유

  1. 1. 고칠 곳이 한 군데가 아닙니다 — 조회문, 업로드, 관리자 분리, 번호 저장, 결제 검증이 모두 같은 소스의 서로 다른 곳에 흩어져 있습니다
  2. 2. 번호 저장 방식을 바꾸려면 어차피 데이터를 옮겨야 합니다 — 이 작업이 들어가는 순간 고치기와 새로 만들기의 비용 차이가 크게 줄어듭니다
  3. 3. 뚫린 경험이 있는 소스는 안 뚫렸다고 말하기 어렵습니다 — 이미 올라간 파일이 남아 있는지, 계정이 새로 생겼는지를 확인하는 일이 따로 붙습니다
  4. 4. 판올림이 묶여 있습니다 — 오래된 도구 버전에 맞춰 쓴 코드가 많으면 보안 판올림 자체가 화면을 깨뜨립니다

비용이 어디에서 갈리는가

기존 소스를 고치는 경우 추가로 드는 일

  • · 지금 소스 전체를 읽고 같은 방식의 코드를 찾아내는 일
  • · 이미 올라간 파일과 계정이 남아 있는지 확인하는 일
  • · 번호를 바꿔 저장하도록 옮기는 일
  • · 고친 곳마다 다른 화면이 깨지지 않았는지 다시 보는 일

신규 구축에서 줄어드는 일

  • · 만든 범위만 보면 되어 검수 범위가 명확합니다
  • · 화면과 데이터 구조를 같이 정리해 이후 기능 추가가 빨라집니다
  • · API 발권으로 바꿀 때 통로만 갈아 끼우면 됩니다
  • · 인수인계 문서를 만드는 비용이 처음부터 포함됩니다

기존 데이터(회원·주문·재고)는 옮겨 와서 그대로 쓰고, 소스만 새로 만드는 방향입니다. 기존 소스 고치기를 택하시는 경우에도 진행은 가능하며, 그때는 위 네 가지 작업을 범위에 포함해 다시 산정해 드리겠습니다.