IMDF와 Indoor Location은 무엇인가
·
Apple/iOS
최근에 아직 자세히 공개하기 어려운 일을 준비하면서 실내지도 기술을 공부하게 되었다. 처음에는 건물 floor plan을 MapKit에 표시하고 현재 위치를 나타내는 Blue Dot을 추가하면 실내지도가 완성된다고 생각했다. 공부하면서 알게 된 것은 실내지도가 특정한 기술 하나로 만들어지는 것이 아니라는 점이었다. 건물의 층, 방과 복도가 어디에 있는지 표현하는 지도 data와 그 공간 안에서 사용자가 현재 어디에 있는지 알아내는 위치 측정 기술이 따로 필요했다.건물 안에 무엇이 어디에 있는가? → IMDF사용자가 지금 어디에 있는가? → Indoor LocationIMDF는 실내 공간을 app이 이해할 수 있는 data로 표현하고, Indoor Location은 그 공간 안에서 사용자의 coordi..
[SwiftUI] SwiftUI에서 MV패턴이 언급되고 있는 이유
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 iOS Architecture를 공부하면 보통 MVC, MVVM, VIPER, Clean Architecture, MVI와 TCA 같은 이름을 접하게 됩니다. 그중 SwiftUI에서는 ObservableObject를 사용하는 ViewModel을 만들고 View가 ViewModel을 관찰하는 MVVM 구조가 익숙합니다.그런데 최근 SwiftUI Architecture에 관한 글이나 발표를 보다 보면 MV(Model–View)라는 이름이 다시 등장합니다.MVVMModel → ViewModel → ViewMVModel ↔ View겉으로 보면 MVVM에서 ViewModel을 제거한 것처럼 보입니다. 하지만 MV가 다시 언급되는 이유는 파일을 하나 줄이기 위해서가 아닙니다. Swi..
내가 요즘 회고를 쓰는 이유
·
경험
나만의 색을 계속 찾아가는 중최근 들어서 애플 관련 기술이나 개발 글만 올리던 내가 나의 경험과 생각을 담은 회고 글을 적기 시작했다. 갑자기 뜬금없이 "나 이제 회고 글 적어봐야지~"하면서 시작한 건 아니다. 솔직히 말하면 나는 내 기술 블로그에 나에 관한 글을 적지 않으려고 했다. 거창한 이유가 있었던 것은 아니다. 나는 용도를 분리해서 사용하는 것을 좋아한다.예를 들어서 노트라고 한다면 필기 노트, 다이어리, 개발 노트 등 이런 식으로 용도를 나눠서 적는 것을 좋아한다. 그래야 나중에 찾아보기 편하고 효율적이라는 생각이 들었다. 블로그도 마찬가지였다. 내가 개발자가 되기 위해 공부한 내용만 작성하며 정말 '기술 블로그' 그 자체로 사용하고 싶었다. 또 다른 이유도 있었다. 나는 내가 잘 모르는 사..
[7월 회고] 나 혼자인 기분
·
경험
보호되어 있는 글입니다.
[6월 회고] 오래 고민한 흔적이 남는 앱을 만들고 싶다
·
경험
6월의 생각빠르게 만든 결과보다 오래 고민한 흔적을 남기고 싶다. 6월에는 예상하지 못했던 일도 있었고, 몇 주 동안 이어진 프로젝트를 마무리하기도 했다. 새로운 도전을 준비할 기회도 생겼다.서로 다른 사건들이었지만 돌아보니 하나의 생각으로 이어졌다. 나는 단순히 동작하는 코드를 작성하는 개발자가 아니라, 내가 작성한 코드를 내 언어로 설명할 수 있는 개발자가 되고 싶다. 그리고 언젠가는 개발자가 들인 시간과 애정이 자연스럽게 보이는 앱을 만들고 싶다.예상하지 못했던 사고6월에는 교통사고를 당했다.다행히 크게 다치지는 않았지만 병원에 가야 하는 날이 생겼고, 이전보다 신경 써야 할 것도 많아졌다. 자연스럽게 온전히 몰입할 수 있는 시간도 줄었다. 해야 할 일은 그대로인데 사용할 수 있는 시간과 집중력은 ..
[Apple Developer Academy] Challenge3 회고
·
Apple Developer Academy
안녕하세요! 피피아노입니다 🎵 Apple Developer Academy의 Challenge3를 마쳤습니다.🎉이번 챌린지에서 저희 팀은 visionOS 기반 소방 안전 훈련 앱을 만들었습니다. 저희 앱은 Apple Vision Pro를 착용한 사용자가 실제 공간 위에 나타난 화재를 보고, 손 추적을 통해 소화기를 직접 조작하며 초기 진압을 훈련하는 앱입니다. 단순히 영상을 보거나 설명을 듣는 방식이 아니라, 실제 화재 상황에서 필요한 행동을 몸으로 경험해보는 것을 목표로 했습니다. 이번 글에서는 Challenge3에서 어떤 기준으로 주제를 선정했는지, 제가 맡은 소화기 진압 파트를 구현하면서 어떤 기술적 어려움을 겪었는지, 그리고 visionOS 개발을 통해 무엇을 배웠는지 정리해보려고 합니다.왜 v..