목차




코스 소개

  • 비전공자부터 실력이 부족한 전공자까지 다양한 학생이 있기 때문에 모든 범위 다룸
  • 필요한 강의만 들어도 됨, 모든 강의 세세하게 볼 필요까지는 없다.
  • 1 주차에는 파이썬으로 데이터 다루는 법 배우고 2 주차에는 파이썬으로 통계와 선형대수 다룸. 3 주차에는 파이토치로 딥러닝 기본 구현 (딥러닝에서 사용하는 파이토치 코드를 이해한다).




뉴비를 위한 컴퓨터 기초

  1. 컴퓨터 OS
    • 컴퓨터 하드웨어와 가까운 소프트웨어, 이 위에서 일반 소프트웨어들이 돌아감
    • 프로그램들은 OS 에 맞춰 구현됨
  2. 파일 시스템
    • OS 에서 파일을 저장하는 트리 구조 저장 체계
    • 파일과 디렉토리
      • 디렉토리
        • 폴더 또는 디렉토리로 불리며 파일과 다른 디렉토리를 포함할 수 있다.
      • 파일
        • 컴퓨터에서 정보를 저장하는 논리적인 단위
        • 파일은 파일명과 확장자로 식별됨
        • 실행, 읽기, 쓰기 등을 할 수 있음
    • 절대 경로와 상대 경로
      • 경로 : 컴퓨터 파일의 고유한 위치, 트리구조상 노드 연결
      • 절대 경로 : 루트 디렉토리로부터 파일까지의 경로
      • 상대 경로 : 현재 디렉토리로부터 파일까지의 경로
  3. 터미널
    • Terminal = Console = CMD창
    • GUI 와 달리 텍스트를 사용하여 컴퓨터에 명령을 입력하는 인터페이스 체계
    • 윈도우 - CMD window, Windows Terminal, CMDer
    • 맥 - Terminal
    • 각 터미널에는 프로그램을 작동하는 shell 이 존재 → shell 마다 다른 명령어 사용
    • 윈도우와 리눅스 계열의 명령어 다름, 다 잘 쓰는게 좋음




파이썬 개요

  • 1991년 귀도 반 로섬이 발표
  • 플랫폼 독립적
    • 플랫폼 = OS
    • 운영체제에 상관없이 작동되는 언어
  • 인터프리터 언어
    • 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법
    • 컴파일러 v 인터프리터
      • 컴파일러 (C, C++, 자바 등)
        • 소스코드를 기계어로 먼저 번역
        • 해당 플랫폼에 최적화됨, 실행 속도가 빠름
        • 많은 메모리 소요
      • 인터프리터 (파이썬, 스칼라 등)
        • 별도의 번역과정 없이 소스코드 실행시점에 해석
        • 간단히 작성 + 메모리 적게 먹음
        • 이젠 하드웨어가 발전해서 느려도 괜춘
  • 객체 지향
    • 순서대로 프로그램이 실행되는게 아닌 모듈(객체) 중심으로 프로그램을 작성함
    • 하나의 객체는 어떤 목적을 달성하기 위한 행동(메서드) 과 속성(어트리뷰트) 를 지님
  • 동적 타이핑 언어
    • 프로그램이 실행하는 시점에 프로그램이 사용해야할 데이터에 대한 타입을 결정함
  • 처음엔 C 언어로 구현되었음
  • 이해하기 쉬운 문법, 사람의 시간이 기계의 시간보다 중요하다!
  • 다양한 라이브러리 지원, 무엇을 생각하든 그것을 구현할 수 있다. 특히 통계와 데이터 분석 라이브러리가 뛰어나서 ML 분야에서 기본적으로 사용됨




파이썬 코딩환경

세팅

  1. 운영체제 선택

    → 난 맥 사용

  2. 파이썬 인터프리터
    • 2.7 과 3.X 버전이 존재 (2 점대 버전 이제 거의 안 씀)
  3. 코드 편집기 (에디터)
    • vim, atom, vscode, pycharm 등 사용 가능
    • 로컬이나 웹 기반이나 모두 사용 가능

Tools

Type 1

아나콘다 (간편한 파이썬 패키지 관리 도구, ML 의 표준) + VScode (MS 에서 만든 에디터로 빠른 발전중)

Type 2

쥬피터 (웹 기반 인터랙티브 코드 편집기의 표준) + 코랩 (구글에서 제공하는 클라우드 기반 인터랙티브 코드 편집기)

콘다 활성화 명령어

conda activate base → (base) 라는 가상환경이 앞에 뜨면 된 것

쥬피터

  • 데이터 분석을 위한 파이썬 IDE
  • 작업할 디렉토리에서 jupyter notebook 명령어 실행, 웹열림
  • 언어는 ipython 사용
  • 컨트롤 엔터 = 실행
  • 알트 엔터 = 새 탭 생김
  • dd = 탭 삭제
  • 기타 단축어 알면 편함

