lifecarelog
제품소개

농구 동호회 엑셀 가져오기, 부분 저장보다 전체 검증이 먼저인 이유

동호회 멤버 명단을 엑셀로 옮길 때 절반만 저장되는 상황이 왜 더 위험한지, 전체 검증 후 한 번에 저장하는 설계를 플랜비 관점에서 정리했어요.

5분 읽기

농구 동호회 총무를 맡으면 명단이 꼭 엑셀에 있어요. 이름, 연락처, 포지션, 가입일 정도가 한 줄씩 들어 있죠. 플랜비처럼 멤버와 회비를 관리하는 도구로 옮기려면 이 파일을 통째로 읽어서 저장해야 하는데, 여기서 설계가 갈려요. 읽히는 줄은 바로 넣고 틀린 줄만 건너뛸지, 아니면 한 줄이라도 문제가 있으면 아무것도 저장하지 않을지.

절반만 들어간 명단이 더 골치 아픈 이유

부분 저장이 친절해 보이긴 해요. 30명 중 28명은 들어갔으니 2명만 고치면 되니까요. 그런데 직접 만들어 보니 그 2명이 누군지 총무는 몰라요. 화면에는 28명만 보이고, 빠진 사람은 엑셀을 다시 열어 눈으로 대조해야 찾을 수 있거든요. 회비 청구가 멤버 수 기준으로 돌아가면 2명분이 그냥 빠지고, 출전 로테이션도 28명으로 짜여요. 반쯤 맞는 데이터는 틀린 데이터보다 늦게 발견돼요.

엑셀 파일은 생각보다 자주 어긋나 있어요. 테스트해 보면 전화번호 앞자리 0이 사라진 셀이 꼭 나오고, 가입일은 날짜가 아니라 1900년 1월 1일부터 센 일련번호 숫자로 들어오기도 해요. 같은 사람이 두 줄에 있는 경우도 있고요. 이걸 저장하면서 하나씩 처리하면 어디까지 들어갔는지 추적하는 코드가 저장 코드보다 길어져요.

검증, 미리보기, 저장 3단계

그래서 흐름을 3단계로 잘랐어요. 파일 전체를 먼저 읽어서 줄마다 검사하고, 결과를 표로 보여주고, 사용자가 확인한 뒤에야 한 번에 저장하는 식이에요.

파일 전체 읽기줄별 검증(오류 줄 번호 표시)미리보기 확인전체 저장

검증 단계에서는 저장을 아예 안 해요. 필수 컬럼 4개가 비었는지, 연락처 자릿수가 맞는지, 이름이 겹치는지만 봐요. 돌려 보니 오류가 몇 번째 줄에 있는지 번호로 찍어 주는 게 제일 중요했어요. "연락처 형식이 틀렸어요"보다 "12번째 줄 연락처 앞에 0이 빠졌어요"가 훨씬 빨리 고쳐지거든요. 저장은 전부 통과했을 때만 트랜잭션 하나로 묶어서 넣어요. 중간에 실패하면 전부 되돌리니까 반쯤 들어간 상태가 생기지 않아요.

두 번 읽으면 느려지지 않을까

동호회 명단은 커 봐야 100줄 안쪽이에요. 적용해 봤더니 100줄을 두 번 읽는 비용은 체감이 안 됐고, 오류 표를 보고 엑셀에서 고쳐 다시 올리는 쪽이 10분이면 끝났어요. 직접 몇 번 올려 보니 부분 저장으로 들어간 데이터를 지우고 다시 맞추는 쪽이 훨씬 오래 걸렸고요.

  • 저장 전 전체 검증
  • 오류는 줄 번호로
  • 통과하면 한 번에 저장
  • 실패하면 전부 되돌리기

가져오기는 빨리 넣는 기능이 아니라 틀린 데이터를 안 넣는 기능이에요. 플랜비에서 멤버와 회비를 다룰 때도 같은 원칙으로 생각하고 있어요. 명단이 한 명이라도 어긋나면 회비 청구와 출전 로테이션이 같이 어긋나니까, 입구에서 막는 게 가장 싸요.

#플랜비#농구 동호회#엑셀 가져오기

라이프케어로그 서비스가 궁금하신가요?

AI 기반 건강·일정·재활 관리 앱을 직접 써보세요.

서비스 살펴보기

관련 글

댓글

아직 댓글이 없어요. 첫 댓글을 남겨주세요.