TIL 18
오늘 배운 것
- 네트워크
- OSI 모델: 네트워크에서 데이터 전송할 때 필요한 일곱 개 계층으로 이루어진 통신 규약이다. 상위계층 부터 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 계층 순이다.
- TCP/IP 모델: OSI 모델의 일곱 계층을 네 개 계층으로 단순화
- 응용, 전송, 인터넷, 네트워크 접속 계층이 있다.
- 캡슐화: 상위 계층의 프로토콜 정보를 데이터에 추가하여 하위 계층에 전송하는 기술
- 프로토콜의 정보를 데이터에 추가하는 것을 헤더라고 한다.
- 트레일러: 데이터 마지막에 추가 되는 정보를 말한다.
- 물리계층: 0, 1로 이루어진 데이터를 전기신호로 바꾸는 일을 한다. 이 일을 랜 카드가 한다.
- FloatingPanel
- 뷰컨트롤러 위에 다른 뷰컨트롤러가 떠있고 아래에서 위로 올릴 수 있는 형태
- 직접구현을 해봤지만 UI, 제스쳐등 모든 것을 구현해야 해서 더 쉽게 할 수 있도록 라이브러리를 써서 구현해봤다.
- cocoapods
모르는 점
- resignFirstResponder이란?
해결한 것
- dmz란?
- dmz: 외부에 서비스 제공시 내부 데이터를 보호하기 위해 내부, 외부 네트워크 구간 사이에 위치하여, 침입차단시스템 등으로 접근을 제한할 수 있다.
- addingPercentEncoding이란? query 받을 때 사용을 했다.
- 지정된 Set에 없는 문자들을 Encoding 할 수 있게 도와주는 메소드이다. 예를 들어 한글로 된 url은 유효하지 않은데 이 메소드를 통해서 한글도 변환이 가능하다.
- CharacterSet 마다 포함하고 있는 문자가 다른데 주로 사용하는 Set은 urlQueryAllowed, urlPathAllowed이다.
// urlQueryAllowed
! $ & \ ( ) * + - . / : ; = ? @ _ ~
// urlPathAllowed이다
! $ & \ ( ) * + - . / : = @ _ ~