[Swift] Tuist 살펴보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 Swift 기반의 프로젝트가 복잡해지고 규모가 커짐에 따라 프로젝트의 구조와 관리 방법도 복잡해지고 있습니다. 이러한 문제를 해결하고 효율적으로 프로젝트를 구성할 수 있는 강력한 도구가 바로 Tuist입니다. 이번 포스팅에서는 Tuist가 무엇인지, 어떤 장점을 가지고 있는지, 그리고 실제로 어떻게 사용하는지 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다! Tuist란 무엇일까?Tuist는 Swift로 작성된 프로젝트 생성 및 관리를 위한 오픈소스 도구입니다. 프로젝트 설정 및 구조를 정의하는 코드를 통해 반복적인 작업을 자동화하고, 팀원들 간의 일관성을 유지하도록 돕습니다. Xcode 프로젝트 파일(.xcodeproj)을 자동 생성하고 관리함으로써 프로젝트 설정의 수..
[Swift] 의존성 주입(Dependency Injection)이란?
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 의존성 주입(Dependency Injection), 줄여서 DI라는 개념에 대해서 Swift 언어 기반으로 살펴보려고 합니다. 본격적으로 들어가기 전에 의존성 주입은 객체지향 언어에서 개발을 하다 보면 점점 커지는 클래스와 복잡한 의존성 관계 속에서 코드를 유연하고 테스트하기 쉽게 만들기 위한 것이라고 생각하시면 됩니다. 그럼 바로 시작하겠습니다! 의존성(Dependency)이란?의존성이란 "어떤 객체가 다른 객체를 필요로 한다"는 의미로 정리해볼 수 있습니다. 예를 들어서 Car 클래스가 Engine 클래스를 내부적으로 사용한다면, Car는 Engine에 의존한다고 말할 수 있습니다.class Engine { func start() { ..
[Swift] Combine에서 map과 flatMap 살펴보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Combine 프레임워크에서 사용되는 중요한 연산자인 map과 flatMap에 대해서 정리해보려고 합니다. Combine에 대해서 궁금하신 분들은 여기를 참고해 주시면 됩니다! 그럼 바로 시작하겠습니다! map 연산자우선 map 연산자부터 알아보겠습니다. map 연산자는 Publisher에서 방출된 각 값을 다른 형태로 반환하는 연산자입니다. 원본 데이터 스트림의 구조는 유지하면서 내부 값만 변경한다는 부분이 특징입니다.https://developer.apple.com/documentation/swift/sequence/map(_:) map(_:) | Apple Developer DocumentationReturns an array containing t..
[Swift] Subscript 이해하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Swift의 서브스크립트(Subscript)에 대해서 정리해보려고 합니다! 어렵지 않은 개념이니 간단하게 정리해보겠습니다. 그럼 바로 시작하겠습니다! 서브스크립트(Subscript)란?먼저 애플 개발자 문서에 나와 있는 내용부터 살펴보고 가겠습니다.Accesses the element at the specified position.지정된 위치의 요소에 액세스합니다.(간단한 개념이라 그런지 설명도 너무 간단한 느낌...) 정리를 해보자면 서브스크립트는 컬렉션, 리스트, 시퀀스 등의 멤버 요소에 간단하게 접근할 수 있도록 해주는 문법입니다. 서브스크립트는 클래스, 구조체, 열거형에서 정의해서 사용할 수 있습니다. 배열의 array[index]나 딕셔너리의 d..
[Swift] Actor 이해하기 (2/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 저번 포스팅에 이어서 Actor에 대해서 마저 정리해보도록 하겠습니다. 혹시 지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요! 그럼 바로 시작합니다! MainActor란?MainActor는 Swift에서 UI 업데이트와 같은 작업을 메인 스레드에서 실행하도록 보장하는 특수한 Actor입니다. Swift에서는 메인 스레드는 메인 액터(Main Actor)로 표현합니다. 다른 말로는 전역 액터(goabal actor)라고도 표현을 하는데 전역이라는 말에서 알 수 있듯이 메인 스레드에서 실행해야 할 코드를 프로그램 코드 전체에서 접근할 수 있기 때문입니다. 앱을 개발하다 보면 메인 액터에서 실행해야 하는 코드들이 있을 수 있습니다. 특히 UI를 업데이트 해..
[Swift] 두 정수 사이의 합
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 프로그래머스 문제인 두 정수 사이의 합 문제 풀이 방법에 대해서 한번 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다. 문제 설명먼저 문제부터 살펴 보겠습니다.두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.문제 이해문제는 간단히 말해, 두 정수 a와 b 사이에 포함된 모든 정수의 합을 계산하는 문제입니다. 문제 풀기문..