Ai tech Day1

Lee·2021년 1월 18일
0

Hidden class

1. OS

Operating System(운영체제)의 약자

모든 프로그램은 OS에 맞춰 개발해야 한다.



2. File System

OS에서 파일을 저장하는 저장 체계

  • Root 디렉토리로부터 시작하는 트리구조로 이루어져 있다.

File

컴퓨터에서 정보를 저장하는 논리적인 단위로 파일명과 확장자(ex: hello.py)로 식별하며 실행, 쓰기, 읽기 등을 할 수 있다

Directory

컴퓨터 파일의 고유한 위치로 트리구조상 노드의 연결이다.

  • 절대 경로
    루트 디렉토리부터 파일 위치까지의 경로를 뜻한다.

  • 상대 경로
    현재 있는 디렉토리부터 타깃 파일까지의 경로를 뜻한다.



3. 터미널

마우스가 아닌 키보드로 명령을 입력하고 프로그램을 실행

GUI(Graphical User Interface)와 달리 Text를 사용하여 컴퓨터에 명령을 입력하는 인터페이스 체계이다.

  • Windows

    • CMD window
    • Windows Terminal
    • cmder: Terminal과 동일한 명령어 사용
  • Mac, Linux

    • Terminal
  • CLI(Command Line Interface)

디스플레이와 키보드가 조합된 장치가 어원이며 현재는 CLI로 입력하는 화면을 뜻한다.
각 터미널에는 프로그램을 작동하는 shell이 존재하고 각 shell 마다 다른 명령어를 사용한다.

윈도우 CMD 창 명령어shell 명령어설명
CDCD현재 디렉토리 이름을 보여주거나 바꾼다.(change directory)
CLSclearCMD 화면에 표시된 것을 모두 지운다. (clear screen)
COPYcp하나 이상의 파일을 다른 위치로 복사한다. (copy)
DELrm하나 이상의 파일을 지운다. (delete)
DIRls디렉토리에 있는 파일과 하위 디렉토리 목록을 보여준다. (directory)






Python Overview

플랫폼 독립적인 인터프리터 언어

  • 플랫폼
    윈도우, 리눅스, 안드로이드, 맥OS, iOS 등 프로그램이 실행되는 운영체제

  • 독립적인
    OS에 상관없이 한번 프로그램을 작성하면 사용가능

  • 인터프리터
    소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법

컴파일러인터프리터
소스코드를 기계어로 번역작동방식소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함
실행속도가 빠름장점간단히 작성, 메모리가 적게 필요
한번에 많은 기억장소 필요단점실행속도가 느림
C, 자바, C++, C#주요언어파이썬, 스칼라


객체지향 동적 타이핑 언어

  • 객체 지향적 언어
    실행 순서가 아닌 단위 모듈(객체) 중심으로 프로그램을 작성
    하나의 객체는 어떤 목적을 달성하기 위한 행동(method)와 속성(attribute)을 가지고 있다.

  • 동적 타이핑 언어
    프로그램이 실행하는 시점에 프로그램이 사용해야할 데이터에 대한 타입을 결정한다.



파이썬을 사용하는 이유?

  • 쉽고 간단하며 다양하다.
  • 이해하기 쉬운 문법
  • 다양한 라이브러리






Python Coding Environment

프로그램을 작성하고 실행시키는 환경

  • 일반적으로 코딩환경 이라고 부른다.

  • 개발 환경을 결정

    • 운영 체제(Operating System, OS)
    • Python Interpreter
    • 코드 편집기(Editor)
WindowsLinuxMac OS
장점친숙하다, 초기에 쉽다모듈 설치가 쉽다, 무료이다, 참고문서가 많다.모듈 설치가 쉽다, 참고문서가 많다.
단점모듈 설치가 어렵다OS 자체 사용이 어렵다비싸다


파이썬 인터프리터

종류설명Download
Python일반적인 파이썬, 기본적인 모듈을 포함한다.Python
Anaconda다양한 과학 계산용 패키지를 포함한다.Anaconda


코드 편집기

파이썬 코드도 일종의 문서

한글, 워드처럼 코드를 입력한 문서 편집기가 필요하다.

종류설명Download
메모장윈도우의 기본 문서 편집도구시작 - 메모장
VI editor리눅스의 기본 문서 편집도구VIM
Sublime Text프로그래밍에 특화된 문서 편집도구Sublime
Atom프로그래밍에 특화된 문서 편집도구Atom
VS Code프로그래밍에 특화된 문서 편집도구VS Code
Pycharm다양한 기능을 갖춘 파이썬 전용 개발 도구Pycharm
  • 코드 편집기의 두 가지 타입
  1. 설치된 어플리케이션
    • ANACONDA
    • VS Code

  2. 웹 기반 인터랙티브 편집기
    • Jupyter
    • colab





Jupyter Notebook

  • 데이터 분석을 위한 파이썬 IDE
    파이썬의 기본 실행 환경 + Python Shell 코드 편집 도구


Jupyter Notebook 개요

IPython커널을 기반으로 한 대화형 파이썬 shell

  • 일반적인 터미널 shell + 웹 기반 데이터 분석 Notebook 제공
  • 미디어, 텍스트, 코드, 수식 등을 하나의 문서로 표현 가능
  • 사실상 데이터 분석 Interactive Shell의 표준이다.
  • Julia + Python + R


Jupyter Notebook 설치

conda install jupyter



Jupyter Notebook 실행

jupyter notebook

  • https://localhosot:8888/tree 주소로 jupyter notebook이 실행된다.

  • cell 단위로 실행되며 실행 시점에 해당 코드가 memory에 올라간다.

  • 실행 명령어 Ctrl + Enter, Shift + Enter, Alt + Enter

    주요 단축키 (Edit Mode)동작
    Shift + Tab툴팁 표시하기
    Ctrl + ] or Ctrl + [들여쓰기 사용하기
    Ctrl + Shift + -셀 나누기

    주요 단축키 (command mode)동작
    Shift + M아래 셀이랑 합치기
    x셀 오려두기
    c셀 copy
    v or Shift + V셀 붙여넣기
    d, d셀 지우기
    z셀 지우기 취소
    m, mMarkdown 변환
    y, yCode로 변환


Colab

구글이 개발한 클라우드 기반의 jupyter notebook

  • 구글 드라이브 + GCP + jupyter 등이 합쳐져서 사용자가 손쉽게 접근할 수 있다.
  • 초반 여러가지 모듈 설치의 장점을 가진다.
  • 구글 드라이브의 파일을 업로드하여 사용가능한 장점을 가진다.
  • VS Code 등과 연결해서 사용 가능하다.
  • V100 이상의 GPU를 무료로 쓸 수 있다.
profile
초보 개발자입니다

0개의 댓글