분류 전체보기(208)
-
[Swift] Coordinator & Router & Factory Pattern을 사용한 리팩토링 (1) : 초기 세팅부터 로그인 화면까지
💡 해당 글은 Coordinator Pattern, Router, Factory Method Pattern을 사용한 리팩토링 코드를 설명하는 글입니다!글이 너무 길어져 총 3개로 나누어 글을 올릴 예정이구요, 만약 잘못된 개념이나 개선할 부분, 질문 등이 있다면 댓글로 지적해주시면 빠르게 남겨드리도록 하겠습니다 ^__^1️⃣ Coordinator & Router & Factory Pattern을 사용한 리팩토링 (1) : 초기 세팅부터 로그인 화면까지2️⃣ Coordinator & Router & Factory Pattern을 사용한 리팩토링 (2) :코디네이터로 탭바 만들기3️⃣ Coordinator & Router & Factory Pattern을 사용한 리팩토링 (3) : 앱 전체 흐름 구성, ..
2025.01.17 -
[GitHub] 깃허브에서 오픈소스 라이선스 등록하는 방법 (feat. MIT License)
1. 선생님 오픈소스가 뭔가요? 왜 오픈소스 라이선스를 등록해야 하는 건가요?Swift Package를 릴리즈하면서 수업시간에 배운 오픈소스 라이선스를 써먹게 되는 날이 찾아왔습니다. (feat. 오픈소스SW프로그래밍)이 글을 보시는 분들이 오픈소스 수업을 들은 것은 아니니까 간단한 설명을 해볼게요!오픈소스가 뭐고? 오픈소스 라이선스는 뭐인가요 선생님오픈소스 : 배포된 소스코드를 자유롭게 복사 (copy)하고, 수정 (change)하고, 사용 (run)하고, 연구 (study)하고, 재배포 (distribute)할 수 있는 소프트웨어 -> 누구든지 코드를 추가하거나, 구조 개선, 버그를 해결하는 등의 개발을 참여할 수 있도록 공개한 소프트웨어 (그러니까, 라이브러리도 오픈소스죠!)라이선스 : 정확한 의미..
2025.01.05 -
[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