기존 강의 자료 모음
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
파이썬/자료구조와 알고리즘: 파이썬과 객체지향 프로그래밍
프로그래밍 언어론 객체지향 프로그래밍 (OOP) 객체지향 (class와 object) 객체지향 (생성자와 소멸자 메서드) 객체지향 (public, private, protected) 객체지향 (상속) 클래스 속성과 메서드 다형성(polymorphism) 연산자 중복 (Operator Overloading) 다중 상속 포함 (Composition) 5가지 클래스 설계의 원칙 (S.O.L.I.D) 디자인 패턴 특별한 파이썬 클래스 작성법 (namedtuple)
파이썬/자료구조와 알고리즘: 파이썬과 컴퓨터 사이언스(자료구조)
데이터 구조와 알고리즘이란? 알고리즘 복잡도 (시간 복잡도) 대표적인 자료구조: 배열 대표적인 자료구조: 큐 대표적인 자료구조: 스택 대표적인 자료구조: 링크드 리스트 대표적인 자료구조: 해쉬 테이블 가볍게만 이해하는 블록체인과 해쉬 대표적인 자료구조: 트리 대표적인 자료구조: 힙 알고리즘 복잡도 (공간 복잡도)
파이썬/자료구조와 알고리즘: 파이썬과 컴퓨터 사이언스(기본 알고리즘)
알고리즘 복잡도 표현 방법 알고리즘 작성 연습하기 버블 정렬 (bubble sort) 삽입 정렬 (insertion sort) 선택 정렬 (selection sort) 재귀 용법 (Recursive Call) 동적 계획법과 분할 정복 병합 정렬 (merge sort) 퀵 정렬 (quick sort) 순차 탐색 이진 탐색 (Binary Search) 이진 트리 탐색 (Binary Tree Search)
파이썬/자료구조와 알고리즘: 파이썬 특수 문법(데코레이터, 이터레이터등)
중첩 함수 (Nested function) First-class function Closure function 데코레이터 (Decorator) 이터레이터 (iterator) 파이썬 Comprehension 파이썬 제너레이터 (Generator)
파이썬/자료구조와 알고리즘: 파이썬과 컴퓨터 사이언스(고급 알고리즘)
그래프 이해 깊이 우선 탐색 (DFS) 너비 우선 탐색 (BFS) 탐욕 알고리즘의 이해 최단 경로 알고리즘의 이해 최소 신장 트리 (Kruskal Algorithm) 최소 신장 트리 (Prim's algorithm) 백 트래킹 기법의 이해
크롤링/데이터 분석: 웹크롤링 기본
웹 기반 기술 이해 크롤링(crawling) 이해 및 기본 Open API를 활용한 크롤링 CSS Selector를 사용한 크롤링 연습문제와 흥미로운 예제
크롤링/데이터 분석: 웹크롤링 심화
쿠키(Cookie)와 세션(Session) 로그인이 필요한 웹페이지 크롤링 이해 및 실습 Selenium 과 PhantomJS를 활용한 크롤링 이해 및 실습 Selenium 과 PhantomJS에서 CSS3 Selector 이용하기 XPATH 이용하기 페이지 로딩 시간을 기다린 후, 크롤링하기 웹사이트 자동 조작하기
크롤링/데이터 분석: 다양한 포멧의 데이터 수집
다양한 Open API 사용하기 다양한 데이터 저장/읽기 - CSV 파일 다양한 데이터 저장/읽기 - 엑셀(xlsx) 파일 다양한 데이터 읽기 - PDF/워드(docx) 파일 다양한 데이터 읽기 - XML/JSON 파일
크롤링/데이터 분석: 데이터 분석(추천시스템)
추천 시스템이란? (Recommendation System) Recommendation 기본 알고리즘 유사도(Similarity) 계산 방식 유사도와 KNN을 활용한 예측 값 계산 및 추천 목록 생성 기법 Latent Factor 모형 (PCA와 Latent Factor 모형) SVD (SVD와 Latent Factor 모형) 파이썬 surprise 라이브러리의 SVD 모델 정확도(Precision), 재현율(Recall)과 참고사항
컴퓨터 공학/리눅스와 클라우드: 운영체제(OS) 부트캠프
운영체제란? History로 이해하는 운영체제 시스템콜과 사용자/커널 모드 프로세스 스케쥴링 인터럽트 프로세스 구조와 컨텍스트 스위칭 프로세스간 커뮤니케이션 (IPC) 스레드와 동기화 (Thread) 가상 메모리 (Virtual Memory) 파일 시스템 (File System) 부팅과 현대 운영체제의 이해 가상 머신의 이해
컴퓨터 공학/리눅스와 클라우드: 리눅스 (linux) 익히기
리눅스 기본 이해 리눅스 쉘(bash), 기본 명령어 이해 및 실습 쉘 스크립트 Ubuntu(우분투) 이해하기 VIM 에디터 이해 및 실습 crontab 사용법 터미널 (terminal) 사용법
컴퓨터 공학/리눅스와 클라우드: 클라우드 컴퓨팅 (AWS)
클라우드 컴퓨팅과 AWS 이해 AWS 무료 서비스 가입과 서버(EC2) 만들기 Security Group, CloudWatch, S3 만들기 RDB로 MySQL 데이터베이스 만들기 서버(EC2)에 파이썬 환경과 쥬피터 노트북 설치하기 AWS 서비스 프로그래밍으로 제어하기
웹/앱서비스 개발: 웹서비스 기술 익히기
웹서비스 개발과 파이썬 flask 를 활용한 웹서비스 개발 flask 기본 사용법 웹페이지(HTML)를 파이썬 flask로 만들기 flask 다양한 기능 AWS에서 초간단 flask 웹서버 띄우기
데이터베이스 (SQL/NoSQL): 데이터베이스 기본 (MySQL)
RDBMS(Relational Database Management System) 이해 MySQL 이해 및 실습 SQL DDL(Data Definition Language) 이해 및 실습 SQL DML(Data Manipulation Language) 이해 및 실습 SQL DCL(Data Control Language) 이해 및 실습 pymysql 모듈 이해 및 실습
데이터베이스 (SQL/NoSQL): 데이터베이스 심화 (MySQL+AWS)
웹크롤링 데이터 MySQL 저장 (한글 처리와 AWS RDS 활용 예) pandas DataFrame to_sql 메서드 사용 예제 서브 쿼리 (MySQL SubQuery) 외래키 (FOREIGN KEY) 인덱스 (MySQL INDEX)
데이터베이스 (SQL/NoSQL): 데이터베이스 예제코드 (MySQL+AWS)
Sakila 데이터베이스로 MySQL 실습하기 파일로 실행하는 SQL: mysql CLI 명령어 pymysql 로 실습 환경 만들기 GROUP BY, SUM, AVG, MAX, MIN, DISTINCT 익히기 Sakila 데이터베이스로 익히는 MySQL 연습 실제 복잡한 조건의 데이터 SQL로 추출하기 예제1 복잡한 조건의 데이터 SQL로 추출하기 예제2 JOIN 구문 익히기 JOIN 활용 실제 예제1 JOIN 활용 실제 예제2 JOIN 활용 실제 예제3 테이블에서 데이터 바로 추출하기