본문 바로가기
AI월드/⚙️AI BOOTCAMP_Section 3

Section 3 종합회고

by khalidpark 2021. 3. 25.
SECTION 3 리뷰
01 - 환경과 데이터 베이스
02 - 파이썬 활용
03 - 어플리케이션과 API
04 - Project ( 소울푸드 웹서비스 모델)

SECTION 3 - WEEK 1

Note 1 Note 2 Note 3 Note 4
터미널
CLI
가상환경

깃헙
아나콘다
파이썬 가상환경
bash
zsh
파이썬 라이브러리
system packages
site packages
Docker
Docker Hub
Docker container
Docker Image
Docker compose
리소스격리성
yaml
yml
docker-compose.yaml
docker-compose up

SQL
ACID
데이터베이스
dbeaver
관계형 데이터베이스
쿼리
NoSQL
MongoDB
DDL
(CREATE , DROP)
DML
(INSERT , DELETE , UPDATE)
DCL
(GRANT , REVOKE)
DQL
(SELECT)
TCL
(COMMIT , ROLLBACK)
데이터
엔티티(Entity)
테이블(relation)
필드(column)
레코드(tuple)

기본키(primary key)
외래키(foreign key)
1:1관계
1:N관계
N:N관계
조인테이블
자기참조관계
데이터베이스 스키마
데이터베이스 정규화
SQL 명령어 (링크참조)
khalidpark2029.tistory.com/139

khalidpark2029.tistory.com/134

클라우드 데이터베이스
elephantSQL
Postgres
URI
트랜잭션
ACID
Atomicity
Consistency
Isolation
Durability
NoSQL
Key-value 데이터베이스
Column 데이터베이스
Graph 데이터베이스
Document 데이터베이스
MongoDB



- - SQL 명령어 심화 사용법 몽고DB 활용방법
아나콘다 초기 환경설정,anaconda_Day41 khalidpark2029.tistory.com/123
가장 쉬운 Git + Github강좌_Day41(2) khalidpark2029.tistory.com/124
Terminal vs. Bash vs. Command line 차이를 알아보자_DAY41(3) khalidpark2029.tistory.com/125
Command Line Interface (CLI)를 알아보자_Day42 khalidpark2029.tistory.com/127
리눅스 기본 명령어_Day42(2) khalidpark2029.tistory.com/128
IP , DNS , PORT 이해하기 _Day42(3) khalidpark2029.tistory.com/129
도커, Docker CLI , 첫시작_Day42(4) khalidpark2029.tistory.com/130
git clone 과 git pull 의 차이점 khalidpark2029.tistory.com/132
SQL 과 관계형 데이터베이스 개념_Day43 khalidpark2029.tistory.com/133
SQL 명령어 정리_Day43(2) khalidpark2029.tistory.com/134
7 Database paradigms, 데이터베이스 패러다임_Day44 khalidpark2029.tistory.com/135
NoSQL Database Types 4가지_Day44(2) khalidpark2029.tistory.com/136
클라우드 데이터베이스 연결 (postgres,elephantsql,bash)_Day44(3) khalidpark2029.tistory.com/137
ACID,트랜잭션_Day44(4) khalidpark2029.tistory.com/138
SQL 명령어 정리(2)_Day44(5) khalidpark2029.tistory.com/139
git, conda(가상환경), docker, SQL 개념혼동_Day41~44 khalidpark2029.tistory.com/140
pipenv, 파이썬 전용 가상환경 만들기 khalidpark2029.tistory.com/141
docker 과제 다시 풀어보기 (part1,2,3) khalidpark2029.tistory.com/149

 

SECTION 3 - WEEK 2

Note 1 Note 2 Note 3 Note 4
파이썬
반복문
주석#
for
while
break
continue
조건문
Boolean 
논리 연산자
조건 연산자
다중 조건문
중첩조건
기본자료형
(숫자, 문자열)
컬렉션 자료형
(리스트[] ,튜플() ,딕셔너리{})
파이썬 함수
객체
세션
인스턴스
파라미터
인수(argument)
필수인수
키워드인수
기본인수
메서드(method)
파이썬 클래스
self
__init__

생성자함수 (링크참조)
khalidpark2029.tistory.com/147

파이썬 데이터베이스 연결
(1)sqlite (2)postgres

sqlite3
PEP249
파이썬 DBAPI
sqlite3.connect
cursor()
cursor.execute
fetchone
fetchmany
fetchall

postgreSQL
psycopg2

HTML
CSS
CSS 상속
CSS 클래스
CSS ID
JavaScript
DOM
Web scraping
크롤링
requests
BeautifulSoup 
html.parser
파서방법


ORM
(Object Relational Mapper)
SQLAlchemy
(ORM 대표 라이브러리)
CORE
DBAPI

1)데이터베이스와의연결
엔진
create_engine

2)MAPPING
declarative_base

3)테이블생성
__repr__
__tablename__

4)스키마생성
Base.metadata.create_all(engine)

5)session 생성
session 중간저장소
sessionmaker(bind=engine)

6)데이터베이스 작업
CREATE
session.add()
session.commit()
DELETE
session.delete
session.commit()
7)session 종료


