728x90

전체 글 344

CS 정리 - 배열과 연결리스트

👨🏻‍💻 배열과 연결리스트[ 1. 메모리 저장 방식의 차이 ] 가장 근본적인 차이는 데이터가 메모리에 어떻게 저장되는가이다. 배열 (Array)메모리 상에 연속된 공간에 데이터를 저장한다.각 요소는 인덱스를 통해 접근하며, 첫 번째 요소의 주소 + (인덱스 X 자료형 크기)로 위치를 바로 계산할 수 있다.[10][20][30][40][50] 0 1 2 3 4 ← 인덱스 연결리스트 (Linked List)각 노드가 데이터 + 다음 노드를 가리키는 포인터(참조)로 구성된다.메모리 상에서 노드들이 흩어져 있어도 상관없이, 포인터로 서로 연결되어 있다.[10|●] → [20|●] → [30|●] → [40|●] → [50|null] 이 근본적인 차이 때문에 아래에서 다룰 모든 성능/사용..

에그타임 #23 - Widget Extension 타겟 추가 및 다이나믹 아일랜드 기능 구현

👨🏻‍💻 오늘의 작업[ 1. 에그타임 프로젝트에 Widget Extension 타겟 추가 ] 이번에 26.1.0 버전의 업데이트 내용으로 다이나믹 아일랜드와 위젯 기능을 추가하려고 한다.두 가지 기능을 추가하기 위해서는 프로젝트에 Widget Extension 타겟을 추가해야 한다.먼저 File → New → Target → Widget Extension 으로 위젯 익스텐션 타겟을 추가했다.생성 시 "Include Live Activity"가 체크된 상태로 만들어짐 → 그래서 Live Activity 파일까지 같이 생성됨 위젯 익스텐션을 추가하게 되면 위의 사진과 같이 파일들이 자동으로 생성된다. 각 파일에 대한 역할 EggTimerWidget 폴더1. EggTimerWidget : 홈 화면 위..

RxSwift Relay 이해하기

👨🏻‍💻 RxSwift Relay 이해하기Relay란? Relay는 Subject를 감싼(wrapping) 래퍼(wrapper) 타입으로, RxCocoa에서 제공한다.Subject와 가장 큰 차이는 두 가지이다.에러(error)나 완료(completed) 이벤트를 받지 않는다 → 스트림이 절대 종료되지 않음onNext 대신 accept()로 값을 전달한다 → API 자체에서 에러를 못 보내게 강제함즉, UI 이벤트나 상태처럼 앱이 살아있는 동안 절대 끊기면 안 되는 스트림을 안전하게 다루기 위해 만들어진 타입이다. 왜 Subject 대신 Relay를 쓰는가 RxSwift의 Subject(PubilshSubject, BehaviorSubject 등)는 onError나 onCompleted를 호출하면..

iOS/Swift 2026.08.31

RxSwift Subject 이해하기

👨🏻‍💻 RxSwift - Subject 이해하기RxSwift Subject 완전 정리 Subject는 Observable이면서 동시에 Observer 역할도 할 수 있는, 조금은 독특한 존재이다.이번 글에서는 Subject가 왜 필요한 지부터, 4가지 종류의 Subject 각각의 특징과 사용법까지 정리해 보겠습니다. Subject란 무엇인가? 일반적인 Obervable은 내부적으로 값을 만들어 흘려보내기만 할 뿐, 외부에서 임의로 값을 주입할 수 없다.하지만 Subject는 다음 두 가지 성질을 동시에 가진다.Observable이므로 subscribe를 통해 값을 구독할 수 있다.Observer이므로 외부에서 onNext(_:), onError(_:), onCompleted()를 호출해 값을 직..

iOS/Swift 2026.08.28

67. 스파르타 코딩 클럽 - 8월 27일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 부분 문자열인지 확인하기부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미합니다. 예를 들어, 문자열 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이지만, "aaa", "bnana", "wxyz"는 모두 "banana"의 부분 문자열이 아닙니다.문자열 my_string과 target이 매개변수로 주어질 때, target이 문자열 my_string의 부분 문자열이라면 1을, 아니라면 0을 return 하는 solution 함수를 작성해 주세요.나의 정답 코드import Foundationfunc solution(_ my_string:String, _ target:String) -> Int { return..

SQLD 기출 문제 CBT 사이트

이번 주 토요일(22일)에 62회 차 SQLD 시험이 예정되어 있다.인스타그램을 보다가 SQLD 기출문제를 풀어볼 수 있는 사이트가 있어서정보 공유차 글을 작성한다. SQLD양파 SQLD양파 — SQLD 3주 합격 루틴제45회~60회 기출 복원 800문항 + 이론 + CBT 모의고사. 회원가입 없이 무료.sqldyangpa.com사이트는 위와 같다.네이버에서 SQLD양파라고 검색해도 접속 가능하다. 기출문제를 풀 수도 있고, AI가 만드는 단일 문제를 푸는 무한 퀴즈도 있고,시험과 동일하게 진행되는 실전 모의고사까지 있다. 기출문제 무한 퀴즈 실전 모의고사 사이트를 보니 3주를 잡고 SQLD 시험에 대비하는 것 같다.나는 시험 5일 전에 보게 되었지만이동 중이거나 남는 자투리 시간에 공부하기 편한 사..

SQLD/SQLD 2026.08.18

WidgetKit과 ActivityKit 이해하기

👨🏻‍💻 WidgetKit과 ActivityKit 이해하기[ 1. WidgetKit ]WidgetKit이란 무엇인가 WidgetKit은 홈 화면, 잠금 화면, StandBy 모드 등에 표시되는 위젯을 만들기 위한 프레임 워크이다.SwiftUI를 기반으로 UI를 구성하며, 앱 본체와는 독립된 익스텐션(Extension) 형태로 동작한다.WidgetKit의 핵심 특징SwiftUI 전용 : WidgetKit은 SwiftUI로만 작성할 수 있다. UIKit 기반 위젯은 만들 수 없다.타임라인 기반 업데이트 : 위젯은 앱처럼 실시간으로 갱신되지 않고, 시스템이 미리 정해진 시점에 스냅샷을 렌더링하는 방식으로 동작한다.여러 크기 지원 : systemSmall, systemMedium, systemLarge,..

iOS/Swift 2026.08.17
728x90