[LG U+ Why Not SW Camp 7기] 7월 2주차 회고

배형진·2025년 7월 13일

Why not SW 부트캠프

목록 보기
2/11
post-thumbnail

🔎 2주차 학습 목표 및 개요

이번 주는 SQL의 DDL과 뷰 및 인덱스 사용법을 학습하였고 SQL을 파이썬과 연동하여 쿼리를 작성하는 법을 배웠습니다. 또한 데이터 모델링 과정을 직접 실습 해보았으며 통계, 가설검증 이론에 대한 내용을 스터디 하였습니다. 마지막으로 학습 내용과 별개로 팀을 만들어 아이디어를 구상하고 해커톤의 기획서를 작성하여 제출하였습니다

[SQL과 파이썬을 연동하여 데이터를 다룰 수 있는 기본 환경을 구축하고, ERD설계 및 정규화 과정을 직접 연습하며, 통계 기반의 데이터 분석 흐름(요약, 시각화, 가설검정)의 기초를 실습을 통해 체득하는 것] 을 목표로 삼았습니다


📚 주요 학습 및 진행 내용 정리

1. SQL - DDL & 파이썬 연동

SQL의 DDL을 이용하여 테이블을 생성하고 제약조건을 거는 방법을 배웠으며 파이썬과 SQL의 연동을 통해 vscode에서도 쿼리 실행결과를 보거나 데이터를 추가하는 작업을 수행하였습니다.

  • DDL을 이용하여 테이블을 생성, 삭제 그리고 수정을 하는 법을 배웠으며 테이블 내 각각의 속성들에 다양한 제약 조건들을 걸어 더 완성도 있는 테이블을 만들어 보았습니다
  • SQL과 파이썬 연동을 통해 여러 방법으로 vscode 내에서 쿼리를 작성하여 데이터 추출 및 시각화 그리고 데이터 생성까지 연습을 하였습니다.

2. 데이터 모델링

개념적 설계와 논리적 설계를 통하여 데이터 모델링을 직접 연습해보았습니다.

  • 개념적 설계를 통해 테이블 별로 키를 할당하고 엔티티 간의 관계를 식별하였습니다.
  • 논리적 설계를 통해 데이터에 졍규화 과정을 단계적으로 적용하여 데이터를 일관성 있게 그리고 중복 없이 구조화를 하였습니다

3. 통계학 기초

통계의 기초이론과 용어들을 학습하였으며 기술통계의 개념 및 가설검증법에 대해 배웠습니다.

  • 통계의 기초이론을 통해 통계용어와 통계의 종류를 배웠습니다.
  • 기술통계에 대해 학습하여 데이터의 전반적인 특성을 파악, 어떠한 요약 지표들을 사용하는지 살펴보았습니다.
  • 가설검증에서는 귀무가설과 연구가설의 개념에 대해 학습하였고 각 주제마다 주어진 데이터를 바탕으로 귀무가설과 연구가설을 검증하는 코드를 작성하였습니다.

4. 생활이동 데이터 해커톤 준비

팀원들과 함께 해커톤 주제에 맞게 다음과 같은 단계를 거쳐 아이디어를 구상하고 서비스 기획을 하였습니다

  • 아이디어 선정: 각 팀원 별로 여러 아이디어를 제시하고 후보를 추린 뒤 비판적 사고를 통해 적합성과 타당성이 높은 아이디어를 선정하였습니다
  • 자료수집: 벤치마킹을 위한 정보수집과 서비스 개요를 위한 근거자료를 모았습니다.
  • 서비스 개요 작성: 수집한 자료를 바탕으로 서비스 개요 및 배경을 작성하였습니다.
  • 기능적 요구사항 정의: 서비스가 어떠한 기능들이 필요한지 정의를 하였습니다
  • 시스템 흐름도 및 아키텍쳐 설계: 정의한 요구사항을 바탕으로 흐름도와 아키텍쳐를 작성하였습니다.
  • 기대효과 및 WBS 작성: 서비스의 기대효과와 프로젝트의 예상 스케쥴을 WBS로 만들었습니다.