리스트,튜플,딕셔너리 사용법 클래스, self, 생성자함수 beautifulsoup 활용방법 SQLAlchemy
if __name__ == “__main__”은 왜 필요할까?_Day46 khalidpark2029.tistory.com/142
truty and falsy,python_Day46(3) khalidpark2029.tistory.com/143
python 기본문법(리스트,튜플,딕셔너리)_Day46(2) khalidpark2029.tistory.com/144
함수, 메소드 , 개념차이_Day47 khalidpark2029.tistory.com/145
클래스,__init__,self,super,파이썬개념_Day47(2) khalidpark2029.tistory.com/146
파이썬 함수(+생성자함수)와 클래스,개념정리_Day47(3) khalidpark2029.tistory.com/147
파이썬 데이터베이스 연결(PEP249,SQLite,PostgreSQL)_Day47(4) khalidpark2029.tistory.com/148
DOM 개념_Day48 khalidpark2029.tistory.com/152
웹크롤링 기초,파이썬,Beautifulsoup_Day48(2) khalidpark2029.tistory.com/153
ORM,SQLAlchemy 기본개념,문법_Day49 khalidpark2029.tistory.com/155

 

SECTION 3 - WEEK 3

Note 1 Note 2 Note 3 Note 4
HTTP

HTTP Request
HTTP Respose
클라이언트
서버

CRUD
GET
POST
PUT
PATCH
DELETE

HTTP 상태코드
100,200,300,400,500

API
(인터페이스)
JSON형태의 응답

RESTful API

FLASK
(Django)
파이썬으로 웹어플리케이션

FLASK의 라이브러리
jinja
Werkzeug
Flask-SQLAlchemy

1)폴더생성하기
flask_app

2)Flask어플리케이션생성하기
__init__.py

3)CLI로실행
FLASK_APP=flask_app flask run

4)라우터추가
@app.route('/')
def index():
    return 'Hello World'

5)라우터 추가기능
-mehtod 추가
(POST,PUT,PATCH,DELETE)

-세부엔드포인트

6)블루프린트 사용하기
routes폴더

7)Application Factory

--여기부터--

Flask의 HTML 렌더링render_template :
flask에서 html파일을불러올수있는 메소드

Jinja
웹 템플릿 엔진
맞춤형 웹 페이지 자동생산
<h1>{{ title }}</h1>
{% ... %}
{{ ... }} 
{# ... #}

Flask에서 Jinja로 변수넘기기
app.route 함수실행시
인수로 변수를 넘겨주면
html파일에서 받아서 실행

Jinja 기능들
-객체태그
-if구문
-for구문

jinja 상속
{% extends %}
{% block %}...{% endblock %}
자식상속
진자블록

Bootstrap
컴포넌트
getbootstrap.com/docs/5.0/getting-started/introduction/
Flask 구조

flask_app
l
l---- models
l      l---- __init__.py
l      l---- post_models.py
l      l---- user_models.py
l
l---- services 
l      l---- api.py
l
l---- static
l      l---- style.scc
l
l---- templates
l      l---- index.html
l
l---- views
      l---- user_routes.py

Flask SQLAlchemy:
데이터베이스와 파이썬을 연결해주는 ORM

1)설치
2)데이터베이스모델
3)데이터베이스연결

Flask-Migrate:
파이썬에서 변경된 코드로 인해 달라진 데이터베이스 구조, 모델 등을 추적하고 기록해 데이터베이스에 적용할 수 있는 유용한 도구

Embedding API
텍스트를 벡터로변환

EmbeddingClient
encode

GloVe


WSGI
(Web Server Gateway Interface)
마이크로 프레임워크를 서버로 연결해 외부에서 접속할 수 있도록 도와주는 역할

gunicon
파이썬의 WSGI HTTP Server
즉, HTTP 관련된 웹 요청이 들어오게 되면 flask 와 같은 어플리케이션을 이용해 처리를 해주는 역할

웹 어플리케이션 배포
Heroku
Heroku CLI
Heroku 와 파이썬
Procfile 설정하기

Heroku Database
add-on

데이터베이스 초기설정
heroku config --app 어플리케이션_이름

환경변수
dotenv 패키지:
환경변수 관리패키지

Heroku 환경변수관리
heroku config

환경분리








API 기초개념, REST API_Day51 khalidpark2029.tistory.com/157
정적웹과 동적웹_Day52 khalidpark2029.tistory.com/159
서버란 무엇인가? _Day52(2) khalidpark2029.tistory.com/160
IP주소와 IP로 알수 있는 것, IPv6_Day52(3) khalidpark2029.tistory.com/161
Flask 기본_Day52(4) khalidpark2029.tistory.com/162
flask 렌더템플릿 & jinja 기본_Day52(5) khalidpark2029.tistory.com/163
Bootstrap , html 꾸미기, 치트키_Day52(6) khalidpark2029.tistory.com/164
URL URI (작성중) khalidpark2029.tistory.com/168

 

SECTION 3 - WEEK 4

프로젝트)소울푸드 다다익선_Day56~59 khalidpark2029.tistory.com/167
Python, Flask, Tutorial 정복 khalidpark2029.tistory.com/166
Python, Flask, Tutorial 정복 2탄 khalidpark2029.tistory.com/187

 

 

728x90

댓글