본문 바로가기

전체 글136

[RxSwift] Hot vs Cold Observable 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야하니깐 쓴다. 알아야한다. Cold Observable 기본적으로 Observable은 lazy하다. lazy하다는 말은 뭐시냐? Observable을 정의만 해놓는다고, 뭐가 이뤄지진 않는다는 것이다. subscribe를 해야 이벤트를 방출하므로 처음으로 발생한 이벤트부터 전체 시퀀스를 확인할 수 있다. 코드로 예를 들어보자 let .. 2022. 6. 8.
[Swift] mutating 2021.08.11 - [iOS/Swift] - [Swift] Struct Mutating [Swift] Struct Mutating Struct Mutating 구조체의 메소드를 구조체 내부에서 데이터 수정 할 때는 Mutating 키워드를 선언 해주어야함 struct coordinate { var x: Int = 0 var y: Int = 0 mutating func moveTo(x: Int, y: Int) { sel.. limjs-dev.tistory.com ㅋㅋㅋㅋㅋㅋㅋㅋ좀 더 알아보고 쓰지 새끼야... 다시 간단히 정리하려고 씁니다.. 아니 이전에 쓴 것도 맞긴한데.. 동작 방식에 대해서 추가적으로 쓰려한다. 일단 기본적으로.. 구조체의 메소드를 구조체 내부에서 데이터 수정 할 때는 Mutati.. 2022. 5. 8.
[Swift] Hashable 와 너무 졸리다 오늘은 Hashable.. 그저 딕셔너리의 키, 세트같은 중복값이 들어갈 수 없는 애들은 Hashable하다 라고만 알고있었는데, 저번주에 combine인가 hash 인가하는 메서드를 보고 공부해봐야겠다고 느껴서.. 먼저 Hashable이란 정수 해시값을 제공하여 유일하게 표현이 가능한 방법을 제공하는 프로토콜이다. 보통 hash한 값이다.. 하면 뭐.. 유일한 값, 중복되지 않는 값 -> UUID...? 뿐이 생각안나네 ㅋㅋㅋ오 때려맞춤 ㅋㅋㅋㅋ 요건 UUID에 대한 잼난 글이 있길래.. https://medium.com/@jang.wangsu/ios-swift-uuid는-어떤-원리로-만들어지는-것일까-22ec9ff4e792 [iOS, Swift] UUID는 어떤 원리로 만들어지는 것일.. 2022. 5. 2.
[Swift] Increasing Performance by Reducing Dynamic Dispatch 많이들 고민하고 사용하는 Class.. 클래스와 구조체는 할당부터 차이가 있지만 이번엔 Method Dispatch에 관련하여 알아보려 한다. 근데 Method Dispatch가 뭔데..? 디스패치하면 연예인들 찍는 게 생각날텐데, 직역한다면 메소드 부치기... 발송하기..? 메소드를 어느 곳에 부칠지에 대한 의미가 어느정도 들어맞는 것 같다. Method Dispatch란 특정 함수 호출시 어느 곳에서 함수를 호출할 것이며 어떤 함수를 호출할 것인지를 결정해주는 방식이라고 생각하면 될 것 같다. 우선 각 Dispatch 방식부터 간단히 알아보고 가자 이번 글은 클래스의 성능향상이니... 결론부터 말하자면 Method Dispatch 방식은 두가지로 나뉜다. Static Dispatch Dynamic D.. 2022. 4. 22.
[Design Pattern] Singleton Pattern Design Pattern은 역사적으로 프로그래밍을 할 때 자주 발생하는 문제점들을 해결하기 위해 생겨난 구조, 패턴이다. 우린 이 공통된 오답노트같은 패턴들을 사용하고, 참조하며 개발을 한다. 공통화 덕에 생긴 이점은 동일한 문제에 대해서는 특정 표준 설계법을 사용하여 다른 개발자와 의사소통을 원활하게 하고, 코드가 방대해질 경우 흐름을 파악하는데도 큰 도움이 된다. 오늘 알아볼 패턴은 Singleton Pattern 이다. 위키백과는 Singleton을 다음과 같이 정의했다. In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one .. 2022. 3. 31.
[Design Pattern] Mediator Pattern Mediator Pattern 객체간의 종속성을 줄일 수 있는 패턴으로, 여러 Colleague들 사이를 Mediate하는 역할을 하는 인터페이스가 존재한다. 클래스간의 종속을 줄이기위해 클래스 사이에 Mediator가 존재하고, 여러 클래스들은 서로 직접 참조, 통신하는 것이 아닌 Mediator를 통해서 메세지를 주고 받는다. Use When? 객체들간의 상호작용 관계가 복잡할 때 다이어그램을 통해 알아보자 Mediator Pattern을 통해 객체간 종속성을 줄이기 전의 다이어그램이다. 서로 강하게 참조를 하고있으며, M:N 관계로 상호간 매우 얽혀있는 모습을 볼 수 있다. 이때 클래스 간의 복잡한 관계들을 캡슐화하여 하나의 클래스에서 관리하도록 한다. M:N의 관계를 Mediator Pattern.. 2022. 3. 20.