| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- NSTextStorage
- Firestore
- 캐러셀
- xcode 공백 표시
- Tuist
- SwiftUI
- JPEG
- 클린 아키텍처
- heic
- Cocoa Pod
- swiftdata
- spm 에러
- .pbxproj
- NSTextStorageDelegate
- 타뷸레이션
- png
- 팀 개발을 위한 git
- github 시작하기
- webp
- 테스트 타겟
- xcode 엔터 표시
- swift 모듈화
- fetchdescriptor
- 무한스크롤
- JPG
- 함께자라기
- contentalignmentpoint
- 코드스쿼드
- nidthirdpartylogin
- TestFlight
- Today
- Total
목록iOS (49)
Sure, Why not?
🤔 HDD (Hard Disk Drive)?🙋♂️하드디스크는 회전 디스크에 가리키는 헤드가 움직이면서 데이터를 저장하는 장치입니다.디스크가 회전하면서, 데이터를 읽고 쓰기를 하기 때문에 비교적 속도가 느리지만, 저렴하게 대용량 데이터를 저장하는데 적합합니다.구동하는 기계 부품이 존재해서 상대적으로 내구성이 떨어집니다. 🤔SSD (Solid State Drive)?🙋♂️SSD는 기계적 움직임이 없이, 플래시 메모리를 사용해서 데이터를 저장합니다.HDD와 비교하면 기계적 움직임이 없다는 차이로 인해 속도가 매우 빠르게 데이터를 읽고 쓸 수 있습니다.하지만 상대적으로 가격이 비싸다는 단점이 있습니다. 플래시 메모리: HDD는 기계부품이 움직여서 데이터를 저장했다면, 플래시 메모리는 데이터를 전기를 ..
🤔 PNG와 JPEG의 차이점은?🙋♂️PNG와 JPEG는 둘다 이미지 파일 형식이지만,압축 방식, 사용 용도에 따른 파일크기와 품질에 차이가 있습니다. PNG는 무손실 압축 방식을 사용합니다.이미지의 품질을 유지하기 위해 더 많은 정보를 담고 있기 때문에 JPG, GIF보다 용량이 크기 때문에 저장 공간이 추가로 필요할 수 있습니다.그래서 이미지 자체를 그대로 보존해야하는 경우에 적합합니다.그리고 알파 채널 지원을 바탕으로 선명하고 투명도가 중요한 이미지에 많이 사용됩니다. 이를 통해 투명한 배경이 필요한 이미지를 나타낼 수 있습니다. JPEG는 손실 압축 방식을 사용합니다.일부 이미지 데이터를 제거하여, 파일 크기를 크게 줄이는 과정을 통해서메모리 사용을 줄이지만, 이미지의 품질이 PNG에 비해 ..
🤔 메모리 누수란?🙋♂️프로그램이 더 이상 사용하지 않는 메모리를 해제하지 않고, 계속 점유하고 있는 상태를 말합니다. 이때, Swift에서 ARC의 알아야 됩니다.ARC: Swift는 자동 참조 카운트를 사용해서 메모리를 자동으로 관리하는데,각 객체는 참조 카운트를 가지고 있으며, 해당 객체를 참조하는 다른 객체가 있을 때마다 카운트가 증가됩니다.그리고 참조 카운트는 0이 되면 객체가 메모리에서 자동으로 해제가 됩니다. 다음으로강한 순환 참조는 두 개 이상의 객체가 서로를 강하게 참조하여, 그 결과 참조 카운트가 0이 되지 않아 객체가 메모리에서 해제되지 않는 상황을 말합니다. 이때 메모리 누수가 발생합니다.메모리 누수를 가만히 두면, 프로그램의 성능을 저하시키고 심각한 경우에는 앱이 강제 종료될..
🤔 가상 메모리란?🙋♂️가상 메모리는 물리적인 RAM이 부족할 때, 디스크 공간을 사용해서 메모리를 확장하는 기술입니다.사용 중인 데이터는 RAM에 유지되고,사용하지 않는 데이터는 디스크로 이동하여 필요할 때 다시 불러옵니다.“페이지”라는 단위로 나누어 데이터 이동이 이루어집니다. - 페이지 아웃:컴퓨터의 물리적 메모리(RAM)에 자리가 부족할 때,사용하지 않는 데이터를 디스크로 옮기는 과정을 말합니다.RAM → 디스크로 데이터 이동 - 페이즈 인:필요한 데이터를 디스크에서 다시 RAM으로 불러오는 과정을 말합니다.디스크 → RAM 데이터 이동이를 통해 효율적인 메모리 사용을 할 수 있게 되는 것입니다.🤔 iOS에서 가상메모리는?🙋♂️그러나 iOS에서 가상메모리는 위의 가상메모리 시스템과 차이..
Xcode Tipshttps://xcode.tips/ Xcode TipsCollections of tips for Xcode.xcode.tips https://developer.apple.com/documentation/xcode Xcode | Apple Developer DocumentationBuild, test, and submit your app with Apple’s integrated development environment.developer.apple.com Tutorialshttps://developer.apple.com/kr/swift/resources/ Swift 리소스 - Apple DeveloperSwift 코드 작성에 필요한 다운로드 자료, 문서, 샘플 코드를 확인해 보세요.d..
SwiftUI Tutorials를 학습하면서지금까지 직접 코드를 치면서 Stack을 생성하거나 속성을 설정했었는데,SwiftUI Inspector에서, 즉 속성창으로 마우스 딸깍 한번으로 만들어내는 과정을 배우면서,생산성을 빠르게 높일 수 있겠다라는 생각을 가지게 되었습니다. List를 동적으로 나타낼 때,식별 가능한 데이터와 함께 실행이 됩니다.저는 매개변수에서 데이터와 함께 id: \.id 설정하는 방법만 알고 있었습니다. 그런데, 기존 방법과 포함해서 데이터를 식별 가능하게 만드는 방법은 총 두 가지인 것을 배우게 되었습니다.각 요소를 고유하게 식별하는 속성에 대한 키 경로를 설정한다.데이터 자체에 Identifiable 프로토콜을 채택해준다.1. 키 경로를 이용해 데이터 식별Identifiab..
매번 코테에서 문자열 쪼개는 상황마다 두 녀석 중 무엇을 쓸지 고민하였습니다.매번 고민한다는 것은 두 녀석들을 완전히 이해를 못 하고 있는 의미이고,이번 시간을 통해 정리하고자 합니다. 리턴타입 기준으로Splitfunc split( separator: Self.Element, maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true) -> [Self.SubSequence]SubSequence 배열을 반환합니다. String기준으로 Substring은 원본 문자열의 일부를 참조하는 타입입니다.Substring은 Copy On Write의 메모리 효율성을 위한 설계에 의하여,원본 문자열의 메모리를 공유하기 때문에 메모리를 추가로 ..
왜 좋은지 알아보자!! :) CFAbsoluteTimeGetCurrent : 현재 절대 시간을 반환합니다.측정하기 위한 시작 지점과 종료 지점에 생성하여, ‘종료 지점 - 시작 지점’을 연산하면 연산 시간을 대략 파악이 가능합니다.들어가기 앞서Instruments의 Time Profiler를 사용하여 final 유무차이에 따른 클래스의 메소드 시간을 비교하고자 하였습니다.동일한 메소드를 호출할 때final 없는 클래스는 0.310초,final 있는 클래스는 0.304초 차이가 있습니다.먼저 동일한 메소드를 가지고 있으며, final 유무차이만 있는 클래스를 만들었습니다.import Foundationclass MyClass { func doSomething() { var uuids: [..