SK Networks Family AI Bootcamp 1주 정리

부트캠프 1주차 정리

<한 일>

필요 프로그램 설치

Python 초급 내용 복습


1/7 화



  1. Python 설치

Download Python | Python.org

*Add Path에 체크해줌


  • 설치후 실제 설치여부 확인 (*프로그래밍시에도 검증로직을 작업해야 함)
  • ‘시스템 환경 변수 편집’->’환경 변수’->’Path’에 파이선 경로 추가되었는지 확인


* 경로 복붙 -> Python 폴더로 이동 가능


*구버전 설치 : download -> Windows -> 원하는 버전 설치 (예: 11, 12버전)

향후 구버전 사용할 때도 있을것



  1. Python 실행하기


Powershell 관리자 권한으로 실행


  • Python 버전확인


  • 파워셸 권한


  • 권한 바꾸기 (외부에서도 파워셸 접속할 수 있도록)



  1. IDE 설치

IDE란 : 요리사의 도마나 칼과 같은 것. 개발을 위한 개발환경도구.

설치할 툴은 VSCode


Visual Code가 좋은 이유 : Extensions. 

좌측 Extensions 메뉴 -> 

python, jupyter, material icon theme 설치 (theme은 설치후 선택도 해줘야 함)

indent rainbow 설치 (python 개발시 indent에 따라 색상을 다르게 표현해줌)

기타 취향대로 설치



  1. 개발 전용 폰트 설치 : d2 coding 


Visual studio -> File -> Preferences -> Settings -> font -> font family 맨 앞에 D2Coding ligature 추가가


font ligature -> json편집 -> false를 true 로 수정 -> ctrl +s (저장주의!!)



  1. 도커 설치


*Windows Pro여야 함. 버전 : 20H1이상

*MySQL도 도커 통해서 설치할것. (삭제편의, 백그라운드에서 돌아가지 않게 하기 위해)

 

파워셸 관리자 실행 -> wsl –install 

(윈도우에서 리눅스 설치하기 위한 프로그램)


-> wsl --set-default-version 2

(기본버전을 version 2로 변경)


Windows | Docker Docs


설치후 구글계정으로 로그인

도커 settings -> general -> wsl, settings -> resources -> wsl integration 되어있는지 확인

파워셸 실행 -> wsl -l -v


  1. MySQL 설치

강사님 제공 파일 다운로드


내컴퓨터 -> C드라이브 -> dev폴더 생성 -> github, mysql, python 폴더 생성 -> mysql 안에 mysql_installed, tutorial 폴더생성 -> 강사님제공 파일을 mysql_installed에 넣음

cd (폴더경로)

명령어 : docker-compose up -d # mysql 생성 및 실행 



  1. DBeaver 설치

https://dbeaver.io/download/


데이터베이스 -> 새 데이터베이스 연결 -> MySQL

test connection

* Public Key Retrieval is Not Allowed -> 설정 수정 (블로그 참고)


MySQL과 연결됨 -> 초록색 체크박스


* MySQL 중단시키려면 docker에서 일시중지 클릭


  1. Git 설치


https://git-scm.com/downloads/win


git bash 실행 

-> git config –global user.name “내가 쓸 유저네임”

-> git config –global user.email 내가 쓸 메일

잘 등록되었는지 확인하기 -> git config –list




1/8 수


오늘할일 : Python 첫수업


  1. Python이란 : 
  • 90년대에 개발된 인터프레터 언어
  • ‘가상환경’ 구축가능



  1. Python 가상환경 구축

**향후 프로젝트 제작시 매번 가상환경 만들기!!


vscode에서 open folder로 python폴더 열기

*vscode에서는 프로젝트 단위로만 열자!


new terminal로 터미널 열면 프로젝트 폴더에서 열림

터미널 -> py –version


-> py -3.11 -m venv .venv

(가상환경 생성 - 이름 : .venv)

아무 라이브러리 없이 python만 설치된 가상환경 만들수있음.

