🎉 macOS 프로젝트 시작디테일한 커스텀을 위해서는 SwiftUI 기반보단 Storyboard 기반으로 프로젝트를 생성하는 것이 맞다고 느껴졌다.다음과 같이 프로젝트가 만들어졌다! macOS 앱은 import Cocoa가 기본으로 보였다. Cocoa는 AppKit, Foundation 등 여러 프레임워크가 포함된 프레임워크라고 한다. AppKit에서 NSView, NSViewController 등의 NS가 보이는데 이것은 macOS의 전신인 NeXTSTEP 운영체제에서 유래되었다고 한다. (아직 AppKit조차 제대로 모르는 상황에서는 이정도만 딱 아는게 맞다고 생각했다)어쨋든 아래와 같은 앱이 보이게 되고,내 mac으로 빌드를 해보면 위와같이 window가 뜨게 된다.하지만 나는 우선 이런 창이 필..
분류 전체보기
👨💻 개발 동기Screen Brush라는 앱을 잘 활용하고 있었는데 모양은 이뻤지만 추가 기능을 사용하려면 6,600원을 결제해야 했다. 물론 비싼 가격은 아니지만 뭔가 앱이 생각보다 단순해(?) 보여서 내가 원하는 기능들을 넣은 macOS 앱을 만들면 재밌지 않을까? 라는 생각에서 시작하게 되었다. 기능이 많이 추가된다면 유료화도 해볼까...? 👀 하지만 이 앱은 완전 추천이다. 화면을 공유하면서 어떠한 것을 공유할 때나 보여줄 때 좋은듯...! ScreenBrushDraw over the entire screen Quick and useful way to demonstrate something on the screen by drawing. It helps to concentrate atte..
🔥 문제 상황썸네일이 바뀌지 않는다!!!새로고침을 해도 썸네일이 바뀌지 않는 상황이 발생했습니다.🤔 원인콜렉션뷰의 DataSource에 전달해주는 값은 urlString으로 일정하기 때문입니다.라이브 스테이션은 동일한 urlString으로 이미지만 바꿔주는 형식으로 작동하기 때문입니다.💡 해결 과정🧑🏻💻 모든것을 Fetch 해오자!PR 링크Fetch 할때 이미지를 내려받아 dataSource에 넣어준다면 image자체가 바뀌었기 때문에 dataSource를 업데이트 해줄 수 있었습니다.채널 정보 및 URL 가져오기 → 가져온 URL로 이미지 로드하기 → apply snapshot👀 새로 생긴 문제 상황모든 이미지를 그때그때 받아보다보니 속도 저하 문제가 생겼습니다.Channel 모델에 불필..
🦸 히어로 애니메이션이란?히어로 애니메이션은 뭘까요? 아래와 같이 마치 앞으로 튀어나오듯이 화면간 전환을 연결하는 애니메이션 입니다.기본앱으로는 앱스토어에서 찾아볼수 있겠네요.앱스토어 히어로 애니메이션히어로 애니메이션의 장점모바일 앱 디자인이 발전하면서 앱 간 전환과 내비게이션이 단순한 클릭에서 점점 더 직관적이고 스토리텔링 중심으로 바뀌기 시작했습니다.각각의 UI 요소가 상태 간 전환할 때 컨텍스트를 잃지 않게 하는 부드러운 연결성을 가지고 있는 것이 특징입니다.맥락을 유지하고 사용자의 주의를 끌면서도 과도하지 않은 움직임으로 직관성을 높이는 효과가 있다고 합니다.🧐 코드 살펴보기복잡해보이지만 비교적 간단하게도...(?) 180줄 정도면 구현이 가능하다는 사실! 한번 살펴볼까요?우리의 목표완벽하게 ..
RTMP (Real Time Messaging Protocol)은 한줄요약 하자면 어드비에서 만든 실시간 TCP 기반의 메세지 규약, 주로 오디오와 비디오 데이터 전송을 위한 프로토콜이다. 2002년 Macromedia가 개발한 RTMP는 Flash기반의 오디오, 비디오 스트리밍을 지원하기 위해 나왔다고 한다. 2009년에 드디어 Adobe는 RTMP의 스팩을 공개하여 다른 곳에서도 사용 가능하게 되었다고 한다.🤔 왜 Message 일까?단순한 데이터 전송이 아닌 데이터 교환이나 메세지 전송을 주요 기능으로 하기 때문이다. RTMP는 오디오, 비디오, 텍스트 뿐만이 아니라 메타데이터와 제어 메세지도 전송하기 때문이다. 다양한 메세지를 수용할 수 있기 때문에 게임 스트리밍, 실시간 방송, 화상회의, 다중..
TCPTCP(Transmission Control Protocol)은 데이터를 통신하는 약속이라고 할 수 있다. 자세한 문서는 아래에 있지만... 다 읽어보기가 너무 겁난다... RFC 9293: Transmission Control Protocol (TCP)This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of cha..
💊 소켓이란?소켓은 네트워크 상의 두 장치 간에 데이터 전송 통로를 마련하는 인터페이스이다. 이렇게 말하면 ?? 가 떠오를 수 있는데 소켓을 단순하게 말하면 문자열 데이터(패킷)을 주고받는 것이다. 소켓은 통신에 필요한 데이터를 보관하는 곳(파일)이라고도 볼 수 있다. 하지만 마구잡이로 보낼수 없으니 어떠한 구조로 보낼지 약속을 한다. 이것을 프로토콜이라고 하는데 소켓은 네트워크 통신에서 TCP와 UDP라는 두 가지 주요 프로토콜을 사용한다. TCP, UDP에 대해서 간단히 요약을 하자면... 연결, 비연결이라고 볼 수 있을 것 같다.TCP (Transmission Control Protocol)데이터 전송을 보장하는 연결 기반 프로토콜이다. 데이터의 순서를 보장하고 패킷 손실이 없기 때문에 데이터가..
📝 공식 문서1. Defining data relationships with enumerations and model classes Defining data relationships with enumerations and model classes | Apple Developer DocumentationCreate relationships for static and dynamic data stored in your app.developer.apple.com2. Filtering and sorting persistent data Filtering and sorting persistent data | Apple Developer DocumentationManage data store presentation ..