목차
프레임워크와 라이브러리
*프레임워크: 일종의 프랜차이즈와 비슷한 개념, 창업을 한다고 했을 때 프랜차이즈처럼 메뉴, 디자인, 브랜드, 운영 방식 등 전부를 제공함. iOS 어플리케이션을 만든다면 개발자가 처음부터 끝까지 코딩하지 않고 애플의 프레임워크를 활용함. 애플에서는 통칭 Cocoa라고부름
*라이브러리: 타인이 만들어놓은 코드를 이용한다면 측면에서는 프레임워크와 같음. 프레임워크가 더 큰 개념임. 라이브러리와 코드들이 모여서 프레임워크가 됨
프로그래밍 언어 | 프레임워크, 라이브러리 | |
애플 | Objective-C, Swift | Cocoa(Ulkit, Appkit..) |
구글 | Java, Kotlin | Android Framework |
웹 | Javascript | Angular.js, React.js, Vue.js |
프로그래밍 언어 | 프레임워크, 라이브러리 |
Ruby | Rails |
Java | Spring |
Javascript | Express.js |
Python | Django |
Flask 패키지
Flask는 웹 어플리케이션 개발을 위한 파이썬 프레임워크이다. 파이썬의 프레임워크 중에 가장 유명한 것은 Django(장고)인데 너무 무겁고 기능이 많아서 복잡하다. 초보가 사용하기에는 가벼운 Flask처럼 가벼운 프레임워크가 띡이다.
2-1 과정
1) 프로젝트 폴더안에
app.py 파일(Python파일 생성)
static 폴더 (이미지, css파일을 삽입)
templates 폴더 (html파일을 삽입)-> index.html 파일 생성
2) Flask 패키지 설치: 설정> 파이썬 인터프리터
POST, GET방식
*API: 클라와 서버 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있도록 만든 체계임
*API에서 클라이언트-> 서버: 요청, 서버-> 클라이언트: 응답
*클라->서버: 요청의 4가지 요소(CRUD)
- Creat
- Read
- Update
- Delete
*CRUD요청은 각각의 주소를 가짐. 이렇게 주소가 생기면 너무 많아지고 관리하기 힘들어지며 버그가 발생할 수도 있음. 따라서 좀 더 체계적으로 API를 관리하기 위해 RESTful API 사회 운동이 일어남.
*RESTful API : 하나의 주소로 광리하고 어떤 요청을 보냈는지 스티커를 붙여 함께 전송함
- Creat : POST
- Read : GET
- Update : PUT/PATCH
- Delete : DELETE
* GET은 통상적으로 데이터 조회(Read)를 요청할 때 예로 들면 영화 목록 조회 시, 데이터 전달은 URL 뒤에 물음표를 붙여 key=value로 전달함 (예: google.com?q=북극곰)
<GET요청 API코드>
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
<GET 요청 확인 Ajax코드>
$.ajax({
type: "GET",
url: "/test?title_give=---",
data: {},
success: function(response){
console.log(response)
}
})
* POST는 통상적으로 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때 예로 들면 회원가입, 회원탈퇴, 비밀번호 수정할 때임. 데이터 전달은 바로 보이지 않는 HTML body에 key:value 형태로 전달함
<POST 요청 API코드>
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
<POST 요청 확인 Ajax코드>
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'---' },
success: function(response){
console.log(response)
}
})
JSON형식
*요청과 응답을 할 때는 데이터가 담길 수도 있기에 데이터를 넣을 수 있는 기능도 같이 개발함
*이 기능에는 여러 형식이 있으며 각 요청이나 응답마다 형식이 다르다면 이 형식을 처리하기 위한 코드를 또 구상해야하기에 비효율적임. 따라서 유명한 한 형식을 쓰기로 통합했고 이것이 JSON형식임
*JSON형식: 이런 식으로 표기함
{
키1(KEY): 값1(VALUE)
키2(KEY): 값2(VALUE)
}
✅정리: 클라와 서버는 요청과 응답을 주고 받고, 그 때 필요한 데이터들은 JSON형식으로 주고 받는다.
'개발 > 개발 일지' 카테고리의 다른 글
스파르타 코딩클럽 후기: 웹개발 5주차 수업 완료(feat. 내일배움카드) (3) | 2022.12.20 |
---|---|
5주차 개발일지: 프로젝트 서버 배포(AWE EC2, 리눅스 우분투, 파일질라, 가비아 등) (1) | 2022.12.20 |
3주차 개발일지: Python (0) | 2022.12.19 |
2주차 개발일지 Javascript (1) | 2022.12.04 |
1주차 개발일지: HTML, CSS, Javascript 기본 (1) | 2022.12.02 |
댓글