번호 : 010, 작성일자: 2025-03-17

2025.03.10 ~ 2025.03.16

✈️ 사이드 프로젝트 설계


사이드프로젝트 설계 순서 : 아키텍처패턴 → 디자인 리소스 → 기획 → 사용기술

사이드프로젝트를 시작하기 전에 아키텍처패턴들에 대해서 생각을 해보았습니다. 일단 GUI 아키텍처패턴에 대한 강의를 시청하고, 해당 강의를 시청한 후 느낀점은 아키텍처패턴들로 문제점을 해결해가는 것 이아니라, 개발환경에 따른 아키텍처패턴을 선택하는 것이 중요하다는 점을 매우 공감했습니다.

아래 아키텍처패턴별로 참고하기 좋은 템플릿들을 발견했습니다.

사이드프로젝트를 개발할 때 Design에 대해서도 고려해야 하는데 Figma Community에서 검색하면 다양한 Mobile Design Template등을 제공하고 있습니다.

서비스 기획측면에서는 어떤 프로젝트를 만들지 고려했습니다.

또한, 기술측면에서 서버에 데이터를 저장할 지 기기에 데이터를 저장할 지에 대해 생각해보다가 이번에 그동안 사용해보지 않았던 SwiftData를 사용해봐야겠다 생각했고, Firebase에서 Emulator를 활용하면 Dev환경에서 요금걱정없이 로컬에서 직접 실행할 수 있는 기능이 있다는 것을 알게 되었습니다.

🙋🏻‍♂️ 기타 사항


  1. iOS 프로젝트의 보안을 위해 gitignore를 통해 swift 파일을 올리지 않는 방법을 활용했는 데 xcconfig에서 변수를 설정하여 하는 경우도 있는 것 같습니다.
  2. 지도와 관련된 서비스를 제공하는 도메인은 우리나라 주소에서 행정동, 법정동, 도로명 주소 중 어떤 주소를 기준으로 기획과 디자인을 설계해야하는지에 대한 부분도 고려하면 좋을 것 같습니다.
    • 추가로, 각 주소별로 코드도 제공되고 있습니다.
  3. Xcode에서 TSan(Thread Sanitizer) 설정을 통해 동시성프로그래밍 중 경쟁상태가 발생하는 부분을 발견해서 수정했습니다.
    • 값이 읽고 쓰는 부분을 sync로 처리하던지 barrier를 활용해도 되지만 해당 부분은 다른 큐에서 작업할 필요가 없어서 글로벌큐로 보내지 않도록 수정했습니다.
  4. Tmap EDC SDK라는 앱투앱으로 Tmap 앱의 데이터를 자신의 앱으로 전달해주는 SDK의 샘플을 실행해봤는데 안드로이드에서는 3rd-party 앱인데 데이터전달이 매끄러운 것이 신기했습니다.