RunWay 1.4 (4) 캘린더 날짜 탭과 끝났는데 안 끝나던 러닝
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. Flight Calendar는 한...
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. Flight Calendar는 한...
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. 러닝이 끝나면 Flight Sum...
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. RunWay는 러닝 앱인데, 정작...
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. 1.3.2를 심사에 넣고 1.4를...
시작하게 된 이유 이전글에서 Udemy 강의를 따라가며 async let, Task Group, Task { }, Task.detached를 한 번씩 써봤다. 그다음 글에서는 랜덤 이미지 앱에 async let과 Task Group을 적용해봤다. 그때는 강의 흐름대로 “이렇게 쓰면 동시에 돈다” 정도로 정리하고 넘어갔다. 그런데 이번 Deep ...
시작하게 된 이유 이전글 끝에서 Task와 await의 역할을 정리했다. Task는 기다릴 수 있는 공간을 만들고, await는 그 공간에서 actor에 들어갈 차례를 기다린다. actor는 한 번에 하나씩만 들어오게 해주니까, 차례를 지켜서 들어가면 안전하다고 생각했다. 그런데 다음 주제를 고르다가 “actor인데 상태가 꼬인다”는 말이 나왔...
시작하게 된 이유 이전글에서 Task에 Sendable이 아닌 값을 넘기는 실험을 했다. 함수 안에서 새로 만든 값은 넘어갔고, 넘긴 뒤에 또 쓰거나 파라미터로 받은 값은 sending ... risks causing data races 에러로 막혔다. 같은 타입인데 결과가 갈렸다. 그때는 결과만 적고 넘어갔는데, 이렇게 “타입이 아니라 값을 ...
RunWay 1.1 부터는 Claude Code 와 함께 만든다. 코드와 글의 문장은 거기서 나오고, 방향을 정하고 실기기에서 확인해 틀린 걸 찾아오는 건 직접 한다. 그래도 과정을 글로 남기는 건 업데이트를 AI 에게 맡기고 끝내지 않으려는 것이다. 거기서 배울 점을 찾아 적어 두고 나중에 공부하려고 한다. 이전 글에서 GPWS 경고와 건강...
시작하게 된 이유 nonisolated를 실전에서는 에러 지우는 용도로만 써봤다. actor isolation 에러가 나면 일단 nonisolated를 붙이거나 Task { @MainActor in }으로 감싸서 넘어갔는데, 정작 “이게 정확히 뭘 하는 키워드인가”는 설명 못 한다. 이번엔 실제 프로젝트 사례를 뒤지는 대신, nonisolated 하...
Doubly Linked List — class가 필요한 진짜 이유 새 프로젝트(멀티플랫폼 앱, landscape 고정)로 시작해서, 제네릭 doubly linked list를 구현한다. 왜 struct가 아니라 class인가 class DoublyLinkedListNode<T> { var value: T var pr...