본문 바로가기

분류 전체보기

(35)
디지털 트윈 디지털 트윈 정의 디지털 트윈은 현실 세계의 물리적인 객체를 가상화(시뮬레이션)하여 반영하는 모델을 의미 시뮬레이션과 디지털 트윈의 차이 시뮬레이션 또한 현실 세계를 모방하여 디지털화 한 개념에선 비슷할 수 있지만 디지털 트윈은 현실세계의 데이터를 그대로 사용하기 때문에 몇 가지 차이점이 있다. 시뮬레이션은 일반적으로 하나의 프로세스를 목적으로 연구 및 사용 ↔ 디지털 트윈은 현실의 법칙을 가상화하기 때문에 다양한 프로세스 연구 가능 디지털 트윈은 실시간 데이터를 반영 디지털 트윈의 유형 순서대로 작은 유형부터 큰 유형 구성요소 트윈 / 부품 트윈 자산 트윈 시스템 트윈 또는 유닛 트윈 프로스세스 트윈 디지털 트윈은 왜 필요할까? 디지털 트윈을 통해 다양한 인사이트를 얻고 문제 해결에 도움을 줄 수 있어..
UIView - bounds and frame 2탄 우와! 2탄! 퇴근 후 간단하게 작성하는 글이니 편안한 문체 이해해주시면 감사하겠습니다. UIView - bounds UIView - frame UIView의 프로퍼티 중 하나인 bounds와 frame은 뷰의 위치와 크기를 나타내는 속성이다. CGRect 타입이며 origin과 size로 이루어져 있다. origin은 위치를 나타내며 size는 말 그대로 크기를 나타낸다. size는 bounds와 frame 모두 동일하다. 그런데 재밌는 점은 frame의 공식문서 설명을 보면 // frame Setting this property changes the point specified by the center property and changes the size in the bounds rectangle a..
UICollectionView - invalidateLayout() invaildateLayout() 직역하면 현재 레이아웃을 무효화하고 레이아웃 업데이트를 트리거합니다. 기능은 레이아웃 업데이트 사이클에 새롭게 레이아웃을 업데이트 하는 메서드다. 비슷한(?) 기능으로는 reloadData()가 있지만 invaildateLayout은 기존 데이터는 건들이지 않고 레이아웃만 업데이트하는 메서드다. 또한 레이아웃 업데이트를 '트리거' 하는거라 동일한 코드 블럭 안에서 여러번 호출 할 수 있다. 단, iOS 13에서 디바이스를 가로 세로 모드 전환 할 때 메서드를 호출하면 안먹힐 수 있다(?) 간단한 해결 방법으론 VC의 라이프 사이클 중 viewWillTransition(to:with:) 에서 invaildateLayout()를 호출하면 잘 먹는다.
Dynamic Color - 다크모드 천천히 알아보기 위해 편하게 작성하겠습니다. WWDC19 - Implementing Dark Mode on iOS - WWDC19 - Videos - Apple Developer Hear from the UIKit engineering team about the principles and concepts that anchor Dark Mode on iOS. Get introduced to the principles of... developer.apple.com 앱의 모든 View 및 ViewController에는 traitCollection이 있으며 이를 통해 뷰의 모양을 결정하는데 도움을 준다. Dynamic Color를 사용하면 자동으로 light 혹은 dark mode의 색상이 정해진다. 자동으로 ..
UIView - Content Hugging, Content Comporession Priorities 글을 작성하게 된 계기 : UIStackView의 subviews의 intrinsic Content Size만 생각하고 오토레이아웃에서 Size 지정을 안해줬다가 Content Compression Resistance Priority에 의해 사라지면 안되는 Label, Image들이 사라져서 작성하게 됨 요약 Intrinsic Content Size : UILabel, UIImage 등 '컨텐츠'가 있는 View의 자체 크기. Content Hugging Priorities : 늘어나지 않게 잡아주는 값, 낮다면 가장 먼저 크기가 늘어날 수 있다. Compression Resistance Priorities : 줄어들지 않게 저항하는 값, 낮은 순위면 먼저 줄어든다. Priority : 1 ~ 1000까..
[iOS] Framwork? Liberary? 프레임워크와 라이브러리의 차이 참고하면 좋은 글 - [개발상식] 프레임워크(Framework) 와 라이브러리(Library)의 차이 [개발상식] 프레임워크(Framework) 와 라이브러리(Library)의 차이 🚀 "프레임워크와 라이브러리의 차이를 아시나요?"" "음... 프레임워크는 뼈대이고 라이브러리는 모듈 같은 것이고....😰" "그럼 최근에 사용하신 프레임워크와 라이브러리를 알려주세요." "... ex cocoon1787.tistory.com 프레임워크 프레임워크는 말 그대로 일 할 수 있는 최소 단위가 다 갖추어진 코드를 제공하는 집합체다. iOS의 경우 애플에서 제공하는 대표적인 프레임워크로는 Cocoa Touch Framework / Cocoa Framework 가 있으며 이 둘의 차이는 iOS 개발에는 Cocoa To..
[Swift] 안전하게 배열 접근하기 참고한 StackOverflow https://stackoverflow.com/questions/25329186/safe-bounds-checked-array-lookup-in-swift-through-optional-bindings/30593673#30593673 Safe (bounds-checked) array lookup in Swift, through optional bindings? If I have an array in Swift, and try to access an index that is out of bounds, there is an unsurprising runtime error: var str = ["Apple", "Banana", "Coconut"] str[0] // "Apple"..
[Swift] Provider Pattern + Moya를 곁들여 네트워크 구조 더 잘 짜기 -1- Provider Model Design Pattern and Specification, Part 1 Provider Model Design Pattern and Specification, Part 1 Table of contents Provider Model Design Pattern and Specification, Part 1 Article 06/30/2006 17 minutes to read In this article --> Rob Howard Microsoft Corporation March 2, 2004 Summary: Rob Howard returns to Nothin' But ASP.NET to look at how you can use docs.microsoft.com 위 글을 함께 참고..
[Swift] 로컬라이징(localizing)을 이용한 string 관리 참고 자료 : https://zeddios.tistory.com/368 iOS ) 왕초보를 위한 로컬라이징 / Localizing Your App 안녕하세요 :) Zedd입니다. 오늘은 로컬라이징!!!!! 저는 영어를 베이스로 만들고 있는데..물론 다 이해가지만 각 나라언어로 보여지면 어떨까 싶어서 이번기회에 로컬라이징을 공부해보려고 합니 zeddios.tistory.com 부제 : 하드코딩 해결하기 반복적으로 사용하는 string값은 어느 앱이나 존재합니다. 예를 들어 다양한 팝업, 얼럿에 '확인'같은 버튼의 문구가 사용되는 것 처럼 말이죠. 그런데 어느 날 '확인'이라는 문구를 글로벌 앱으로 변화시킨다는 정책으로 'ok'로 바꾼다고 가정해봅시다. 위 상황이면 모든 '확인' string 데이터를 'ok..
[iOS] 오토 레이아웃(Auto Layout) Auto Layout이란? 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 해당 뷰에 적용된 제약 조건(constraints)에 따라 동적으로 계산하는 것을 의미합니다. 오토레이아웃이 무엇인지, 또 어떻게 사용하는지에 대한 정보 글은 정말 많아서 실제 개발할 때 신경써야 하는 부분에 대해 적어보고자 합니다. 오토레이아웃을 사용할 때 신경써야 할 것들 1. 뷰는 기본적으로 좌표(x, y)와 크기(width, height)를 갖는다. 만약 top, bottom, leading, trailing 조건을 준다면 상관 없지만, Align Horizontal, Vertical만 준다면 width와 height를 통해 뷰의 크기를 정해줘야 한다. 2. 시뮬레이터에서 UI가 의도한대로 그려져도 위 사진과 같이 에러(빨간..