전체 글 149

[iOS] Core Data를 활용한 Data Migration

Core Data에서는 경량 마이그레이션(Lightweight Migration)과 무거운 마이그레이션(Heavyweight Migration)을 지원하며, 복잡한 마이그레이션을 위해 매핑 모델(Mapping Model)을 활용할 수도 있습니다.1. Core Data 마이그레이션 개요데이터 모델이 변경되면 기존 데이터를 새로운 데이터 모델에 맞게 변환해야 합니다. Core Data는 이를 자동으로 처리할 수 있도록 다양한 마이그레이션 전략을 제공합니다.마이그레이션이 필요한 상황엔터티(Entity) 이름 변경속성(Attribute) 추가/삭제관계(Relationship) 변경데이터 변환이 필요한 경우2. 경량 마이그레이션 (Lightweight Migration)경량 마이그레이션은 Core Data가 자동..

클라이언트 2025.02.18

[iOS] 바이너리 프레임워크(Binary Framework) 생성 및 사용 방법

1. 바이너리 프레임워크란?바이너리 프레임워크(Binary Framework)는 컴파일된 코드와 리소스를 포함하는 프레임워크로, 라이브러리 형태로 제공되어 소스 코드 없이도 사용할 수 있다. 이는 일반적으로 라이브러리의 보안을 강화하고 빌드 시간을 줄이며, 코드 배포를 간편하게 만드는 데 유용하다.2. 바이너리 프레임워크 vs. 소스 코드 프레임워크비교 항목바이너리 프레임워크소스 코드 프레임워크배포 방식컴파일된 바이너리 형태로 배포소스 코드 형태로 배포코드 보호소스 코드가 포함되지 않아 보호됨코드가 포함되어 있음빌드 속도빠름 (컴파일 과정 생략)느림 (빌드 필요)유지보수버전 관리가 필요함코드 변경이 유연함의존성 관리XCFramework 또는 CocoaPods 등을 활용직접 코드 수정 가능3. 바이너리 프..

클라이언트 2025.02.18

[SwiftUI] SwiftUI에서 Kingfisher로 비동기 이미지 불러오기

SwiftUI에서 네트워크 이미지를 로드할 때 기본적으로 제공되는 AsyncImage를 사용할 수도 있지만, 더 강력한 기능을 원한다면 Kingfisher 라이브러리를 사용하는 것이 좋습니다. Kingfisher는 캐싱, 플레이스홀더, 에러 처리 등 다양한 기능을 제공하여 더욱 효율적으로 이미지를 로드할 수 있도록 돕습니다.이번 글에서는 Kingfisher를 활용하여 SwiftUI에서 비동기적으로 이미지를 불러오는 방법을 예제 코드와 함께 살펴보겠습니다.1. Kingfisher 설치하기Kingfisher는 Swift Package Manager(SPM)를 통해 손쉽게 설치할 수 있습니다.Swift Package Manager(SPM) 설치 방법Xcode에서 프로젝트를 엽니다.File > Add Packa..

클라이언트 2025.02.18

[Swift] Swift로 중복문자가 없는 가장 긴 부분 문자열 찾기

문제 설명주어진 문자열에서 중복된 문자가 없는 가장 긴 서브스트링을 찾아야 합니다. 또한, 해당 서브스트링의 길이도 함께 출력해야 합니다.예제입력 : "aabcbbc"출력 : 3 // "abc"입력 : "bbbbbb"출력 : 1 // "b"입력 : "aaaaabbbcedfg"출력 : 6 // "bcedfg"해결 방법이 문제를 해결하기 위해 슬라이딩 윈도우(Sliding Window) 기법과 해시셋(Hash Set) 을 사용합니다.슬라이딩 윈도우: 문자열을 순회하면서, 현재 서브스트링의 길이를 유지하면서 중복 문자가 나오면 윈도우의 시작을 조정합니다.해시셋: 현재 윈도우에서 중복 문자가 존재하는지 빠르게 확인하기 위해 사용합니다.이제 Swift 코드로 구현해보겠습니다.Swift 코드 구현import Fou..

개발 일반 2025.02.18

파이코인(Pi Network) 이슈 정리: 메인넷 출시, 거래소 상장, KYC 인증, 가치 논란

1. 파이코인(Pi Network)파이코인은 스탠퍼드 대학 출신 개발자들이 만든 디지털 화폐 프로젝트로, 모바일 기기에서 손쉽게 채굴할 수 있다는 특징이 있습니다. 기존의 암호화폐처럼 강력한 컴퓨팅 파워를 요구하지 않으며, 사용자가 간단한 인증을 통해 매일 일정량의 파이를 채굴할 수 있습니다. 현재 전 세계 수천만 명의 사용자가 참여하고 있으며, 국내에서도 높은 관심을 받고 있습니다.2. 2025년 2월 20일 메인넷 출시와 거래소 상장메인넷(Open Mainnet) 출시는 무엇을 의미하는가?2025년 2월 20일, 파이코인의 ‘오픈 네트워크’ 형태의 메인넷이 공식적으로 출시됩니다. 이는 파이코인이 폐쇄적인 환경에서 벗어나 공식적인 블록체인 네트워크로 전환된다는 것을 의미합니다.그동안 파이 네트워크는 ‘..

