새로 올라온 글 보러가기!
-
[Apple Developer Academy @ POSTECH] #7 - 모든 것을 쏟아부은 우리 왕꿈틀이
그동안 티스토리에는 한번도 언급했던 적이 없던 것 같은데, 새롭게 미디엄에서 글을 발행중이에요!이번 아카데미 회고 글도 미디엄에서 발행했으니 아래 링크에서 시리즈 글을 이어서 확인하실 수 있습니다:)온김에 미디엄 팔로우도 해주시면 ...🥹https://medium.com/@mini-min/apple-developer-academy-postech-7-%EB%AA%A8%EB%93%A0-%EA%B2%83%EC%9D%84-%EC%8F%9F%EC%95%84%EB%B6%80%EC%9D%80-%EC%9A%B0%EB%A6%AC-%EC%99%95%EA%BF%88%ED%8B%80%EC%9D%B4-51be733955a5
-
[iOS] 중재자 패턴 (Mediator Pattern)을 활용한 우리 팀만의 아키텍처가 만들어진 과정 (feat. View-Model-Service)
0. 들어가기에 앞서MV, MVC, MVVM, TCA, VIPER, Clean Architecture 등등 iOS 개발에 사용될 수 있는 아키텍처 패턴은 정말 많습니다.하지만 중요한 것은 "어떤 아키텍처를 사용해봤냐?"가 아니라 "왜 그 아키텍처를 선택했냐?"에 대한 대답입니다.소프트웨어에서 사용하는 패턴 (디자인 패턴, 아키텍처 패턴 포함)은 모두 특정한 문제를 해결해주기 위한 방법임에는 틀림없지만, 현 프로젝트의 볼륨이나 방향에 따라 때로는 오히려 코드를 복잡하고 / 진입 장벽을 높게만 만들 수 있기 때문입니다.즉, 아키텍처 사용에는 이유가 필요하다는 것입니다.그 이유에는 현재 프로젝트의 규모, 동료 개발자들의 역량, 개발기간과 이후 유지보수 가능성 등이 종합적으로 고려되어야 하죠.예를 들어, 작은 ..
-
[Apple Developer Academy @ POSTECH] #6 - Vision에서 출발한 30일. 팀 Visionable의 여정
🍎 Apple Developer Academy @ POSTECH 4기 : Challenge 4 회고 (2025.06.23 - 08.01) [Apple Developer Academy @ POSTECH] #5 - 사람공부🍎 Apple Developer Academy @ POSTECH 4기 : Challenge 3 회고 (2025.05.08 - 06.13) [Apple Developer Academy @ POSTECH] #4 - 그래서 나는 무엇을 배웠지?🍎 Apple Developer Academy @ POSTECH 4기 : Challenge 2 회고 (2025.04.07 - 04.25) [Applemini-min-dev.tistory.com 지금까지 아카데미에서의 챌린지를 돌아보면, 항상 하드 스킬..
-
[iOS] FF!p (Fast-Find item picker) 삡 - 단어로 위치 탐색
FF!p 삡 - 단어로 위치 탐색Fast-Find item picker, FF!p 눈 앞에서 찾아 헤메던 단어들, 빠르고 정확하게 삡! Command+F 기능을 실생활에 적용해보세요. AI가 모든 일을 대신 해준다는데 귀찮은 도서관 책 찾기, 복잡한 안내도 보기apps.apple.comIntroFast-Find item picker, FF!p눈 앞에서 찾아 헤메던 단어들, 빠르고 정확하게 삡!Command+F 기능을 실생활에 적용해보세요. AI가 모든 일을 대신 해준다는데귀찮은 도서관 책 찾기, 복잡한 안내도 보기는왜 아직도 허둥지둥 직접 해야 하죠? 책, 정류장, 맛집, 메뉴 등 찾고 싶은 이름을 입력하고카메라로 주변을 둘러 보기만 하세요. 사진이나 영상 저장 없이실시간으로 위치를 찾아드려요. [어..
블로그 주인장이 추천하는 글 보러가기!
-
[Clean Architecture] OOP의 SOLID 원칙을 Swift의 관점에서 이해하기
0️⃣ OOP(Object-Oriented Programming)와 SOLID 원칙"일단 앱잼 기간 중에 빨리 기능부터 구현하고, 우리 앱잼 끝나면 진짜 리팩토링하자!"단기간에 결과물을 내야하는 솝트 동아리 내의 과제, 합동 세미나, 장기 해커톤 앱잼 같은 곳에서 가장 많이 들었고, 가장 많이 해온 말이다.하지만 해당 기능 개발이 끝나면, 또 다른 기능 개발이 개발자들을 기다리고 있고....또 다른 기능 구현을 우선적으로 하다 보면, 코드 정리나 프로젝트의 구조를 개선하는 일은 후순위가 항상 되기 마련이었다.어쩌면 리팩토링은 평생 동안 목표에 그칠 수밖에 없는 "이룰 수 없는 과제"일지도 모르겠다.그래서 나는 여기서 의문을 하나 가지게 되었다."겉으로 보이지 않는 코드의 퀄리티나 프로그램의 구조를 굳이 ..
-
[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) : 앱 전체 흐름 구성, ..
-
[Combine] Combine 진짜 알기 쉽게 정리해서 올려줄게 (1) - Combine 기초 개념 이해하기
⚠️ 이번 글은 Combine Framework가 처음 소개되었던 WWDC19의 두 세션 Introducing Combine과 Combine in Practice의 예제 을 직접 구현하면서 사용된 Combine 개념들에 대해 집중적으로 소개합니다.이 글에서 소개되지 못한 Combine의 다른 여러 개념들은 Apple Developer Documentation-Combine 글을 참조하길 바랍니다.번역 또는 프로젝트의 목적, 그리고 저의 부족한 이해력 때문에 일부 잘못된 내용이 있을 수 있다는 점. 전제하고 읽어주시면 감사하겠습니다 (잘못된 개념 제보 및 질문 댓글로 얼마든지 환영입니다:) ^__^ 1️⃣ Combine이 뭔데? 왜 공부하는 건데? 언제 쓰는 건데?Combine에 대해 공부하기 전에 우리가..
-
[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..
블로그에서 가장 인기가 많은 글이에요!
-
[생활스포츠지도사 2급 자격증] #3 - 생체 2급 연수, 현장실습까지 최종 합격 후기
이제 길고 길었던 2급 생활스포츠지도사 자격증 시험 후기를 마무리 지을 차례이다. 원래는 자격증 취득을 1년 내에 끝날 계획이었는데, 2020년에 예상치 못한 코로나가 발생하는 바람에 실기까지 모두 끝내 놓고 연수와 현장실습 과정이 모두 취소되는 바람에 2021년까지 자격증 취득이 미뤄지게 됐다. 그리고 2021년 하반기 연수 과정을 끝내고 드디어 지난달 자격증을 취득했다⭐️ 오늘은 생체 2급 자격증 취득의 마지막 과정인 연수와 현장실습에 대해 후기를 작성해보록 하겠다 :) (👇🏻2020년에 끝내 둔 필기, 실기, 구술 후기는 아래 글에서 작성해두었다👇🏻) [생활스포츠지도사 2급 자격증] #1 - 생체 2급 필기 시험 합격 후기 지금으로부터 거의 3년 전, 초등학교 때부터 고등학교 때까지 줄곧 야구라는 ..
2022.01.09 22:59 -
[Mac] 맥 터미널 기본 사용법을 배워보자
맥북을 사용하는 개발자 중에서 터미널을 사용해보지 않은 개발자가 과연 있을까?터미널(Terminal)은 맥(macOS)에서 지원하는 커맨드 라인 툴(command line tool)이다.개발을 할 때, 기본적인 파일 접근부터 깃(Git) 관리까지 보통 이 터미널에서 명령을 입력하며 진행하는 경우가 많기 때문에 기본적인 터미널 명령어는 어떤 것들이 있는지 알아두어야 할 필요가 있다.그래서 오늘 글에서는 아직 터미널 사용법이 익숙하지 않을 분들을 위해, 내가 자주 사용하는 기준으로 하나씩 명령어를 정리해 보도록 하겠다. (참고로 캡처 화면이 기본 터미널 화면과 다른 이유는, 내 맥북은 다음에 다룰 iTerms2라는 별도의 프로그램을 사용했기 때문이다 ^_^)이 글에서 다루고 있는 명령어 목록이다. 계속 새로..
2022.01.07 17:00 -
[iOS] 내가 보려고 정리하는 TCA (The Composable Architecture) 기초
오늘 글은 SwiftUI 환경에 적합한 아키텍처, TCA (The Composable Architecture)의 기초 개념을 소개하는 내용입니다.이 글에서 TCA가 어떤 특징과 장점을 갖고 있고, 어떤 코드 구조로 Apple Platform의 소프트웨어를 설계하게 되는지를 최대한 쉽게 여러분들께 설명하고자 합니다!오늘 살펴본 기초 개념을 토대로, 다음 글에서는 실제 SwiftUI 프로젝트에서 The Composable Architecture를 적용하는 리팩토링 설명까지 이어가보도록 할게요☺️ TCA (The Composable Architecture)란?1️⃣ TCA는 오픈소스 아키텍처 라이브러리다.TCA는 The Composable Architecture의 줄임말로,Brandon Williams와 St..
2025.03.05 11:57 -
[UIAlertController] 강제 업데이트 및 사용성 개선 업데이트 Alert 표출하기
앱을 처음 앱스토어에 배포한 이후, 유지보수를 하다 보면 예상치 못한 버그를 수정하거나, 앱의 기능을 개선하거나, 새로운 기능을 추가하는 등의 앱 업데이트도 지속해서 이루어집니다.앱 업데이트는 보통 아이폰 스스로 진행되거나, 사용자가 App Store에 직접 해당 앱 링크에 접속해서 업데이트를 시켜주는 방식이 있죠.보통은 전자의 방식으로 [설정 - App Store - 자동 다운로드] 설정에 의해 사용자가 별도로 앱 업데이트를 시키지 않아도,핸드폰을 사용하지 않는 새벽 시간대에 (알게 모르게) 업데이트된 앱을 다운로드 받아줍니다.문제는 해당 설정을 OFF 시켜둔 사용자에게 해당되는, 후자의 경우인데요!단순한 기능이 추가된 경우에는 - 업데이트 없이 하위 버전에 해당하는 앱을 사용해도 크게 문제가 되지는 ..
2025.01.22 10:40 -
[KakaoSDK] 사업자 번호가 없을 때, 비즈 앱 전환방법을 알아보자
이번에는 짧게 카카오톡 소셜 로그인을 구현할 때, 있었던 한 이슈에 대해서 정리해볼까 한다.(카카오톡 소셜 로그인 정리 글은 아래에👇🏻) [Social Login] 소셜 로그인을 구현해보자! 1탄 - 카카오톡 로그인오늘은 최신 어플이라면, 빠지지 않고 가장 기본적으로 들어가는 기능 "소셜 로그인"에 대해 시리즈로 글을 다루어보려 한다. 오늘은 그 첫 번째로, 카카오톡 간편 로그인에 대해 다뤄보겠다. Kakmini-min-dev.tistory.com문제는 이랬다.나다 앱은 jwt 토큰 서버통신을 할 때, 카카오 유저의 이메일 값을 필수로 넘겨줘야 했기 때문에 - 사용자로부터 이메일 계정을 동의를 받을 때, 필수로 받아야 했다.하지만, 처음 동의 항목을 수정할 때는 아래에서 보이는 것과 같이 카카오계정 ..
2022.01.29 21:04