전체 글 30

[AI와 함께하는 네트워크 공부] 1. OSI 7계층 모델

나는 왜 네트워크 수업을 듣지 않았을까......후회할 시간이 없다!네트워크 관련 면접 질문들을 중심으로 빠르게 훑어보려고 한다0, 1레벨에 있는 질문들에 답하기 위해 필요한 개념들을 ai와 함께 묻고 답하며 정리한다 🎯 7계층으로 분리 이유복잡한 네트워크 문제를 해결하기 위해 복잡성 관리: 네트워크 통신이라는 복잡한 과정을 여러 단계로 나누어서 각각을 단순하게 만듭니다. 문제 해결의 효율성: 네트워크에 문제가 생겼을 때, 어느 계층에서 문제가 발생했는지 쉽게 찾을 수 있습니다. 각 계층은 독립적으로 동작하므로 문제가 생긴 부분만 고치면 됩니다.표준화: 각 계층마다 전 세계가 공통으로 사용하는 규칙(프로토콜)을 정합니다. 이렇게 하면 애플, 삼성, 구글 등 다른 회사의 기기들이 서로 통신할 수 있..

TIL 2025.07.03

[iOS] 성능 최적화: @inlinable과 lazy

✅ @inlinable이란?@inlinable은 컴파일러에게 특정 함수나 계산 속성을 인라인 최적화할 수 있다고 알려주는 키워드인라인 최적화: 함수 호출 대신 함수의 실제 코드를 호출 지점에 직접 삽입하는 것// 일반적인 함수 호출func square(_ x: Int) -> Int { return x * x}let result = square(5) // 함수 호출 오버헤드 발생// @inlinable로 최적화된 경우@inlinablefunc square(_ x: Int) -> Int { return x * x}let result = 5 * 5 // 컴파일러가 직접 코드 삽입 ✅ @inlinable의 특징성능 향상: 함수 호출 오버헤드 제거모듈 경계 최적화: 다른 모듈에서도 인라인 최적화 가능..

iOS 2025.06.25

[iOS] Unit Test 기본 개념과 적용

✅ 단위 테스트(Unit Test)란?정의: 코드의 작은 단위(예: 함수, 메서드)가 예상대로 동작하는지 자동으로 확인하는 것// 예를 들어, 이런 함수가 있다면func add(a: Int, b: Int) -> Int { return a + b}// 테스트는 이런 식으로 검증// "add(2, 3)을 호출하면 5가 나와야 한다" ✅ 테스트의 핵심 개념1. Given-When-Then 패턴모든 테스트는 이 3단계로 구성func test_saveSummaryState_shouldSaveCorrectly() { // Given (준비): 테스트에 필요한 데이터 준비 let bookTitle = "Harry Potter" let isExpanded = true // When ..

iOS 2025.06.23