Neph's Blog

「Neph의 iOS 공부일지」

Swift Closure Capture

Closure Capture 클로저 내부에서 클로저 외부의 변수를 사용하게 되는 경우 클로저는 해당 변수를 “캡쳐”합니다. 클로저가 실행될 때 해당 시점에 변수에 저장된 값을 사용하게 되는 것과 같은 말입니다. Escaping closure 어떤 함수가 클로저를 인자로 받아 함수 내부에서 해당 클로저를 호출할 때 함수가 종료되기 전에 클로저...

[WWDC] Explore logging in Swift 정리

WWDC 영상 링크: Explore logging in Swift Log의 장점 어떤 버그들은 정말 간헐적으로 발생하여 reproduce하기 어려운데 log가 남아있다면 해당 버그가 어떤 경로를 통해 발생했는지를 알기가 무척 쉬워집니다. Log의 특징 로그는 이벤트가 발생한 시점에 저장되며, 디바이스에 저장되어 나중에 검색하거나 다시 볼 수 ...

[컴퓨터 네트워크] #23 Network Layer - 5 (完)

Inter-AS routing: BGP BGP는 일종의 인터넷을 연결시켜주는 접착제입니다. 이전에 ISP는 광고를 통해 특정 ip주소 대역의 트래픽을 자신에게 전달해주기를 요청한다고 했었는데 이를 가능케 해주는 기술이 바로 BGP입니다. BGP는 AS간의 통신을 위한 eBGP(exterior)와 다른 AS로의 이동정보를 내부에 공유하기 위해 사용...

[컴퓨터 네트워크] #22 Network Layer - 4

Routing protocol 라우팅 프로토콜의 목표는 혼잡이 가장 덜한(가장 비용이 적은) 경로로의 안내입니다. path는 출발지부터 목적지로 이동하며 거쳐가는 라우터를 순서대로 나열한 것을 의미하며, route와 동의어입니다. 좋은 경로의 조건으로는 least cost(실제 부과되는 비용), fastest, least congested 등을 ...

[컴퓨터 네트워크] #21 Network Layer - 3

Generalized forwarding 기존의 router는 목적지 ip를 보고 longest prefix matching을 통해 포워딩하는것이 전부였습니다. 이런 단순한 작업보다 더 범용적인 작업들을 실행시켜보자는 아이디어에서 등장한 것이 Generalized forwarding입니다. 이전에 언급했던 ECN(Explicit Congestio...

[컴퓨터 네트워크] #20 Network Layer - 2

IP Addressing Subnets Subnet은 router를 거치지 않고 도착할 수 있는 네트워크입니다. 이는 그림의 하늘색 영역에 해당합니다. Ip주소는 subnet part와 host part로 구분되는데, 32bit중 prefix에 해당하는 부분이 subnet part, 그 외의 나머지 부분이 host part에 해당합니다. s...

[컴퓨터 네트워크] #19 Network Layer - 1

Network Layer 네트워크 레이어의 장치인 router는 input ports, switching fabric, output ports로 구성되어 있습니다. 네트워크 레이어의 동작은 지역성에 따라 data plane과 control plane으로 구분합니다. 지역적인 특성을 지닌 data plane은 들어온 input을 어떤 ouput으로...

[컴퓨터 네트워크] #18 Transport Layer - 4

Congestion control flow control이 1대1 상황에서의 overflow 방지를 위한 기법이었다면 congestion control은 네트워크 전체의 delay와 packet loss와 관련된 기법입니다. End to end congestion control End-end 혼잡제어 방식은 두개의 엔드포인트(호스트)간의 혼잡제어...

[컴퓨터 네트워크] #17 Transport Layer - 3

TCP의 특징 cumulative ACK TCP는 cumulative ACK를 사용합니다. cumulative ACK란 누적되는 ACK라는 뜻으로 연속된 ACK만을 누적시켜 현재 최종 ACK를 표기하는 방법입니다. pipelining TCP는 window size와 flow control이 허용하는 범위 내에서 pipelining을 통해 통신을...

[컴퓨터 네트워크] #16 Transport Layer - 2

UDP UDP는 약간의 데이터 로스, 순서 뒤바뀜을 감당할 수 있는 서비스들이 사용하는 4계층 프로토콜입니다. HTTP/3는 예외적으로 QUIC과 함께 사용해서 신뢰성과 순서를 보장합니다. (congestion control도 지원) UDP sender는 UDP datagram의 header field를 정의하고 (소켓이라면 mux과정 포...