[iOS] 언제까지 SnapKit? SwiftLayout은 어때?

1. SwiftLayout이란?SwiftLayout은 Auto Layout의 복잡성을 줄이고, 선언형(Declarative) 방식으로 뷰를 구성할 수 있도록 도와줍니다. SwiftUI의 레이아웃 작성 방식과 유사하게 UIKit에서 사용할 수 있도록 설계된 것이 특징입니다.이 글에서는 SwiftLayout을 활용하여 어떻게 간결하고 효율적인 UI 레이아웃을 구성할 수 있는지 예제 코드와 함께 살펴보겠습니다.2. SwiftLayout의 특징선언형(Declarative) 문법: SwiftUI처럼 직관적으로 UI를 구성할 수 있습니다.간결한 코드: 기존 Auto Layout 코드보다 훨씬 짧고 가독성이 좋습니다.동적 레이아웃 변경 용이: 특정 조건에 따라 레이아웃을 쉽게 변경할 수 있습니다.UIKit과의 완벽한..

클라이언트 2025.02.17

[iOS] SnapKit을 활용한 iOS UI 레이아웃 잡기

iOS 앱을 개발할 때 UI를 배치하는 방법은 여러 가지가 있지만, 최근에는 Auto Layout을 코드로 작성하는 것이 일반적입니다. 하지만 Apple의 기본 API인 NSLayoutConstraint를 사용하면 코드가 길어지고 가독성이 떨어지는 문제가 있습니다. 이를 해결하기 위해 SnapKit이라는 라이브러리를 활용하면 훨씬 간결하고 직관적인 코드로 UI를 구성할 수 있습니다.이번 글에서는 SnapKit을 사용하여 iOS UI를 어떻게 쉽게 배치하는지 설명하고, 여러 가지 예제 코드를 제공하겠습니다.1. SnapKit이란?SnapKit은 Swift 기반의 Auto Layout DSL (Domain Specific Language) 로, 코드로 UI 레이아웃을 설정할 때 더 간결하고 읽기 쉽게 만들어..

클라이언트 2025.02.17

[JAVA] Checked Exception에 대하여

Checked ExceptionChecked Exception(검사 예외)은 컴파일 시점에서 반드시 처리해야 하는 예외를 말합니다. 즉, 예외 처리를 하지 않으면 컴파일 오류가 발생하여 프로그램이 실행되지 않습니다.Checked Exception의 특징컴파일러가 예외 처리 여부를 검사try-catch 또는 throws를 사용하여 처리하지 않으면 컴파일 오류가 발생합니다.주로 외부 환경과 관련된 예외 발생파일, 데이터베이스, 네트워크, I/O 작업 등에서 발생하는 예외가 대부분 Checked Exception입니다.개발자가 직접 예외 처리해야 함예외를 반드시 처리하도록 강제하여 안정적인 프로그램을 만들 수 있도록 돕습니다.Checked Exception이 예외 처리를 강제하는 이유Checked Except..

[iOS] 간단한 앱 만들기와 리버스 엔지니어링

이번 포스트에서는 SwiftUI를 이용해 간단한 계산기 앱을 만들고, 이를 리버스 엔지니어링하여 소스 코드를 추출하는 과정을 다뤄보겠습니다. 초보자도 따라 할 수 있도록 최대한 자세하게 설명하겠습니다.SwiftUI로 계산기 앱 개발하기프로젝트 생성Xcode 열기Xcode를 실행하고, "Create a new Xcode project"를 선택합니다.프로젝트 설정"App"을 선택하고, 프로젝트 이름을 SimpleCalculator로 설정합니다.Language는 Swift, Interface는 SwiftUI로 설정합니다.UI 및 코드 작성import SwiftUIstruct ContentView: View { @State private var currentNumber = "" @State priva..

카테고리 없음 2025.02.17

다이어트할 때 변비가 생긴다면? 응가가 안나온다면?

다이어트를 하다 보면 의외의 문제에 부딪치는 경우가 많습니다. 그중 하나가 바로 변비입니다. 평소에는 잘 가던 화장실을 다이어트 시작 후부터 제대로 가지 못한다면, 몸이 보내는 신호를 무시할 수 없습니다. 다이어트 변비는 왜 발생하는지, 이를 해결하기 위해 어떤 방법을 활용할 수 있는지 자세히 살펴보겠습니다. 1. 다이어트 중 변비가 생기는 원인1) 식이섬유 부족다이어트를 위해 탄수화물을 줄이는 경우가 많습니다. 하지만 이 과정에서 식이섬유 섭취가 부족해질 수 있습니다. 식이섬유는 장운동을 촉진하고 변의 부피를 증가시켜 원활한 배변을 돕습니다.2) 수분 섭취 부족체중 감량을 위해 수분 섭취를 줄이거나, 이뇨 작용이 있는 음료(커피, 차 등)를 과다 섭취하면 변이 딱딱해지고 배변이 어려워질 수 있습니다.3..

운동과 건강 2025.02.17