peppermint100Swift로 AirPods 연결 감지하기지난 번에 CMHeadPhoneManager를 통해 에어팟으로 부터 자이로스코프 데이터를 받아서 얼굴 움직임을 트래킹하는 기능을 개발해 보았다. 글 마지막에 에어팟으로 줄넘기 개수 카운트 기능을 만들어보겠다고 했는데, 그 전에 먼저 에어팟 연결을…Jul 9Jul 9
peppermint100CMHeadPhoneManager 사용해보기CMHeadPhoneManager는 사용자의 에어팟 혹은 에어팟 맥스에 내장된 모션 감지기를 통해 움직임 관련된 데이터를 받을 수 있도록 만들어진 API이다. 이러한 기능을 이용한 앱 중에는 PosturePod이라는 앱이 있다. 에어팟을 착용하고…Jun 23Jun 23
peppermint100CoreData와 CloudKit 연동하기iCloud에 데이터를 저장하기 위하여 CloudKit을 공부하던 중 CoreData와 CloudKit을 Sync하는 방법을 열심히 삽질하여 배운 내용을 공유 해본다. 사실 처음에는 CloudKit만으로 데이터를 CRUD 하려고 했다. CloudKiJun 17Jun 17
peppermint100SwiftUI NavigationStack Router로 깔끔하게 관리하기사이드 프로젝트에 클린 아키텍처를 최대한 걸림돌 없이 적용하기 위해 스터디를 촘촘하게 하고 있다. UIKit을 사용해서 개발을 할 때에는 Coordinator 패턴을 통해 NavigationStack을 관리했다. Coordinator 패턴의 사용 이May 25May 25
peppermint100Alamofire + Combine로 API 깔끔하게 요청하기클라이언트 사이드에서 API 호출은 수도 없이 많이 한다. 일반적으로 모든 앱은 API 호출을 쉽게 할 수 있도록 공통 모듈을 만들어둔다. 이전까지는 URLSession만을 이용했는데, 이번에 사이드 프로젝트에서 팀원과 Alamofire를 이용하기로May 25May 25
peppermint100Fastlane으로 TestFlight에 앱 업로드하기소프트웨어 개발에는 CI/CD라는 개념이 있다. CI/CD는 Continuous Integration(지속적 통합)과 Continuous Delivery/Deployment(지속적 제공/배포)를 의미한다. 소프트웨어의 개발이 끝나면 이에 대해서 자동Mar 14Mar 14
peppermint100XCode Instruments로 메모리 릭 확인하기이전 회사에서 백엔드 개발자로 일하고 있는 평화로운 주말, 슬랙에 에러메시지가 왔다. 서버에 메모리가 부족하다는 알림. 뭐 무거운 스케쥴링이 돌아가거나 특정 요청이 많으면 한 번씩 오기는 한다. 메모리 문제가 사소하게(?) 생기면 문제 있는 인스턴스Mar 10Mar 10
peppermint100CocoaPods을 깃에 올려야 할까?, Commit 수정하기깃으로 소스를 관리 중인 프로젝트의 커밋을 수정할 일이 생겼다. 코드 리뷰를 받으려는데, 한 개 커밋에 CocoaPods 의존성 추가와 기능 추가를 위한 코드 수정이 함께 있었던 것.Jan 24Jan 24
peppermint100소프트웨어는 설계가 중요하구나나는 요즘 많이 보이는 비전공자 개발자는 아니다. 원래 과는 전자 공학과이고, 대학교 3학년 이 후 개발자를 하겠다고 마음을 먹은 후 컴퓨터 공학을 부전공한 반전공자 정도 되는 개발자다. 부전공의 최소 졸업 조건에 해당하는 학점은 21학점 정도로 3Jan 17Jan 17
peppermint1002023 회고내 나이가 서른이 되어가는 해였다. 사람마다 나이가 가지는 의미가 다르고 또 서른에 대한 의미가 다르게 느껴질 것이다. 평생 나에게 있어서 서른이란 성숙과 완성의 느낌이었다. 현실에 빗대어 표현하자면 한 사람 본인이 커리어적으로 잘 성장되어 빛나기Dec 3, 2023Dec 3, 2023