전체 글 (196) 썸네일형 리스트형 전송 계층 : 신뢰할 수 있는 데이터 전송하기 - 1 목표 전송 계층의 역할을 이해한다. 연결형 통신과 비연결형 통신을 이해한다. TCP를 이해한다. UDP를 이해한다. 전송 계층 전송 계층(Transport Layer)은 컴퓨터 네트워크에서 데이터를 보낼 때, 송신 측과 수신 측 간의 신뢰성 있는 데이터 전송을 보장하기 위한 계층입니다. - 오류를 점검하는 기능 - 전송된 데이터의 목적지가 어떤 어플리케이션인지 식별하는 기능 데이터를 세그먼트(Segment)라는 단위로 나누고, 수신 측에서 이를 재조립하여 상위 계층에 전달하며, 대표적인 프로토콜로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 있습니다 연결형 통신과 비연결형 통신은 네트워크 통신에서 사용되는 두 가지 기본적인 통신 방식.. 네트워크 계층 : 목적지에 데이터 전달하기 - 2 목표 IP를 이해한다 라우터를 이해한다 IP주소를 이해한다 서브넷을 이해한다 라우팅을 이해한다 공인 IP 주소, 사설 IP 주소 공인 IP 주소와 사설 IP 주소는 인터넷에서 사용되는 IP 주소의 종류를 나타냅니다. 공인 IP 주소 인터넷 서비스 제공자(ISP)로부터 할당받은 고유한 IP 주소를 의미하며, 인터넷 상에서 공개적으로 사용됩니다. 공인 IP 주소는 인터넷 상에서 유일하며, 모든 인터넷 사용자들이 해당 IP 주소를 통해 해당 장치에 접속할 수 있습니다. 사설 IP 주소 개인이나 기업 내부에서 사용되는 IP 주소를 의미합니다. 사설 IP 주소는 인터넷 상에서 직접적으로 접속이 불가능하며, 해당 네트워크 내에서만 사용됩니다. 사설 IP 주소는 공인 IP 주소와는 달리 중복 사용이 가능합니다. 사설.. 네트워크 계층 : 목적지에 데이터 전달하기 - 1 목표 IP를 이해한다 라우터를 이해한다 IP주소를 이해한다 서브넷을 이해한다 라우팅을 이해한다 네트워크계층 네트워크 계층(Network Layer)은 OSI 7계층에서 3번째 계층으로, 데이터의 전송 경로를 설정하고 데이터를 목적지까지 전달하는 역할을 합니다. *( 데이터링크계층도 데이터를 전달하지만, 같은 네트워크 내에서만 가능하며 다른 네트워크와는 불가능합니다. ) 이를 위해 IP(Internet Protocol) 프로토콜을 사용하며, 네트워크 계층의 주요 기능으로 라우팅(Routing)과 패킷 전송(Packet Forwarding)이 있습니다. 라우팅: 최적의 경로를 설정하는 과정으로, 패킷이 목적지에 도달하기까지 거치는 경로를 결정 패킷 전송: 은 경로를 결정한 후, 목적지로 패킷을 전송하는 과정.. TCP, UDP TCP와는 UDP는 모두 인터넷 프로토콜 스위트(IP 스위트)의 일부로, 네트워크 통신에서 사용되는 프로토콜입니다. TCP(Transmission Control Protocol) 연결형 프로토콜로, 신뢰성이 높고 데이터의 전송 순서가 보장됩니다. 데이터 전송 중 손실이 발생하면 재전송을 하여 정확한 데이터 전송을 보장합니다. *3-way-handshaking과정을 통해 연결을 설정하며, 웹 브라우저나 이메일과 같은 애플리케이션에서 사용됩니다. UDP(User Datagram Protocol) 비연결형 프로토콜로, 신뢰성이 낮고 속도가 빠릅니다. 데이터 전송 중 손실이 발생하더라도 재전송을 하지 않고 그대로 진행됩니다. 주로 오디오나 비디오 같은 실시간 데이터를 전송하는 데 사용됩니다. *** 3-way-.. 강한순환참조 iOS에서 강한 순환 참조가 발생하는 경우는 대부분 뷰 컨트롤러나 뷰, 델리게이트 등에서 발생합니다. 이러한 상황에서는 메모리 누수 문제가 발생할 수 있으므로, 강한 순환 참조를 해결해야 합니다. 강한순환참조 코드예제 class ViewController: UIViewController { var model: Model? override func viewDidLoad() { super.viewDidLoad() model = Model() model?.delegate = self } } class Model { var delegate: ViewController? func updateData() { delegate?.updateView() } } 위 코드에서는 ViewController 클래스와 Model.. AppDelegate iOS 앱에서는 앱의 생명 주기(lifecycle)를 관리하는 객체로 UIApplicationDelegate 프로토콜을 따르는 AppDelegate 클래스를 사용합니다. AppDelegate 클래스에는 앱 실행, 백그라운드 전환, 종료 등의 이벤트 발생 시 자동으로 호출되는 여러 개의 함수가 있습니다. 대표적인 AppDelegate 함수 func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { print("willFinishLaunching") // 앱이 실행되기 직전에 수행할 작업들을 여기에 작성합니다. r.. ViewController Life Cycle ViewController Life Cycle 예제 코드 import UIKit class NewViewController: UIViewController { override func loadView() { print("loadView") // 뷰 계층 구조를 만드는 코드 // 이 메서드에서는 반드시 super.loadView()를 호출해야 합니다. super.loadView() } override func viewDidLoad() { super.viewDidLoad() print("newVC_viewDidLoad") view.backgroundColor = .blue // 뷰 컨트롤러의 뷰가 메모리에 로드된 후 실행되는 코드 } override func viewWillAppear(_ animated: .. iOS 면접 질문 중복 많습니다. Delegate(델리게이트)란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. MVC 패턴이란 무엇인가요? iOS 앱 개발에서 이 패턴을 사용하면 어떤 이점이 있을까요? 프로토콜(Protocol)이란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. Codable 프로토콜이란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. Optional(옵셔널)이란 무엇이고, 왜 사용되는지 설명해주세요. 클로저(Closure)란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. GCD(Grand Central Dispatch)란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. Autolayout(오토레이아웃)이란 무엇이고, 어떤 상황에서 사용되는지 설명해주세요. ARC(Automatic Refer.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 25 다음