본문 바로가기

전체 글43

[RxSwift] Observable과 Operator 개념 파헤치기 [1] Observable Rx 코드의 기반 T 형태의 데이터 snapshot을 '전달' 할 수 있는 일련의 이벤트를 비동기적으로 생성하는 기능 하나 이상의 observers가 실시간으로 어떤 이벤트에 반응 세 가지 유형의 이벤트만 방출 RxSwift은 비동기 이벤트 기반 프로그래밍을 지원하여, iOS 앱 개발에서 매우 유용하다. 이러한 비동기 이벤트 기반 프로그래밍에 가장 중요한 요소 중 하나가 Observable이다. next, error, completed Observable은 RxSwift에서 가장 기본적인 개념 중 하나이다. Observable은 이벤트를 발생시키는 객체로, 이벤트는 3가지 종류가 있다. enum Event { case next(Element) // 시퀀스의 다음 요소 case erro.. 2023. 7. 13.
[iOS앱 개발] Rxswift + MVVM + Firebase 로그인(Google, Apple 로그인) Login-RxSwift-MVVM Firebase + Google + Apple 로그인 구현 목적 RxSwift + MVVM 기능 학습 SnapKit + Then 기능 학습 SnapKit + Then 조합으로 UI구현 텍스트와 텍스트크기를 프로퍼티로 따로 관리해 준다. UI객체는 Then으로 구현해 준다 AutoLayout은 SnapKit으로 구현해 준다. Text와 Size를 구조체에 별도로 생성하고 관리해 준다. struct DV { enum TextSize { static let loginTextViewHeight: CGFloat = 48 } enum LabelText { static let emailInfoLabel = "이메일주소 또는 전화번호" static let passwordInfoLabe.. 2023. 7. 13.
[프로그래머스][LV.3][Swift] 여행경로(DFS & BFS) https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 여행경로 DFS 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해 주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다... 2023. 7. 2.
[Swift] Class에서 Final, Private를 쓰면 정말 성능이 향상될까? Class의 성능을 향상하기 위해서는 final 및 private을 사용하는 것이 권장됩니다. Swift의 Class와 Protocol은 모두 참조 타입(reference type)입니다. Class는 상속과 오버라이드가 가능해 컴파일 타임에서 적절한 타입을 추론할 수 없어 런 타임에서 결정되게 됩니다. 런 타임에서 Class는 V-Table, Protocol은 W-Table을 사용하여 Dynamic Dispatch를 수행합니다 앱 생성 시 대개 ViewController를 상속받아서 UIViewController 클래스와 함께 Dynamic Dispatch가 작동하도록 코드를 작성합니다. Dynamic Dispatch는 Static Dispatch에 비해서 성능이 뒤떨어질 수밖에 없는데요. 애플에서는 .. 2023. 6. 30.
[프로그래머스][LV.2][Swift] N개의 최소공배수 (유클리드 호제법) https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solutio.. 2023. 6. 28.
<좋은 사람이 된다는 것> 좋은 사람이 되면 왜 힘들까? 카카오 웹툰의 '퀴퀴한 일기'의 에피소드를 보면서 든 생각을 정리해봤습니다. https://webtoon.kakao.com/viewer/퀴퀴한-일기-686/216405 퀴퀴한 일기 - #683. 좋은 사람 | 카카오웹툰 내 주변에 반드시 한 명은 있을 것만 같은, 어쩌면 나 같기도 한 그녀의 일기. 어느덧 40대의 아기 엄마가 된 주인공 이보람과 그의 군단들의 이야기이다. 너무나 시시하고 쩨쩨해서 누구에게 털 webtoon.kakao.com 위 내용을 간략히 요약해 보자면 주인공의 첫 회사에 '좋은 선배'가 있었는데요. 주인공이 말도 안 되는 실수를 할 때마다 수습해 주고 혼내기는커녕 따뜻한 말로 "괜찮으니까 나가서 따뜻한 것 좀 마시고 와 얼굴이 사색이 됐네 사람이..." 같은 말로 오히려 실수한 사람.. 2023. 6. 26.