분류 전체보기
-
Swift PerformanceSwift 2021. 3. 1. 17:03
안녕하세요. 그린입니다! 이번 포스팅에서는 Swift Performance, 스위프트 퍼포먼스에 대해 이야기 해볼까 합니다😃 우선 Performance는 뭐라고 생각하면 좋을까요? 저는 퍼포먼스가 성능이라고 생각됩니다. 같은 애플리케이션을 구현하더라도 클래스로 구현하냐 구조체로 구현하냐에 따라 앱 성능 차이가 있을겁니다. 이러한 앱의 성능을 최대한으로 이끌어낼 수 있어야 좋은 앱이라고 할 수 있겠죠??🙌 성능을 자료구조에서는 어떤식으로 표현해볼 수 있을까요? : 시간복잡도 (빅오 표기법, Big O)로 표현해볼 수 있습니다. 시간복잡도? : 코드 알고리즘의 성능을 특수한 표현으로 나타낸 표기법으로 성능이랑 연관되어 있습니다. : 예를들어 이중 for문을 시간복잡도로 나타내면 O(N^)으로 나타낼 수 있습..
-
iOS File SystemiOS 2021. 2. 25. 15:41
안녕하세요. 그린입니다! 이번 포스팅에서는 iOS File System과 fileManager 클래스에 대해 알아보겠습니다🏃 파일 시스템? : 파일/자료를 탐색/접근/보관 등의 기능으로 파일을 효율적으로 관리하는 시스템 (영구 저장소 관리) : OS File System Disk 애플 파일 시스템? : Apple file system, APFS로 불리며 애플에서 macOS, iOS, watchOS, tvOS 모두에서 범용으로 사용하도록 만든 파일 시스템 : 디스크 파일 시스템 (디스크 드라이브 관리) : 기존 HFS+ 대체하는 신규 파일 시스템 : iOS에서는 10.3 버전부터 macOS에서는 하이 시에라 버전부터 도입 애플 파일 시스템의 기능 1) 컨테이너 방법 사용하여 컨테이너 내 파티션 용량 조절 ..
-
Responder Chain / Touch EventiOS 2021. 2. 22. 18:04
안녕하세요. 그린입니다!이번 포스팅에서는 Responder Chain / Touch Event에 대해 알아보겠습니다. Responder란? : 이벤트를 핸들링하고 반응할 수 있는 객체 : 모든 Resonder 객체는 UIResponder에서 상속된 클래스의 인스턴스 : 이벤트 발생 시 이벤트 처리를 위해 해당 이벤트를 앱의 Responder 객체에 전달 : UIKit에 정의된 UIResponder 클래스이벤트 종류 : Touch / Press / Shake-motion / Remote-control / Editing menu : responder가 해당 이벤트에 맞는 메서드를 오버라이드해서 구현해야함 Responder Chain : responder 객체들이 이벤트나 액션 메시지를 핸들링해야될것을 앱 내..
-
의존성 관리도구iOS 2021. 2. 18. 20:12
안녕하세요. 그린입니다! 이번 포스팅에서는 의존성 관리도구에 대해 알아보겠습니다. 의존성 관리도구? : 앱 개발을 위해 외부 라이브러리 사용할 때 프로젝트와 해당 라이브러리의 상관관계를 용이하게 관리해주는 도구 : 필수는 아니나 사용하면 불필요한 공수가 줄어듬 -> 외부 라이브러리 가져다 쓸때 업데이트가 생겨 버전이 올라가면 라이브러리 교체해줘야되어 휴먼 에러가 날 수 있으나 해당 작업들을 의존성 관리도구를 이용하면 명령어 한줄 등 간단한 방법으로 해결됨 -. 의존성 관리 도구 장점 : 시간절약 및 안정성 보장 -. 언어별로 의존성 관리도구 다양 1) 자바에는 Maven 2) JS에는 Yarn, NPM 3) 파이썬 pyenv —> 애플: 코코아팟, 카르타고, 스위프트 패키지 매니저 -. Cocoa, Co..
-
ARC 심화Swift 2021. 2. 17. 12:12
안녕하세요. 그린입니다! 이번 포스팅에서는 ARC에 대해 심화적으로 알아보겠습니다. ARC란? : Automatic Reference Counting (자동참조계수)를 뜻한다. : 다른 언어에는 없는 독창적인 것으로 자바의 가비지 컬렉션 기법과는 다름 (메모리 해제 시점에 관한 이해가 필요) 자동참조계수란? : 앱의 메모리 사용을 추적하고 관리해준다. : 인스턴스가 더이상 필요하지 않을때 클래스 인스턴스에 사용된 메모리를 자동으로 해제해준다. (참조 타입의 할당 / 해제 시점을 자동 관리) : 클래스의 인스턴스(참조 타입)에만 적용 (구조체/열거형 등 값 타입에는 적용되지 않는다) ARC 특징 1) 하나의 활성화 참조가 있다면 인스턴스는 할당 해제되지 않고 계속 존재 2) 강한참조의 할당을 nil로 정리..
-
Git 커밋 메시지 변경Git 2021. 2. 16. 05:19
안녕하세요. 그린입니다! 이번 포스팅에서는 Git 커밋 메시지를 변경하는 방법에 대해 기록해보겠습니다☺️ 다들 그런 경험이 있을거에요.. 커밋을 했는데 아..! 내가 커밋 메시지에 오타가 났다 아니면 태그를 잘못달았다 하는 경험이요ㅎㅎ 그럴때 커밋 메시지 변경 방법을 몰랐던 저는 커밋을 취소하고 다시 커밋하는 번거로운 과정을 거쳤는데요..! 이제는 전혀 그럴 필요가 없게 되었어요! 1. git commit --amend : 마지막 커밋 메시지 변경 이렇게 손쉽게 깃 명령어를 통한다면 마지막 커밋 메시지 변경이 가능합니다! 만약 푸쉬를 하였다면 git push -f를 사용하면 됩니다. 2, git rebase -i : 커밋의 base를 다시 재정의 하는 작업 (마지막 커밋이 아닌 예전 커밋을 변경할 때 사..
-
CoreDataiOS 2021. 2. 15. 17:32
안녕하세요. 그린입니다! 이번 포스팅에서는 CoreData(코어데이터)에 대해 알아보겠습니다..! 우선 코어데이터라는걸 알기전 데이터베이스에 대해 알아보고 차근차근 넘어가겠습니다☺️ 1. 데이터베이스란? : DataBase 줄여서 DB라고 흔히 부르며 데이터를 얻기 위한 기능이나 구조를 나타내는 추상적인 개념입니다. -. 데이터베이스에는 여러가지 다양한 종류들로 나눌 수 있습니다. 1) 계층형: 데이터 관계를 트리 형태로 정의하는 구조 (데이터 중복이 생길 수 있음) 2) 네트워크형: 데이터 관계를 그물 형태로 정의하는 구조 (계층형의 데이터 중복 문제는 해결되지만 복잡한 구조탓에 추후 구조 변경 시 비용이 많이듬) 3) 관계형(SQL): 행과 열로 구성된 테이블간의 관계를 나타내는 구조로 흔히 사용하는..
-
CacheCS(ComputerScience) 2021. 2. 4. 15:38
안녕하세요. 그린입니다! 이번 포스팅에서는 Cache (캐시)에 대해 알아보겠습니다.✍️ 1. 캐시란 ?? : 캐시(cache)는 데이터나 값을 미리 복사해 놓는 임시 저장소를 말한다. -. 역할 및 장점 : 기존방식으로는 데이터 접근 시간이 오래 걸리거나 값을 다시 계산하는 시간을 절약할때 사용 (시간을 줄임!), 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. -. 단점 : 업데이트를 바로바로 해주지 않기에 즉각성이 떨어짐 2. 캐시를 구분하는 기준 -. 클라이언트 / 서버 : 클라이언트와 서버의 캐시는 구분된다. 클라이언트는 클라이언트만의 local에 저장할 수 있는 캐시가 있으며, 서버는 여러 클라이언트의 요청에 대해 저장할 수 있는 캐시가 ..