- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- decode
- MVC
- HTTP
- 딥러닝
- 시각화
- SQL
- Observable
- Python
- sigmoid
- substr
- r
- cocoapods
- ios
- rest api
- Request
- deeplearning
- SWIFT
- 연산자
- 명령어
- rxswift
- tapply
- ReLU
- 티스토리챌린지
- Optional
- swiftUI
- struct
- scheduledTimer
- 오블완
- barplot
- Linux
목록분류 전체보기 (130)
iOS 개발 기록 블로그
현재 문제이미 PR(풀 리퀘스트)에 포함된 파일을 .gitignore에 추가해도 해당 파일은 Git의 추적 대상(tracked 상태)이기 때문에 PR에서 자동으로 제외되지 않습니다. 즉, .gitignore은 새로 추가되는 파일들에만 영향을 줍니다. 해결 방법 1. Git에서 해당 파일을 추적 대상에서 제거해야 합니다.git rm --cached path/to/your/file 2. gitignore에 그 파일 경로가 포함되어 있어야 합니다. (이미 하셨다면 생략 가능.) 3. 변경 사항 커밋git commit -m "Delete gitIgnore에 파일 추가, 추적 중인 파일 제거" 4. 기존 PR 브랜치에 푸시git push origin your-branch-name 그럼 PR에서 해당 파일은 삭..
@State, @ObservedObject, @EnvironmentObject 같은 속성 래퍼를 사용한 프로퍼티와일반 프로퍼티(let 또는 var)로 선언되어 사용하는 것들의 차이점은 무엇일까? 🔍 일반 프로퍼티로 선언해서 사용하는 예시public struct MyView: View { ... var someProperty: Bool public init(someProperty: Bool) { self.someProperty = someProperty }이 구조는 SwiftUI에서 뷰 초기화 시 외부에서 값을 전달받고 이후 변경되지 않을 값을 받을 때 사용하는 일반적인 패턴입니다. 💡 왜 @State나 @Binding이 아니라 var인가요? 요약 정리@State내부에서 변경할 로컬 상..
@EnvironmentObject, @ObservedObject, @StateObject는 모두 SwiftUI에서 상태를 공유하거나 관찰할 때 사용하는 **속성 래퍼(property wrapper)**입니다. 각각의 목적과 생성/소유 관계에 따라 다르게 사용되며, 아래와 같은 차이점이 있습니다. 🔹 1. @StateObject 뷰에서 직접 생성하고 소유하는 상태 객체 초기화도 뷰 내부에서 직접 해야 함 (= SomeObject() 형태).소유권(owner): 해당 뷰가 상태를 “소유”함.의도: 해당 뷰가 객체의 라이프사이클을 책임져야 할 때 사용.struct MyView: View { @StateObject var viewModel = MyViewModel() // 여기서 생성 var body:..

WKWebView, 왜 갑자기 메모리 릭이 생기지?WKWebView를 개발하면서 통칭 '브릿지'라고 하는 기능을 담당하는 WKScriptMessageHandler를 사용하여 브릿지를 네이티브에서 추가해주게 됩니다. WKWebView를 사용할 때 WKScriptMessageHandler를 사용해 JavaScript 브릿지를 연결하다 보면, 어느 순간 deinit이 호출되지 않고 VC가 메모리에 남아 있는 걸 발견하게 됩니다. contentController.add(self, name: "myBridge") 위처럼 추가해주고 저 같은 경우에 기존 방식으로 deinit 시점에 아래와 같이 수동으로 제거해주곤 합니다.webView.configuration.userContentController.removeAll..

최근에 Xcode를 사용하여 iOS 디바이스를 연결하고 빌드하려고 할 때, 아래와 같은 문제가 발생했습니다. 환경Xcode 버전: 16.2 (Xcodes 앱을 사용하여 설치)디바이스 OS 버전: iOS 14.6 문제디바이스를 케이블로 연결하고 빌드를 시도했으나, 아래와 같은 팝업 메시지가 나타나며 빌드가 실패했습니다. Could not locate device support filesYou may be able to resolve the issue by installing the latest version of Xcode from the Mac App Store or developer.apple.com. 원인이 오류는 Xcode에 연결된 디바이스의 OS 버전에 대한 지원 파일이 없을 때 발생합니다. 이는..

에러 로그*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Expected dequeued view to be returned to the collection view in preparation for display. When the collection view's data source is asked to provide a view for a given index path, ensure that a single view is dequeued and returned to the collection view. Avoid dequeuing views without a request from the..

SpringSpring은 엔터프라이즈 수준의 애플리케이션을 구축할 수 있는 강력하고 유연한 프레임워크로, 특히 REST API를 구축하는 데에 많이 사용됩니다.또한, iOS와의 연동이 잘 이루어질 수 있도록 HTTP/JSON 기반의 API 설계를 지원하므로 iOS 앱과 함께 사용하는 데에도 매우 유용합니다. 소개Spring FrameworkSpring Framework는 Java 기반의 오픈소스 애플리케이션 프레임워크입니다.주로 웹 애플리케이션과 RESTful API 서버를 구축하는 데에 많이 사용됩니다.Spring은 매우 유연하고 강력하며, IoC (Inversion of Control)와 DI (Dependency Injection)를 기반으로 구성 요소들을 관리합니다. IoC (Inversion o..

RxSwift와 Moya를 사용하여 REST API를 처리하고 있다면,REST API에 대한 이해를 iOS 개발 관점에서 더 심화하는 것이 좋습니다.이를 위해 아래의 주제들을 알아두면 더욱 효과적으로 개발할 수 있습니다. 1. Moya와 REST API의 연계Moya는 네트워크 계층을 관리하는 데 강력한 라이브러리로, REST API를 RxSwift와 결합하여 비동기적인 방식으로 사용할 수 있습니다. 다음은 알아두면 좋은 Moya 활용 관련 지식입니다:Moya의 기본 구조 이해TargetType을 정의하여 API의 엔드포인트를 명확히 관리:enum MyAPI { case fetchUsers case createUser(name: String, email: String)}extension My..

지난 게시글에서는 HTTP에 대해서 공부했습니다.이번에는 REST API라는 용어에 대해 공부해보려고 합니다. 1. REST의 기본 원칙REST는 특정 프로토콜(예: HTTP)을 따르며, 아래와 같은 규칙들이 있습니다. 1) 자원(Resource) 기반REST API의 기본 단위는 '자원'자원은 URL(Uniform Resource Locator)로 식별예: https://api.example.com/users/123users: 자원의 유형123: 특정 자원의 ID자원은 보통 '명사' 형태로 표현 2) HTTP 메서드 사용REST는 HTTP 메서드를 통해 자원에 어떤 동작을 할지 정의합니다.GET: 데이터 조회POST: 생성PUT: 수정PATCH: 부분 수정DELETE: 삭제 3) 상태 비저장성 (Sta..
HTTP란 무엇인가?HTTP(HyperText Transfer Protocol)는 클라이언트(브라우저, 앱)와 서버 간에 데이터를 주고받기 위한 규약(프로토콜)입니다.HTTP는 상태를 유지하지 않는 비연결성 프로토콜(stateless)로 시작했지만, 시간이 지나며 성능 향상과 보안 문제를 해결하기 위해 발전해 왔습니다.HTTP 프로토콜의 발전1. HTTP/1.0 (초기 버전)1996년에 등장한 HTTP의 초기 버전입니다.특징단순 요청-응답 모델: 요청을 보내고, 응답을 받은 후 연결을 바로 끊음.비효율적 연결: 한 번의 요청마다 새로운 TCP 연결을 만들어야 함. 여러 리소스를 로드하는 데 시간이 오래 걸림.캐싱 한계: 기본적인 캐싱만 지원하며, 효율적인 데이터 재사용이 어려움.HTTP 헤더 제한적: 헤..