본문 바로가기

분류 전체보기41

[SwiftUI] InteractiveUI (Gesture, Animation, Transition) 안녕하십니까, 민트입니다. 😈스터디 중 SwiftUI의 InteractiveUI들에 대해 정리해 보았습니다.1. Gesture@GestureState제스처가 진행 중일 때만 임시적으로 상태를 유지제스처가 끝나면 자동으로 초기값으로 되돌아가는 상태 래퍼 (일시적)상태에 따라 뷰 속성을 실시간으로 변화시킴@State 처럼 지속적인 변화가 아닌, 임시 상태 용도제스쳐 추적하는 동안 콜백을 통해 상태를 직접 갱신updating: 제스쳐가 변경되는 순간, 일시적인 UI 상태onChanged: 제스쳐를 사용하는 동안의 UI 상태, 종료 후 재설정 XonEnded: 종료 후 상태 재설정Gesture Composition TypeSimultaneous여러 제스쳐를 합쳐서 한 번에 인식Sequenced여러 제스쳐 상태.. 2025. 4. 21.
[오브젝트] 4장. 설계 품질과 트레이드 오프 📕 기억에 남는 문장객체 지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다.객체지향 설계의 핵심은 책임책임을 할당하는 작업이 응집도와 결합도 같은 설계 품질과 깊이 연관되어 있음설계는 변경을 위해 존재하고 변경에는 어떤 식으로든 비용이 발생한다. 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만드는 것이다.결합도와 응집도를 합리적인 수준으로 유지할 수 있는 중요한 원칙이 있다. 객체의 상태가 아니라 객체의 행동에 초점을 맞추는 것이다.객체지향 설계에서는 두 가지 방법을 이용해 시스템을 객체로 분할할 수 있다.상태(데이터)를 분할의 중심축으로 삼는 방법객체는 자신이 포함하고 있는 데이터를 조작하는데 필요한 오퍼레이션 정의객.. 2025. 4. 13.
[iOS] 원격 모듈 업그레이드 오류 (Could not compute dependency graph: unable to load transferred PIF: The workspace contains multiple references with the same GUID 'PACKAGE:1YM1U4L3KHXI6YAJKZPL0AW5PXP8KNX9R::MAINGROUP') 안녕하십니까, 민트입니다 😈키체인 오픈소스를 만들어서 작업하던 중, 업그레이드를 했더니 문제가 생겼습니다. 더보기Showing Recent Issues Failed to resolve dependencies Dependencies could not be resolved because no versions of 'keychainmodule' match the requirement 1.0.2..Resolving Package Graph Failed    4/10/25, 7:00 PM    1.8 seconds키체인 모듈을 적용하고 있던 프로젝트에서 업그레이드한 1.0.2를 읽지 못하는 것입니다. clean build를 해도 여전히 다음과 같은 오류가 떴습니다. 더보기Showing Recent IssuesP.. 2025. 4. 11.
[오브젝트] 3장. 역할, 책임, 협력 📕 기억에 남는 문장들객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다.객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다.객체지향에서 가장 중요한 것은 역할, 책임, 협력이다. 역할, 책임, 협력이 제자리를 찾지 못한 상태라면 응집도 높은 클래스와 중복 없는 상속 계층을 구현한다고 하더라도 여러분의 애플리케이션이 침몰하는 것을 구원하지 못할 것이다.협력객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용객체는 고립된 존재가 아니라 시스템의 기능이라는 더 큰 목표를 달성하기 위해 다른 객체와 협력하는 사회적인 존재다. 협력은 객체지향의 세계에서 기능을 구현할 수 있는 유일한 방법이다.어떤 객체가 다른 객체에게 무언가를 요청하는 것.. 2025. 4. 4.
[iOS/WWDC21] Explore structured concurrency in swift 1 안녕하십니까, 민트입니다. 😈 WWDC21 Explore structured concurrency in swift를 보고 내용을 정리해 보았습니다.양이 많아서 Part1과 2로 분리합니다.구조적 프로그래밍초기에 컴퓨터를 사용할 때는 명령어 시퀸스로 작성되어 제어 흐름을 관리하기 어려웠습니다. 하지만 요즘은 언어에서 구조화된 프로그래밍을 사용하여 제어 흐름을 균일하게 만들기 때문에 이러한 일은 거의 없어졌습니다.예를 들어 if - else문은 구조화된 제어 흐름을 사용합니다. 중첩된 코드 블록이 위에서 아래로 이동하는 동안에만 조건부로 실행됩니다. 이처럼 Swift에서는 해당 블록이 정적 범위인 scoping을 따릅니다. 이에 해당 블록 내에서 정의된 변수들의 생명 주기는 블록을 벗어날 때 끝납니다.이처.. 2025. 4. 1.
[혼자 공부하는 컴퓨터 구조 + 운영 체제] 2장 데이터 📕 기억에 남는 문장들0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 합니다. 비트는 전구에 빗대어 생각해 보면 이해하기 쉽습니다.1 byte8 bit1 kB1,000 byte1 MB1,000 kB1 GB1,000 MB1 TB1,000 GBword란 CPU가 한 번에 처리할 수 있는 데이터 크기를 의미합니다. 만약 CPU가 한 번에 16 비트를 처리할 수 있다면 1워드는 16비트가 되고, 한 번에 32 비트를 처리할 수 있다면 1워드는 32 비트가 되는 것이죠.정의된 워드의 절반 크기를 하프 워드, 1배 크기를 풀 워드, 2배 크기를 더블 워드라고 부릅니다.이진수의 음수 표현컴퓨터는 0과 1만 이해할 수 있기 때문에 마이너스 부호를 사용하지 않고 0과 1만으로 음수를 표현해야 합니다.가장 .. 2025. 3. 28.
[혼자 공부하는 컴퓨터 구조 + 운영체제] 1장 컴퓨터 구조 시작하기 📕 기억에 남는 문장들컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있습니다.성능, 용량, 비용 문제는 프로그래밍 언어의 문법만 알아서는 해결하기 어렵습니다.컴퓨터 구조를 이해하면 입력과 출력에만 집중하는 개발을 넘어 성능, 용량, 비용까지 고려하며 개발하는 개발자가 될 수 있습니다.컴퓨터 구조 지식컴퓨터가 이해하는 정보: 0과 1데이터: 숫자, 문자, 이미지, 동영상과 같은 정적인 정보명령어: 데이터를 움직이고 컴퓨터를 작동시키는 정보컴퓨터의 네 가지 핵심 부품 CPU(중앙처리장치)ALU(산술논리연산장치): 계산기제어장치: 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치레지스터: CPU 내부의 작은 임시 저장 장치, 여러 개가 존.. 2025. 3. 27.
[오브젝트] 2장 객체지향 프로그래밍 (feat. POP와의 비교) 📕 기억에 남는 문장들진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 이를 위해서는 프로그래밍 하는 동안 다음의 두 가지에 집중해야 한다.어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라.클래스는 공통적인 상태와 행동을 공유하는 객체들을 추상화한 것이다. 따라서 클래스의 윤곽을 잡기 위해서는 어떤 객체들이 어떤 상태와 행동을 가지는지를 먼저 결정해야 한다. 객체를 중심에 두는 접근 방법은 설계를 단순하고 깔끔하게 만든다.객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야 한다. 객체는 홀로 존재하는 것이 아니다. 다른 객체에게 도움을 주거나 의존하면서 살아가는 협력적인 존재다.훌륭한 협력이 훌륭한 객체를.. 2025. 3. 26.
[Flutter] Uncategorized (Xcode): Command CodeSign failed with a nonzero exit code. 안녕하십니까, 민트입니다 😈플러터 프로젝트를 하는 중 문제가 생겼습니다.Uncategorized (Xcode): Command CodeSign failed with a nonzero exit code.Could not build the application for the simulatorError launching application on iPhone 15 Pro.1. Signing & Capabilities Team제가 처음부터 끝까지 하는 프로젝트가 아니라 다른 메인 개발자 분이 계신 상태이고, 그분이 대부분의 파일을 생성하셨습니다. 때문에 Apple signing & Capabilities의 Team 역시 그분의 것으로 되어 있었고, 이로 인해 빌드가 되지 않았습니다. 때문에 로컬에서 작업하고 .. 2025. 3. 25.