본문 바로가기

iOS

(74)
[동시성 프로그래밍] GCD - 비동기 VS 동기 / 직렬 VS 동시 비동기 VS 동기 메인 쓰레드가 큐에 작업을 보내고 나서 어떻게 작업을 처리할게 될까? 신경 끄고 자기에게 쌓여 있는 다음 일을 한다. 보낸 작업이 끝날 때까지 기다린 후에 다음 일을 한다. 이 두가지 반응이 비동기와 동기의 개념이다. 자기에게 쌓여 있는 다음 일을 실행한다 = 다음 코드 라인을 실행한다. 비동기 (Async) 메인 쓰레드가 Queue에 일부 작업을 보내고 난 뒤, 보낸 작업에 대해 신경을 끄고 다음 작업을 실행하는 것을 의미한다. Queue에 보낸 작업에 대해서는 더 이상 신경을 쓰지 않고 다음 일을 하는 것이다. 보낸 작업에 걸렸을 시간만큼 다른 일을 할 수 있다. DispatchQueue.global().async { //task } DispatchQueue: iOS에서 동시성 프로..
[동시성 프로그래밍] GCD - 작업을 큐로 보낸다. / GCD vs Operation https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation/ iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션 동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다., - 강의 소개 | 인프런... www.inflearn.com 위 강의를 듣고 정리한 글입니다. 노동자에게 일을 분배해보자 컴퓨터에는 여러 노동자가 있고, 이 노동자에게 일을 분배해서 작업을 진행한다. 여기서 노동자 = 쓰레드 / 일 = 테스크라고 보면 된다. 메인 쓰레드 메인 쓰레드는 하나만 존재한다. ..
[니카내카] 업데이트 내역 정리(+ 리드미 수정) 및 코드 개선 ing 업데이트 내역 정리 이 글을 작성하고 있는 지금 .. 221030 이다 .. 그동안 니카내카 업데이트는 꾸준하게 .. (?) 하고 있었지만 정리를 하고 있지 않았어서 .. (키워드만 정리해두고 어떤 이슈가 있었는지 등의 ..) 오늘 날을 잡고 한번 사-악 정리를 했다 .. 정리를 하면서 기분 좋아지는 나 .. 역시 J인간 .. 노션 정리 니카내카 작업 노션 안에 소개 노션이 있는데 .. 소개 노션이 앱에 연결된 정보라서 작업 노션을 숨기고 소개 노션만 공개한 상태이다. 그래서 아마 .. 현재는 아래의 링크로 들어가도 접속할 수가 없을텐데 곧 .. 두 페이지를 나눠서 작업 노션과 소개 노션을 분리해야겠다 .. ! https://receptive-humidity-bf2.notion.site/3fc56a889..
[니카내카] 업데이트 사항 (version 1.2.2) 조금씩 업데이트를 하고 있는데 .. 티스토리에 글을 너무 안쓴 것 같아 .. 적어보는 중 .. 후 .. 미루지 말자 .. ! 코드 개선 Diffable Data Source, Compostional Layout 적용 설정 화면과 주차장 상세 화면을 새로운 CollectionView API로 코드개선, 적용해보았다. 흐름만 잘 잡고 있으면 생각보다 쉽지만 .. 아무래도 이전 방식이 더 익숙하다 보니까 ... 좀 더 유연하고 자유롭게 쓰기엔 아직은 어색하다고 느꼈다 .. 아직 아래 두가지가 조금 어려운? 익숙하지 않은? 느낌인데 .. 좀 더 공부하고 정리해봐야겠다 .. ! 🔥 Compositional Layout은 item, group으로 레이아웃을 잡는데 이것들의 관계 .. 그리고 좀 더 다양한 레이아웃을..
[iOS] Unsplash Search photos (feat.MVVM, Rx, CollectionViewAPI) + 코드 수정 우하하!!! 다 적용해보자!!! 사실 이게 맞는 방법인지는 잘 모르겠지만 .. 일단 가보자고 .. ~ https://unsplash.com/documentation#search-photos Unsplash API Documentation | Free HD Photo API | Unsplash Getting started This document describes the resources that make up the official Unsplash JSON API. If you have any problems or requests, please contact our API team. Creating a developer account To access the Unsplash API, first join...
[iOS] MVVM+DiffableDataSource+CompositionalLayout Okay. 가보자고. 이번 글에서는 개념보다는 어떻게 구현하면 되는지, 구현할 때 주의할 점이 무엇인지 등에 좀 더 초점을 두고 적었습니다 .. 참고 부탁 .. Project Unsplash API를 이용해서 사진 리스트를 보여주는 프로젝트를 만들어보자. 좀 더 자세하게 살펴본다면 아래와 같다. MVVM 패턴을 기반으로 Diffable Data Source 으로 데이터 관리를 하고 Compositional Layout 으로 UI를 만들고 Alamofire 로 서버 통신을 하는 프로젝트를 만들어보자 !! 관련 코드 전체는 Github에서 볼 수 있다. 서버 통신 아무도 궁금해하지 않을 TMI) 예전에는 화면을 먼저 만들고 서버 통신을 한 뒤, UI를 완성시키는 순서로 작업을 했었는데 .. 최근에는 위의 방..
[iOS] Collection View APIs Collection View APIs collection view는 iOS 6에 처음 등장한 개념이다. CollectionView에서 다루는 개념은 크게 세가지 이다. 어떤 데이터를 어떤 레이아웃에 어떻게 보여줄 것인가? → 위의 세가지는 각각 아래의 API를 통해서 관리할 수 있다. 데이터 : UICollectionViewDataSource 레이아웃 : UICollectionViewLayout의 하위 클래스인 UICollectionFlowLayout 렌더링 : UICollectionViewCell / UICollectionReusableView iOS 13+ 어떤 것이 달라졌는가? 다크모드 AppDelegate, SceneDelegate SwiftUI … 등이 새로 추가 되었다. 여기서 가장 큰 변화 ..
[니카내카] Endpoint에 한국어가 있다면? 그냥 한국어도 알아서 encoding 해주면 안될까? .. ㅠ ㅇㅋ .. 안되면 .. 직접 하지 뭐 .. #업데이트 니카내카 1.2.0 버전의 업데이트 사항 중 하나는 공영주차장 정보를 제공하는 것이다. 그래서 새로운 탭바도 추가하고 .. 뷰/기능도 함께 추가/수정 되었다. #서버 연결 공영 주차장 정보 역시 서울시 공공데이터 포털의 오픈 API를 통해서 정보를 받는 형식이다. 이 때 만약 정보를 그냥 받아오고 싶다면 http://openapi.seoul.go.kr:8088/{API_KEY}/json/GetParkInfo/1/1000 이렇게 Endpoint에 시작 페이지와 끝 페이지만 추가해서 받아오면 되지만, 한번에 이렇게 총 16000개의 데이터를 받아오는 것은 무리가 있다고 판단되어서 행정구별로 받..