ios(86)
-
[Swift] 스위프트의 프로토콜 지향 프로그래밍 POP (Protocol-Oriented Programming)
1. Swift의 OOP (Object-Oriented Programming)와 POP (Protocol-Oritented Programming)Apple은 과거의 Swift를 프로토콜 지향 언어 (Protocol-Oriented Language)라고 소개한 적이 있습니다.객체 지향 프로그래밍 (OOP: Object-Oriented Programming) 패러다임을 따르는 객체 지향 언어라는 말은 들어본 적이 있어도,프로토콜 지향 프로그래밍 (POP: Protocol-Oriented Programming)을 따르는 프로토콜 지향 언어라는 말은 다소 생소할 것 같은데요.처음 이 내용을 들었을 때 저는 아래와 같은 질문들이 머릿속에 떠올랐습니다.그럼 프로토콜을 지향하는 언어 Swift는 객체 지향 프로그래밍..
2024.12.31 -
[SPM] Swift 라이브러리를 만들어보자 (1) - Package의 개념과 배포 과정 (feat. Creating Swift Packages)
1. Swift Package와 SPM (Swift Pacakge Manager)Swift Package는 Swift에서 모듈식으로 코드를 관리하고 배포할 수 있도록 제공하는 개념입니다. Swift Package는 단순히 이번 글에서 만들고자 하는 라이브러리뿐만 아니라, 프레임워크, 실행가능한 모듈로서 분리, Swift 매크로 등 다양한 코드 묶음을 만들 수 있는데요.이렇게 작은 묶음으로써 코드를 프로젝트 내에 분리하는 이유는 그 무엇보다 "다른 여러 프로젝트에서 재사용되는 코드를 효율적(의존성 관리, 버전 관리 등)으로 활용할 수 있다는 점"이 가장 큽니다.*흔히 사용하던 서버 통신 라이브러리 Alamofire와 Moya, 이미지 캐싱 라이브러리 Kingfisher, AutoLayout을 도와주는 Sn..
2024.12.27 -
[Combine] Combine Operator 완전 정복하기 - Combining Operators
예전 아래 제 글에서 Operator의 개념과 종류들을 소개한 적이 있습니다.그런데 단순히 글과 표로만 정리해서 읽고 넘어가기에는, Combine을 사용하면서 충분히 Operator를 적재적소에 사용하기가 어렵다고 생각이 들었어요.그래서 이 참에 Combine 스터디에서 다뤘던 네 가지 분류 (Combining, Transforming, Filtering, Timing/Controlling Operator)로 나누어 Operator를 차근차근 자세하게 정복해보고자 합니다!오늘은 먼저 Combining Operator를 준비했습니다 ^__^ [Combine] Combine 진짜 알기 쉽게 정리해서 올려줄게 (2) - 실전 코드와 함께 Publisher, Operator 심화 개념[Combine] Combi..
2024.12.26 -
[Apple Developer Academy @ POSTECH] #1 - 4기 하반기 지원/합격까지 오게 된 지금까지의 내 생각 모음
블로그에서 기술 글이 아닌, 일상 글로 돌아온 것은 또 오랜만이네요.사실 써야 하는 일상 회고 글이 꽤 있긴 한데... 이제 방학했으니까 하나둘씩 미뤄놨던 글들을 써보고자 함니다..! (벌써 1년 된 토스터 앱잼 회고부터.. 디자인패턴 스터디..컴바인 스터디.. 쿠다 데이터톤.. 플립 등..컨텐츠는 아주 많이 쌓여있으니 만관부...) 아무튼! 제목에서 이미 써있는 것처럼, 저는 (겨우 일주일 남은) 내년 포스텍에서 1년 동안 Apple Developer Academy 4기 러너로 참여하게 되었습니다! 👏🏻👏🏻👏🏻지원하기까지 정말 많은 고민 과정과 생각들, 그리고 준비 과정까지 모든 것들을 한순간 저만의 기억으로만 남기기에 너무 아쉬운 점도 많고 / 공유하고 싶은 내용도 많아서 글을 써보고자 ..
2024.12.25 -
[Combine] Cancellable, AnyCancellable 개념 뿌시기
이번 글에서는 Combine의 Cancellable과 AnyCancellable을 뽀개보고자 합니다. (어떻게 보면, Publisher Subscriber보다 더 중요한..)애플의 표현처럼 설명하자면, Combine은 어메이징하고 원더플하고 아주 유익한 cancellation이란 메커니즘을 만들어두었다고 합니다.이 cancellation의 내용은 Cancellable이라는 프로토콜에 어마무시하게 정의되어있고,얘를 사용할 때는 리얼리리얼리 컨비넌스한 AnyCancellable로 Cancellable의 cancellation 기능을 활용하시면 된다는 그런 이야기..인데요.사실 이 말만 들으면 "엥?" 하면서 무슨 내용인지 하나도 머릿속에 들어오지 않을거라 생각해요.그래서 헷갈릴 수 있는 개념들을 먼저 확실하..
2024.12.05