이전 블로그

    🚀 iOS 네트워킹 정복하기 (5) ATS (App Transport Security)

    🚀 iOS 네트워킹 정복하기 (5) ATS (App Transport Security)

    원문(블로그이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io App Transport Security 📔 관련 공식문서 NSAppTransportSecurity Preventing Insecure Network Connections ATS란? ATS는 애플리케이션과 웹 서비스 사이에 통신 시 보안 향상을 위한 기능으로 iOS 9.0, macOS 10.11 이상의 앱에서 모든 인터넷 통신 시 안전한 프로토콜을 사용하도록 보장하는 것으로 사용자의 민감한 정보가 유출되..

    🚀 iOS 네트워킹 정복하기 (4) CodingKeys / Custom 인코딩과 디코딩

    🚀 iOS 네트워킹 정복하기 (4) CodingKeys / Custom 인코딩과 디코딩

    원문(블로그 이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io 이번 시간에는 key 이름을 커스텀할때 사용할 수 있는 Coding Key 와 직접 인코딩과 디코딩을 구현하는 방법에 대해 알아보겠습니다. 그전에 왜? 커스텀 할일이 생길까요? api 응답 데이터가 Camel Case 가 아니라 snake case 라던가 다른 형식을 사용하는 경우 swift 의 컨벤션에 맞지 않는데 요러한 경우에 사용할 수 있습니다. 다시한번 자세히 설명하면! 일반적으로 데이터 통신을..

    🚀 iOS 네트워킹 정복하기 (3) Codable Protocol ( JSON Encoding / Decoding)

    🚀 iOS 네트워킹 정복하기 (3) Codable Protocol ( JSON Encoding / Decoding)

    원문 (블로그이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io Codable typealias Codable = Decodable & Encodable 자신을 "외부표현"으로 변환하거나 변활할 수 있는 타입 Codable 은 Encodable 과 Decodable protocol로 구성된 유니온 타입(union type)으로 정의할 수 있다. "외부표현" : 보통 JSON이나, property-list... 프로토콜로 Class, Enum, Struct 모두에서 ..

    🚀 iOS 네트워킹 정복하기 (2) URLSession

    🚀 iOS 네트워킹 정복하기 (2) URLSession

    원문 시리즈 (블로그 이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io URLLoadingSystem URL Loading System - 공식문서 The URL Loading System provides access to resources identified by URLs, using standard protocols like https or custom protocols you create. Loading is performed asynchronously, s..

    🚀 iOS 네트워킹 정복하기 (1) Kick Off

    🚀 iOS 네트워킹 정복하기 (1) Kick Off

    원문 시리즈 (블로그 이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데, 오랜만에 블로그로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다. iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워크 통신을 완벽하게 이해하고 쓰는 느낌이 아니라 원리부터 차근차근 다시 공부해보려고 한다. Contents 공부순서는 아마 요렇게 되지 않을까 싶다 네트워크 기초 URLSession Alamof..

    [네트워크] HTTP 요청/응답 헤더

    [네트워크] HTTP 요청/응답 헤더

    원문(블로그이전) [네트워크] HTTP 요청/응답 헤더 HTTP 요청/응답 헤더 velog.io 🐙 HTTP 공통 헤더 요청 및 응답 메시지 모두에서 사용 가능한 일반 목적의(기본적인) 헤더 항목 주요 항목들 Date: HTTP 메시지를 생성한 일시 (RFC 1123에서 규정) Date: Sat, 2 Oct 2018 02:00:12 GMT Connection: 클라이언트와 서버 간 연결에 대한 옵션 설정(다소 모호한 복잡성 있음) Connection: close => 현재 HTTP 메시지 직후에 TCP 접속을 끊는다는 것을 알림 Connection: Keep-Alive => 현재 TCP 커넥션을 유지 Cache-Control Pragma Trailer 🐙 HTTP 헤더 내 엔터티/개체 헤더 (Entity..

    [네트워크] HTTP와 HTTPS 동작 과정

    [네트워크] HTTP와 HTTPS 동작 과정

    원문은 하기 링크에서 확인가능합니다 (블로그이전) [네트워크] HTTP와 HTTPS 동작 과정 HTTP와 HTTPS 동작 과정 velog.io https://github.com/WeareSoft/tech-interview/blob/master/contents/network.md 의 내용을 다룸 🧚‍♀️ HTTP의 동작과정 이전 포스트에서 HTTP는 Stateless한 프로토콜인 것을 확인했다. 즉, 각 요청은 독집적인 트랜잭셔으로 클라이언트가 서버에게 요청하기 전에 연결(connect)하는 과정이 필요하고, 서버의 응답을 받으면 종료(close)한다. 서버 접속 -> 클라이언트 -> 요청 -> 서버 -> 응답 -> 클라이언트 -> 연결 종료 사용자가 웹 브라우저에 URL 주소를 입력한다. DNS 서버에 ..

    [네트워크] HTTPS 그리고 보안 (암호화/인증서/전자서명)

    [네트워크] HTTPS 그리고 보안 (암호화/인증서/전자서명)

    원문은 하기 링크에서 확인가능합니다 (블로그이전) [네트워크] HTTPS 그리고 보안 (암호화/인증서/전자서명) HTTPS 그리고 보안 (공개키알고리즘/인증서/ssl/tls/전자서명) velog.io https://github.com/WeareSoft/tech-interview/blob/master/contents/network.md 의 내용을 다룸 HTTPS 그리고 보안 HTTP와 HTTPS의 가장 큰 차이점은 SSL 인증서이다. SSL인증서는 클라이언트와 서버간의 통신을 공인된 제 3차 업체(CA)가 보증해주는 전자화된 문서이다. SSL 인증서는 사용자가 사이트에서 제공하는 정보를 암호화한다. 암호화되어 전송되는 데이터는 중간에 누가 훔치거나 조작하려해도 암호화 되어있어서 해독할 수 없다. 🐬 SSL..

    [네트워크] HTTP와 HTTPS

    [네트워크] HTTP와 HTTPS

    원문은 하기 링크에서 확인가능합니다 (블로그이전) [네트워크] HTTP와 HTTPS HTTP와 HTTPS velog.io 🐬 HTTP HTTP HTTP : Hypertext 인 HTML을 전송하기 위한 통신규약 서버/클라이언트 모델을 따라 인터넷 상에서 정보를 주고 받기 위한 규칙이다. 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. 하지만 HTTP은 암호화되지 않은 방법으로 데이터를 전송하여 악의적인 감청과 데이터 변조가 가능하다. 이를 해결하기 위해 등장한 것이 HTTPS 개념 HyperText Transfer Protocol 웹 상에서 클라이언트와 서버 간에 요청/응답(request/response)으로 정보를 주고 받을 수 있는 프로토콜 특징 주로 HTML 문서를 주고받는 데에 쓰인다..

    [네트워크] TCP/UDP와 3 -Way Handshake & 4 -Way Handshake

    [네트워크] TCP/UDP와 3 -Way Handshake & 4 -Way Handshake

    원문은 하기링크에서 확인 가능합니다 (블로그 이전) [네트워크] TCP/UDP와 3 -Way Handshake & 4 -Way Handshake TCP / UDP / 3-Way Handshake / 4-Way Handshake velog.io https://github.com/WeareSoft/tech-interview 의 내용을 기반으로 작성하였습니다. 🐥 Prerequisite (TCP/UDP) TCP의 3-Way Handshake 와 4-Way Handshake에 대해 알아보기 전에, 우선 아래의 내용에 대해 알아보겠다. 🥚 Transport Layer OSI 7 레이어에서 Transport Layer에는 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어,..