0. 학습 목표

더보기

이번 학습에서는 취업 준비의 출발점을 다시 생각해 보고, 

이론 학습보다 실제로 동작하는 프로그램을 만들어 보는 경험이 왜 중요한지 확인합니다. 

 

또한 프로그램을 안정적으로 실행하고 관리하기 위해 개발 환경이 필요하다는 점을 이해하고, 

앞으로 Python 개발에서 가상환경을 학습해야 하는 이유를 살펴봅니다.

1. 취업 준비의 출발점 다시 생각하기

더보기

1.1. 취업 준비의 출발점

 

1.1. 취업 준비의 출발점

1. 취업 준비의 출발점우리의 목표는 "성공적인 취업" 입니다. 이를 준비하기 위해 간단한 질문 하나로 출발해 보겠습니다. QUESTION"소프트웨어 개발자가 되려면가장 먼저 무엇부터 해야 하나요?"

basiclike.tistory.com

 

처음으로 돌아가서, 다시 한번 생각해 봅시다.

 

“회사는 어떤 사람을 신입 개발자로 뽑고 싶어 할까?”

 

우리는 이 질문을 통해 취업 준비의 방향을 다시 생각해 보았습니다.

결과로, 개발자로 취업하기 위해 필요한 것은 단순히 문법을 많이 외우는 것이 아니라,
회사에서 필요한 "실제 동작하는 프로그램"을 만들 수 있는 사람이 되는 것임을 납득했습니다.

 



QUESTION

그렇다면 

"실제로 동작하는 프로그램"을 만들기 위해 

필요한 것은 무엇일까요?

 

 

 

 

1.2. 문법만으로는 프로그램이 완성되지 않는다

많은 초급자들처럼 Python 문법, Java 문법, C 문법 같은 프로그래밍 언어의 이론과 문법만 중요시 했다면,

위 질문을 답하지 못합니다.

 

실제 프로그램을 만들어 본 경험이 부족한 사람은 다음과 같은 문제를 깊게 고민할 일이 적기 때문입니다.

질문 의미
코드를 어디에서 작성하는가? IDE, 에디터, 터미널 등 개발 도구와 관련된 문제
어떤 Python 버전에서 실행하는가? 언어 버전과 실행 환경의 호환성 문제
필요한 라이브러리는 어떻게 설치하는가? 패키지 관리와 의존성 관리 문제
다른 사람의 컴퓨터에서도 같은 방식으로 실행되는가? 환경 재현성과 협업 가능성 문제

프로그래밍 언어 문법을 많이 안다고 해서 실제로 동작하는 프로그램을 바로 만들 수 있는 것이 아닙니다.

프로그램을 만들기 위해서는 코드를 작성하고, 실행하고, 테스트하고, 배포하기 위한 여러 요소들이 함께 준비되어야 합니다.

실제 개발에서는 이런 요소들이 매우 중요합니다. 그리고 이론 학습만으로 절대 배울 수 없는 부분입니다.

 

 

 

 

1.3. 그래서 프로그램을 만들어야 한다

그렇기 때문에 우리는 이론 학습만 중시하는 방식에서 벗어나 실제로 동작하는 결과물을 만들 수 있어야 합니다.

 

1.3.1. 프로그램을 만들면 보이는 것들

프로그램을 직접 만들기 시작하면 문법 공부만 할 때는 보이지 않던 문제들이 보이기 시작합니다.

  • “이 코드는 어디에 저장해야 하지?”
  • “실행은 어떤 Python으로 하고 있지?”
  • “필요한 라이브러리는 어떻게 설치하지?”
  • “다른 사람 컴퓨터에서도 실행되게 하려면 어떻게 해야 하지?”
  • “파일을 나누면 어떤 구조로 정리해야 하지?”

이 질문들이 바로 실제 개발 업무에서 마주치는 질문입니다. 문법 공부만으로 배울 수 없는 것들입니다.

 

1.3.2. 처음부터 거창할 필요는 없다

처음부터 거창한 프로그램을 만들 필요는 없습니다.

작은 계산기, 간단한 메뉴 프로그램, 파일 정리 프로그램, 간단한 GUI 프로그램처럼 작게 시작해도 괜찮습니다.

작은 프로그램 예시 학습할 수 있는 내용
계산기 프로그램 입력, 연산, 조건문, 함수
메뉴 선택 프로그램 조건문, 반복문, 사용자 입력 처리
파일 정리 프로그램 파일 경로, OS 환경, 파일 처리
데이터 분석 예제 외부 라이브러리, 패키지 설치, 데이터 처리
간단한 GUI 프로그램 화면 구성, 이벤트 처리, 실행 환경

중요한 것은 문법을 배울 때마다 반드시 작은 프로그램으로 연결해 보는 것입니다.

 

1.3.3. 프로그램을 만들어야 개발 환경이 이해된다

이 과정을 반복해야 개발 환경의 필요성도 자연스럽게 이해할 수 있습니다.

개발 환경은 이론으로만 이해하기 어렵기에, 직접 프로그램을 만들고 실행해 보아야 왜 필요한지 체감할 수 있습니다.

 

Python 문법을 사용해서 실제 프로그램을 만들고,

그 프로그램이 어떤 환경에서 실행되는지 확인하고,

필요한 라이브러리와 가상환경을 관리하는 방법까지 함께 학습해야 합니다.

 

