일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- micsrosoft ai
- microsoft ai
- MS
- microsoft ai school 6기
- microsoft
- msai
- 마이크로소프트 ai 스쿨 6기
- 마이크로소프트
- 마이크로소프트 ai school 6기
- 마이크로소프트 AI
- 마이크로소프트 ai 스클
- 마이크로소프트 ai 스쿨
- microsoft ai school
- Today
- Total
연랩
[Microsoft AI School 6기] 12/18(3일차) 정리 - Git, GitHub 설치, 연결, 사용 본문
[Microsoft AI School 6기] 12/18(3일차) 정리 - Git, GitHub 설치, 연결, 사용
parkjiyon7 2024. 12. 18. 18:12파이썬 프로그래밍 개발 환경
Python을 이용하여 데이터 분석을 하는 경우,
1) Visual Studio Code와 같은 IDE 사용
2) Jupyter Notebook 과 같은 computational notebook을 사용
IDE(Integrated Development Environment)
:통합 개발 환경
- 코딩을 할 때 가장 많이 사용되는 도구
- 코드를 작성, 편집하고 실행 및 디버깅하는 환경이 통합됨
ex) MS Visual Studio/Visual Studio Code, IntelliJ, Xcode 등
Computational Notebook
- 데이터를 탐색하면서 바로 결과를 확인할 수 있음
ex) Jupyter Notebook
Visual Studio Code
MS Visual Studio 보다 가벼움
Jupyter Notebook
->Markdown 활용하여 필기나 기타 이미지 기재 가능
Python 개발 환경 비교(Notebook 환경)
Visual Studio VS Visual Studio Code
Visual Studio
- 기본적으로 Visual Studio가 무거움
- .NET, C++등 다양한 언어를 지원
Visual Studio Code
- extension을 활용하면 IDE로 사용 가능
- python 개발용 IDE로 사용하기에 충분
Git, GutHub
버전관리의 필요성
프로그램 소스 코드가 문서 작업을 하다 보면, 작업 내역을 추적, 관리하고 동료들과 협업을 할 필요가 있는데, 이를 수작업하지 않고 도구를 쓰게 되면 작업 효율성을 매우 높일 수 있다.
- 버전 관리, 형상 관리 도구
Git
- 분산형 소프트웨어 형상 관리 도구
- 현재 Git이 업계를 대표하는 도구가 됨
-> 로컬에서 동작, 버전 관리 툴임
GitHub
- 2018년 마이크로소프트에 인수
- 단순 코드 호스팅 플랫폼이 아닌 개발 플랫폼으로 확장 중
- 클라우드 개발 환경이라 언제 어디서나 개발 가능
- Codespaces 서비스를 이용하여 Python 개발이 가능하며 또한 Web 지언으로 언제 어디서나 개발이 가능
-> 클라우드 공간의 저장소임(repository), 내가 개발하는 코드를 공유하거나 저장하는 기능
GitHub Codespaces에서 Python 개발하기
GitHub에서 작업하기
1) repository 생성후
2) index.html 파일 생성
그 후 Settings->Pages에 들어가면
여기에서 생성된 링크로 html 파일을 웹에서 확인할 수 있다
- GitHub에는 VS code editor가 내장되어 있음
- 접속 방법
repository main 페이지에서
.(점)
을 치면 VS code editor 화면으로 감
혹시 안된다면 상단의 웹페이지 주소에 github.dev으로 바꿔주면
VS code editor 로 넘어간다
- VS code editor에서 HTML 작성
여기서 !하고 enter를 누르면 tag들이 나온다
h$()*6 하면 h1부터 h6까지 사이즈를 바꿔서 나온다
여기서 commit 하고 싶으면 좌측의
이 아이콘을 클릭한다
탭 안에 창 메세지에서 commit 메세지를 지고 체크 표시를 누르면 commit 이 된다.
이후 repository에서 확인하여 보면 코드가 수정되어 있다는 사실을 알 수 있다.
또한 repository에서
우측 상단에 Commits를 클릭하면 commit history를 볼 수 있다.
Codespace
우측 상단에 +를 클릭하면 codespace를 생성할 수 있다
그러면 위와 같은 화면이 뜬다
여기서 Region과 리소스를 설정할 수 있다
4-core의 경우, 할당된 무료 리소스를 빠르게 소진할 수 있으므로 2-core로 사용하기로 했다
그 후, Create codespace를 누르면 아래와 같은 화면이 나온다
그러면 VS code editor가 뜨는 데, codespace는 VS code editor를 기반으로 하는 클라우드 서비스이다
마우스 오른쪽이나 사진의 우측 상단에 가장 왼쪽 아이콘을 누르면 새 파일을 생성할 수 있다
우리는 python을 사용할 것이기 때문에 파일명을
first.py로 지정하면
우측하단에 python 설치 메세지가 뜨는 데, 설치해주면 된다.
후에 아래 터미널에
python first.py(=파일명)
이라 작성하면 실행된다는 사실을 알 수 있다. 혹은, 우측 상단의 run(삼각형) 버튼을 누르면 된다
.py는 스크립트
.ipynb는 jupyter notebook 형식을 활용하는 것이다
ipynb를 사용하고 싶으면 좌측에 확장에서 jupyter를 설치하여야 한다
이후, 다시 파일로 돌아와서
우측에
이 버튼을 누르면
커널을 선택할 수 있는 버튼이 나온다. 여기서 다른 커널 선택 > Python 환경에 들어가서 Python 3.12.1을 선택하였다.
실행을 하면 아래와 같이 나온다
코드 셀과 Markdown 셀로 나뉘는 데
코드 셀은 위의 사진의 print('Hello Python')이 써져 있듯이 코드를 작성하는 셀이며
Markdown에는 설명이 들어간다
shift + enter : 밑에 셀이 하나 더 추가되면서 실행
Ctrl + enter : 해당 셀을 실행하기만 함
Jupyter Notebook에서는 에러 메세지 또한 저장할 수 있다
전체 실행 등의 옵션은
상단에 있는 메뉴를 참조하면 된다
Template으로 codespace 이용
아까와 같이 new codespaces>하고 좌측상단에 위와 같은 아이콘을 누르면
여기에서 templates를 활용하여 만들 수 있다
Jupyter Notebook을 사용해보도록 하겠다
Jupyter Notebook Use this template을 클릭하면 이러한 화면이 뜬다
- template은 default가 4GB로 되어 있으며 변경이 안된다
이것을 변경하기 위해서는 codespaces에 들어간 후
devcontainer.json 파일을 클릭하면 core를 변경할 수 있다
그러나 만든 후에 변경하면 문제가 생길 수 있기 때문에 처음부터 2로 시작하는 것이 좋다
(추후에 제공된 코드 참조)
codespaces 목록은 좌측에서 확인할 수 있다
(Jupyter Notebook은 용량이 너무 커서 삭제...)
repository 삭제는 settings>general에서 할 수 있다
GitHub은 웹서비스 Git는 로컬에 설치하는 버전 관리를 해주는 소프트웨어
Git 사용법 기본
과거 형상관리 도구와 Git의 차이
과거의 형상 관리 도구- 서버에 모든 변경 내용을 관리
Git- 분산형에서는 변경 내용이 각각의 로컬에서도 관리
Git으로 형상관리를 하는 경우 진행되는 기본적인 작업 흐름은 다음과 같다
핵심은 add->commit->push/pull
Git의 저장 영역 구분
Git 사용시 working directory, staging area, local repository, remote repository의 4군데 영역에서 파일이 이동하면서 관리
Remote Repository 생성(서버의 저장소)
-> GitHub에서 생성
Git 다운로드 및 연결
- 아래의 링크에서 Git을 다운로드 해 로컬에 설치해 주면 된다
(window 기준)
https://git-scm.com/downloads/win
- Git을 통해 로컬과 서버의 작업을 연결
연결하고 싶은 폴더에 들어가서 마우스 오른쪽 버튼 클릭>추가옵션 표시에 들어가면 아래와 같이 뜬다
여기에서 Open Git Bash here를 누르면 아래와 같은 창이 뜬다
자 이제 Git Hub로 들어가서 repository로 들어가서 Code버튼을 누르면 아래와 같이 뜬다
여기서 HTTPS 링크를 copy한 다음
clone 명령어를 실행해 보면
해당 위치에 README 파일이 생성 됨을 알 수 있다
이를 통해 연결이 되었음을 알 수 있다.
이제 push를 위한 환경 설정을 하도록 하겠다
GitHub user name이랑 email을 입력한다
local에서 만든 newfile.txt를 옮겨보도록 하자
1)Staging은
git add 명령어로 수행한다
2) Local repository
.git 파일에 기재
git commit
git commit "새로운 파일 기재" -m
-m 옵션은 메세지이다
3) Remote repository
git push
- git push 뒤에는 .을 찍지 않는다
- 처음으로 push를 하게 되면 로그인을 해야하는 경우가 종종 있다
git pull을 통해 로컬 저장소와 서버 저장소가 다른 지 확인 후, 없으면 로컬에 넣어줌
(Clone 명령어는 최초에 한번만 사용)
Python install
파이썬 홈페이지에 들어가면 다운로드 받을 수 있다
https://www.python.org/downloads/
설정 시 기본은 default으로 하되, 밑의 설정들만 추가하였다
설치 후, IDLE을 실행하면 다음과 같다
Visual Studio Code 설치
https://code.visualstudio.com/
해당 웹사이트에 들어가서 VS code를 설치할 수 있다
설치 후 첫화면은 다음과 같다
그 후, Extension에 들어가서 Python가 Jupyter을 설치 한다
그 다음, Open folder를 통해 앞에서 생성했던 git과 연결했던 파일을 열면, 해당 폴더의 파일을 확인할 수 있다
상단의 Terminal로 터미널을 열어 파일을 실행해 볼 수도 있다
ctrl+Shift+` 단축키로도 터미널을 열 수 있다
test.ipynb를 작성해보면 다음과 같다
작성된 코드를 add, commit, push를 하고 싶으면
여기에서 + 를 클릭하면 staging이 된다(add)
그 후, commit을 누르고
sync를 맞추면(push)
한 가지 유의점을 말하자면, commit message를 작성하지 않으면 무한 로딩하니 유의하기를 바란다
GitHub에 파일이 업데이트 되었음을 알 수 있다
추가로 옆에 점3개를 누르면
cell 숫자를 부과할 수 있다
오늘의 간단한 후기
사실 Git 연결이나 VS code, Python 설치를 처음해보는 것이 아닌데 그 사이에 업데이트 되어서 당황했다. 혼자 작업하면 상관 없는 일도 사실 강의에 오류 없게 맞춰야 하는 일이니 세세히 신경써야 했다. 그래도 GitHub 툴을 직접 익히는 것 이외에 배워보는 것은 처음이었는데 차분히 잘 배울 수 있어서 좋았다. 모르던 기능들 또한 익힐 수 있는 좋은 기회였던 것 같다
출처
[1] Flaticon, "Free icons and stickers," Flaticon, 2024. Available: https://www.flaticon.com/. Accessed: Dec. 16, 2024.
[2] GitHub, "GitHub: Where the world builds software," GitHub, 2024. Available: https://github.com/. Accessed: Dec. 16, 2024.
[3] Python Software Foundation, "Python: Programming language," Python.org, 2024. Available: https://www.python.org/. Accessed: Dec. 16, 2024.
[4] Git, "Git: Distributed version control system," Git-SCM, 2024. Available: https://git-scm.com/. Accessed: Dec. 16, 2024.
-If any problem for references, or any questions please contact me by comments.
-This content is only for recording my studies and personal profiles
일부 출처는 사진 내에 표기되어 있습니다
본문의 내용은 학습과 개인 profile 이외의 다른 목적이 없습니다
출처 관련 문제 있을 시 말씀 부탁드립니다
상업적인 용도로 사용하는 것을 금합니다
본문의 내용을 Elixirr 강의자료 내용(인선미 강사님)을 기반으로 제작되었습니다
본문의 내용은 MS AI School 6기의 강의 자료 및 수업 내용을 담고 있습니다.
'MS AI school 6기' 카테고리의 다른 글
[Microsoft AI School 6기] 12/23(6일차) 정리 - Dictionary, Tuple, 함수 (0) | 2024.12.23 |
---|---|
[Microsoft AI School 6기] 12/20(5일차) 정리 - 반복문, list (1) | 2024.12.20 |
[Microsoft AI School 6기] 12/19(4일차) 정리 - 파이썬 기본 문법(입력, 출력, 조건문 등) (3) | 2024.12.19 |
[Microsoft AI School 6기] 12/17(2일차) 정리 - 이미지, 비디오 AI, AI Index Report (6) | 2024.12.17 |
[Microsoft AI School 6기] 12/16(1일차) 정리 - 생성(Generative AI) 소개 (6) | 2024.12.16 |