1. API
- API: 다른 사람들이 내 컴퓨터에 있는 데이터에 접근할 수 있도록 만들어둔 기능
- 인터넷(Internet): 컴퓨터끼리 대화할 수 있도록 만든 연결망
- IP 주소: 다른 컴퓨터에서 접근할 수 있도록 할당받은 주소
- 도메인(domain): 문자열로 된 주소
- 브라우저에 도메인 입력 → 해당 IP 주소로 이동
- 웹(Web): 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간
- 웹 브라우저: 사용자가 웹에서 편하게 정보를 검색할 수 있도록 만든 소프트웨어
- 클라이언트(client): 요청(request)하는 컴퓨터
- 서버(server): 응답(response)하는 컴퓨터
- 프로토콜(protocol): 컴퓨터끼리 정보를 주고받는 방법을 정한 규칙
- 웹의 경우 HTTP라는 규칙을 따라 대화
- 요청(request): URL/메소드/파라미터
- URL: 인터넷 상에 연결된 다른 컴퓨터의 주소
- 메소드(method): 서버가 수행해야할 동작을 영어 동사로 표현한 것
- GET: 조회
- POST: 생성/수정/삭제
- 파라미터(Parameter): 요청을 보낼 때 함께 보내는 데이터
- 쿼리스트링(Query String) 형태로 데이터 전달, key-value 형태로 구성
- 응답(response)
- 웹페이지
- 데이터: 주로 JSON 사용
- 상태 코드: HTTP 응답 시 요청이 성공했는지 실패했는지 알 수 있는 약속된 숫자
- 2xx: 성공
- 3xx: 리다이렉트
- 4xx: 클라이언트 오류
- 5xx: 서버 오류
2. 동기 & 비동기
- 동기: 하나의 일이 끝난 뒤 다음 일을 하는 방식
- 비동기: 하나의 일이 끝나기 전에 동시에 다른 일을 하는 방식
- 개발 시 비동기 방식으로 작동하는 상황들
- 네트워크 요청하여 데이터 받아오기
- 파일 읽기/쓰기
- 데이터베이스 읽기/쓰기
- async-await 사용시 비동기 방식으로 실행되는 코드를 동기 방식으로 실행 가능
- async가 선언된 함수는 반환값을 미래에 해당 타입을 반환한다는 의미로 Future<반환타입> 형태로 표시
'Dev > Flutter' 카테고리의 다른 글
[Flutter] BLoC Pattern (0) | 2023.06.29 |
---|---|
[Udemy] Flutter 앱 개발 기초 5 (0) | 2023.06.29 |
[Udemy] Flutter 앱 개발 기초 3 (0) | 2023.06.29 |
[Udemy] Flutter 앱 개발 기초 2 (0) | 2023.06.29 |
[Udemy] Flutter 앱 개발 기초 1 (0) | 2023.06.29 |