이산수학(sec 2.2 수의 연산)
- 합 연산(sum)
- 곱 연산(product)
- 나누기 연산(/)과 나머지 연산(mod)
Pre-school Day 1
1. 커맨드라인이란 무엇일까?
CLI 환경은 필수
- 효율적인 메모리 관리
- GUI는 사용자용, CLI는 개발자용
UNIX/LINUX는 개발친화적 OS
- 다양한 오픈소스 프로그램들이 개발되고 있음
- Shell은 Kernel과 대화하는 통로
Package manager
- Package : 완성된 소프트웨어나 다른 소프트웨어를 완성하기 위해서 필요한 부품이 되는 소프트웨어를 의미
- Package manager : 업그레이드, 의존성 관리 등 복잡한 상황의 발생을 낮추고 쉽게 패키지를 이용할 수 있는 소프트웨어
- HomeBrew(macOS), apt(Ubuntu)
Zsh
- 기본적으로 bash가 설치되어있으나 Zsh이 제일 편리함
$ brew install zsh zsh-completions $ curl -L http://install.ohmyz.sh | sh $ chsh -s `which zsh` //chsh : /usr/local/bin/zsh : non-standard shell 오류 발생시 //$ sudo vim /etc/shells 아래 쪽에 /usr/local/bin/zsh 추가하고 :wq 저장
VI 편집기
- `VIsual display editor’
- 시스템 소프트웨어를 수정하기 위해(?)
- 서버에 접근할 때 쓸 일이 있음
vim 실행
$ vim
간단한 html 만들기(i를 눌러 insert모드로 전환후 입력)
<!DOCTYPE html>
<html>
<head>
<title>hello world</title>
</head>
<body>
<p>hello</p>
</body>
</html>
esc로 빠져나온 후 :wp test.html을 입력하여 저장
2. Python과 django
Python
- 쉽고 간결하고 명확함을 지향하는 실용적인 언어
- 동적 형 변환을 지원(변수에 다양한 객체를 자유롭게 할당)
- 객체 지향 인터프리터 언어(모든 데이터는 객체)
- 범용 프로그래밍 언어
정적언어
- 구문이 많음
- 저수준의 세부사항이 어느정도 정해져있어
정적언어
라고 부름 - 컴파일 필수
- C, C++, C#, Java
동적언어(스크립트 언어)
- 변수 타입을 선언할 필요 없음
- 컴파일러 대신 인터프리터라는 프로그램으로 해석
- 정적 언어보다 느리지만 컴퓨터 성능이 좋아져 큰 차이 없음
- Python, JavaScript
pyenve
- Python 버전 관리
- 버전이 달라지면 라이브러리간 충돌이 일어날 수 있음
virtualenv
- Python 개발환경을 프로젝트 별로 분리해서 관리
- 각각의 프로젝트에는 모든 모듈이 필요한것이 아니므로 따리 관리가 필요
pyenv-virtualenv
- pyenv를 사용할 경우 virtualenv를 쉽게 사용할 수 있도록 만든 라이브러리
- pyenv 설치
$brew install pyenv $brew install pyenv-virtualenv
- pyenv 설정
vim ~/.zshrc #입력 후 vim에 다음 입력 export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi # esc + :wq 저장
- pyenv 사용
$ pyenv install --list #설치 가능 리스트 $ pyenv install 3.6.3
- 가상환경 생성
$ pyenv virtualenv <version> <env_name>
- local에 가상환경 지정
$ pyenv local <env_name>
- 가상환경 지우기
$ pyenv uninstall <env_name>
- 현재 설치된 pyenv 환경보기
$ pyenv versions
pip
- pip란 파이썬으로 작성된 패키지, 라이브러리를 설치해주는 파이썬 패키지 매니저
- 패키지 검색
$ pip search 패키지
- 패키지 설치
$ pip install 패키지
- 패키지 삭제
$ pip uninstall 패키지
- 패키지 업그레이드
$ pip upgrade 패키지
- 설치된 패키지 확인
$ pip list
jupyter notbook
- 라이브코드, 방정식, 시각화 및 설명 텍스트가 포함된 문서를 작성하고 공유할 수 있게 해주는 웹 응용 프로그램
- Interactive한 웹 기반 IDE
- Python 코드와 Markdown문서로 이루어진 자료를 공유할 수 있게 되었음
- jupyter 설치
$ pip install jupyter
iPython
- 기본 파이썬 셸보다 다양한 기능을 사용할 수 있도록 해주는 셸을 제공
- iPython 설치
$ pip install ipython
실습해보기
-
홈 디렉토리(~)에서 projects 폴더로 이동
-
prac1이라는 폴더를 생성
-
python 3.4.3 버전으로 practice라는 가상환경을 생성
-
prac1이라는 폴더로 이동 후에 해당 폴더에 practice 가상환경을 적용
-
pip로 ipython을 설치
-
커맨드라인에서 ipython을 실행
다른 local 폴더에 같은 가상환경 적용
-
다시 projects폴더로 돌아가서 prac2 폴더를 생성
-
prac2 폴더로 이동 후에 커맨드라인에 ipython을 실행
-
해당 폴더에 prac2를 practice 가상환경을 설정
-
다시 ipython을 실행
Comments