*아나콘다로 만들경우 여러가지가 설치된 헤비한 가상환경이 만들어짐


좌측 Explorer란에서 폴더에 가상환경 생성된 모습 볼 수 있음


삭제 : 우클릭후 쓰레기통에 버림



python폴더에 가상환경 폴더 만듬 (python-venv)

vscode에서 open folder -> python-venv


가상환경 또만들기 (python 3.12버전으로)

py -3.12 -m venv .venv


venv 안에 들어가서 작업하기 -> .\.venv\Scripts\activate

*경로는 그냥 tab 누르면 자동완성됨

여기서 py –version 하면 3.12라고 나옴


나가기 -> deactivate




< 문제 > 

  • 프로젝트 3개를 만들고 해당 가상환경도 구축하자

프로젝트 1

  • 이름(폴더명): python-venv-3.11

프로젝트 2

  • 이름(폴더명): python-venv-3.12

프로젝트 3

  • 이름(폴더명): python-venv-3.13


각자 폴더 만들고 vscode에서 가상환경 생성함



python 파일 생성


예제 : Hello World! 프린트하기


실행 



  1. 가상환경에 모듈 설치


가상환경에는 Lib -> pip 기본으로 설치되어 있음. pip 이용해서 모듈 설치.

우선 업그레이드. 가상환경 켜고 -> python -m pip install –upgrade pip

*1개월만 지나도 pip 업그레이드가 필요해지므로 그냥 매번 업그레이드하는게 좋음

이후 설치. 


numpy : (가상환경 켜고!!!) pip install numpy

잘 설치되었는지 확인 : ex02.py 파일생성 -> import numpy

가상환경 켜고 설치했으면, 가상환경 밖에서 python ex02.py 했을때 오류나야함!

(*난 실수해서 가상환경 외부에서 설치함. 그래서 오류가 안났음…)


seaborn : (가상환경 켜고!!) pip install seaborn

(*이번엔 가상환경에 잘 설치함. 그럼에도 불구하고 오류가 안남! vscode 기능이 ‘개선’된것같다는 강사님의 말씀. 가상환경으로 자동적으로 연결이되었음)



  1. requirements.txt

requirements.txt가 있으면 자동으로 동일한 세팅의 가상환경을 만들 수 있음!


아까 넘파이랑 시본 설치한 가상환경에서 진행


pip freeze (설치된 라이브러리를 보여줌)


pip freeze > requirements.txt (pip freeze의 내용을 requirements.txt에 넣어줌)


python-venv2로 이동 (여기엔 새로운 가상환경 깔아줌)

ex01.py 만들어서 import numpy, import seaborn 넣고 오류나는지 보기

(*이번엔 제대로 오류가 났다!)


그럼 이제 requirements.txt를 복붙해옴

명령어 : pip install -r requirements.txt

이러면 자동으로 requirements에 있는 모든 라이브러리가 설치됨~


이제 ex01.py 실행하면 잘 실행됨.



  1. 자료구조


변수, 상수, 계수 설명

폴더명 : python-variable


pip install jupyter


파일생성 : ex02.ipynb

Select kernel -> python environments -> .venv


+code 클릭하여 코드작성


기초 변수 지정법 배움 (x = 10 등)


*변수의 이름은 잘 지정해야 한다! (name, age 등 설명적인 표현 사용)


snake_case, CamelCase 배움


변수이름은 숫자로 시작할 수 없음


예제 : 구구단


비교연산자 배움

  • ==, =!  : 변수에 담긴 데이터를 비교
  • is : 변수 자체를 비교. id(num1)과 id(num2)가 같아야 함. ==보다 속도 빠름.


변수 : 데이터 수정 가능

상수 : 데이터 수정 불가능



<문제> Python에서 상수 선언하기

참고: 블로그


상수의 값을 지정해 주는 대신 매번 ‘함수’를 호출함으로서 문제를 피해가는 방법임.


*강사풀이 : enum 사용



