오늘의 회고
사실(Fact) : GitHub활용법, Streamlit Dashboard 만들기
느낌(Feeling) : 에디터를 VScode로 사용하고, Github와 Streamlit 등 새로운 방법을 많이 접하다보니 새삼 어려웠다.
교훈(Finding) : 깃허브가 아직 많이 생소한데, 평소에 잔디심기를 하려고 노력하면서 익숙해져야겠다
데이터센터나 클라우드서버를 사용하는 이유는?
서버관리가 불편한 이유
- 3년에 한 번씩 교체해줘야한다고 들었는데 교체과정이 복잡하다
- 24시간 가동되어야함, 온습도 유지 (발열이 매우 심하다)
- 다량의 트래픽으로 대용량 서버 필요
리눅스계열 터미널창 명령어
터미널 cmd
** 리눅스 계열 명령어 **
ls : 현재 디렉토리 폴더 내부 확인 (윈도우 dir)
ls -l : 현재 디렉토리에 위치한 파일 상세정보 확인
ls -a : 현재 directory에 위치한 숨겨진 파일정보 포함 확인
cd : Change 디렉토리, 현재 디렉토리 위치에 존재하거나 상위 다른 디렉토리로 이동
cd ~ : root 디렉토리 이동
cd .. : 상위 디렉토리 이동
mkdir dirName : 현재 디렉토리 위치에서 새로운 디렉토리를 생성
mv 디렉토리 혹은 파일 이동경로 : 현재 디렉토리 내 디렉토리 또는 파일 이동
mv 디렉토리 혹은 파일 newName : 현재 디렉토리 내 디렉토리 또는 파일 이름 변경
cp 현재파일명 복사할파일명 : 현재 디렉토리 내 파일 복사
cp -R dir/ : 현재 디렉토리 내 디렉토리 복사
rm fileName : 현재 디렉토리 내 파일 삭제
rm -rf : 현재 디렉토리 내 디렉토리 삭제
Github
git이란?
git은 컴퓨터 파일의 변경사항을 추적하는 시스템이다.
git은 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다.
git은 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다.
GitHub란?
분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다.
오픈소스를 위한 무상 서비스를 모두 제공한다.
-> 이력서에 github, TIL블로그 첨부
깃허브의 커밋이란? 블로그에 글 올리는 것 같은 어떤 활동을 했다는 의미
파일을 고치고 저장하는 것 포함
커밋예제 kaggle survey Coursera, kaggle learn course
깃은 코딩 버전 관리 프로그램이라면 (git 분산버전관리시스템)
깃헙은 깃을 보관하고 공유해주는 서버 역할을 한다. (소셜코딩)
-> 생활코딩 git 유튜브들어보기
신규 Repository 생성
Add .gitignore
API key같은 개인정보 걸러줘라
- 저장소의 .gitignore의 역할
Project에 원하지 않는 Backup File이나 Log File , 혹은 컴파일 된 파일들을 Git에서 제외시킬수 있는 설정 File이다.
항상 최상위 Directory에 존재해야한다. 규칙을 작성하여 특정 확장자를 제외할 수 있다.
Choose a license
MIT 코드 써도되 근데 나한테 책임 묻지마 / 면책
깃허브
- 이미지 첨부는 용량 관리를 위해 imgur.com을 사용해서
이미지 링크가져오기 https://imgur.com/
- 이미지 업로드 방법
<img src="이미지 URL">
<img src="이미지 URL" width="1080" height="960">
GitHub 용어
- Fork 퍼가요
- Starred 좋아요
가상환경
아나콘다 가상환경을 목록을 보여주는 명령어
conda env list
가상환경에 설치된 파이썬 패키지 목록을 텍스트 파일에 저장하는 명령
pip freeze > requirements.txt
requirements.txt 에 대한 설명
pip freeze > requirements.txt 로 설치된 패키지를 목록으로 만들 수 있다.
pandas=1.5 처럼 버전을 지정해서 목록화 할 수 있다.
배포 할 때 사용하면 서버에 필요한 패키지를 설치해 준다.
해당 저장소에 의존적인 라이브러리 목록
streamlit
서버 실행 : streamlit run 파일명
서버 종료 : ctrl + c - pages
페이지 추가 - streamlit run main_page
set_page_config - 하위 페이지(.py) & 목차 생성
- 해당 이름의 폴더를 만들고, 폴더 안에 하위 파일을 만들 경우 페이지 개념으로 인식
head tag 안에 들어가는 내용이기 때문에 상단에 위치
page_title : 브라우저 탭에 표시되는 페이지 제목
page_icon : 페이지 파비콘
layout : 콘텐츠 배치 방법 (default : centered, wide)
st.markdown - 마크다운 형식의 문자열 표시
st.sidebar
- .markdown : 좌측 사이드바에 마크다운 형식의 문자열 표시
- .header : 사이드바 제목 표시
- .selectbox : 사이드바에 선택 위젯 생성 (제목, 선택 옵션 데이터 목록)
- .multiselect : 사이드바에 다중 선택 위젯 생성 (제목, 선택 옵션 데이터 목록)
st.write
- 입력된 인수 출력
string, df, error, func(함수 정보), module(모듈 정보) 등
st.cache - 데이터를 로컬 캐시에 저장 (⇒ 성능 최적화)
캐시 오류가 발생하지 않으면 캐시 내의 값을 함수의 반환값으로 저장
스트림릿 공식문서
스트림릿 실습 파일
https://github.com/lyndis20/ais7_demo