이론 · 미리 읽을거리
기준 사이트는 공공데이터포털 data.go.kr ↗ 입니다. 미리 회원가입만 해두셔도 좋습니다.
1. API가 무엇인가
- 다른 곳이 가진 데이터를 정해진 방식으로 받아오는 창구입니다.
- 식당에 비유하면 — 주방에 직접 들어가지 않고 주문서를 내밀면 음식이 나옵니다. 그 주문서 양식이 API입니다.
- 우리가 하는 일은 단순합니다. 주소를 하나 호출하면 → 데이터가 글자 뭉치로 돌아오고 → 그걸 화면에 예쁘게 뿌립니다.
- JSON — 그 글자 뭉치의 표준 형식입니다. 사람도 읽을 수 있게 생겼습니다. 쓰는 법은 몰라도 되고 읽는 법만 알면 됩니다.
2. 공공데이터포털(data.go.kr)이란
- 정부·공공기관이 가진 데이터를 국민 누구나 무료로 쓸 수 있게 모아 둔 공식 창구입니다.
- 회원가입 후 원하는 데이터를 찾아 활용신청하면 인증키를 받고, 그 키로 데이터를 불러옵니다.
- 데이터는 두 종류입니다
- 오픈 API — 주소를 호출하면 실시간 최신 데이터가 옵니다 ← 우리가 쓸 것
- 파일 데이터 — 엑셀·CSV를 통째로 내려받습니다. 갱신이 느립니다
- 상세 화면에서 볼 것: 활용신청 버튼 · 승인 상태 · 일일 트래픽 한도 · 요청 변수 설명 · 미리보기
3. 활용신청과 인증키 — 막히는 지점들
- 즉시 승인 / 심사 후 승인 두 가지가 있습니다. 심사형은 1~2일 걸립니다. 그래서 3주차 과제로 미리 신청하게 합니다.
- 키를 Encoding / Decoding 두 형태로 줍니다. 어느 쪽을 써야 하는지 헷갈려 실패하는 경우가 가장 많습니다. 안 되면 다른 쪽으로 바꿔 보세요.
- 승인 직후에는 최대 1시간 키가 동작하지 않을 수 있습니다. 바로 안 된다고 당황하지 마세요.
- 일일 호출 한도가 있습니다. 개발하면서 반복 호출로 한도를 다 쓰지 않도록 주의하세요.
4. 추천 데이터셋
- 🥇 박스오피스 (KOBIS) — 즉시 발급 · 응답이 단순하고 결과가 눈에 잘 보입니다
- 🥇 미세먼지 (에어코리아) — 즉시 발급 · 지역별로 바로 와닿습니다
- 🥈 기상청 단기예보 — 친숙하지만 요청 변수가 다소 많습니다
- 🥈 전국 문화축제 — 목록형이라 화면 구성 연습에 좋습니다
- 🥈 서울 따릉이 — 실시간성이 크게 체감됩니다
- 박스오피스는 영화진흥위원회 자체 사이트에서, 나머지는 data.go.kr에서 키를 받습니다.
- 수업에서는 하나를 다 같이 해본 뒤, 각자 원하는 데이터로 바꿔 봅니다.
5. 인증키를 코드에 적으면 안 되는 이유
- 인증키는 내 이름으로 발급된 열쇠입니다. 남이 쓰면 내 한도가 소진되고 책임도 내게 옵니다.
- 코드에 그대로 적어 GitHub에 올리면 누구나 볼 수 있습니다. 공개 저장소를 자동으로 훑어 키를 수집하는 프로그램도 있습니다.
- 해결은 환경변수입니다. 코드에는 “키를 여기서 꺼내 쓴다”만 적고, 실제 값은 배포 설정에 따로 넣습니다.
- 실수로 올렸다면 키를 폐기하고 새로 발급받으세요. 파일을 지우는 것만으로는 부족합니다 — 이력에 남습니다.
- 3주차에 본 공개 저장소 이야기와 이어집니다.