변수와 상수의 공통점 : 데이터 조회는 둘 다 가능하다




  1. 문자열


문제 : int와 float에는 없는 string의 값은?

답 : size


*주석을 잘 달자! 자신이 짠 코드를 잘 설명할 줄 알아야 한다




1/9 목


  1. Python 문자열


지난시간 복습 : 데이터 슬라이싱


포매팅 (f-string, 기타)


replace



  1. Python 기초 자료구조


리스트/튜플/딕셔너리/집합


리스트와 튜플의 차이 : 튜플은 수정이 불가.

리스트와 딕셔너리의 차이 : 딕셔너리는 키-값 페어로 저장됨. 리스트는 위치로, 딕셔너리는 키로 값을 식별.

리스트는 size가 있음 -> 인덱싱, 슬라이싱 할 수 있음


  • 리스트 안의 리스트


  • 리스트 원소 추가 : append, extend


  • 딕셔너리 내부 접근


  • 집합 : 중복 제거됨


리스트의 중복데이터 제거를 위해, 집합 변환 -> 다시 리스트 변환 의 방법을 사용할 수 있음.


  • 집합 : 합집합, 교집합, 차집합

연산기호 사용하여 집합 연산 가능


  • Boolean 기호



  1. 제어문




<문제>

  • 학생들 중 20대인 경우엔 ‘하이 20대’, 30대인 경우엔 ‘하이 30대’, 40대 이상인 경우에는 ‘안녕하세요^^’를 인쇄



강사풀이 : 


(*강사 풀이가 깔끔하다! 난 항상 if문을 거꾸로 짜는게 좋다는걸 잊곤한다.) 



for문, enumerate 등 배움


  • for문과 else문 사용하기

for 문이 정상적으로 실행완료되어야 else가 실행됨

만약 break등을 넣어 정상완료되지 않는다면 else는 실행되지 않음



1/10 금


<문제> 가위바위보

두 명의 유저에게 ‘가위 바위 보’ 중 하나를 입력받아 가위바위보 승패를 가려주는 프로그램을 만든다다

유의점 1. 잘못된 입력시 이를 처리한다 -> 잘 처리했음

유의점 2. enum class 이용하기 (상수이므로) -> 수정하기


강사풀이 : 


(*강사코멘트: while을 넣었으면 더 간단했을것, 이프엘스가 너무 복잡해서 안좋은코드임)

(*내생각: enum 클래스를 저렇게 사용할수있구나!)



  1. while문



<문제>

Hello

ello

llo

lo

o

이렇게 프린트되는 프로그램 짜기

(*첨에 쓸데없이 if-break를 넣는 바보짓을 함. 정신차리자!)


<문제>


원보 데이터: 정수로 이루어진 리스트(ex> [1,2,3,4,5])

만약 짝수가 있으면, 짝수있어요!

만약 짝수가 없으면, 짝수없어요!


강사칭찬코드 : contain_even 변수 없이 그냥 바로 프린트하는걸로 짠 코드


  • while 코드 사용법 추천



  1. Error


  • IndexError


이후 여러 Error 배움 (NameError, TypeError, KeyError 등)



  1. 예외처리 : Try ~ Except ~ 



  • finally : 언제나 실행됨~

-> try 이후 성공적 실행시 실행되도록 하려면 else 사용



  • assert : 조건이 false일때 발생하는 오류



  • 오류 정의 : class 통해서 정의한 후 raise 클래스명




  1. 토이프로젝트 기획


나는 ‘법률상담 AI’ 프로젝트에 합류했다. 


이번주 할일

  • git & github 사용법 공부

-> 브렌치 & 머지 & 커밋 & VScode 연동 

  • 팀장님 계정으로 github의 레버지토리 생성 및 팀 초대

-> 생성된 레퍼지토리에 README.md 작성 

-> README.md 내용에는 팀명, 팀원, 팀장, 그리고 프로젝트 설명


Tags: 부트캠프
Share: X (Twitter) Facebook LinkedIn