반응형
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 일급객체 ( First-Class Object ) 대해 알아보는 시간을 가지겠습니다. 1. 개요 Swift는 함수형 프로그래밍을 따르고 있습니다. 고로! Swift라는 언어는 일급 객체 ( First-Class Object) 에 부합하는 언어라고 할 수 있습니다. 바로 설명에 들어가도록 하겠습니다~ 2. 일급 객체 일급 객체? 2급도 있고 3급도 있나? ㅎㅎㅎ 껄껄s~~ 앜ㅋㅋㅋㅋㅋㅋㅋㅋ 네 ... 죄송합니다ㅋㅋ 정확히 아래의 조건을 충족한다면 일급 객체라고 할 수 있습니다! 1. 객체가 런타임에도 생성 가능하다. 2. 객체를 인자 값으로 전달할 수 있어야 한다. 3. 객체를 반환 값으로 사용할 수 있어야 한다. 4. 데이터 구조 안에 저장할..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 저번에 이어서 드디어! GCD 4편! GCD ( Grand Central Dispatch ) 관해 알아보는 시간을 가지겠습니다. Sync, Async, Serial, Concurren에 대한 기본지식이 있다는 전재하에 포스팅을 진행을 합니다! 혹시 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 2편 - Sync vs Async 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생 beanistory.tistory.com [ iOS ] G..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 저번에 이어서 GCD 3편! Serial vs Concurrent 관해 알아보는 시간을 가지겠습니다. GCD 2탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 2편 - Sync vs Async 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생 beanistory.tistory.com 1. 개요 이번 포스팅은 개발자분들이 실제 프로젝트를 진행하면서 진짜 많이 쓰고 찾아보았던 것들에 대해 공부해보려고 합니다. 바로봐로~~~ Seria..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 1편 - 프로세스(Process) vs 쓰레드(Thread) 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 1편! 프로세스와 쓰레드 관해 알아보는 시간을 가지겠습니다. 1. 개요 주니어 개발자로 프로젝트를 하다보면 Sync / Async 프 beanistory.tistory.com 1. 개요 이번 포스팅은 개발자분들이 실제 프로젝트를 진행하면서 진짜 많이 쓰고 찾아보았던 것들에 대해 공부해보려고 합니다. 바로봐로~~~ Sync vs A..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 1편! 프로세스와 쓰레드 관해 알아보는 시간을 가지겠습니다. 1. 개요 주니어 개발자로 프로젝트를 하다보면 Sync / Async 프로세스 / 쓰레드 Serial / Concurrent Main Thread / Global Thread 등등.. 많은 용어를 보게 되는데, 정확히 이러한 것들에 대해 잘 모르시는 분들을 위해!! 포스팅 하려구 합니다. 이번엔 먼저 프로세스 / 쓰레드 부터 다뤄보도록 하겠습니다~ 2. 프로세스 ( Process ) 운영체제로부터 시스템 자원을 할당받는 작업의 최소 단위 각각의 독립된 메모리 영역 ( Code, Data, Stack, Heap ) 을 각자 할당 받습니다. 그렇기 때문에 서로 다른 프로세스끼리는..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 제네릭 ( Generic ) 대해 알아보는 시간을 가지겠습니다. 1. 개요 제네릭이란 타입에 의존하지 않고 범용 코드를 작성할 때 사용한다. 우리는!! 제네릭을 사용함으로써 코드 중복을 피하고, 유연하게 작성할 수 있다. 흔히 사용하는 Swfit 표준 라이브러리 대다수는 제네릭으로 선언되어 있습니다~ 대표적으로 Array 와 Dictionary 가 있찌요! 정확한 제네릭에 대해서는 아래에서 설명을 드리겠습니다~ 1-1. 제네릭 함수 ( Generic Function ) 아아아주~ 간단하게 두 Int 값을 Print 출력하는 함수가 있고, 아래와 같이 구현해 보았습니다. func printInts(_ a: Int, _ b: Int) { prin..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 KVC와 KVO 대해 알아보는 시간을 가지겠습니다. 1. 개요 Objective C를 개발하다가 Swift로 넘어오면 참 편한 부분이 많습니다. 예를 들어 객체 선언 후 프로퍼티나 메서드를 접근을 하였던 Objective c면 . ( 닷 ) 을 써서 바로 접근이 가능한 Swift... 물론 해당 변수가 특정 객체임을 선언해야하는건 마찬가지지만요..ㅎㅎ 이처럼 참으로 개발자에게 친절한 Swift에서 오늘 다뤄볼 내용은 아래와 같습니다. KVO : Key-Value-Observing KVC : Key-Value-Coding 단어만 보면 저게 뭐지..? 싶을텐데 의외로 자기도 모르게 쓰고 계신 분들이 많을 거라 생각됩니다. 일단 난 안써봄 ㅎㅎ 자..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 메모리구조에 대해 알아보는 시간을 가지겠습니다. 1. 개요 운영체제(OS)는 메모리에 공간을 할당을 해줍니다. 대표적으로 아래와 같이 4가지로 나뉘어져 있습니다. 오늘은 위의 총 4가지 메모리 영역에 대해 각각이 어떤 역할을 하는지 알아보겠습니다. :) 2. 메모리 구조 2-1. 코드(Code) 영역 1. 우리가 작성한 소스 코드가 기계어 형태로 저장된다. 2. 컴파일 타임에 결정되고, Read-Only의 형태로 저장된다. 기계어라고 하면은 컴퓨터가 이해할 수 있는 언어로 0, 1 로 이루어진 이진법 언어입니다. 2-2. 데이터(Data) 영역 1. 전역변수, Static 변수가 저장된다. 2. 프로그램 시작과 동시에 할당되고, 프로그램이 종..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 Trouble Shooting의 첫 번째 시간입니다. 바로 코드를 통해 iOS 16에서 강제로 단말기 Orientation 을 변경하려고 할때 생기는 이슈에 대해 말씀드리려고 해요~ 1. 공통 실제로 단말기의 Orientation을 변경하는 부분은 Appdelegate에서 구현이 가능합니다. iOS16 이전 이후 Appdelegate에 구현된 소스는 동일하게 사용 가능합니다. 바로 코드를 통해 알아보도록 하겠습니다. enum orientationType: Int {// (1) case all = 0 case portrait case landscape } var orientation:orientationType = .all// (2) func ..
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 서브스크립트 ( Subscript ) 에 대해 알아보는 시간을 가지겠습니다. 1. 개요 클래스, 구조체, 열거형에서의 멤버 요소에 접근하기 위한 바로가기 첨자 아니 이게 무슨 댕댕소리야..? 사실 저희는 개인 및 직장 프로젝트를 진행하면서 서브스크립트는 아주 자연스럽게 사용하고 있습니다 ㅎㅎ 다음 간단한 예로 확인해보도록 하겠습니다. 1-1. Array let testArr = [1, 2, 3, 4, 5] print(testArr[0]) // 1 print(testArr[4]) // 5 이렇게 [ ] 대괄호 안에 index를 넣어줘서 멤버 요소에 접근하는 것을 서브스크립트라고 할 수 있습니다. 실제로 배열의 [ ] 따라가보면 아래와 같이 정의..