📌핵심 정리
이것이 우리가 문법 학습 이후에 개발 환경과 호환성을 함께 다루는 이유입니다.

프로그램을 직접 만들어야 개발 환경의 필요성을 이해할 수 있고,

개발 환경을 이해해야 프로그램을 안정적으로 실행하고 관리할 수 있습니다.


2. Chrome 브라우저로 이해하는 개발 환경

더보기

2.1. 사용자 관점

간단하게 Chrome 브라우저를 예로 들어봅시다.

사용자 입장에서는 Windows PC에서 실행되는 Chrome, Mac에서 실행되는 Chrome, 스마트폰에서 실행되는 Chrome이 모두 같은 Chrome처럼 보입니다.

사용자 관점
“Chrome 설치 파일을 다운로드해서 실행하면 되는 것 아닌가?”

 

 

 

 

2.2. 개발자 관점

하지만 개발자 입장에서는 이야기가 달라집니다.

여러분이 Windows에서 실행되는 Chrome 브라우저 프로그램을 개발하는 개발자라고 가정해 봅시다.

 

Windows 환경에서 기능을 만들고, 테스트까지 완료했습니다.

이 기능이 macOS, Linux, 스마트폰 환경에서도 똑같이 동작할까요?
반드시 그렇지는 않습니다.

 

운영체제가 다르면 프로그램이 실행되는 방식과 주변 환경이 달라질 수 있기 때문입니다.

  • 프로그램이 실행되는 방식
  • 파일을 저장하는 위치
  • 권한을 처리하는 방식
  • 화면을 보여주는 방식
  • 설치 파일을 배포하는 방식

이런 요소들은 운영체제마다 서로 다를 수 있습니다.

 

따라서 개발자는 단순히 “Windows에서 잘 실행된다”에서 끝나면 안 됩니다.

내가 만든 기능이 실제 사용자의 환경에서도 안정적으로 동작할 수 있는지 함께 생각해야 합니다.

개발자 관점

“이 기능이 어떤 환경에서 실행되는가?”

“다른 사람의 컴퓨터에서도 같은 방식으로 동작하는가?”

“배포 후에도 안정적으로 실행되는가?”

3. 초급 개발자와 중급 개발자의 관점 차이

더보기

3.1. 초급 개발자와 중급 개발자의 차이

신입 개발자일 때는 코드 하나하나의 기능 중심으로 생각하는 것은 초급 단계에서 자연스러운 과정입니다.

하지만 개발자가 된다는 것은 단순히 내 컴퓨터에서 코드가 실행되는 것만을 의미하지 않습니다.

실제 개발에서는 내가 만든 코드가 다른 사람의 컴퓨터에서도 실행되어야 하고,

팀 프로젝트 안에서도 문제없이 동작해야 하며,

배포 환경에서도 안정적으로 유지되어야 합니다.

따라서 개발자는 단순히 “기능을 만들었다”에서 끝나면 안 됩니다.

구분 주요 관점
초급 개발자 코드실행되는지에 집중합니다.
중급 개발자 코드가 안정적으로 실행될 환경까지 함께 관리합니다.

 

 

 

 

3.2. 개발 환경 설정을 이루는 주요 요소

S/W 개발에 필요한 환경 설정은 다음과 같은 여러 분야로 나누어 볼 수 있습니다.

구분 내용
프로그래밍 언어 / 런타임 Python, Java, C#, Node.js 등 코드 실행 환경
패키지 관리 pip, npm, NuGet, Maven 등 외부 라이브러리 설치 도구
가상환경 프로젝트별 독립 실행 환경
IDE / 에디터 PyCharm, VS Code, IntelliJ 등 코드 작성 도구
빌드 / 실행 환경 컴파일, 실행, 디버깅, 실행 옵션 관리
프로젝트 구조 폴더 구성, 파일 분리, 모듈 구조
Git 버전 관리 코드 변경 이력 관리 및 협업
테스트·품질 관리 테스트 코드, 코드 검사, 오류 확인
배포 환경 서버, 클라우드, 실행 파일, 패키징
환경 변수·보안 API Key, DB 비밀번호, 경로 설정
OS 설정 Windows, macOS, Linux별 차이
DB·네트워크 환경 데이터베이스 연결, 포트, 주소, 권한
문서화 / 협업 README, 사용법, 협업 규칙, 이슈 관리

 

4. 이제 Python 개발 환경으로 넘어가기

더보기

4.1. 목표: 가상환경(venv)

실제 개발에서는 다양한 개발 환경 요소를 함께 고려해야 합니다.

하지만 처음부터 모든 개발 환경 요소를 한 번에 완벽하게 이해할 필요는 없습니다.

이번에는 그중에서 Python 개발을 시작할 때 가장 먼저 이해해야 하는 가상환경(venv)에 집중하겠습니다.

 

 

 

 

4.2. Python 가상환경 요약 

Python 가상환경은 단순한 선택 사항이 아닙니다.

Python 개발에서 프로젝트 환경을 안정적으로 관리하기 위한 필수 도구입니다.

 

Python 개발환경 요약

1. 이번 학습에서는 시스템 Python, 전역 Python, 가상환경 Python의 차이를 이해하고,
2. venv를 사용하여 프로젝트별 독립 환경을 만드는 방법을 학습합니다.
3. 또한 pip를 사용해 필요한 라이브러리를 설치하고,
4. requirements.txt를 통해 패키지 목록을 기록하고 재현하는 방법을 익힙니다.