코랩

  • 구글 클라우드 기반의 쥬피터 노트북
  • 구글 드라이브 + GCP + 쥬피터 등이 합쳐져서 사용자가 손쉽게 접근
  • 단축키가 잘 안먹힐 때가 있어서 쥬피터보다 불편함

발견한 Tip

맥에서 zsh 로 인해 콘다 안 될 경우

  1. vim ~/.zshrc
  2. i 눌러서 insert 모드로 바꾼 뒤 제일 밑에 export PATH=“/Users/유저네임/miniconda3/bin:$PATH” 입력 
  3. esc 누르고 : 누르고 q! 입력하고 엔터 (나와짐) 
  4. source ~/.zshrc (편집됨




피어 세션

팀이름

취업시켜조 (4조)

팀원 소개 (이름(생략) - 닉네임 - 관심분야)

  • 서폿(Support) - 데이터가공, 처리, 알고리즘, 추천, 백엔드, DB
  • 히스(Heath) - NLP, 추천
  • 펭귄(Penguin) - 데이터가공, 처리, 비전
  • 후미(Humi) - 비전, 객체 인식, ocr
  • 샐리(Sally) - 컴퓨터비전
  • 원딜(ADC) - NLP, 음성
  • 엠제이(MJ) - 비전, 반도체

협업 툴

  • Github - 회의록 저장용 (boostcamp_ai_tech_4)
    • Issue - 질문 모음
  • GoogleDoc - 실시간 기록
  • Slack - 소통
  • Zoom - 화상 회의

모더레이터

  • 모더레이터의 역할
    • 오늘의 목표 환기
    • 발표자 지정
    • 구글독에 라이브하게 회의록 정리 - 모더레이터가 깔끔하게 정리
  • 모더레이터 기간

    일주일마다 번갈아 가면서 맡는다.

피어세션

  • 개인적으로 공부한 것 공유 (ex. 꿀팁)
  • 공부하면서 생긴 질문 QnA
  • 과제 코드리뷰

그라운드 룰

  1. 확실히 이해하지 못한 부분은 짚고 넘어가자! 모르면 모른 것!
  2. 쉬운 질문이라고 무시하지 말자!
  3. “[닉네임]님”으로 부르자!
  4. 피어세션이 끝나도 슬랙을 적극적으로 활용하자!
    • 좋은 정보가 있으면 공유하자!
    • 궁금한 점이 있으면 질문하자!
  5. 질문하기 전에 충분히 고민해보자!
  6. 질문자는 맡은 이슈를 잘 정리하자!
    • 질문을 여는 것도 닫는 것도 질문자가 하는 것!
  7. 모더레이터의 말을 잘 듣고 최대한 돕자!
  8. 무슨 일이 있을 경우(ex. 병원, 개인사정) 슬랙을 통해 사전에 공지하자!
  9. 코드 리뷰할 때 “LGTM(Looks Great to Me)”말고 좋았던 점과 개선할 점을 적어놓자!
  10. 개선할 점과 단점을 이야기할 때 예의를 갖추자!




Today I Felt

자율성

어디서도 보지 못한 자율성이 느껴진다. 옆동네 싸피는 철저한 시간체크와 얼굴 비추기로 나름 빡센 관리를 받는 입장이었지만, 부캠은 다르다. 대학 졸업까지 앞두니 사회인의 길은 이런 것이 아닐까 생각이 들었다.

스스로 공부하는 시간이 많기 때문에 나태해지지 않고 자신과의 싸움에서 철저해져야 할 것 같다. 아래 사항들을 지키며 학습해야지.

오전 학습 (10:00 ~ 12:00)

→ 강의 들으면서 내용 정리 + 질문거리 기록

오후 자습 1 (13:00 ~ 14:00)

→ 배운 내용 복습 + 질문거리 정리하며 최대한 스스로 답 찾기

피어 세션 (14:00 ~ 15:30)

→ 질문하고 답 얻기 + 실시간 구글독 정리

→ 모더레이터는 구글독을 최종적으로 정리하여 깃허브에 올리기

→ 해결하지 못한 질문 자습시간에 공부하여 깃허브 이슈에 기록하기 답 남기기

오후 자습 2 (15:30 ~ 18:00)

→ 해결하지 못한 질문 (내 질문 + 피어 세션 질문 합치기) 답 찾기

정리 시간 (18:00 ~ 19:00)

→ 학습내용 + 피어세션 (with 질문/솔루션) + 느낀점 정리


자극점

깃허브로 작게나마 조원들의 능력을 볼 수 있었다. 한 명은 알고리즘 문제 해결을 잘하고 한 명은 정리를 잘하고 여러가지 스킬과 프로젝트 경험이 있었다. 둘을 포함하여 모든 조원들이 멋진 사람들이었다. 최근 꾸준히 동빈북 공부도 하고 다 못봤던 모모딥 강의도 보며 만족할 뻔했으나, 조원들을 통해 아직 부족하다는 것을 느낄 수 있었다.

첫 날이었지만 조원들과 소통이 너무 재밌었기에 앞으로도 8주 동안 자극도 받고 서로 으쌰으쌰해서 함께 성장하고 싶다.