웹개발
2 posts
subway-live 작업기 3부. 데이터 전처리

0. 들어가며 다음으로는 데이터를 수집하고 처리하여 최종적으로 와 이 두 가지를 생성하는 과정을 거쳤다. 1. 카카오맵 API에서 역 ID 찾기 iPhone 카카오맵 앱에서 출발지점을 바꿔가며 역 ID를 찾아내었는데, 대부분 연속된 숫자라 찾기 그렇게 어렵지는 않았다. 다만 새로 개통한 1호선 다대포해수욕장 연장구간, 동해선 태화강 연장구간, 동해선 부산원동역 이 세 가지는 다소 변칙적이었다. 1호선 신평~노포: ~ 동매~다대포해수욕장: ~ 2호선 장산~양산: ~ 3호선 수영~대저: ~ 4호선 미남~안평: ~ 부산김해경전철 사상~가야대: ~ 동해선 부전~일광 (부산원동 제외): ~ 부산원동: 좌천~태화강: ~ 이 데이터를 최종적으로 에 저장하였다. 2. 전체 역 시간표 만들기 이 파트가 전체 모든 과정 중 가장 애를 먹였는데, 처음에는 코드만 잘 짜놓으면 쉽게 넘어갈 수 있다고 생각했으나 예상치 못했던 변수가 너무 많았기 때문이다. 근본적으로는 raw data 자체에 문제가 많…

June 21, 2024
웹개발
subway-live 작업기 2부. API 작업

0. 들어가며 부산 지하철 실시간 도착정보 서비스를 만들기 위해 가장 먼저 준비해야 하는 것은 그 실시간 도착정보를 가져오는 것이다. 공공데이터포털, 레일포털, 카카오맵 API 등을 모두 찾아 보았으나, OpenAPI 형태로 실시간 도착정보를 제공하는 곳은 없었다. 어쩔 수 없이 카카오맵 앱 내부적으로 사용되는 API를 사용하여 실시간 도착정보를 찾아내기로 했다. 이 내부 API는 외부에 공개되지 않기 때문에 네트워크 패킷을 분석하여 찾아내야 한다. 1. 카카오맵 내부 API 찾아내기 휴대폰에서 통신되는 네트워크 패킷을 컴퓨터에서 찾아낼 수 있는 소프트웨어를 검색해보니 Charles Proxy가 있었다. 30일 무료 평가판에 세션 시간 제한 등 제약이 있었지만, 카카오맵 내부 API를 찾아내는 데에는 문제가 없어 보였다. Charles Proxy를 Mac에 설치한 뒤 iPhone에서 몇 가지 설정을 만져 주었다. 1-1. iPhone Wi-Fi 설정 변경 iPhone을 컴퓨터와 동…

June 21, 2024
웹개발