추석연휴가 시작되었고, 항해 2주차도 시작되었다. 짧고도 긴 자유시간 아닌 자유시간이 주어졌다. 나는 이 시간들을 좀 더 유용하게 보내고 싶었기에 그 전에 들었던 항해99의 강의들을 한 번더 복습하고 공부하는 시간을 보내기로 했고, 내가 선택한 것은 "웹개발 플러스" 강의이다.
웹개발 플러스 - 1주차
[수업 목표]
[복습을 위한 주요 질문들]
1. 서버는 특수한 컴퓨터다? No! 🙅
- 서버는 컴퓨터의 '역할'. 컴퓨터도 여러 역할을 맡을 수 있음. DB, 서버, 게임 등
- 서버는 요청을 받으면 HTML+CSS+JavaScript 파일을 주기도 하고, JSON 형식으로 데이터를 주기도 함!
2. API란?
- 서버가 요청을 받게 위해 뚫어놓은 '창구'.
- 요청에는 POST(주로 데이터를 수정할 때), GET(주로 데이터를 가져올 때) 요청 등 여러가지 타입이 있음!
3. HTML, CSS, JS는 각각 어떤 역할을 하나?
- HTML은 뼈대 / CSS는 꾸미기 / JavaScript는 움직이게 하는 것!
- CSS로 꾸밀 때에는 이름표를 붙여주고(class="클래스명"), 안에 .클래스명
으로 썼음.
4. JQuery란?
- JQuery는 JavaScript의 라이브러리로, HTML 조작을 쉽게 만들어줌.
- 라이브러리는 남이 만들어 놓은 갖다쓰기 좋은 코드! 그렇기에, 임포트
를 해야했음.
- id로 이름표를 붙여주고(id="아이디"), $('#아이디').val()
과 같이 input 박스의 값을 가져올 수 있었음.
5. Ajax는?
- Ajax는 서버 통신을 위해 쓰임. 아래는 Ajax의 생김새.
$.ajax({
type: "GET",
url: "요청할 URL",
data: {},
success: function (response) {
// 서버가 준 데이터가 response에 담깁니다!
}
})
프레임워크
. 아래 코드를 run 하고, `http://localhost:5000/`으로 접속하면,
index.html 페이지를 볼 수 있었음.
```python
from flask import Flask, render_template, jsonify, request
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
```
웹개발 플러스 - 2주차
[수업 목표]
정적 웹페이지 vs. 동적 웹페이지
동적 웹페이지의 종류 [Client-side rendering (CSR)]
자바스크립트에 데이터를 포함해서 보낸 후, 클라이언트 쪽에서 HTML을 완성하는 방법.
Server-side rendering (SSR)
서버 쪽에서 템플릿 HTML에 데이터를 끼워넣어 완성된 형태의 HTML을 보내주는 방법.
복합적인 방법
클라이언트 쪽에서 Ajax 요청을 보내서 서버에서 데이터를 받아와 HTML을 완성하는 방법.
Jinja2 템플릿 언어
Flask 프레임워크에서 사용하는 템플릿 언어.
'템플릿'이 되는 HTML 문서에 데이터가 들어갈 곳을 표시해놓는 역할을 함.