[Swift] NSCache(feat. Dictionary)
·
Swift/개념 & 응용
서론 이미지 캐싱을 구현하다가 NSCache와 Dictionary의 차이점이 궁금해서 찾아보았습니다. 이미 많은 블로그에서 다룬 주제이지만 직접 실험도 해보면서 제 지식으로 만들기 위해 포스팅 해봅니다. 중간 중간 주관적인 의견도 섞여 있으니 틀렸거나 반대 의견이 있으시다면 댓글로 알려주세요. NSCache NSCache는 key-value 형태의 데이터를 임시로 저장하는데 사용할 수 있는 가변 컬렉션(mutable collection) 입니다. NSCache에 의해 캐싱된 데이터는 메모리가 부족할 때 일정한 규칙에 따라 제거될 가능성이 있습니다. NSCache는 클래스 앞에 NS가 붙는 것으로 유추할 수 있듯이, Objective-C 환경에서 구동된다는 것이 특징입니다. NSCache는 Key, Val..
[Swift] WWDC22 - Eliminate data races using Swift Concurrency (1)
·
WWDC/Swift
서론 Swift Concurrency와 GCD를 비교하는 포스팅을 쓸 때 Swift Concurrency는 Data race에 안전하다고 했었습니다. 당시에는 정확히 어떻게 data race를 방지해주는지 알지 못했죠. 마침 WWDC22에 관련 내용이 있어 정리해보기로 했습니다. Sendable (https://developer.apple.com/documentation/swift/sendable)에 대한 내용을 미리 읽어보고 아래 내용을 보시면 더 이해가 쉬우실 것 같네요. 물론 아래에서도 Sendable에 대한 내용이 나오니 나중에 읽으셔도 괜찮습니다 ㅎㅎ 추가로 Actor에 대한 것도 다루는데 전 Actor에 대한 사전 학습이 되어 있지 않아 이해하기 너무 어려웠습니다. 그래서 이번 포스팅에서 다루..
[Swift] WWDC21 - Meet async / await in Swift
·
WWDC/Swift
서론 이번에 들은 WWDC 영상은 "Meet async / await in Swift" 입니다. 처음으로 async / await에 대해 소개해주는 영상인데요. 사실 지난 포스팅에서 다룬 내용과 겹치는 내용이 많아 복습하는 기분이 들긴 했습니다. 그래도 async / await는 아직도 어려운 부분이 있어서 정리하면 좋겠죠. (아마 동일한 주제로 2~3개 더 올리지 않을까... 싶네요 ㅎㅎ;) Functions: synchronous and asynchronous UIKit에는 이미 많은 동기, 비동기 함수가 있습니다. 이번 영상에서는 UIImage를 예시로 들었습니다. size에 맞게 썸네일을 가져오는 메서드로 위쪽 메서드는 동기 버전, 아래쪽 메서드는 비동기 버전입니다. 비동기 버전에는 escapin..
[회고] WWDC를 들으면서 느낀 점
·
경험 회고/기타
한줄 요약 : WWDC 꿀잼 WWDC 입문 최근에 WWDC에 입문했습니다. WWDC 입문이 좀 늦은 편이죠? 제가 멍청한 생각을 했거든요... "어차피 공식 문서 내용이 WWDC 내용 아니야? 공식 문서만 있으면 WWDC는 없어도 돼!" 라고 생각했기 때문입니다. 근데 최근에 들으며 느낀 점은 WWDC는 너무너무너무 유익하다는 것입니다. 2차원이었던 지식이 3차원이 되는 느낌이랄까요? Understanding Swift Performance에서 배운 점 가장 처음 입문했던 WWDC 영상은 WWDC16의 Understanding Swift Performance 입니다. 메모리 저장 위치, Reference Counting, Method Dispatch의 관점에서 Swift의 성능을 이해하는 세션인데요. 이..
[Swift] WWDC15 - Optimizing Swift Performance
·
WWDC/Swift
저번 Understanding Swift ... 도 그렇고 이번 Optimizing Swift Performance도 그렇고 Swift에 관한 WWDC 내용은 정말 어렵네요 ㅠㅠ 여러 번 돌려봐야겠습니다... Optimizing Swift Performance Swift에는 클로저, 프로토콜, 제네릭, ARC처럼 좋은 기능이 많이 있습니다. 이런 고차원의 기능이 많으면 프로그램이 할 일이 많아지기 때문에 속도는 느려지기 마련입니다. 하지만 Swift는 고도로 최적화되어 native 코드를 굉장히 빠르게 컴파일해줍니다. Swift는 어떻게 두 마리 토끼를 다 잡았을까요? 애플은 위 사진의 모든 고급 기능들을 최적화하였습니다. Array Bounds Checks Optimizations 모두 알아볼 수 없으..
[Swift] Unicode Scalar와 String의 Random Access
·
Swift/개념 & 응용
서론 오늘 iOS Developers KR 카톡방에서 재밌는 사실을 알았습니다. (사실 공식 문서에 나와 있는 내용이라 이전에도 알고 있긴 했음 ㅎ;;;) 👨‍👩‍👧‍👧는 여러 개의 유니코드가 합체하여 이루어진 이모지라는 것인데요. 그래서 var emoji = "👨‍👩‍👧‍👧" print(emoji.count) //1 print(emoji.unicodeScalars.count) //7 count를 출력하면 1이지만 unicodeScalars를 출력하면 7이 됩니다. 오늘은 unicodeScalar에 대해 알아보고 String에서 Random Access를 지원하지 않는 이유도 엮어서 알아보겠습니다. Unicode 유니코드는 현존하는 전 세계의 모든 문자를 시스템에서 표현하고 다룰 수 있도록 고안된 표준입..
[Swift] WWDC22 - Embrace Swift generics
·
WWDC/Swift
서론 WWDC22는 모든 세션에서 한글 자막을 지원합니다. 한글 자막이 어떤지 궁금해서 요즘 공부 중인 Generic에 관련된 세션을 보고 정리해보았습니다. 한글 자막에 대한 후기도 마지막에 가볍게 말해볼게요. Abstraction 추상화(Abstraction)에 대한 개념으로 영상이 시작됩니다. 아래 코드를 봅시다. 코드에서 * .pi / 180.0 이 중복됩니다. 중복되는 코드를 함수로 묶어 추상화가 가능하고 보일러 플레이트를 줄일 수 있습니다. 이번 포스팅(영상)에서는 농장 환경을 구성하는 코드를 예시로 들고 있습니다. Model with concrete types 첫 번째로 Cow 구조체가 있습니다. Cow 구조체는 eat 메서드를 가지고 있고 먹이로 Hay 구조체를 전달합니다. (Hay : 건초..
[iOS] 화면 방향에 따라 다른 레이아웃 적용하기 - viewWillTransition
·
iOS/개념 & 개발
화면 방향에 따라 다른 레이아웃 적용하기 세로 레이아웃과 가로 레이아웃이 다른 앱을 쉽게 볼 수 있습니다. 대표적인 기본 앱은 계산기가 있죠. 스마트폰을 가로로 회전시키면 세로 레이아웃에 View가 추가된 레이아웃으로 변경됩니다. 스마트폰만 지원한다면 "세로로 고정시키면 되지 않나?"라고 생각할 수 있지만, 아이패드까지 지원한다면 화면 방향에 따라 적절한 레이아웃을 고려하는 것이 사용자 경험을 증가시킬 수 있습니다. 생각해보세요! 계산기 앱에서 가로 방향에서만 나오는 여러 수식 버튼들이 세로 방향에서도 나오고, 그 영향으로 버튼이 콩알만 해지면 훨씬 불편해지겠죠?? (여러 수식들로 멀미가 나는건 덤..) viewWillTransition(to:with:) 이럴 때 사용할 수 있는 메서드가 viewWill..
[Xcode] Xcode 14.0와 iPhone 14 pro 시뮬레이터
·
IT 소식
Xcode 14.0 업데이트 9월 12일 Xcode 14.0 업데이트가 나왔습니다. iOS 16.0, iPad 16.0 등을 지원하고 iPhone 14 Pro 확인이 가능합니다. 즉 변경된 노치를 확인할 수 있다는 것이죠! ㅎㅎㅎ Xcode UI도 변경된 점이 있는데요. https://developer.apple.com/videos/play/wwdc2022/110427/ 한글 자막을 지원하는 WWDC22에서 바뀐 Xcode를 소개하고 있답니다. 대표적으로는 시뮬레이터 선택지가 심플하게 바뀌었답니다. 저 작은 기기의 아이콘은 앱스토어 커넥트에서도 볼 수 있었는데 이곳저곳 돌려가면서 쓰는거여서 그런지 심플하니 매력적인 거 같아요 ㅎㅎ 아이폰 14 Pro 시뮬레이터 사실 이게 본론이죠? 아이폰 14 Pro 시..
[천안시 맛집] 짬뽕지존 쌍용점 리뷰 / 짬뽕 맛집 / 탕수육 맛집 / 쌍용동 맛집
·
🐱 정주는 쉬는 중 :]/맛집
기본 정보 가게 이름 짬뽕지존 쌍용점 위치 충남 천안시 서북구 쌍용대로 11 1층 메뉴 & 가격 수제비 짬뽕 11,000원 짬짜면 12,000원 지존 탕수육 16,000원 생수와 셀프바 짬뽕지존 쌍용점은 생수와 단무지를 모두 배달에서 받는듯한 단무지였습니다. 코로나 시국이니 그려려니 하려는데 셀프바는 프리해서 살짝 갸우뚱 했어요 ㅎㅎ; 단무지 국물 처리가 너무 번거로워서 이건 좀 아쉬웠네요. 대신 밥을 셀프코너에서 제공하는건 호감 포인트였습니다. 여긴 서빙로봇도 운영을 하네요. 신기해서 찍어봤어요. 사람이 옮길 때도 있고 로봇이 옮길 때도 있는데요. 대부분은 사람이 옮기는 것 같았습니다. 지존 탕수육 지존 탕수육입니다. 짬뽕지존 쌍용점에는 찹쌀탕수육, 사천탕수육, 지존탕수육이 있는데요. 저희는 가장 기본..
유정주
'분류 전체보기' 카테고리의 글 목록 (19 Page)