전체 글196 새로운 방향 잡기! 안녕하세요? 5개월만에 글을 쓰네요그동안 많은 변화가 있었답니다? 우선은 지난 1년 반 동안 준비하고 공부해왔던 iOS 앱 개발을 잠시 멈추었습니다.iOS 개발자로의 취업을 도전해왔지만때로는 포기할 때를 아는 것도 중요하다고 생각했고많은 고민 끝에 이러한 결정을 내리게 됐어요. 그렇지만 아쉽거나 후회되지는 않아요!iOS 개발자로 "취직"하지는 못했지만저는 여전히 앱을 만드는, 만들줄 아는, 만들어 본 개발자니깐요!과정 속에서 많은 것을 배우고 성장하기도 했어요. 이제는 이 경험을 바탕으로 새로운 도전을 시작해보려고 합니다. 요즘은 저의 경력을 살려 AX 분야로 이직을 준비해보려구요 사람들의 삶에 유용하고 편리한 변화를 만들어주고 싶어 앱을 개발하던 저는AI를 통해 업무를 혁신 시키는 일을 해보고 싶어.. 23G/끄적끄적 2026. 7. 29. [Git] 이전 작업으로 돌아가는 세가지 방법 하이염 맨날 무지성으로 깃 쓰다가강의 들으면서 제대로 다시 배우고 있는 요즘이예요 오늘은 이전 작업으로 돌아갈 수 있는 세가지 방법에 대해 알아보자요 1. reset아예 특정 시점으로 초기화 시키는 방법git reset --hard 깃해시 이렇게 되면 특정 시점 이후의 작업들이 날라가유2. revert해당 작업의 반대 작업을 통해 작업을 되돌리는 것git revert 깃해시 이렇게 되면 되돌릴 커밋 이후 작업들은 유지되어요 3. checkout 해당 시점에 방문하는 것git checkout 깃해시 STUDY 2026. 2. 8. [어딨쥐] 카테고리 선택 기능 리팩토링하기 이번 타겟은 마커 정보를 입력받는 MarkerInfoInputViewController !!!오늘은 카테고리 선택 로직을 뷰 모델로 옮기자 ㄱㄱ 1. 문제 파악: 뭐가 너무 많다기존 코드는 뷰컨트롤러가 UI도 그리고,데이터(selectedCategory, selectedTags)도 직접 들고 있었다.// 비포// 뷰컨트롤러가 데이터까지 관리하니까 코드가 비대해짐class MarkerInfoInputViewController: UIViewController {private var selectedCategory: String? //얘 여기있으면 안됨private var selectedTags: [String] = []func onCategorySelected(_ category: String) {// 버튼.. iOS/흡구오디 -> 어딨쥐 2026. 2. 6. 260203 TIL | MVVM Input/Output 타입 선택 어떤 타입을 써야할까 고민이 된다.상황추천 타입이유VC -> VM (버튼 클릭 등 단순 이벤트)PublishRelay초기값 필요 없고, UI 스트림이 에러로 끊기면 안 됨VC -> VM (텍스트 입력, 스위치 값)BehaviorRelay현재 입력된 값이 유지되어야 하며(State), 스트림 보존 필요VM -> VC (라벨 업데이트, 리스트 출력)Driver메인 쓰레드 보장 + 에러 방지 + UI 최적화VM 내부 (네트워크 통신, DB 작업)Observable성공/실패(Error/Completed) 처리가 명확해야 함 이런 기준으로 작성하는 것을 추천!!! 카테고리 없음 2026. 2. 3. [Git] Git Flow 공부하기 가 아니라 Github Flow 공부하기! 안뇽하세요 새로운 팀 프로젝트를 시작했다! 협업 방식은 Git Flow 방식으로 진행하기로 했다. 맨날 혼자 push, pull만 하던 나에게 드디어 Git으로 협업을 하는 기회가! Git Flow 방식을 처음 사용해보는 것이기 때문에 공부를 해보겠읍니다. 제일 유명한 사진은 이것인듯? 내가 이해한 Git flow는 여러 브랜치를 나눠서 - 출시할 main- 신 기능을 개발하는 develop- 각 기능에 대한 feature- develop을 올려놓을 release- 급하게 고칠 것들 hotfix 이런 식으로 각 코드들을 관리하고 각종 상황에 대비하는 것이다. 이렇게 브랜치 나눠서 관리하는 것은 알겠고.. 이렇게 할 수 있어야 하잖아요??? 이건 제가 알아서 실습해볼게요 그럼 안녕~ 헐퀴 여기까지 썼.. STUDY 2026. 2. 1. [어딨쥐] MVC에서 MVVM으로 리팩토링 하기 (2) 안녕하세야 MVVM 패턴으로 리팩토링 하고 있어요 왤케 감이 안잡히는지... 먼저 제일 뚱땡한 MarkerInfoInputVC부터 고치고 있어요. 이 뷰컨의 하는 일은 넘어온 lat, lng 데이터를 전달받고사용자가 입력한 데이터를 파이어베이스에 저장하는 것이예요 +a로 수정 모드일 때는 기존 데이터 불러와서 보여주기이미지 저장 및 수정 등등 많은 비즈니스 로직을 담당하고 있었답니다. 그럼 이제 MVVM으로 바꾸기 위해!!! 저는 Rxswift를 사용했답니다. 목표는 "뷰는 뷰모델이 뭔지 모르고 오직 데이터만 주고 받는다!" 1. 데이터 규격 정의 뷰에서 입력받은 날것의 데이터들을 하나로 묶어줄 AreaInput 구조체를 정의했서요 struct AreaInput { let name: String?.. iOS/흡구오디 -> 어딨쥐 2026. 1. 24. 클로저에 대해 아라보자,,, 맨날 쓰는데 무지성으로 쓰던 클로저! 오늘은 클로저에 관해 알아보자 : ) 1. 클로저란?클로저가 무엇이냐하면이름이 없는 익명 함수라고 생각하면 된다. 그리고 그걸 변수에 담을 수 있음! 그렇게 저장하거나 다른 곳으로 전달해서 쓰고 싶을 때 사용할 수 있겠쥬? 2. 표현식{ (매개변수) -> 반환타입 in 실행할 코드} 이런식으로 써주면 되고, 실제 예시를 알아보자면doSomething(closure: { () -> () in print("안뇽")}) 3. 클로저 축약하기위와 같은 클로저 사용법에서 파라미터 형식과 리턴 형식 생략-> $0을 사용하고 파라미터 이름을 생략-> 단일 리턴문만 남을 경우 리턴도 생략-> 마지막 파라미터면 트레일링 클로저로 작성-> ()에 아무것도 없다면 생략 해서 // .. iOS/swift 2026. 1. 13. 251228 TIL | MVVM으로 리팩토링하기 내 프로젝트 [어딨쥐]를 기존의 MVC에서 MVVM으로 리팩토링하는 과정에 있다. MVVM으로 리팩토링 하는 과정! 아직까지 잘 이해가 안된다!!! 그래서 공부하는 중 - ViewController의 상태와 데이터를 ViewModel로 옮긴다. - ViewController에서 비즈니스 로직을 분리한다. - Service 만들어서 데이터 처리 전담시킨다. - ViewModel : UIKit을 import하지 않는다(라고 하는데 아직 공식 문서는 못찾음 ㅋ)아마 UI에 관한 내용을 포함하지 않으니 UIKit을 import 할 필요가 없다는거 아닐까! 라고 이해중 올해도 끝나가는구나뿌듯함도 아쉬움도 있는 2025년.. 마지막까지 잘 지내서 기뻤던 한 해로 기억하고 싶다! TIL 2025. 12. 28. [어딨쥐] 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. 이전 1 2 3 4 ··· 17 다음