본문 바로가기

전체 글

(65)
RN을 준비하며 AOT와 JIT 가 무엇인지? AOT와 JIT의 기본 개념AOT(Ahead-of-Time) 컴파일은 프로그램 실행 전에 미리 기계어로 변환하는 방식이고, JIT(Just-in-Time) 컴파일은 프로그램 실행 중에 필요한 부분을 실시간으로 컴파일하는 방식입니다.JIT 컴파일 과정1단계: 소스 코드 → 중간 코드 변환Java의 경우: .java → .class (바이트코드)C#의 경우: .cs → .dll/.exe (IL 코드)이 단계에서는 아직 기계어가 아닌 중간 표현 형태로 변환2단계: 런타임 로딩프로그램 실행 시 가상머신(JVM, .NET CLR 등)이 중간 코드를 메모리에 로드메타데이터와 함께 프로그램 구조 파악3단계: 인터프리터 실행초기에는 중간 코드를 인터프리터가 한 줄씩 해석하여 실행실행 속도는 느리지만 즉시 시작 가능4단..
토스로 이직을 하게되며 남기는 회고록 지금 회사에 입사한지 약 3년이 된 시점에 나는 토스로 이직을 확정 짖게 되었다. 지금의 회사도 너무나도 좋은회사고 좋은 팀원들, 팀분위기, 환경을 가지고있어 이직을 결정하기에 쉽지않았다.그럼에도 이직을 진행하게된 이유는 같은일을 약 3년간 진행을 하다보니 생기는 어쩔수 없는 나태함에 스스로에게 채찍질이 조금 필요했었 던 것 같다. 지금회사에서 진행했던 일들을 하나씩 떠올려보면 지금 회사에서의 업무를 기반으로 토스로 이직을 할 수 있었던 것 같다. 우선 귀찮아서 잘 남겨놓지 않았지만 현재 회사에서 진행했던 프로젝트 전부가 지금의 나로 성장시키는데 큰 도움을 주었던 것 같다. 회사에 들어갔을때의 시점이 코로나 팬대믹으로 인하여 회사에 iOS 개발자들의 수가 급격하게 들어나고, xcode에서는 프로젝트 파..
SwiftUI TCA 분석하기 2편 지난번 TCA를 분석하기위해 코드 한줄한줄 분석하는 작업을 진행했는데 @Perception.Bindable 위의 구문을 공부하다가 해당 내용이 너무 깊어져서 혼자 공부하다 하루를 보냈다 보기에는 간단한? 한줄이지만 내부에는 너무나도 많은 Swift의 신기술이 들어가있다 그중에서도 아 공부해야지 하면서도 공부를 못했던 WWDC 2023에서 새로나온 기술 Macro를 챙기지 않고서는 TCA에 대한 공부를 더이상 진행을 할수 없을 것 같아 오늘은 TCA를 분석하기전에 Macro에 대해 자세히 알아보고 지나가려고한다. 여러가지 참고자료들을 공부했지만 아래의 블로그의 글이 가장 잘 설명이 되어있고 발표영상도 너무나도 대단하여 해당 영상을 2번이상은 본 것 같다.https://sujinnaljin.medium.co..
SwiftUI 공부 with TCA 회사에서 진행중인 프로젝트는 이제 화면단위로 SwiftUI의 전환이 이루어지고있고 현재 SwiftUI 전환이 약 6개월정도 이루어졌다 현재 진행중인 피처들은 모두 SwiftUI개발을 진행하고있지만 개발을 하면 할수록 과거 취준생 시절했던 SwiftUI 전혀 다르고 그때는 개념이 없이 사용만 했던 시즌이기에 새롭게 공부가 필요성을 느끼게 되었고한국에서 가장 많이 사용되는 TCA에 대해 분석하고 왜 이렇게 만들어져있는지를 분석해보려고한다.https://github.com/pitt500/OnlineStoreTCA GitHub - pitt500/OnlineStoreTCA: A demo covering the basics of the Composable Architecture (TCA)A demo covering..
[wwdc] Design protocol interfaces in Swift https://developer.apple.com/videos/play/wwdc2022/110353 Design protocol interfaces in Swift - WWDC22 - Videos - Apple DeveloperLearn how you can use Swift 5.7 to design advanced abstractions using protocols. We'll show you how to use existential types, explore how...developer.apple.comSwift에서 프로토콜의 설계를 진행하다보면 여러가지의 추상화 타입을 만들게 되고 이를 기반으로 끝없이 타입을 추론해가며 개발이된적이 있다 그리고 여러가지 이유로 개발을 진행할때 많은 부분들의 추상화를..
WWDC 2019 Binary Frameworks in Swift 보호되어 있는 글입니다.
Actor 공부하기 지난번 WWDC를 통해 Actor에 대해 알아보았는데 영상만 봐서는 이해를 했다? 의 느낌은 부족하여 문서를 더 읽어보고 하나씩 테스트 해보면서 공부를 하려고한다. https://github.com/swiftlang/swift-evolution/blob/main/proposals/0306-actors.md#interleaving-execution-with-reentrant-actors swift-evolution/proposals/0306-actors.md at main · swiftlang/swift-evolutionThis maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - s..
WWDC2021 Protect mutable state with Swift actors Swift Actor를 이용한 데이터레이스를 방지해보자 class Counter { var value = 0 func increment() -> Int { value = value + 1 return value }}let counter = Counter()Task.detached { print(counter.increment()) // data race}Task.detached { print(counter.increment()) // data race} 위의 상황에서 개발자는 자연스럽게 데이터레이스 현상을 겪게된다 Task.detached를 통해 서로 다른 스레드에서 하나의 클래스의 내부변수를 바꾸려는 시도가 생김 위의 동작에서 아래의 함수가 동시에 실..