🎮 실습/과제 수행 및 문제 해결 과정

이번 주에 실습하면서 겪었던 어려움이나 궁금증의 해결 과정을 기록하였습니다

다음은 SQL의 실습을 수행하면서 막혔던 문제입니다

인덱스를 학습하는 과정에서 인덱스 사용유무 판단에 어려움을 겪었습니다


위 사진과 같은 퀴즈를 강사님꼐서 주셨는데 처음에 이해를 잘 하지 못해 퀴즈를 풀지 못했습니다.

그래서 인덱스 사용여부를 판단하는 기준을 다시 찾아보아 첫번째로 속성이 인덱스 키에 할당되어있거나 기본키에 속해야지만 인덱스를 사용할 수 있다는 것을 알았고 기본키 안에서도 여러 속성이 묶음으로 되어있으면 무조건 기본키 내부의 순서에 맞게 조건에도 순차적으로 속성이 나와야 함을 알게되었습니다.

예를 들면 기본키가 ('년도' '월' '일' '도시') 이렇게 할당되어 있다고 가정하였을 때 첨부한 사진의 1번 문항은 '년도'와 '월'이 순서에 맞게 붙어있기에 인덱스를 사용할 수 있지만 3번 문항은 '년도'와 '일' 사이의 '월'을 건너뛰었기에 인덱스를 사용할 수 없습니다.

비슷한 원리로 10번 문항은 '도시'에 '서울'이 들어가는 조건을 찾는 것인데 인덱스는 앞에서부터 정렬되기 때문에 뒤쪽 문자 기준 검색은 불가능하여 인덱스 사용이 되지 않습니다. 추가적으로 범위 조건이 서로 다른 두 개 이상의 속성에 들어가거나 조건에 함수처리나 계산식이 들어가면 인덱스 처리가 불가능 하다는 것을 학습하였습니다.


다음은 해커톤 참여를 위한 서비스 기획을 하면서 제가 맡았던 역할입니다

  • 아이디어 구상: 먼저 각자 아이디어를 주제에 맞게 구상하였는데 팀원들의 투표를 통해 제가 제시한 “드론을 이용한 AED 배송서비스” 아이디어가 후보로 선정되었고 대표님과의 면담을 통해 피드백을 받으며 이 주제로 확정을 짓게 되었습니다
  • 서비스 개요 및 기능 정의: 서비스의 배경 작성과 이를 뒷받침 하는 근거들을 조사하였고 서비스에 필요한 기능들을 정의하였습니다
  • 시스템 흐름도 및 아키텍쳐 설계: 정의된 기능을 바탕으로 아래의 시스템 흐름도와 아키텍쳐를 설계하였습니다


해커톤의 기획 과정과 느낀점

처음에 아이디어를 떠올리는 것이 정말 힘들었는데 생활 이동 데이터와 사회 현안 문제를 같이 엮는다는 것이 우리 팀원 모두에게 낯설게 느껴졌고 그래서인지 두 개의 소재를 연관지어 아이디어를 내는 과정에 어려움을 겪었던 것 같다. 막상 아이디어를 이것저것 내어도 독창성 부분에서 부족함이 느껴져 폐기되는 아이디어들이 정말 많았고 이 과정에서 시간을 정말 많이 잡아먹어 팀원 모두가 여러모로 고생을 많이 했다

고민이 시간이 길어지던 때에 다른 팀이 소방안전을 주제로 하는 공모전을 나가는 것을 알게 되었고 쉬는 시간에 잠깐 같이 아이디어 내는 것을 잠깐 도와주다가 반대로 영감을 얻어 AED를 떠올리게 되었다. 처음에는 단순히 고령인구의 응급상황 대비를 위해 이동데이터를 분석하여 고령인구의 주 경로로 예상되는 곳에 AED 배치를 하려고 했었는데 여기서 더 나아가 AED를 찾을 필요 없이 직접 배송해주는 것이 더 좋겠다는 생각을 하여 드론을 추가해 지금의 아이디어를 구상하게 되었다.

