본문 바로가기

전체 글

(6)
MVVM with ChatGPT MVVM이란? MVVM(Mode-View-ViewModel) 아키텍처는 현대 소프트웨어 개발에서 널리 사용되는 아키텍처 패턴 중 하나입니다. 이 아키텍처 패턴은 Microsoft에서 개발되었으며, 기존의 Model-View-Controller (MVC) 패턴을 확장하고 개선한 것으로 알려져 있습니다. MVVM 아키텍처의 탄생 배경에는 WPF (Windows Presentation Foundation) 및 Silverlight 프레임워크의 등장이 큰 영향을 미쳤습니다. Microsoft은 이러한 프레임워크를 개발하면서 사용자 인터페이스(UI)와 비즈니스 로직을 분리하기 위한 새로운 아키텍처 패턴이 필요하다고 판단했습니다. MVVM은 Model, View, 그리고 ViewModel로 구성됩니다. Model은..
foreach와 for-in에서 탈출방법 Objective-C에서 foreach 구문인 enumarate를 보면 포인터로 stop이 있는 것을 볼 수 있다. 하지만 Swift에서는 stop이 없어져서 루프를 돌다가 탈출하고싶을때 break를 넣어줬는데 swift에서의 break는 for-in이나 Switch같은 정말 루프를 도는 구문에서만 사용가능한 키워드여서 적용이 안된다. swift의 foreach는 해당 함수내에서 루프를 돌면서 클로저를 실행시키는 형태라 루프가 아니기때문에 break로 탈출이 불가능하다. 그렇다고 해서 return을 쓰면 해당 클로저에서의 return이기때문에 해당 클로저만 종료될뿐 다음 클로저는 계속 실행이 된다. 그래서 굳이 탈출하고 싶으면 do-try-catch로 감싸서 아무에러나 throw해줘야한다. let arr..
iOS CallKit CallKit iOS10부터 지원되기 시작한 신규 기능. 이때부터 부분적으로나마 iOS의 통화화면 기능을 제어할 수 있게 되었습니다. 소개 CallKit 이전의 Voip역사 Voip서비스를 제공하는 앱들이 예전부터 있었으나 이 앱들의 문제점은 전화를 수신했을때 사용자에게 알리는 것이 문제였습니다. 수신 전화를 알리는데 일반 푸시로는 백그라운드 상태의 앱을 깨울 수가 없어서 연결과정은 앱에 진입했을때만 가능했었습니다. 이런 불편한 점은 iOS8부터 PushKit(VoipPush)이 도입되어 해결이 되었는데 voip push인 경우 앱을 깨우고 일반 푸시일때는 불가능한 백그라운드 동작을 일부 허용해주는 식으로 개선이 되었습니다. 하지만 iOS의 전화화면에 대한 커스텀은 불가능하여 iOS9까지 전화가 와도 노..
WebRTC란? 💡 WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. - https://webrtc.org WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있다. - 위키백과 WebRTC는 위의 위키백과의 한줄로 잘 소개되어 있듯이 웹(Web)에서 복잡한 플러그인 없이 서로가(P2P) 통신할 수 있도록(RTC) 만들어진 API입..
WebRTC remind 다시 인연이 없을줄 알았던 WebRTC쪽을 볼 일이 생겨서 리마인드 차원에서 정리하는 글을 남겨보고자 한다. 처음 프로젝트를 하면서 알게된 지식위주로 정리를 해볼려고 한다. 일단 다음과 같은 목차로 정리해볼려고 하는데, 현재 생각나는거 위주로 정리하는지라 글을 쓰다보면 달라질지도 모르겠다. WebRTC란? WebRTC 3대 API - PeerConnection, MediaStream, DataChannel Stun/Turn & Signaling SDP MediaServer iOS에서는 어떻게 사용하는가
첫 글. 개발하면서 알게된 것들을 정리하는 자리로 열심히 운영해볼려고 합니다. 얼마나 갈지는 모르겠지만 화이팅.!