반응형

분류 전체보기 27

iPhone vs Android?

얼마 전에 "iPhone vs Adnroid" 라는 주제로 대화를 나눴다. (링글에서) 링글을 홍보하고자 쓴 글은 아니지만, 링글은 미국 원어민과 영어로 대화를 나눌 수 있는 유로 플랫폼이다. No.1 일대일 화상영어 링글 스탠퍼드 MBA출신이 만든 1:1 화상 영어 명문대 원어민 튜터의 똑똑한 수업을 경험하세요! www.ringleplus.com 이번 주에 내가 골랐던 주제가 iPhone vs Android 였는데, 내게는 그저 '일'이 었던 이 Device에 대해 평소보다 깊게 생각해볼 수 있었다. 이 참에 그 생각들을 적어놓는다. 전 세계적으로 Android 사용자가 더 많은데 비해, 미국만 iOS 사용자 비율이 높은 이유는? 사실... 부끄럽게도 나는 점유율이 어떤지 잘 몰랐다. 그런데 미국에서는..

Others 2021.12.14

디즈니 플러스 가격, 동시접속 넷플릭스와 비교하면?

디즈니 플러스가 2021년 11월 12일에 한국에 출시 됐다. 넷플릭스는 잘 구독하고 있었는데, 디즈니 플러스도 구독해야 하는 고민이 스쳤다. 디즈니 애니메이션은 물론이고, 마블 시리즈를 좋아하기 때문이었다. 극장에서 만나지 못한 디즈니 캐릭터와 마블 캐릭터들의 뒷이야기를 볼 수 있다는 게 참 매력적이었다. 얼마 전에 구독을 시작한 친구가 우리집에 어린 아이가 있으니, 디즈니 플러스 구독하면 좋을 것 같다고 추천까지 하고 갔다. 그래서 가격과 동시접속 등의 디즈니플러스 구독정보를 한 번 알아보고, 넷플릭스와 비교해봤다. 먼저 구독중인 넷플릭스 부터 보면, 상품 종류별로 요금과 동시접속 인원수, 화질 등이 다르다. 넷플릭스 프리미엄 상품인 경우, 월 17,000원이고 동시 접속 4명이다. 보통은 4명이 그..

Others 2021.12.12

다중 작업이 동시에 끝날 때 까지 기다리려면 DispatchGroup

순서에 상관없이 여러 작업이 끝난 뒤에 어떤 작업이 실행되어야 하는 경우가 있다. 몇년 전에 나도 같은 케이스를 만나서 두 작업이 모두 완료 되는 순간을 어떻게 알 수 있을까 고민한 적이 있다. 다양한 방법을 사용할 수 있겠지만, 나는 그 때 DispatchGroup을 활용하기로 결정했다. 예를 들어 Thumbnail과 Description을 별도의 URL에서 받아서 노출해야 하는 경우가 있다고 해보자. 썸넬을 받아오는 Task 하나, 글자를 받아오는 Task 하나가 각각 동시에 실행 되도록 한다. 둘 중 어느 작업이 먼저 끝날지는 알 수 없다.(또한 어느 것을 먼저 받아오는 것이 더 효율적인지도 알 수 없다. 그 판단은 시스템이 한다.) 두 작업이 모두 완성 되면, 두가지 정보를 조합해서 화면에 노출하..

개발 Story 2021.12.07

REST API로 전환하면 "앱" 은 괜찮나요?(REST, RESTful API)

REST API로 전환하면 "앱" 은 괜찮나요? 몇년 전에 서버 개발자가 질문을 이런 질문을 한 적이 있다. REST API로 전환하면 "앱" 입장에서는 괜찮은가요? 서버에서 REST API를 적용해보자는 말이 나왔기 때문이었다. 혹시 앱에서 할 일이 더 많아지는 건 아닌지, 아니면 앱에서 관리가 더 쉬워지는지 물은 것이었다. 나는 어쩐지 앱 입장에서 장단점을 이야기해야 할 것 같았다. 그런데 그런 지식은 내머릿속에 없었다. 그동안 나는 서버에서 주는 API 명세만 있으면, 명세대로 데이터를 요청하고 받았다. 같은 회사의 서버 뿐 아니라, 필요에 따라 다른 팀이나 오픈 API를 사용하는 일도 있었기에 그 중에는 분명 REST API도 있었다. 하지만 나는 API 의 형태나 방식을 따지고 구분한 적은 없었..

개발 Story 2021.10.07

WWDC21 Protect mutable state with Swift actors #1<Actor, Actor Reentrancy>

Avoiding data races concurrent program의 가장 어렵고 기본적인 문제. 데이터 경합(data race)? 두개 이상의 쓰레드(thread)가 동시에 같은 데이터에 접근하고, 이 중 한 쓰레드라도 쓰기(write)작업을 하는 경우에 발생하는 데이터 정합성 문제. 발생하는 경우가 드물다. -> 디버깅도 어렵다. Counter example class Counter { var value = 0 func increment() -> Int { value = value + 1 return value } } let counter = Counter() asyncDetached { print(counter.increment()) } asyncDetached { print(counter.inc..

iOS 2021.07.04

WWDC21 Explore structured concurrency in Swift

일전에 번역해서 그대로 올렸더니, 문제가 되는 것 같아서 비공개로 전환했던 글이다. 새로 정리하여 재 작성했다. 처음에는 원문을 그대로 살리는 데 집중했다면, 이번에는 내용을 이해해보려고 노력했다. Let's dive in. said Kavon Structured concurrency in Swift Swift 5.5 의 새로운 동기화 기법. (structured programming 에서 영감을 얻어서 만듬.) 구조적 프로그래밍이란? 코드의 control-flow를 순차적(top-down)으로 읽을 수 있도록 구조화한 프로그래밍 방식. if-else 가 대표적인 예제 코드의 블럭화(Swift에서는 static scoping이라고 부름)로 구조적 프로그래밍이 가능. 블럭 내 (if절 내 or else 절..

iOS 2021.06.17

WWDC21 Keynote Summary (키노트 요약)

개발자들의 상상으로 채운 여러버전의 WWDC21 Intro 그 중 영화 버전의 문구 Our journey into tomorrow What’s new in iOS Staying connected Finding focus Using intelligence Exploring the world 새로운 iOS의 연결성 유지, 집중, 지식 활용, 탐험을 키워드로 변화되었다. FaceTime, Live Text 이 크게 변화되거나 추가되었고, Message, Notification, Spotlight, Photo Memories등에도 기능이 추가 되었다. Wallet, Wether, Maps 도 강화 되어 외출 할 때 아이폰 하나만 들어도 되는 환경을 만들려고 한 것으로 보인다. Staying Connected F..

iOS/WWDC21 2021.06.09
반응형