제안
요청하신 범위를 그대로 받기 전에, 먼저 정하고 가야 유리한 것들을 정리했습니다.
제안
신규 구축을 권해 드립니다
기존 소스를 손보는 쪽이 싸 보이지만, 이번 건에서 고쳐야 하는 곳이 한 군데가 아니라 구조 전반이라 고치는 비용이 새로 만드는 비용을 금방 넘어섭니다. 아래 네 가지가 이유입니다.
두 방향 비교
| 항목 | 기존 소스 고치기 | 신규 구축 |
|---|---|---|
| 뚫린 경로 | 알려진 곳부터 막지만 같은 방식의 코드가 다른 화면에도 남음 | 조회·업로드·결제를 한 방식으로 통일 |
| 상품권 번호 | 평문으로 저장된 값을 옮기는 작업이 따로 필요 | 처음부터 바꿔 저장하고 키를 분리 |
| 관리자 분리 | 같은 소스 안에 있어 떼어 내는 작업이 큼 | 처음부터 별도 서버로 시작 |
| 판올림 | 오래된 도구에 묶여 있어 올리면 화면이 깨짐 | 현재 버전에서 시작 |
| 검수 | 고친 곳마다 영향 범위를 다시 봐야 함 | 만든 범위만 보면 됨 |
| 이후 유지 | 고친 사람만 아는 부분이 계속 늘어남 | 한 방식으로 정리되어 인수인계가 쉬움 |
권해 드리는 이유
- 1. 고칠 곳이 한 군데가 아닙니다 — 조회문, 업로드, 관리자 분리, 번호 저장, 결제 검증이 모두 같은 소스의 서로 다른 곳에 흩어져 있습니다
- 2. 번호 저장 방식을 바꾸려면 어차피 데이터를 옮겨야 합니다 — 이 작업이 들어가는 순간 고치기와 새로 만들기의 비용 차이가 크게 줄어듭니다
- 3. 뚫린 경험이 있는 소스는 안 뚫렸다고 말하기 어렵습니다 — 이미 올라간 파일이 남아 있는지, 계정이 새로 생겼는지를 확인하는 일이 따로 붙습니다
- 4. 판올림이 묶여 있습니다 — 오래된 도구 버전에 맞춰 쓴 코드가 많으면 보안 판올림 자체가 화면을 깨뜨립니다
비용이 어디에서 갈리는가
기존 소스를 고치는 경우 추가로 드는 일
- · 지금 소스 전체를 읽고 같은 방식의 코드를 찾아내는 일
- · 이미 올라간 파일과 계정이 남아 있는지 확인하는 일
- · 번호를 바꿔 저장하도록 옮기는 일
- · 고친 곳마다 다른 화면이 깨지지 않았는지 다시 보는 일
신규 구축에서 줄어드는 일
- · 만든 범위만 보면 되어 검수 범위가 명확합니다
- · 화면과 데이터 구조를 같이 정리해 이후 기능 추가가 빨라집니다
- · API 발권으로 바꿀 때 통로만 갈아 끼우면 됩니다
- · 인수인계 문서를 만드는 비용이 처음부터 포함됩니다
기존 데이터(회원·주문·재고)는 옮겨 와서 그대로 쓰고, 소스만 새로 만드는 방향입니다. 기존 소스 고치기를 택하시는 경우에도 진행은 가능하며, 그때는 위 네 가지 작업을 범위에 포함해 다시 산정해 드리겠습니다.