새로운 한주가 시작되는 월요일 아침이다. 지난 2주를 마무리하고 3주차에 들어섰다.
오늘부터 새로운 루틴이 시작되었다. 바로 일일 SQL 코드카타다.
오늘부터 매일 아침 1시간씩 SQL 문제를 푸는 코드카타 루틴이 시작되었다. 코드카타는 무술의 형(Kata)처럼, 반복적인 연습을 통해 기술을 체득하는 방식이다. SQL도 마찬가지다. 매일 아침 문제를 풀면서 기초를 탄탄히 할 수 있을 것 같다.
오늘은 첫날이라 많이 풀지 못했지만, 정상이지 않을까 싶다. 새로운 루틴의 시작 자체가 의미 있다고 생각한다.
레벨 1은 SQL의 가장 기초적인 문제들이다. SELECT, FROM, WHERE, GROUP BY 같은 기본 구문을 다루는 10문제를 풀었다.
문제들은 복잡하지 않지만, 정말 중요하다. 왜냐하면 기초가 탄탄해야 심화 문제를 풀 수 있기 때문이다. 매일 아침 이런 문제들을 풀면서 손을 익히는 것이 목표다.
코드카타가 중요한 이유는일관성이다. 하루 1시간씩, 매일 같은 시간에 문제를 푸는 것이 실력을 쌓는 가장 확실한 방법이다.
아침 코드카타 이후 Python 라이브 세션이 이어졌다. 오늘의 주제는 Python 기본 응용이었다.
복잡한 문제를 작은 단계로 나누는것이 프로그래밍뿐만 아니라 모든 문제 해결의 기본 원리다.
예를 들어, "고객 데이터에서 특정 조건의 고객을 찾아서 그들의 구매 패턴을 분석하라"는 큰 문제가 있다면:
- 고객 데이터를 읽기
- 특정 조건(예: 나이, 지역)으로 필터링
- 필터링된 고객의 구매 기록 추출
- 구매 패턴 분석
- 결과 시각화
이렇게 작은 단계로 나누어 각각을 해결하면, 복잡한 문제도 관리할 수 있다.
반복문과 조건문 결합
반복문과 조건문을 함께 사용하면 데이터 반복 처리 중에 조건을 판단할 수 있다.
# 반복문 + 조건문의 결합
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 반복하면서 짝수만 합계 구하기
even_sum = 0
for num in numbers:
if num % 2 == 0:
even_sum += num
print(even_sum) # 출력: 30 (2+4+6+8+10)
데이터 분석에서 자주 사용되는 패턴이다. 데이터를 순회하면서 특정 조건을 만족하는 데이터만 처리하는 것이다.
함수화 (Functionization)
반복되는 로직을 함수로 묶으면 코드의 재사용성과 가독성이 높아진다.
# 함수화 전: 반복되는 코드
numbers1 = [1, 2, 3, 4, 5]
even_sum1 = 0
for num in numbers1:
if num % 2 == 0:
even_sum1 += num
numbers2 = [10, 20, 30, 40, 50]
even_sum2 = 0
for num in numbers2:
if num % 2 == 0:
even_sum2 += num
# 함수화 후: 함수로 묶기
def sum_even_numbers(numbers):
total = 0
for num in numbers:
if num % 2 == 0:
total += num
return total
result1 = sum_even_numbers([1, 2, 3, 4, 5])
result2 = sum_even_numbers([10, 20, 30, 40, 50])
리스트·딕셔너리 활용
리스트와 딕셔너리는 데이터를 효율적으로 저장하고 연산하기 위한 필수적인 방법이다.
이 세 가지 개념 "문제 분해, 반복문·조건문 결합, 함수화" 는 프로그래밍의 핵심 사고방식이다. SQL로 배운 문제 해결 능력과 Python의 프로그래밍 능력이 연결되어 가고 있는 느낌이다.
오늘 배운 조건문 + 반복문의 복합 구조는 이미 이전에 배웠던 내용이지만, 이렇게 다시 보니 더욱 명확해진다. 같은 내용을 여러 번 보는 것의 가치를 다시 한 번 느꼈다.
16일차를 마무리하며....
- 매일 아침 1시간의 SQL 코드카타, 4주차의 새로운 변화다. 일관성 있는 연습으로 기초를 더욱 탄탄히 할 계획이다.
- 함수, 리스트, 딕셔너리 같은 기초 개념들이 이제 실제 데이터 처리 로직으로 연결되고 있다. Python도 이제 단순히 "배우는 것"이 아니라 "쓰는 것"이 되고 있다.
지난 3주보다 더 체계적으로, 더 깊이 있게 학습하는 4주가 되고 싶다. 매일 아침 코드카타로 SQL을 연마하고, Python 강의와 실습으로 프로그래밍 능력을 키워나가겠다.
한 주의 시작이다. 다시 열심히 하는 한주가 되도록 마음가짐을 바로잡았다. 매일 조금씩, 꾸준히 나아가자.