국비지원 AI 애플리케이션 개발자 과정의 첫 주가 끝났다.
이번 주에는 목요일과 금요일, 이틀 동안 수업을 들었다. 본격적인 AI 내용을 배우기 전, 앞으로 개발 공부를 이어가기 위해 필요한 개발 환경과 기초 개념을 익히는 시간이었다.
예전에 접했던 내용도 있었지만, 막상 다시 직접 설정하고 코드를 작성해 보니 정확하게 알고 있지 않았던 부분이 많았다. 이번 과정을 통해 알고 있다고 생각했던 기초부터 하나씩 다시 정리해 보려고 한다.
이번 주에 배운 내용
이번 주에는 개발 환경을 준비하고, Git과 GitHub 사용법부터 Python의 기초 문법까지 배웠다.
주요 학습 내용은 다음과 같다.
- VS Code 설치 및 기본 사용법
- Python 가상환경 생성과 활성화
- Python 인터프리터 설정
- 터미널과 명령어 사용
- Git과 GitHub의 기본 개념
- 저장소 생성과 파일 관리
- README.md와 Markdown 작성법
- Python 변수, 연산자와 print() 함수
- 모듈의 개념
- AI와 머신러닝의 기초 개념
단순히 프로그램을 설치하는 것에서 끝나는 것이 아니라, 개발 환경이 어떤 구조로 연결되어 있는지 이해하는 과정이 필요했다.
특히 Python을 실행할 때 어떤 인터프리터를 사용하고 있는지, 가상환경이 제대로 적용되어 있는지 확인하는 것이 중요하다는 것을 알게 되었다.
가장 인상 깊었던 배움
이번 주에 가장 인상 깊었던 부분은 개발 환경 설정도 개발 공부의 일부라는 점이었다.
처음에는 코드를 작성하는 것만 개발 공부라고 생각하기 쉽다. 하지만 실제로는 Python을 설치하고, 가상환경을 만들고, VS Code에서 인터프리터를 선택하고, 터미널에서 명령어를 실행하는 모든 과정이 연결되어 있었다.
가상환경을 만들어 놓았는데도 VS Code의 통합 터미널을 새로 열면 가상환경이 유지되지 않는 문제가 있었다. 단순히 가상환경을 생성하는 것만으로는 끝이 아니었고, VS Code가 해당 환경을 제대로 인식하고 있는지 확인해야 했다.
이 문제를 해결하는 과정에서 다음과 같은 부분을 확인했다.
- 현재 선택된 Python 인터프리터
- 가상환경 폴더가 만들어진 위치
- 터미널에서 가상환경이 활성화되어 있는지
- VS Code를 다시 불러온 뒤에도 설정이 유지되는지
오류가 발생하면 당황해서 코드를 지우거나 처음부터 다시 실행하는 경우가 많았는데, 앞으로는 오류 메시지와 현재 설정을 먼저 확인하는 습관을 들여야겠다고 생각했다.
Git과 GitHub를 배우며 느낀 점
Git과 GitHub도 이번 주에 다시 정리한 중요한 내용이었다.
Git은 파일의 변경 내용을 기록하고 관리하는 도구이고, GitHub는 Git으로 관리한 프로젝트를 온라인에 저장하고 공유할 수 있는 서비스다.
설명만 들을 때는 이해한 것처럼 느껴졌지만, 직접 저장소를 만들고 파일을 관리하려니 명령어의 순서와 각각의 역할이 헷갈렸다.
앞으로는 명령어를 외우는 것보다 다음과 같은 흐름을 이해하는 데 집중하려고 한다.
파일을 수정하고 → 변경 내용을 확인하고 → 저장할 파일을 선택하고 → 변경 내용을 기록하고 → 원격 저장소에 올린다.
README.md에 Markdown 문법을 사용해 프로젝트 내용을 작성하는 방법도 배웠다.
README는 단순히 프로젝트 설명을 적는 파일이 아니라, 프로젝트를 처음 보는 사람이 어떤 프로젝트인지 이해할 수 있도록 안내하는 문서라는 점도 알게 되었다.
앞으로 실습한 내용을 GitHub에 올릴 때 코드만 업로드하지 않고, 배운 내용과 실행 방법도 함께 정리해 보고 싶다.
Python 기초를 다시 배우며
Python에서는 변수, 연산자, 출력 방법과 모듈 같은 기초 개념을 배웠다.
아주 기본적인 내용이라고 생각했지만, 출력 형식을 조금만 변경하거나 여러 값을 붙여서 출력하려고 하면 생각보다 헷갈리는 부분이 있었다.
예를 들어 print()에서 쉼표를 사용했을 때 공백이 생기는 이유, 문자열과 숫자를 함께 출력하는 방법 등을 직접 실습하면서 작은 문법도 정확히 이해하는 것이 중요하다는 것을 느꼈다.
모듈 역시 단순히 다른 파일을 불러오는 기능이라고 외우기보다, 자주 사용하는 기능을 하나의 파일이나 라이브러리로 묶어 필요할 때 가져다 사용하는 구조라고 이해하니 조금 더 쉽게 다가왔다.
지금은 기초부터 다시 배우는 단계이기 때문에, 빠르게 진도를 나가는 것보다 배운 내용을 직접 설명할 수 있을 정도로 이해하는 것을 목표로 하고 있다.
KPT 회고
Keep|계속 유지할 점
이번 주에는 수업 내용을 녹음하고 전사문으로 정리한 뒤, 하루 동안 배운 내용을 블로그 회고로 작성했다.
수업 시간에는 이해했다고 생각한 내용도 글로 정리하려고 하면 설명하기 어려운 경우가 있었다. 반대로 글을 작성하면서 흐릿했던 개념이 다시 정리되기도 했다.
앞으로도 다음과 같은 학습 방법은 유지하려고 한다.
- 수업 내용을 전사문으로 남기기
- 수업이 끝난 날에 일일 회고 작성하기
- 모르는 용어를 그냥 넘기지 않고 질문하기
- 오류 화면과 해결 과정을 함께 기록하기
- 실습 코드를 직접 수정해 결과 확인하기
블로그 기록은 단순히 수업 내용을 옮기는 것이 아니라, 내가 실제로 무엇을 이해했고 어떤 부분에서 막혔는지를 확인하는 과정으로 활용하려고 한다.
Problem|어려웠던 점
가장 어려웠던 점은 수업을 따라가는 것과 내용을 완전히 이해하는 것이 다르다는 점이었다.
강사님의 화면을 보면서 똑같이 입력할 때는 잘 되는 것처럼 보였지만, 혼자 다시 실행하면 어떤 순서로 진행해야 하는지 기억나지 않는 경우가 있었다.
개발 환경 설정에서도 작은 차이로 결과가 달라졌다. 사용 중인 운영체제나 터미널 설정에 따라 화면이 다르게 보이기도 했고, 가상환경과 인터프리터의 차이도 처음에는 명확하게 구분되지 않았다.
또한 오류가 발생했을 때 오류 메시지를 읽기 전에 정답부터 찾으려는 경향도 있었다.
현재는 개념을 한 번 들어본 상태에 가깝기 때문에, 수업 내용을 혼자서 다시 재현하는 연습이 더 필요하다.
Try|다음 주에 시도할 점
다음 주에는 수업을 듣는 것에서 끝내지 않고, 하루에 배운 내용을 짧게라도 직접 다시 실행해 볼 계획이다.
구체적으로는 다음과 같이 실천하려고 한다.
- 수업이 끝난 후 핵심 실습을 처음부터 다시 실행하기
- 가상환경을 직접 생성하고 활성화하는 과정을 반복하기
- Git 명령어를 보지 않고 순서대로 사용해 보기
- 배운 개념을 한두 문장으로 직접 설명해 보기
- 실습 파일과 README를 GitHub에 꾸준히 기록하기
- 오류가 발생하면 오류 메시지부터 읽고 원인을 추측해 보기
모든 내용을 한 번에 완벽하게 이해하려 하기보다, 매일 배운 내용을 그날 조금씩 정리하는 방식으로 공부하려고 한다.
현재 나의 상태
아직은 개발 환경과 Python 문법 모두 익숙하지 않은 부분이 많다.
하지만 무엇을 모르는지 전혀 알 수 없었던 상태에서, 이제는 어떤 부분을 다시 확인해야 하는지 조금씩 보이기 시작했다.
특히 이번 주에는 다음과 같은 부분이 부족하다는 것을 확인했다.
- 터미널과 명령어 사용
- 가상환경과 인터프리터의 관계
- Git 명령어의 전체적인 흐름
- Python 기초 문법을 응용하는 능력
- 오류 메시지를 읽고 문제를 찾는 습관
부족한 부분을 확인했다는 것 자체가 이번 주의 가장 큰 성과라고 생각한다.
다음 주 목표
다음 주에는 Python 기초 문법을 조금 더 탄탄하게 익히고 싶다.
단순히 코드를 따라 작성하는 것이 아니라, 코드가 왜 그렇게 동작하는지 설명할 수 있는 수준까지 복습하는 것이 목표다.
또한 개발 환경에서 문제가 발생했을 때 바로 답을 찾기보다, 현재 상태를 확인하고 오류 원인을 직접 생각해 보는 연습도 해보려고 한다.
다음 주 목표를 한 문장으로 정리하면 다음과 같다.
수업에서 작성한 코드를 혼자서 다시 작성하고, 코드의 동작을 내 말로 설명할 수 있도록 복습하기.
1주차를 마치며
첫 주는 앞으로의 수업을 위한 개발 환경과 기초를 준비하는 시간이었다.
이미 알고 있다고 생각했던 개념도 다시 배우니 정확히 설명하지 못하는 부분이 많았고, 개발 환경 설정처럼 사소해 보였던 과정에서도 예상보다 많은 문제가 발생했다.
하지만 오류가 발생하고 해결 방법을 찾아보는 과정 역시 개발 공부의 일부라는 것을 조금씩 느끼고 있다.
아직 과정이 시작된 지 이틀밖에 되지 않았기 때문에 조급하게 생각하지 않고, 수업을 꾸준히 따라가면서 기초부터 다시 쌓아가려고 한다.
다음 주에는 이번 주에 배운 내용을 바탕으로 조금 더 능동적으로 실습하고, 모르는 부분을 구체적으로 질문할 수 있도록 준비해야겠다.
댓글