JSON (JavaScript Object Notation)
- 서버와 클라이언트가 가장 많이 사용하는
데이터 형식- JSON 은
key-value형태를 가진다.[ { "name": "Adam", "phoneNumber": "010-1111-2222" }, { "name": "Eve", "phoneNumber": "010-3333-4444" }, { "name": "Abel", "phoneNumber": "010-5555-6666" } ]
API (Application Programming Interface)
- 직역 그대로
Application Programming에 필요한Interface이다.- 즉, 어떤
프로그램을 개발할 때 원하는 기능들을 제공해주는창구, 설명서, 도구다.
URLSession
- URLSession 은 Swift 에서
서버와 통신하기 위해 제공되는 클래스- URLSession 을 다루기 위해서는 크게 아래
2가지 개념을 알아야 한다.
- URLSessionConfiguration
- Configuration 이란 환경 설정을 의미.
URLSession으로 네트워크 통신을 하되, 여러가지 커스텀한 설정들을 할 때URLSessionConfiguration을 이용.- 예를들어 네트워크 통신의 타임아웃 시간 설정, 네트워크 통신 캐시 정책 설정 등을 세팅할 수 있음.
URLSession객체를 생성하려면URLSessionConfiguration을 넣어줘야 함.- 다음과 같이
default configuration을 활용해URLSession생성 가능.let defaultUrlSession = URLSession(configuration .default)- URLSessionTask
URLSessionTask으로 네트워크 통신을 할 때 어떤 태스크를 수행할 것 인지 결정 가능.URLSessionDataTask: GET 요청. 서버로부터 데이터를 가져오거나 서버에 데이터를 전송할 때 사용.URLSessionDownloadTask파일 다운로드를 처리할 때 사용. 백그라운드 다운로드 지원.URLSessionUploadTask: 파일 업로드를 처리할 때 사용. 백그라운드 업로드 지원.
URL Session에 대한 개념이 한번에 와닿지 않았다. 일단 개념은 어느정도 머릿속에 들어오긴 했는데 새로운 개념이다 보니 역시나 실제로 사용하는 부분에서 못 보던 코드들이 나왔고 왜 이렇게 사용하는지 모른 채 따라치기에만 급급했다..
코드를 하나하나 차분하게 뜯어보면서 이해하도록 해보자..!
서버와 데이터를 주고 받는 기능인 만큼 앱 개발에 핵심적인 내용인 것 같다. 열심히 공부해서 꼭 내것으로 만들어 보자~~~
네트워크 통신을 이용한 실습을 진행해 볼 예정이다.