본문 바로가기
반응형

전체 글63

72시간 법칙 72시간 법칙이란? 72시간 법칙은 간단히 말해, 목표를 설정한 후 72시간, 즉 3일 이내에 그 목표를 향한 첫 번째 행동을 취하지 않으면 목표를 달성하기 어렵다는 심리학적 원리를 말합니다. 이 법칙은 우리의 동기 부여와 행동 패턴에 대한 연구에서 비롯된 것입니다. 왜 72시간일까요? 사람의 뇌는 새로운 목표를 설정하고 나서 초기에 높은 동기와 열정을 느낍니다. 그러나 시간이 지남에 따라 그 동기와 열정은 급격히 감소하기 시작합니다. 72시간은 이 초기 동기가 유지되는 기간으로, 이 시간 안에 행동을 시작하지 않으면 목표를 이룰 가능성이 급격히 줄어들게 됩니다. 어떻게 활용할 수 있을까요? 72시간 법칙을 활용하는 방법은 매우 간단합니다. 중요한 것은 행동을 시작하는 것입니다. 다음은 이 법칙을 실생활.. 2024. 7. 28.
indirect 키워드 Swift 언어에서 indirect 키워드란? indirect 키워드는 특정한 경우에 매우 유용하게 사용됩니다. 이번 글에서는 indirect 키워드가 무엇인지, 왜 사용하는지, 그리고 예시 코드를 통해 이해를 돕고자 합니다. indirect 키워드란? indirect 키워드는 Swift에서 열거형(enum)이나 구조체(struct) 내부에서 자기 참조(self-referential)를 할 수 있도록 도와주는 키워드입니다. Swift의 열거형은 기본적으로 값 타입(value type)입니다. 따라서 값 타입의 인스턴스가 자기 자신을 참조하는 경우 무한 재귀에 빠질 위험이 있습니다. 이를 해결하기 위해 indirect 키워드를 사용하여 간접 참조(indirect reference)를 허용합니다. 왜 사용하.. 2024. 7. 28.
UITableView style grouped 사용할 때 아래 여백이 생기는 문제 UITableView의 grouped 스타일을 사용할 때 섹션 헤더와 푸터의 기본 높이는 자동으로 설정됩니다.높이 값으로 인해 원치 않는 여백을 제거 하기 위해서 아래 가이드를 따라 주세요. 1.delegate method를 구현func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { UIView()} func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { .leastNormalMagnitude} 위에 까지 적용하면 높이는 줄어드는데 여백이 조금 남습니다. 2.FooterVi.. 2024. 7. 23.
[Combine Framework] Publisher, Subscriber, Upstream, DownStream 정리 퍼블리셔(Publisher): • 퍼블리셔는 데이터를 생성하고 배포하는 역할을 합니다. 예를 들어, 서버에서 데이터를 받아오는 작업을 수행할 수 있습니다. 퍼블리셔는 구독자(subscriber)에게 데이터를 전달합니다.  2. 구독자(Subscriber): • 구독자는 퍼블리셔로부터 데이터를 받아 처리하는 역할을 합니다. 구독자는 퍼블리셔에 연결되어 데이터를 수신하고, 이를 사용하거나 다른 작업을 수행할 수 있습니다.  3. 업스트림(Upstream): • 업스트림은 데이터가 시작되는 쪽을 의미합니다. 즉, 퍼블리셔 쪽을 업스트림이라고 부릅니다. 퍼블리셔는 데이터를 생성하여 구독자에게 전달합니다.  4. 다운스트림(Downstream): • 다운스트림은 데이터가 도착하는 쪽을 의미합니다. 즉, 구독자 쪽.. 2024. 7. 3.
xcconfig로 build setting 설정하기. .xcconfig를 이용한 빌드 설정의 이유와 장점 1. 설정의 분리와 가독성 향상  • 코드와 설정 분리: 빌드 설정을 소스 코드와 분리함으로써, 설정 파일이 더 깔끔하고 관리하기 쉬워집니다. • 가독성: 텍스트 파일 형식의 .xcconfig 파일은 Xcode UI보다 설정을 일목요연하게 정리할 수 있습니다. 2. 환경별 설정 관리 용이  • 환경별 설정 관리: 개발, 테스트, 프로덕션 등 다양한 빌드 환경별로 설정을 쉽게 관리할 수 있습니다. • 중복 최소화: 공통 설정을 하나의 파일로 관리하고, 환경별로 필요한 설정만 덧붙일 수 있어 설정 중복을 최소화할 수 있습니다. 3. 버전 관리  • Git 등 VCS 관리 용이: .xcconfig 파일은 텍스트 파일이므로 Git 등의 버전 관리 시스템에서 변.. 2024. 7. 2.
URLCache URL Cache는 네트워크 요청에 대한 응답 데이터를 캐시하여, 동일한 요청에 대해 더 빠르고 효율적으로 응답을 제공하는 메커니즘입니다. URL Cache를 통해 네트워크 트래픽을 줄이고, 응답 시간을 단축하며, 앱의 성능을 향상시킬 수 있습니다. URL Cache의 주요 기능  1. 캐싱 정책: • URL Cache는 HTTP 응답 헤더에서 제공하는 캐싱 지침을 따릅니다. 이러한 지침은 서버가 클라이언트에게 응답을 캐시할지 여부와 캐시 기간을 알리는 방법입니다. • 대표적인 헤더: • Cache-Control: 캐시 동작을 제어하는 가장 일반적인 헤더. 예: no-cache, max-age, public, private. • Expires: 응답이 만료되는 날짜와 시간을 지정합니다. • ETag: 응.. 2024. 7. 1.
@resultBuilder resultBuilder란? resultBuilder는 Swift 프로그래밍 언어에서 사용되는 특수한 기능으로, 여러 개의 값을 조합해서 하나의 결과를 만들어내는 방식입니다. 일종의 “레고 블록”을 쌓아서 하나의 완성된 모형을 만드는 것과 비슷합니다. 예를 들어, 우리는 여러 개의 작은 블록을 쌓아서 큰 집을 만들 수 있습니다. resultBuilder는 여러 개의 작은 값을 받아서 하나의 큰 값을 만들어내는 “건축가”와 같은 역할을 합니다. 비유를 통한 설명 우리가 집을 짓는다고 생각해봅시다. 집을 짓기 위해서는 벽돌, 창문, 문, 지붕 등이 필요하겠죠? 하나씩 모아서 집을 완성할 수 있습니다. 마찬가지로, resultBuilder는 여러 개의 값을 하나로 합쳐주는 기능을 제공합니다. 예를 들어, 여러.. 2024. 6. 26.
MVP 패턴(Model, View, Presenter) for UIkit MVP 패턴의 유래MVP 패턴은 1990년대에 IBM의 개발자들이 "Taligent" 프로젝트에서 처음 개발한 것으로 알려져 있습니다. Taligent는 객체 지향 운영 체제와 개발 환경을 목표로 했던 프로젝트로, 여기서 MVP 패턴이 처음으로 소개되었습니다. 이후 다양한 애플리케이션 개발에 적용되면서 널리 사용되기 시작했습니다. MVP 패턴은 특히 안드로이드와 같은 모바일 애플리케이션 개발에서 많이 사용되며, 이는 MVC(Model-View-Controller) 패턴의 변형으로 간주될 수 있습니다. MVP(Model-View-Presenter) 패턴MVP 패턴은 소프트웨어 디자인 패턴 중 하나로, 사용자 인터페이스 로직을 분리하여 더 모듈화되고 유지 보수하기 쉬운 코드를 작성하는 데 도움을 줍니다. M.. 2024. 5. 31.
반응형