🚀 첫 미니 프로젝트를 시작하며
이번 12~13일차는 이론 공부를 잠시 멈추고
팀원들과 함께 첫 미니 프로젝트에 도전하는 시간이었다
주제는 장애인 관련 공공 데이터 분석 및 시각화
프로젝트 링크
단순히 기술을 배우는 것을 넘어
우리가 배운 데이터 분석 기술로
세상에 어떤 의미 있는 이야기를 던질 수 있을지 고민해볼 수 있는
아주 소중한 기회였다고 생각한다 😊
💡 우리 팀의 목표
- 현실 데이터로 문제 찾기: 흩어진 공공 데이터를 모아 사회 문제를 탐색하고
- 인터랙티브 대시보드 만들기: 사용자가 직접 데이터를 만져보며 인사이트를 얻게 하고
- 함께 성장하기: 팀원들과 협업하며 데이터 분석의 전 과정을 함께 경험하는 것
🧑💻 우리 팀, 그리고 나의 역할
총 4명의 팀원이 각자 관심 있는 주제를 하나씩 맡아 분석을 진행했다
이름 | 담당 주제 |
---|---|
박진서 | 장애인 복지 |
남상원 | 장애인 인구 분포 |
김현우 | 장애인 고용, 경제활동 |
민지수 | 장애인 관련 시설 |
나는 이 중에서 장애인의 고용과 경제활동이라는 주제를 맡았다
숫자 뒤에 가려진 그들의 현실을
데이터를 통해 조금이나마 이해하고 싶었다
🛠️ 프로젝트에 사용한 연장들
- 언어:
Python
- 데이터 핸들링:
Pandas
- 인터랙티브 시각화:
Plotly
- 웹 대시보드:
Streamlit
이 기술들을 조합해서
데이터 수집부터 분석, 그리고 웹으로 보여주는 것까지
하나의 파이프라인을 직접 만들어보는 경험을 할 수 있었다
🤯 프로젝트는 역시 트러블 슈팅이지!
물론, 모든 과정이 순탄하지만은 않았다 😂
수많은 오류와 싸우며 얻어낸 값진 해결 경험들을 공유해본다
문제 상황 | 해결 과정 |
---|---|
1. Plotly Hover 정보 깨짐 | hovertemplate 에 여러 정보를 넣으니 글자가 깨졌다. → f-string 으로 HTML 코드를 직접 만들어 해결! |
2. 로컬 vs 배포 경로 문제 | 내 컴퓨터에선 잘 되던 파일 경로가 서버에 올리니 FileNotFoundError 를 뿜어냈다. → pathlib 으로 프로젝트 기준 상대 경로를 사용해 해결! |
3. Streamlit 위젯 ID 중복 | 슬라이더, 버튼 등을 추가하니 자꾸 ID가 중복된다고 화를 냈다. → st.session_state 로 상태를 관리하고, 위젯마다 고유 key 를 주니 얌전해졌다. |
✨ 가장 기억에 남는 순간
st.session_state
를 이용해 복잡한 UI의 상태를 제어하는 데 성공했을 때
비로소 데이터와 사용자가 상호작용하는 대시보드를 만들고 있다는 사실이 실감 났다
이 경험은 앞으로 웹 기반의 데이터 프로덕트를 만들 때 큰 자산이 될 것 같다
✨ 프로젝트를 마치며
이번 미니 프로젝트는 단순히 코딩 실력을 늘리는 것을 넘어
데이터 분석가로서의 관점을 배울 수 있었던 시간이었다
- 데이터로 이야기하는 법: 흩어진 데이터를 모아 하나의 스토리로 엮어내는 과정
- 함께 만드는 즐거움: Git으로 코드를 합치고 서로의 결과물을 보며 함께 성장하는 경험
- 인터랙티브의 힘: 사용자가 직접 데이터를 탐색하게 만드는 동적 시각화의 매력
짧은 이틀이었지만
데이터로 더 나은 세상을 만드는 데
아주 작은 한 걸음을 내디딘 것 같아 뿌듯하다
앞으로 더 깊이 있는 분석과 의미 있는 프로젝트에 도전하고 싶다는
강력한 동기부여를 얻었다 🔥