본문 바로가기

전체 글46

iOS 기술면접 정리 - 3. Autolayout 오토레이아웃을 코드로 작성하는 방법 Layout Anchor를 사용하는 방법 NSLayoutConstraint class를 직접 이용하는 방법 Visual Format Language를 사용하는 방법 외부 라이브러리 활용 (SnapKit, Then) 1, 4번 빼고는 내가 설명할 자신이 없음..ㅋㅋ hugging, resistance Content Hugging Priority: 두 오브젝트 A, B가 나란히 있을 때 더 늘어나는 것에 대해 저항하는 정도. 우선순위가 높으면 기존의 형태를 유지하고 영역이 더 늘어나지 않는다 Compression Resistance Priority: 두 오브젝트 A, B가 나란히 있을 때 A가 비대하게 커질 경우 B가 밀려나지 않도록 저항하는 정도. B의 우선순위가 높을수.. 2022. 7. 10.
iOS 기술면접 정리 - 2. GCD Process (프로세스) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 하나의 프로그램에서 일어나는 여러 개의 작업을 프로세스 여러 개를 생성하여 각자 하나씩 처리하도록 해주는 것 멀티 프로세싱의 장점 프로세스는 독립된 메모리 영역을 각자 할당 받으므로 프로세스 간 서로의 자원에 침투할 수 없음 독립된 구조이기 때문에 안정성이 높음 단점 멀티 프로세스 들은 동시에 진행되는 것 처럼 보이지만 실제 CPU는 모든 프로세스를 빠르게 왔다갔다 하는 과정으로 동시에 진행하는 것 처럼 보이는 것. 이처럼 다른 프로세스를 왔다갔다 하면서 진행하면 컨텍스트 스위칭을 함. 프로세스는 메모리가 모두 독립적으로 존재하므로 ContextSwitching 시 CPU의 부담이 커지고 오버헤드가 발생하게 됨 Thread (스.. 2022. 7. 10.
지극히 주관적인 플러터 vs RN vs 네이티브(iOS) 장단점 나름 세가지를 다 써봤으니까 한 번 정리해보고자 글을 남김 플러터 장점 - (RN과 동일) 하나로 안드 iOS 둘 다 빌드 가능 - 다트라는 생소한 언어를 사용함에도 불구하고 배우기 쉽고 빠름 (개인적인 의견입니다.) - hot reload, hot restart 지원이 꽤 편함 네이티브는 수정 사항 생기면 빌딩하는 것도 오래 걸리는데 반해 플러터는 부담은 없음 - 예전에 비해 커뮤니티가 많이 생기고 서드파티 라이브러리 모아놓는 사이트도 있어서 은근 편리함 그리고 점점 늘어나는 추세 - 안드 iOS 두 가지의 인터페이스를 모두 제공함 Alert 같은 경우도 기본적인 material design과 cupertino design 모두 지원 - 구글의 폭발적인 지원이 있어서 쉽게 망하진 않을 듯?? 단점 - .. 2022. 7. 7.
iOS 기술면접 정리 - 1. Common REST API HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고 HTTP Method(POST, GET, PUT/PATCH, DELETE)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미함 CRUD Operation 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 연산 Create, Read, Update, Delete 특징 - Server-Client(서버-클라이언트 구조) - Stateless(무상태) - Cacheable(캐시 처리 가능) - Layered System(계층화) - Uniform Interface(인터페이스 일관성) 장점 - HTTP 프로토콜을 그대로 이용하므로 별도의 인프라를 구.. 2022. 7. 3.
[iOS] MVVM 폴더 구조(Folder Structure) 알아보기 진짜 말그대로 알아보는 코너 iOS 개발을 하면서 나름 정리한다고 했는데도 폴더 구조도 그렇고 코드도 지저분해지는 게 느껴졌었다. 당시에도 그걸 어렴풋이 알고 있었는데 오랜만에 옛날 코드를 보니 더더욱 그랬다;; 아무래도 ViewController에 기능과 UI 처리를 함께 넣으려고 하니 구분이 힘들어진 탓인 것 같았음 그래서 이번에야말로! 그토록 벼르고 벼르던 MVVM에 대해 제대로 정리해보려고 한다. 지금까지의 토이 프로젝트나 회사 프로젝트에서는 각각 다른 이유긴하지만 MVC를 적용했었고, 그 뒤로는 플러터에 적응하느라 MVVM을 다뤄볼 시간이 없었다. 이번에는 정리도 제대로 하고, 기존 토이 프로젝트도 리팩토링 하려고 함. https://github.com/kudoleh/iOS-Clean-Archi.. 2022. 5. 29.
Future 다루기 Future는 플러터로 개발하게 된다면 필수적으로 다룰 수 밖에 없는 객체다. 모든 비동기 반환 값이 얘로 감싸져 나오기 때문에.. onTap, onPressed와 같은 함수에 API가 호출되는 기능이 포함된다면 간단히 async, await만 붙여주면 되겠지만 1. FutureBuilder 웬만하면 이걸로 해결 가능함 Future -> T의 변환 과정동안의 UI를 처리할 수 있다. snapshot.hasData / snapshot.hasError ConnectionStates.none / ConnectionStates.waiting / ConnectionStates.active / ConnectionStates.done 다양하게 처리 가능 FutureBuilder의 future를 재실행하여 화면을 리프.. 2022. 5. 29.