[현장 업무 앱 만들기] 8편
안녕하세요! AiApp을 만드는 엠바스의 신입 개발자입니다.
지난 편 마지막에 쌓이기 시작한 검수 결과를 사무실에서 모아 보는 화면을 만들어 보겠다고 적어 두었는데, 이번 편이 그 이야기입니다. 코드는 한 줄도 쓰지 않는 것과 개발 용어 없이 채팅으로만 진행하는 것, 두 조건은 이번 편에도 그대로 갑니다.
일곱 편에 걸쳐 만든 것은 사무실과 현장이 같이 쓰는 앱입니다. 지난 편에서 현장 쪽이 드디어 돌기 시작했고, 단말기로 화물을 찍어 확인한 결과가 앱에 남기 시작했습니다. 이번 편을 준비하면서 현장 화면을 계속 돌려 쌓은 것이 103건.
사무실 쪽은 지금까지 화물을 중심으로 만들어 왔습니다. 화물을 열면 그 화물에 붙은 검수가 보이는 구조라서, 검수한 것들만 세로로 세워서 훑는 화면은 이번에 새로 붙일 자리였습니다. 현장이 하루를 다 돌고 나면 사무실이 그날 처리된 것을 한눈에 받아 보는 화면.
그리고 이번 편에는 물음이 하나 더 있었습니다. 요청을 얼마나 구체적으로 적어야 원하는 그대로 나오는가. 일곱 편 동안은 업무를 설명하는 데 공을 들였는데, 이번에는 결과물의 모양을 어디까지 짚어 말해야 하는지를 실제로 재 봤습니다.
쌓인 결과를 한자리에 모으기
계획 모드를 켜고 상황을 그대로 적었습니다. 지금은 화물을 하나씩 열어야 검수한 내용이 보이는데 검수한 건들만 쭉 목록으로 보고 싶다, 한 줄에 어떤 화물을 언제 누가 무슨 작업으로 검수했는지와 잰 값과 문제가 있었는지까지 다 보이면 좋겠다, 배와 항차·작업 종류·검수한 사람·문제 유형으로 걸러서 볼 수 있게 해 달라. 마지막 줄에 그 목록을 엑셀 파일로 받아서 사무실에서 쓸 수 있게 해 달라고 적었습니다.
코딩 없이 앱 만들기를 일곱 편 해 오면서 요청은 업무 설명과 원하는 결과 두 덩어리로 굳었고, 어떻게 만들지는 이번에도 적지 않았습니다.
추천안 셋 중에서 고르기
계획서가 요구를 네 가지로 먼저 쪼개서 왔습니다. 모아 보기, 한 줄에 담을 정보량, 네 가지 거르기, 서류 내려받기. 제가 문단으로 적어 보낸 것을 항목으로 정리한 것인데, 이렇게 나눠 놓으니 나중에 결과를 확인할 때도 이 네 개를 하나씩 짚으면 됐습니다.
방향은 셋이었습니다. 계획 하나를 고르고 그 안의 검수만 시간순으로 훑는 쪽, 계획을 여러 조건 중 하나로 낮추고 전체를 가로질러 찾는 쪽, 등록값과 잰 값이 다른 건만 골라내는 작업 도구로 만드는 쪽. 첫 번째를 추천했습니다.
두 번째 방향 아래에 함께 짚어 둔 검토 사항 한 줄이 눈에 들어왔습니다. 배와 항차는 검수 기록이 아니라 화물 쪽 정보라, 전체 범위에서 걸러내려면 화물 정보를 폭넓게 함께 읽어야 한다는 내용입니다. 저는 이 앱의 데이터가 어떤 모양으로 들어 있는지 적어 보낸 적이 없는데, 방향마다 무엇을 함께 봐야 하는지를 먼저 정리해서 붙여 온 것입니다.
되물음도 세 가지 왔는데 그중 하나가 엑셀에 사진 유무도 칸으로 필요한지였습니다. 이번에도 되물음에는 답하지 않고 추천안 그대로 시작. 1편부터 지켜 온 진행 방식입니다.
요청하지 않은 것까지 채워 올 때
구현이 끝나고 관리자 화면을 열었더니 메뉴가 하나 늘어 있습니다. 계획을 고르니 검수 103건이 최신순으로 한 줄씩 놓였고, 화면 맨 위에 총 건수가 찍혀 있습니다. 한 건도 안 빠진 숫자.
한 줄에 들어간 칸을 세어 보니 요청한 것보다 많습니다. 검수한 시각, 화물관리번호, 배와 항차, 작업 종류, 검수한 사람, 문제 여부, 그리고 잰 값이 등록값과 같은지를 요약한 칸. 그런데 이 중에 배와 항차, 화물관리번호, 검수 시각은 검수 기록 안에 들어 있지 않은 정보입니다. 화물 쪽에서 끌어오거나, 기록이 만들어진 시각을 대신 쓴 것입니다.
줄을 누르면 아래가 펼쳐지면서 잰 값 아홉 가지가 등록값과 나란히 놓입니다. 요약은 화면에 두고 세부는 접어 둔 형태. 접어 두라고 적어 보낸 적은 없습니다.
거르는 칸 네 개도 화면 위에 나란히 붙어 있어서, 문제가 있었던 건만 골라 보니 두 건으로 줄어듭니다.
사진 칸은 들어가지 않았습니다. 계획서에서 필요하냐고 물었고 제가 답을 안 줬는데, 답이 없자 넣지 않는 쪽으로 간 것입니다. 지난 편에서는 되물음에 답이 없으면 처음 지시가 이긴다고 적었는데, 이번에는 답이 없으면 덜 넣는 쪽으로 기웁니다.
받은 파일 열어서 확인하기
목록 오른쪽 위 버튼을 눌러 파일을 받아 봤습니다. 줄 수는 103줄로 화면과 정확히 맞고, 칸도 스물다섯 개가 다 들어 있는 상태. 화면에 걸어 둔 조건이 그대로 실려 나온다는 것도 여기서 확인했습니다.
그런데 파일 형식이 제가 머릿속에 그리던 것과 달랐습니다. 완료 보고를 다시 읽어 보니 어떤 형식으로 만들었는지가 거기 적혀 있고, 제가 적어 보낸 말이 엑셀 파일로 한 마디였다는 것도 같이 보였습니다. 사무실에서 받아 바로 여는 그림까지는 제 머릿속에만 있었던 것.
원하는 형식을 딱 집어 다시 요청하기
두 번째 요청은 짧았습니다. 내려받는 파일이 xlsx 로 나오게 해 달라, 그리고 이 화면만이 아니라 내려받기 버튼이 있는 화면 전부에서 그렇게 해 달라. 받아서 더블클릭하면 바로 엑셀이 열리고 제목 줄과 칸 너비가 잡혀 있으면 좋겠다는 한 줄을 붙였습니다.
바뀐 것은 단어 하나입니다. 엑셀 파일이라고만 하던 것을 확장자까지 적었고, 범위를 화면 하나가 아니라 버튼이 있는 곳 전부로 묶었습니다.
되물음 없이 바로 세 화면이 한꺼번에 바뀌었습니다. 화물 목록과 화물 변경 이력, 그리고 이번에 만든 검수 이력. 셋 다 확장자가 xlsx가 됐습니다. 화물 목록 파일은 347줄, 변경 이력은 1,753줄, 검수 이력은 103줄이고, 세 파일 모두 줄 수가 화면에 찍힌 총 건수와 같습니다.
받아서 열어 보니 제목 줄이 첫 행에 들어가 있고 칸 너비도 내용 길이에 맞춰져 있습니다. 마지막 한 줄에 덧붙였던 두 가지가 그대로 반영된 것.
말을 한 칸 더 구체적으로 적으니 결과도 그만큼 정확해졌습니다. 처음에는 엑셀 파일로라고만 적었고 두 번째에는 확장자까지 적었는데, 그 한 칸이 받아 보는 파일의 모양을 정한 것입니다.
여기서 하나 더 배운 것이 있습니다. 두 번째 요청에서 제가 손댄 것은 형식 이름과 범위 두 가지뿐이고, 어떤 도구를 쓰라거나 어느 파일을 고치라는 말은 이번에도 넣지 않았습니다. 다시 말할 때 채워야 하는 것은 방법이 아니라 원하는 결과의 해상도입니다.
받아 본 결과가 머릿속 그림과 조금 다르면, 무엇이 달랐는지를 한 칸만 더 구체적으로 적어서 다시 말해 보세요. 저도 이번에 그렇게 해서 원하는 파일을 받았습니다.
도입에서 던진 물음은 여기서 답이 됐습니다. 요청은 업무 설명만으로 충분한 것이 아니라, 받아 볼 결과물의 모양까지 한 칸 더 짚어 말할수록 그대로 나옵니다.
여기까지가 이번 편입니다. 다음 편에서는 쌓인 검수 결과를 기간별로 세어서 오늘 몇 건 했고 몇 건 남았는지를 보는 화면을 만들어 보겠습니다.




