- add_tab: 새 탭을 서버에서 즉시 활성화하도록 수정
- addTab(): loadTabs() 대신 직접 render() 호출 (탭 전환 오버헤드 제거)
- 지오코딩: concurrent.futures.ThreadPoolExecutor로 병렬 처리 (5 worker)
- 지오코딩: 단일 시도 + 캐시로 중복 요청 제거, 30초→4초 단축
- upload: 먼저 모든 주소 수집 후 병렬 지오코딩, 이후 데이터 구성
- 근무자 마커를 지도 위에서 직접 드래그하여 근무지에 배치 가능
- 배치된 근무자는 근무지 위치로 이동 및 아이콘 변경 (주황→초록)
- 근무지 마커 팝업에서 배치된 근무자 목록 확인 가능
- 배치 취소 시 원래 주소 위치로 복귀
- 모든 UI 업데이트를 점진적으로 처리 (화면 깜빡임 없음)