분류 전체보기188 [어딨쥐] MVC에서 MVVM으로 리팩토링 하기 (1) MVC 패턴으로 되어있는 내 프로젝트를 MVVM으로 바꾸는 리팩토링을 해볼거다! 사실 얼마전에 Gemini 도움을 받아서 왕창 바꿨었는데 아직 개념도 다 잡히지 않은 상태에서 무작정 AI의 대답으로만 실행으로 옮기니 코드도 노답 내 이해 상태도 노답이라 롤백하고 다시 시작해본다! 첫번째 목표는 MarkerInfoInputViewController 비대해진 뷰컨을 MVVM 패턴으로 바꿔보자~ 그러려면 먼저 뷰컨에서 어떤 일들을 하고 있는지 파악해봐야겠다는 생각이 들었다. 1. UI 구성 및 관리- UI 요소 생성- UI 레이아웃 구성- 뷰 상태 변경2. 사용자 입력 및 UI 상호작용 처리- 텍스트 입력 처리- 카테고리 및 태그 선택- 이미지 업로드 및 처리- 저장 버튼 활성화 및 비활성화- 버튼 클릭 액션.. iOS/흡구오디 -> 어딨쥐 2025. 12. 17. [흡구오디] 가 [어딨쥐]가 되었습니다. 안녕하세요 오랜만이에요 충격 발언과 함께 돌아온 포스팅 제가 1년 동안 열심히 만들어나간 흡구오디가 애플 심사라는 커다란 벽에 막혀 어딨쥐로 재탄생하였습니다. [기존]앱 이름 : 흡구오디용도 : 흡연구역 공유 어플리케이션 -> [변경 후]앱 이름 : 어딨쥐용도 : 생활 편의시설(쓰레기통, 화장실, 정수기, 흡연구역) 공유 어플리케이션 으로 조금 바뀌었어요. 이와 관련된 스펙타클한 얘기들은 차차 포스팅 해보도록할게요 그럼 안녕~ iOS/흡구오디 -> 어딨쥐 2025. 12. 17. 251210 TIL MVVM 패턴 참말로 헷갈리는 MVVM 패턴 기존에 MVC로 되어있던 내 프로젝트를 MVVM으로 리팩토링 하는 중에MVVM을 제대로 이해하지 못하고 코드만 바꿔대고 있는거 같아 다시 해보는 공부.. Model: 데이터와 비즈니스 로직의 원천Model 계층은 애플리케이션의 데이터와 그 데이터를 처리하는 핵심 규칙을 담고 있습니다. View: 데이터의 시각적 표현 및 사용자 입력View는 비즈니스 로직을 가져서는 안 됩니다. 예를 들어, 데이터를 포맷팅하거나 조건에 따라 계산하는 로직은 View에 존재해서는 안 되며, 오직 ViewModel이 가공해준 데이터를 보여주는 역할에만 충실해야 합니다. ViewModel: View를 위한 추상화된 모델MVVM의 중추인 ViewModel은 View를 위한 Model(Model f.. TIL 2025. 12. 10. 251208 TIL 싱글톤 패턴 오늘은 싱글톤 패턴에 대해 알아보았다. 내가 작성했던 코드가 싱글톤 패턴이었는데알고보니 이는 안티패턴이라고 여겨지는 경우가 많았다. 그래서 이에 대해 알아보는 시간을 가졌다. 아래 내용은 Gemini deep research가 연구해준 내용.. Swift 아키텍처와 싱글톤 패턴: 현대적 iOS 개발을 위한 심층 분석 보고서1. 서론: 싱글톤 패턴의 위상과 본질소프트웨어 엔지니어링의 역사에서 싱글톤(Singleton) 패턴만큼 개발자들 사이에서 극명한 호불호와 논쟁을 불러일으키는 디자인 패턴은 드물다. 특히 iOS 애플리케이션 개발 생태계인 Swift 환경에서 싱글톤은 입문 단계의 개발자에게는 더할 나위 없는 편리함을 제공하는 도구이자, 숙련된 아키텍트에게는 코드베이스의 유연성을 저해하는 잠재적 기술 부채.. TIL 2025. 12. 8. 251205 TIL ActivityIndicator ActivityIndicator 구현https://github.com/ReactiveX/RxSwift/blob/main/RxExample/RxExample/Services/ActivityIndicator.swift RxSwift/RxExample/RxExample/Services/ActivityIndicator.swift at main · ReactiveX/RxSwiftReactive Programming in Swift. Contribute to ReactiveX/RxSwift development by creating an account on GitHub.github.com//// ActivityIndicator.swift// RxExample//// Created by Krunoslav Zah.. TIL 2025. 12. 5. [흡구오디] 에플 로그인 구현하기 안녕하세요? 잠이 안와서 글 쓰러 하러왓서요 밀린 포스팅들 레쓰고... 사실 앱 심사 냈는데 2주째 리젝의 늪에서 씨름 중이라 억울하고 분하고 슬푸고 엉엉슨 그래도...하던건 해야하니까 마음 가담듬고 애플로 로그인 고고싱 ㅠㅠ Apple은 다른 업체의 소셜 로그인 기능 제공 시 apple 로그인을 제공하지 않으면 100% 리젝당한다고 합니다.그러니까 소셜 로그인 구현한다면 애플 로그인은 필수겠죠 참고로 애플 로그인 구현하려면 애플 개발자 계정이 필수랍니다!그런데 이제 129,000원으로 유료인... 0. 애플 개발자 계정 등록하기https://developer.apple.com/kr/programs/enroll/ 멤버십 가입하기 - Apple Developer ProgramApple Developer P.. iOS/흡구오디 -> 어딨쥐 2025. 11. 20. 맥북에 UTM으로 윈도우 설치하기 https://m.blog.naver.com/awolisml/223386366513 UTM으로 맥북에어 M1에 윈도우 11 ARM 설치하기주변에 맥북을 구입할 때 많은 분들이 고민하는 것 중 하나가 윈도우에서 사용하던 프로그램들을 맥 OS에...blog.naver.com 이 포스팅 참고하기! 23G/끄적끄적 2025. 11. 20. [흡구오디] firebase firestore 문서 업데이트하기 안녕하세요 저 지금 올린 흡연구역 업데이트하는 기능을 개발하고 있는데요, firebase firestore에서 update를 써도 / set을 써도(set 써도 기존에 있는 문서면 업데이트 된다고 함. ((그럼 업데이트 함수는 왜 있는겨??))) 흡연구역 정보가 업데이트 되는게 아니라, 새로 생겨서 업로드 되는거예요??? 알고봤더니 문제는 문서ID를 기반으로 이 문서가 있는지 없는지 판단을 하는데,제가 데이터 읽기 쉬우려고 "흡연구역 이름_올린시간" 형태로 문서ID를 설정했거덩요? 그래서 흡구 이름이 변하거나 올린 시간이 변하면 아 이 문서ID는 없는 문서네???새로 업로드해야겠다!!!!! 하는거였음 안습,,,,OTL 결국 데이터 편하게 보기 위한 꼼수는 실패로 돌아갔구요...위도 경도 값으로 문서.. iOS/흡구오디 -> 어딨쥐 2025. 10. 24. [흡구오디] Xcode - 앱 이름 변경하기 안녕하세요 오늘은 제 앱의 표시되는 이름을 변경해줄거예요 프로젝트 이름은 "SmokingAreaOdi"로 되어있지만 저는 이 앱의 이름을 "흡구오디"로 할거랍니다? 방법은 초간단 TARGETS > Build Setting > Bundle Dispaly Name을 지정해주면 돼요!(All로 해야 보임, 혹은 검색 고고) 그럼 짜잔 변경 완료~ 그럼 안녕히 계세요.. iOS/흡구오디 -> 어딨쥐 2025. 10. 3. [흡구오디] Swift - Firebase 구글 로그인 기능 구현하기 안녕하세요 오늘은 저번 포스팅에 이어서 파이어베이스로 구글 로그인 하는 방법에 대해 정리해보겠습니다.구글 로그인 방법우선 공식 문서의 Google 로그인 구현 3번까지 따라해 주세요! 4번부터 어떻게 하라는건지 이해가 잘 안됐는데 아래처럼 하시면 되어요 참고로 공식문서의 코드는 이렇게 되어있고guard let clientID = FirebaseApp.app()?.options.clientID else { return }// Create Google Sign In configuration object.let config = GIDConfiguration(clientID: clientID)GIDSignIn.sharedInstance.configuration = config// Start the sign i.. iOS/흡구오디 -> 어딨쥐 2025. 10. 3. [흡구오디] Swift - firebase Authentication로 이메일 로그인 구현하기 안녕ㅎㅏ세요 저는 그동안 로그인 기능을 구현하고 있었답니다? 그럼 오늘은 로그인 방법에 대해 정리해볼게요! 로그인 방법이번 포스팅은 firebase의 가장 기본적인! Authentication의 이메일 / 비밀번호 방법으로 로그인 하는 법에 대해 알아보겠습니다. 제공업체 추가먼저 콘솔 > Autentication > 로그인 방법 > 새 제공업체 추가 에 가서 [이메일/비밀번호]를 선택해주세요 그리고 앞으로 나오는 방법에 대한 내용은 모두 공식 문서를 기반으로 합니다. 신규 사용자 가입 방법이렇게 설정을 해두고 나면, 이제 코드에서 createUser API를 호출해서 신규 유저를 만들 수 있아요Auth.auth().createUser(withEmail: email, password: password) {.. iOS/흡구오디 -> 어딨쥐 2025. 10. 3. [흡구오디] 각 서비스별 로그인 버튼 가이드 따라가기 안냥하세요 지금 로그인 기능 열심히 만들고 있는데요 각 서비스별로 따라야할 로그인 버튼 디자인 가이드 간단히 정리해볼게요 구글 로그인 디자인 가이드 카카오 로그인 디자인 가이드 iOS/흡구오디 -> 어딨쥐 2025. 9. 24. 이전 1 2 3 4 ··· 16 다음