
[Swift&iOS/iOS] - [iOS] SwiftUI 학습 순서 (feat. Tutorial & WWDC)에서 SwiftUI Essentials(WWDC 2019)과 Building Custom Views with SwiftUI(WWDC 2019) 세션을 보는 걸 추천한다고 했었는데, 이 포스팅은 이 세션들에 대한 정리 내용입니다 ㅎㅎ (일부 WWDC에 나오지 않는 내용들도 포함 되어 있습니다.) 세션 링크 https://developer.apple.com/videos/play/wwdc2019/216 SwiftUI Essentials - WWDC19 - Videos - Apple Developer Take your first deep-dive into building an app with SwiftU..

SwiftUI 기초 - 공식 튜토리얼 정리(1)에서 이어지는 내용입니다. SwiftUI 두 번째 튜토리얼입니다. 첫 번째 튜토리얼에서는 사용자에게 보여줄 정보를 하드 코딩했다면 이번 튜토리얼에서는 데이터를 저장하는 모델을 만들어서 사용해 볼 겁니다. 먼저 developer.apple.com/tutorials/swiftui/building-lists-and-navigation 이곳에 들어가서 프로젝트 파일을 다운로드해주세요. 만약 영문으로 튜토리얼을 진행하고 싶으시다면 해당 링크에서 쭉 진행해 주셔도 무방합니다. 다운로드한 프로젝트 Resources 폴더의 landmarkData.json 파일을 우리가 튜토리얼 1에서 만들었던 프로젝트에 드래그 앤 드랍합니다. 그다음 Landmark라는 이름의 Swift ..

새로운 프로젝트에 SwiftUI를 사용해보기 위해 블로그에 SwiftUI를 정리해보려 합니다. ㅎㅎ 조금 찾아보니까 애플이 정리해 놓은 공식 튜토리얼이 잘 되어 있더라구요? 혹시나 영문으로 공부하고 싶으신 분들은 해당 사이트 참고 바랍니다. 제가 앞으로 SwiftUI에 대해 정리하게 될 글 역시 모두 developer.apple.com/tutorials/swiftui를 기반으로 합니다! SwiftUI란? "SwiftUI is a modern way to declare user interfaces for any Apple platform. Create beautiful, dynamic apps faster than ever before." > SwiftUI는 모든 Apple 플랫폼에 대한 사용자 인터페이스..

[iOS] GCD - Dispatch Queue 제대로 알고 쓰자! (1) 에서 이어지는 글입니다 :) QOS developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/PrioritizeWorkWithQoS.html Energy Efficiency Guide for iOS Apps: Prioritize Work with Quality of Service Classes Energy Efficiency Guide for iOS Apps developer.apple.com A quality of service (QoS) class allows you to categorize work to be performe..

오늘은 GCD에 대해 정리해보려 합니다! GCD는 iOS앱 프로그래밍에서 매우 중요한 부분이기도 하고 잘 정리된 글들이 많기 때문에, 저는 핵심적인 개념과 코드(실험?) 위주로 정리해볼까 합니다. GCD란? - Grand Central Dispatch의 약자로, Apple에서 멀티 코어 프로세서 및 기타 대칭적 멀티 프로세싱 시스템이 있는 시스템에 대한 애플리케이션 지원을 최적화하기 위해 개발 한 기술입니다. GCD는 스레드 풀 패턴을 기반으로 한 작업 병렬 처리의 구현으로 스레드 풀의 관리를 프로그래머가 아닌 운영체제에서 관리하기 때문에 프로그래머는 쉽게 사용할 수 있습니다. (사용하기 단순하고 성능도 좋다는 뜻) (위키 백과, 부스트코스 참고) Dispatch Queue An object that m..

인터넷: TCP/IP 프로토콜을 사용하여 정보를 주고받는 컴퓨터 통신망 인터넷 구성요소 호스트: 네트워크에 연결된 컴퓨팅 장치 (컴퓨터,서버등등..) 통신 링크: fiber, radio, satellite 등 노드 사이의 패킷을 전달하기 위한 통신 경로 패킷 스위치: 라우터, 링크 계층 스위치 라우터 - 패킷 위치를 추출하여, 그 위치에 대한 최적의 경로를 찾아 패킷을 다음 장치로 전달하는 장치, 여기서 최적의 경로란 일반적으로는 가장 빠르게 통신할 수 있는 경로를 의미 (통신 경로상 최단거리를 의미하는 건 아님!) 프로토콜 - 한 마디로 규약, 데이터 교환을 효율적으로 만드는 기능 수행 왜 이런 규약을 만드느냐!? -> 효율적인 정보 교환을 위해서, 만약 규칙이 없다면 원활한 정보 교환이 이루어지기 어..