다행히 팀원들도 아이디어에 대해 긍정적인 반응이었고 이후 추가 조사를 통해 기획 초안을 만들었다.
이를 바탕으로 대표님과의 면담을 통해 피드백을 받고 팀원들과 매일 저녁 늦게 까지 더 보완을 하여 기획서 제출을 무사히 할 수 있었던 것 같다.

이번이 나에게는 첫 해커톤 참여였는데 간단한 아이디어에 대한 기획도 쉽지 않다는 것을 느꼈고 아쉽게 본선에 진출하지 못한다고 해도 이러한 경험들이 쌓인다면 후에 회사에 들어가서 프로젝트를 진행할 때의 초석을 다지는데 도움이 되지 않을까 라는 생각이 들었다. 또한 이번 기획 과정에서 정말 중요한 것을 하나 더 느꼈는데 사실 중간에 다른 아이디어가 채택되었었고 기획서 작성을 거의 다해가던 중 해커톤의 샘플 데이터를 다시 보다가 이 데이터에서 얻을 수 있는 정보로는 기획이 진행되지 않는다는 것을 깨닫고 급하게 폐기했던 적이 있다. 데이터 분석가로서 프로젝트를 시작하기 전에 항상 데이터가 어떠한 정보를 담고 있는지 면밀하게 파악을 한 뒤에 일을 진행해야겠다는 교훈을 얻게 된 해커톤이었다.


🔮 2주차 주간 회고: 4L 방식

1. Like (좋았던 점)

  • 판다스와 SQL을 연계하여 데이터를 전처리하고 활용하는 방식이 흥미로웠고 실무적으로도 유용하게 느껴졌음
  • 뷰(View)를 통해 데이터에 물리적 변경 없이 추출 가능한 구조가 인상 깊었음
  • 파이썬과 SQL 연동을 통해 데이터 시각화 및 분석 흐름이 자연스러워질 수 있음을 체감함
  • 데이터모델링을 통해 개념,논리적 모델을 설계하였고 또한 실습을 통해 정규화 개념을 체득했고, 통계 수업에서 가설검정까지 연습해보며 데이터 분석의 깊이를 느낄 수 있었음

2. Learned (배운 점)

  • SQL-DDL: 테이블, 인덱스, 제약조건 생성 및 수정
  • 뷰와 인덱스: 정의, 사용법, 인덱스 사용 여부 판단 기준
  • 파이썬-SQL 연동: DB 연결, 커서 생성, 쿼리 실행 방법
  • 데이터 모델링: 개념적/논리적 설계, 정규화 단계
  • 통계 개념: 기술통계, 요약지표, 분포 분석
  • 가설검정: 귀무가설/연구가설 설정 및 검정 수행

3. Lacked (부족했던 점)

  • 제약조건 생성 및 확인 쿼리가 익숙하지 않았음
  • 인덱스 사용 여부를 판단하는 기준이 헷갈렸음
  • 모델링 시 관계 정의, 외래키 설정 등이 복잡하게 느껴졌음
  • IS NULL 구문, 가설검정 해석(귀무가설 수용 여부) 등에서 혼동이 있었음
  • 해커톤 기획서 작성과 수업을 병행하여 집중도가 다소 떨어졌음

4. Longed for (계획 및 다짐)

  1. 인덱스 구분 방법과 제약조건 쿼리 정리하여 복습하기
  2. 데이터 모델링 및 정규화 과정을 직접 시각화해서 정리해보기
  3. 1:1 면담 전 질문 준비하여 얻고 싶은 정보 명확히 하기
  4. SQL 교재 실습 과제 마무리하며 복습 병행
  5. 통계 개념 및 가설검정 논리 다시 정리하고 코드 중심 복습하기

📆 이번 주말 학습 계획

이번 주말에는 정보처리기사의 필기 시험을 대비하여 2과목 이론 스터디와 기출문제 3개년을 풀 계획이며, SQL 학습 마무리 겸 교재 챕터 9에 있는 실습 문제들을 연습 할 예정입니다. 마지막으로 특강에서 얻은 정보들을 바탕으로 포트폴리오 설계 및 취업 계획을 단계 별로 세울 것입니다

0개의 댓글