본문 바로가기
교육, 대외활동, 봉사/엘리스 AI 트랙 2기

[엘리스 AI 트랙 2기] Day 16 - flask, sql

by g0n1 2021. 7. 12.
728x90

이론강의

서버 프레임워크

파이썬

  • 장고
  • 새닉
  • 플라스크
  • FastAPI

그 외에서

Flask

from flask import Flask

app = Flask(__name__)

#  루트 뒤에 붙을 url과 사용할 HTTP 메소드
@app.route('/hello', methods=['GET']) 
def hello():  		#  <int:a>, <string:b>등으로 url요청 시 받을 수도 있다
  return "hello"	#  요청이 form으로 들어오면 request.form.get('key')로
    			# 각 데이터마다 맞는 곳에 넣어줄 수 있다.

이렇게 하면 root 경로에 요청을 보냈을 때"hello"가 return 되어 웹 문서에 hello가 쓰여있다.
데코레이터는 원래라면 상속을 받아서 어쩌고저쩌고 해야 할 것들을 좀 더 편하게 수정할 수 있게 도와준다. 

같은 url이더라도 다른 메소드를 쓰면 다른 데이터를 받거나 보낼 수 있다.

실습강의

mySQL을 설치해서 직접 DB구축하고 서비스를 개발해보는? 프로젝트를 하기로 했다.
vscode에서 mysql extension을 설치했더니 워크벤치 없이도 비슷하게 할 수 있는가보다. 모니터 하나로 창을 여러개 띄우려니 여간 힘든 게 아니었다. 이번에 모니터를 새로 살까 고민중이다.
(물론 노트북에 모니터를 연결하면 되지만 그냥 새거 사고 싶다 ㅎ)

오늘 주로 한 건 테이블 생성과 키 설정이었다.

CREATE TABLE tableName(
	id INT AUTO_INCREMENT PRIMARY KEY COMMENT "아이디",
    value VARCHAR(20) NOT NULL DEFAULT 0 COMMENT "값"
    );

대충 이런 느낌이었다.

CREATE TABLE tableName(
	id INT AUTO_INCREMENT COMMENT "아이디",
    value VARCHAR(20) NOT NULL DEFAULT 0 COMMENT "값"
    
    PRIMARY KEY (id)
    --FOREIGN KEY (어쩌고) REFERENCES 참조테이블명(칼럼명)
    );

기본키나 외래키는 이런 식으로 설정할 수도 있다.

만약 테이블의 어떤 값이 사라진다면(탈퇴, 사망 등) CASCADE라는 걸 사용해 연결된 데이터들을 지워줄 수 있다고 한다.

소감

옛날에 <깔끔한 파이썬 탄탄한 백엔드>라는 책을 사고 데코레이터랑 가상환경이 나오는 부분에서 막혀가지고 책을 덮어뒀었는데, 이제 다시 보니 그래도 좀 내용이 이해가는 것 같아서 기뻤다. 하루하루는 몰라도 조금씩은 성장하고 있다는 것을 느낄 수 있었다. 엘리스에서 섭외한 강사분들은 어쩜 다들 이리 친절하고 따스운지 모르겠다. 엘리스 감사하모니카

SQL수업은 역시 실습코치님이 좀 실용적이고 재미를 느낄 수 있는 거로 준비해주셔서 재밌었다. 나는 SQLD를 취득하긴 했지만 진짜 "SELECT * FROM 테이블명" 밖에 모르는 상황이었는데, 이렇게 따라치다보니 뭐 본 것 같기도 하고 공부했던 것 같기도 하고 해서 재밌었다.

조만간 스터디가 시작할 예정이라 좀 설레기도 하고 긴장도 된다. 이번 스터디를 통해 금융, 경제에 대한 지식도 쌓고 내 주식거래를 자동화해서 조금씩이나마 벌게 되면 좋겠다. ㅎㅎ

얼마 전에 보다가 만 영상을 첨부하면서 글을 마친다.

https://youtu.be/ED04jGkp4Sg

728x90

댓글