기록하는 습관을 통해 성장하자.
- [Swift] 알고리즘에 필요한 Tip 정리 스위프트 알고리즘을 시작하면서 필요한 내용을 정리한 것을 올립니다! 시간 날 때마다 계속 추가할 예정..! 기본 입력 받기 (input의 타입은 String)var input = readLine()! Int형 한 개의 숫자 입력 받기var num = Int(readLine()!)! "1 2 3 4 5"와 같은 공백 있는 숫자 입력 받기// split - ReturnType: [SubString]var nums = readLine()!.split(separator: " ").map {Int($0)!}// components - ReturnType: [String]var nums = readLine()!.components(separatedBy: " "). map {Int($0)!} "12345"와 같은 공.. 2024.05.21
- [iOS] 시뮬레이터에서 할 수 없는 것들 시뮬레이터에서 할 수 없는 것들에 대해서 정리해보겠습니다. 시뮬레이터는 효율성 좋은 도구지만 맥에서 실행되기 때문에 맥의 자원(CPU, memory 등)을 이용합니다. 그렇기 때문에 실제 아이폰 기기보다 빠르게 동작할 수 있습니다. 결과적으로, 시뮬레이터로는 실제 아이폰 기기와 같이 정확한 테스트를 할 수 없습니다. 또한, 사용자의 손 대신 마우스와 키보드를 이용해서 앱을 사용하기 때문에 손으로 동작했을 때의 문제점을 알 수 없는 경우가 있습니다. 이 뿐만 아니라, 하드웨어와 API 차이가 있으며 앱을 테스트하는데 영향을 끼칠 수 있습니다. 하드웨어 차이 Motion 지원(가속과 회전) 오디오와 비디오 입력(카메라와 마이크) 근접 센서 (조도) 기압(고도)계 주변 광 센서 (자동 밝기 조절) API 차이.. 2021.01.12
- Publisher 깊게 보기 Publisher의 종류 한눈에 보기Combine에서 쓰는 Publisher는 크게 세 부류로 나뉨.분류 예시 특징기본 제공 PublisherJust, Empty, Fail, Future, Deferred한 번 정의되면 값이 정해져 있음외부 이벤트 PublisherURLSession.dataTaskPublisher, NotificationCenter.Publisher, Timer.publish시스템 이벤트에서 값이 흘러나옴수동 발행 PublisherPassthroughSubject, CurrentValueSubject, @Published코드에서 send()로 값을 직접 주입Apple이 기본 제공하는 Publisher들Just — 값 하나 내보내고 끝let publisher = Just("Hello")/.. 2026.05.13
- Combine이란? — 핵심 개념 3가지 세 개의 역할만 기억하면 됨.Combine의 모든 구조는 세 가지 역할로 설명됨.Publisher — 데이터를 내보내는 쪽Subscriber — 데이터를 받는 쪽Operator — 중간에서 데이터를 변환하거나 필터링하는 쪽아무리 복잡한 Combine 코드도 결국 "누가 데이터를 만들고, 누가 중간에서 가공하고, 누가 최종적으로 받는가"로 분해됨.Publisher — "나 값 줄게"Publisher는 시간이 지남에 따라 값을 내보내는 프로토콜. 네트워크 응답이 될 수도 있고, 텍스트필드의 입력값이 될 수도 있고, 타이머의 틱이 될 수도 있음.Publisher가 내보낼 수 있는 건 두 가지뿐임.값(Output) — 0개 이상완료(Completion) — 정상 종료 또는 에러. 한 번 발생하면 더 이상 값을 .. 2026.04.08
- 왜 Combine인가? Combine의 필요성에 대해 기록합니다. Combine이란?네트워크 요청, 사용자 입력 등 언제 올지 모르는 데이터(비동기로 발생하는 이벤트)를 다루기 위한 비동기 처리가 필요함.Combine은 이 처리를 해결하기 위해 만든 프레임워크→ 여러 비동기 패턴들을 하나의 일관된 파이프라인으로 통합하는 프레임워크기존 방식의 한계Combine 이전에는 여러가지 방식들(Completion Handler, Delegate, Notification Center, KVO 등)을 사용하여 처리했었음.각각의 패턴에 장점이 있지만, 한 곳에 모이면 코드의 흐름을 따라가기가 어려워짐.어떤 이벤트가 어디서 시작되어 어디로 흘러가는지, 에러는 어느 시점에서 처리되는지 이 모든걸 머릿속에서 추적해야 함.콜백 중첩 문제흔한 예를 들.. 2026.03.25