json

    [Sesac IOS] 22일차 TIL

    22일차 수업 내용을 정리한 글입니다. Learned HTTP vs Socket 1) 소켓의 특징 클라이언트의 요청 없이도 데이터를 주고 받을 수 있는 양방향 통신 연결을 계속 유지하기 때문에 상대적으로 리소스를 많이 사용함. 대표적으로 채팅 앱에서 서버가 클라이언트에게 메시지를 전달하는데 사용 2) HTTP 통신 클라이언트의 요청이 있어야 데이터를 주고받을 수 있는 단방향 통신 데이터를 받기 위해서는 반드시 서버에 요청을 보내야함. 요청과 응답을 보낼 때만 연결되기 때문에 상대적으로 리소스를 덜 사용함. (HTTP 통신의 특징 중 비연결성) 3) HTTPS TCP와 HTTP 사이에서 작용하며 데이터 패킷을 암호화하는 역할 URL은 노출되지만 쿼리스트링과 파라미터는 암호화되어 전송 HTTP는 통신 과정..

    [Sesac IOS] 21일차 TIL

    21일차 수업을 듣고 새로 배운 내용을 정리한 글입니다. Learned HTTP (Hyper Text Transfer Protocol) 네트워크(인터넷)를 통해 클라이언트와 서버가 데이터를 주고받을 수 있는 통신 규약 메시지가 문자(Text)로 구성되기 때문에 의도치않은 누군가가 메세지를 읽을 수도 있다. 클라이언트와 서버가 데이터 전송 시 서로간의 약속(통신 규약)을 지키기 때문에 통신 가능 네트워크 통신에 필요한 것 3가지 : 요청과 응답(HTTP 메시지), HTTP 메서드, 인증 키 1) HTTP 통신의 특징 단방향 통신 : 클라이언트가 요청하고 서버가 응답하는 방식 데이터를 주고 받기 위해서 반드시 클라이언트가 요청을 해야함. 비연결성 : 클라이언트가 요청할때마다 매번 새로운 연결을 생성함. 계속..

    [Swift] JSON 객체를 구조체로 변환하기

    일반적으로 Swift에서 API를 통한 HTTP통신으로 데이터를 주고받을때 Data 타입의 객체를 사용했는데, 소켓 통신을 하면서 JSON 형식의 객체(JSON Object)를 사용했다. JSON 객체를 바로 사용하기엔 불편함이 많아서 구조체로 바꾸기 위해 사용했던 방법을 기록한다. 이전까지 뜻을 정확히 모른 상태에서 사용하다가 이번 기회에 JSON에 대해 알아봤다. JSON이란? JavaScript Object Notation의 약자로 자바스크립트 언어에서 배열 또는 키-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트 형식을 사용하는 포맷이다. 프로그래밍 언어와 플랫폼에 독립적이라는 특징이 있어서 다양한 환경에서 사용되며 Swift에서도 객체를 JSON 형식으로 변환하거나 ..