오늘은 기초적인 정렬 알고리즘을 알아보려 합니다. 대표적인 정렬 알고리즘으로는 선택 정렬, 버블 정렬(거품 정렬), 삽입 정렬, 셸 정렬(쉘 정렬), 병합 정렬, 퀵 정렬 등이 있는데요. 간단하게 선택 정렬, 버블 정렬, 삽입 정렬, 쉘 정렬 네 가지 정렬의 정의와 코드를 정리하고 각각의 알고리즘 실행 속도를 측정하여 성능을 비교해 보려 합니다. 1. 선택 정렬 주어진 배열에서 가장 작은 원소를 찾아 첫 번째 원소와 교환하고 두 번째 작은 원소를 찾아 두 번째 원소와 교환하고... 반복하는 정렬 방법 정렬 방법 1. 주어진 배열 중 최솟값을 찾는다. 2. 그 최솟값을 맨 앞의 원소와 교환한다. 3. (N-1)원소에 대해 1-2 방법 반복 소스코드(파이썬) def select_sort(a: list) ->..

오늘은 앞서 배운 내용을 바탕으로 간단한 grid 형태(격자 형태)의 콜렉션뷰를 만들어 보겠습니다. 최대한 다양한 내용을 써먹기 위해 Section은 2개로 하고 headerView footerView 두개 다 추가하려 합니다. ㅋㅋ (예쁘게 꾸미려고 만드는 뷰가 아니기때문에..!) headerView - 빨간색, footerView - 보라색, cell - 파란색 먼저 스토리보드에 UICollectionView를 추가 한 후, 다음과 같이 오토레이아웃을 잡아 줍니다. 이후 꼭 설정 변경하셔야 할 부분이 Estimate Size 입니다. 이 Estimate Size가 Automatic으로 되어 있을 텐데, 이부분을 None으로 바꾸어 주셔야 합니다. 이제 컬렉션뷰를 아울렛으로 연결 해 주시고, viewD..

스택 스택(stack) - 쌓아놓은 더미, 한쪽 끝에서 자료를 넣거나 뺄 수 있는 선형 자료구조, 후입선출(Last-In First-Out)구조로 가장 최근에 들어온 데이터가 가장 먼저 나간다. push - 스택에 데이터 추가 pop - 스택에서 데이터 삭제 ● 스택의 연산 create() - 스택 생성 is_full(s) - 스택이 포화상태인지 검사 is_empty(s) - 스택이 공백상태인지 검사 push() - 스택에 데이터 추가 pop() - 스택에서 데이터 삭제 peek(s) - 요소를 스택에서 제거하지 않고 보기만 하는 연산 ● 배열을 이용한 스택 구현 배열을 이용해 스택을 구현해 봅시다 ㅎㅎ 1차원 배열을 이용해 스택을 구현할 거고, 위에 적은 연산을 각각 함수로 구현할 겁니다! #inclu..

우리가 iOS 앱 개발을 하면서 정말 많이 쓰는 뷰중 한가지가 콜렉션뷰 아닐까 싶은데요! 그래서 오늘은 UICollectionView를 정리하려 합니다. 먼저 당연한 말이지만, UICollectionView가 뭔지 알아야 겠죠? UICollectionView는 여러 데이터를 관리하고 커스텀 가능한 레이아웃을 사용해서 사용자에게 보여줄 수 있는 객체입니다. 보시면, UITableView처럼 UIScrollView를 상속받고 있는 것을 볼 수 있네요 ㅎㅎ 컬렉션뷰는 테이블뷰와 마찬가지로, UICollectionViewCell을 사용하여 데이터를 화면에 표현합니다. 그 외에 Supplementary view(Section header, footer)를 지원 함으로써 다음과 같이 셀을 구분하여 표현 가능 합니다..