가오리의 코딩일기
chapter1. 웹&파이썬 기초 본문
💡 웹 개발 기초 개념
✏️ 웹 개발이란
→ 프론트엔드에서는 각종 기능들을 구현한다
→ 데이터 처리에 대한 기능을 제외한 거의 대부분의 기능
→ 사용자와 상호작용할 수 있는 다양한 기능들을 프론트엔드에서 구현한다
→ 백엔드에서는 데이터 처리에 관한 모든 기능을 수행한다
→ 데이터베이스와 연동되어 저장된 데이터를 찾아주거나 수정, 삭제할 수 있는 기능을 가진다
→ 로그인/회원가입에 대한 요청을 받아 처리, 게시판에 글 작성, 내 피드에 글을 나타나게 하는 작업 등의 기능
→ 프론트엔드가 백엔드에게 직접 데이터 요청, 요청받은 백엔드는 프론트엔드에게 해당 요청에 맞는 응답
→ 응답 결과로는 프론트엔드가 필요로 했던 데이터나 에러 메시지
✏️ 프론트엔드와 백엔드
→ 프론트엔드 : 사용자가 접하고 경험하는, 웹의 보이는 부분
→ HTML : 웹 페이지의 기본 뼈대
→ CSS : 꾸미기에 사용
→ JavaScript : 여러 가지 동작을 할 수 있도록 도와줌
→ 백엔드 : 데이터에 집중하는, 보이지 않는 영역
→ 데이터베이스와 연동
→ DB를 설계하고 설계된 DB를 바탕으로 데이터를 생성, 수정, 삭제, 조회 등의 기능을 구현하고 다룬다
✏️ REST API란
🧩 API: Application Programming Interface
→ 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
→ 은행[돈을 관리하는 거대한 시스템]으로 설명해보자면
→ 우리[고객, 클라이언트]는 현금[시스템 자원]이 필요할 때
→ 돈은 우리 계좌에 있는데 내가 은행 금고에 가서 직접 꺼낼 수 없기 때문에
→ 은행원[API]에게 돈을 꺼내달라고 요청하면
→ 은행 장부에 기록을 하고 계좌에서 차감시킨 후 금고에서 돈을 꺼내서 준다
🧩 REST: Representational State Transfer
→ 자원을 이름으로 구분해서 표현해놓고 그 자원들을 주고 받도록 만들어놓은 시스템의 창구
→ 응용 프로그램이 시스템에 있는 자원을 쉽게 사용하기 위해 시스템이 각 자원에 이름을 붙여서 정리해놓은 것
🧩 REST API
→ REST 기반으로 서비스 API를 구현하는 것
1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용해야 한다
Bad Example http://khj93.com/Running/
Good Example http://khj93.com/run/
2. 마지막에 슬래시를 포함하지 않는다
Bad Example http://khj93.com/test/
Good Example http://khj93.com/test
3. 언더바 대신 하이폰을 사용한다
Bad Example http://khj93.com/test_blog
Good Example http://khj93.com/test-blog
4. 파일확장자는 URI에 포함하지 않는다
Bad Example http://khj93.com/photo.jpg
Good Example http://khj93.com/photo
5. 행위를 포함하지 않는다
Bad Example http://khj93.com/delete-post/1
Good Example http://khj93.com/post/1
✏️ JSON: JavaScript Object Notation
→ 자바스크립트 객체를 만들 때 사용하는 표현식으로 자바스크립트의 구문 형식을 따르는 언어 독립형 데이터 포맷
→ 프로그래밍 언어와 플랫폼에 독립적이기 때문에 자바스크립트가 아닌 다른 언어에서도 쉽게 사용 가능하다
✏️ 관계형 데이터베이스
→ 속성(attribute), 세로(column): 최상단의 내용들, 어떤 데이터인지 나와있다 ex) id, name, phone, socre
→ record, tuple, 가로(row): 테이블에서 각 속성에 대한 값이 모여져있는 데이터의 한 단위
→ 테이블의 키 : 데이터들 간 중복되지 않는 고유한 값
→ 쿼리 : DB에 물어보는 문장, 어느 테이블에 저장된 데이터 중 이름이 oo인 데이터를 주세요
'Python > Django' 카테고리의 다른 글
2장. 기본 컨셉 익히기 (0) | 2022.07.26 |
---|