전체 글

전체 글

    [Combine 책 정리] Chapter 4: Filtering Operators

    이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 2021/01/06 - [Reactive Programming] - [Combine 책 정리] Chapter2. Hello, Combine! 2021/01/12 - [Reactive Programming] - [Combine 책 정리] Chatper 3: Transforming Operators 이번 챕터에서는 특별히 신선한 내용은 없었다. 실제 사례에서 여러 operator들을 잘 조합해보는게 중요할 듯 Filtering basics example(of: "filter") { let numbers = (1...10).publisher numbers .fil..

    [Combine 책 정리] Chatper 3: Transforming Operators

    이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 2021/01/06 - [Reactive Programming] - [Combine 책 정리] Chapter2. Publishers & Subscribers 이번 챕터는 Operator Operators and publishers operator method는 사실 publisher를 return 함 upstream data -> operator 에서 가공 -> downstream으로 전달 error handling을 위한 operator가 아니면, error를 downstream으로 흘려보내줌 (이번 챕터에서는 에러 핸들링 다루지 않음) Collecting..

    [Combine 책 정리] Chapter 2: Publishers & Subscribers

    이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 챕터2 부터는 실습 위주 Hello Publisher example(of: "Publisher") { // 1 let myNotification = Notification.Name("MyNotification") // 2 let publisher = NotificationCenter.default .publisher(for: myNotification, object: nil) // 3 let center = NotificationCenter.default // 4 let observer = center.addObserver( forName: myNotific..

    [정리] 토비의 봄 TV - 스프링 리액티브 프로그래밍

    https://www.youtube.com/watch?v=8fenTR3KOJo 개념 Duality: 쌍대성. 수학적 표현 Observer Pattern: 디자인패턴 Reactive Streams: 자바 진영에서 정한 표준 Duality 기능은 똑같은데, 반대방향으로 표현한 것 (에릭 마이어 정의 찾아보기) Iterable Observable Iterable Observable 데이터 방향 Pull Push 함수 호출 next() notifyObservers(i) return 값 있음 없음 여러개의 Observer가 동시에 데이터 받기 어려움 쉬움 멀티 스레드 동작 만들기 어려움 쉬움 Iterable import java.util.Iterator; public class IteratorExample { p..

    Xcode 파일별 빌드 속도 측정

    https://www.onswiftwings.com/posts/build-time-optimization-part1/ Xcode Build Time Optimization - Part 1 Discover techniques to measure and speed up the build time in Xcode www.onswiftwings.com Xcode에 일단 빌드 시간을 표시 해주기 터미널에 아래 명령어 입력 defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES Builde Setting > Other Swift Flags에 이렇게 등록하면 조건에 따라 워닝을 띄워줍니다. -Xfrontend -warn-long-function-bodies..

    운영체제 스터디 자료

    개발을 할 수록 메모리 관리와 스케줄링에 대해 공부할 필요성을 느낍니다. 운영체제에 관련해서 평이 좋은 강의가 있어서 메모해둡니다. http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net

    [Combine 책 정리] Chapter 1: Hello, Combine!

    https://www.raywenderlich.com/books/combine-asynchronous-programming-with-swift/v2.0 책의 목표 추상적으로 들리는 컴바인의 개념을 이해 한 챕터씩 따라가면서 컴바인이 무엇을 해결하고자 하는지 배워나감 애플에서는 Combine을 통해 이벤트 처리를 위한 선언적 접근을 함 Delegate나 Completion Handler 구현 대신 이벤트 소스에 대한 Single processing chain을 만들 수 있음 비동기 프로그래밍 (Asynchronous programming) 스레드 1개가 코드 실행 결과로 "Tom Harding"이 출력됨을 보장 가능 begin var name = "Tom" print(name) name += " Hardi..

    [Swift] struct와 순환참조

    Struct를 사용하면 메모리 관리에 민감하지 않아도 된다고 생각했다. struct 안에서의 클로저 사용할 때 self를 참조해도 순환참조가 발생하지 않기 때문이다. 어느 순간 머릿속에서 struct 안에서는 포인터 참조를 걱정하지 않아도 된다고 착각하고 있었다. 그런데 이번에 문제가 생겼다. 바쁜 와중에 메모리 memory leak이 생겨버리니... 어이가 없기도 했고, 지금까지 제대로 모르고 있었다는게 부끄러워서 글로 작성해둔다. 이게 오히려 시간을 아끼는 길이길 바란다. struct MyStruct { let myClass: MyClass } class MyClass { var myStruct: MyStruct? } let myClass = MyClass() let myStruct = MyStruc..