안녕하세요 Pingu 입니다.🐧 Swift에는 Deque 자료구조가 따로 없어서 직접 만들어야합니다.😂 참고로 Deque는 앞뒤로 모두 삽입, 삭제가 가능한 자료구조입니다. 매번 만드는게 귀찮아서 이렇게 따로 글을 남기려고합니다. Deque를 만드는 방법에는 다양한 방법이 있지만 이번 글에서는 간단하게 배열 2개로 만든 Deque를 만들었어요. Swift에서는 배열을 뒤집는 reversed() 메서드의 시간복잡도가 O(1) 이므로 Deque와 같은 성능을 낼 수 있다고 봅니다. Deque의 가장 기본적인 기능들만 구현했습니다. 감사합니다. // Made by Pingu class Deque { var enqueue: [T] var dequeue: [T] = [] var count: Int { return..
안녕하세요 Pingu 입니다.🐧 Swift에는 Queue 자료구조가 따로 없어서 직접 만들어야합니다.😂 참고로 Queue는 FIFO(First In First Out)의 구조를 갖는 자료구조입니다. 매번 만드는게 귀찮아서 이렇게 따로 글을 남기려고합니다. Queue를 만드는 방법에는 다양한 방법이 있지만 이번 글에서는 간단하게 배열 2개로 만든 Queue를 만들었어요. Swift에서는 배열을 뒤집는 reversed() 메서드의 시간복잡도가 O(1) 이므로 Queue와 같은 성능을 낼 수 있다고 봅니다. Queue의 가장 기본적인 기능들만 구현했습니다. 감사합니다. // Mady By Pingu class Queue { var enqueue: [T] var dequeue: [T] = [] var count..
안녕하세요 Pingu입니다.🐧 오늘은 Swift에서 중요한 ARC에 대해서 알아볼 건데요, ARC에 대한 자세한 내용은 여기를 참고해주세요. ARC는 Automatic Reference Counting이라고 해서 클래스와 같은 참조 타입에서 사용되는 메모리 관리 방법인데요, 간단하게 말하면 클래스의 인스턴스가 있을 때 인스턴스를 참조하는 곳을 계속 카운트하다가 언젠가 0이 되면 인스턴스를 메모리에서 할당 해제하는 아이디어입니다. 이 말은 바꿔말하면 참조 카운트가 1 이상이라면 메모리에서 할당 해제되지 않는다는 것을 말합니다. 때문에 아무곳에서 사용하지 않고 있음에도 불구하고 메모리를 유지하는 문제가 발생할 수 있고 오늘은 이러한 참조 사이클이 발생하는 상황과 해결 방법을 알아보려고 합니다. Strong ..
안녕하세요 Pingu입니다. Swift 문법 중 Closure(클로저)에 대해서 다시 공부를 하는데 AutoClosure, EscapingClosure이 잘 이해가 가지 않아서 정리 겸 공부를 한 번 하기 위해 글을 쓰려고 합니다. 클로저에 대한 내용은 여기서 한 번 정리를 했는데도, AutoClosure, EscapingClosure을 다시 보니 잘 기억이 나지 않네요.. 역시 어려운 개념은 반복학습을 해야 되는 것 같아요. 만약 클로저를 처음 보시는 분이라면 여기를 먼저 보시는 것을 추천드립니다! 어쨌든 이번 글에서는 AutoClosure, EscapingClosure에 대해 공부해보겠습니다. Closure(클로저) 우선 공식문서에서 클로저는 코드에서 함수적인 것을 독립적으로 사용할 수 있는 코드라고..
안녕하세요 Pingu입니다. Apple의 Swift 공식문서를 모두 읽고 정리한 내용입니다. 첫 정독후 정리했지만 꾸준히 다시 읽으며 수정하고 있습니다! 원문은 Apple Swift 공식문서에서 볼 수 있습니다. Swift Language Guide [Swift_Documents] Swift 공식 문서 정리 - 1 - The Basics v2 [Swift_Documents] Swift 공식 문서 정리 - 2 - Basic Operators (연산자) [Swift_Documents] Swift 공식 문서 정리 - 3 - Strings and Characters (문자와 문자열) [Swift_Documents] Swift 공식 문서 정리 - 4 - Collection Types (컬렉션 타입) [Swift_..
이번 글에서는 Swift 공식 문서의 27번째 단원인 Advanced Operators를 읽고 정리한 글을 쓰려고 합니다. Swift 공식문서 27단원 - Advanced Operators Advanced Operators 공식문서의 2단원인 Basic Operators에서 설명된 연산자 외에도 Swift에는 더 복잡한 값의 조작을 수행하는 여러 고급 연산자를 제공한다. 여기에는 C, Objective-C에서 익숙한 모든 비트 및 비트 이동 연산자가 포함된다. C의 산술 연산자와 달리 Swift의 산술 연산자는 기본적으로 오버플로 되지 않는다. 오버플로 동작은 트랩 되고 오류로 보고된다. 오버플로 동작을 선택하려면 오버플로 더하기 연산자 (& +)와 같이 기본적으로 오버플로 되는 Swift의 두 번째 산..
이번 글에서는 Swift 공식 문서의 26번째 단원인 Access Control을 읽고 정리한 글을 쓰려고 합니다. Swift 공식문서 26단원 - Access Control Access Control 접근 제어는 다른 소스 파일 및 모듈의 코드에서 현재 코드 부분에 대한 접근을 제한한다. 이 기능을 사용하면 코드의 구현 세부 정보를 숨기고 해당 코드에 접근하고 사용할 수 있는 기본 인터페이스를 지정할 수 있다. 특정 접근 수준을 개별 타입(클래스, 구조체, 열거형)과 해당 타입에 포함된 프로퍼티, 메서드, 생성자, 서브 스크립트에 할당할 수 있다. 프로토콜은 전역 상수, 전역 변수, 전역 함수와 마찬가지로 특정 컨텍스트로 제한될 수 있다. 다양한 수준의 접근 제어를 제공하는 것 외에도 Swift는 일반..
이번 글에서는 Swift 공식 문서의 25번째 단원인 Memory Safety을 읽고 정리한 글을 쓰려고 한다. Apple Swift Document 25단원 - Memory Safety Memory Safety Swift는 코드가 안전하게 동작할 수 있도록 노력한다. 예를 들어 Swift는 변수가 사용되기 전에 초기화되고 메모리가 할당 해제된 후엔 접근되지 않으며 Array의 인덱스에서 벗어나면 오류를 발생시킨다. Swift는 메모리의 위치를 수정하는 코드가 해당 메모리에 대한 독점 접근 권한을 갖도록 요구하여 동일한 메모리 영역의 접근들의 충돌을 방지한다. Swift는 메모리를 자동으로 관리해주기 때문에 메모리 접근에 대해 크게 생각할 필요는 없지만, 충돌이 발생할 수 있는 위치를 이해해야 코드를 잘..
- Total
- Today
- Yesterday
- pattern
- Xcode
- operator
- Swift
- 앱개발
- 프로그래밍
- Combine
- 문법
- 백준
- 코딩테스트
- 알고리즘
- Publisher
- BFS
- document
- IOS
- 자료구조
- System
- 동시성
- operating
- mac
- DP
- 아이폰
- 테이블뷰
- 코테
- Apple
- OSTEP
- OS
- dfs
- 스위프트
- design
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |