Tag

iOS

[iOS] Swift의 pattern

Pattern 패턴은 특정 값이 아닌 값의 구조를 나타내므로 다양한 값으로 패턴을 일치시킬 수 있다. 대부분의 패턴은 switch / if / for 등의 키워드와 자주 사용되고 두 개 이상의 키워드가 합을 이뤄 동작한다. 우리가 자주 사용하던 코딩방식에도 패턴이 적용되고 있었으나...

[iOS] Swift의 Type

named Types 이름을 가진 타입으로 Class / Struct / Enum / Protocol이 여기에 해당한다. 이런 타입들은 이름을 지정해서 만들기 때문에 named Types이다(?) Int / String / Bool 등도 결국 Struct로 구현이 되어있기 떄문에 ...

[iOS] Equatable

클래스나 구조체를 비교하는 방법 우리가 만들어서 사용하는 클래스나 구조체는 단순 ‘==’ 로 같은 객체인지 비교가 불가능하다. 내부의 프로퍼티는 동일한지 확인이 가능하지만 객체 자체는 비교가 불가능! 그말은 클래스나 구조체는 내부적으로 객체 자체를 비교하는 방법이 구현이 되어있지 ...

[iOS] Delegate vs Callback

Swift에서 비동기를 처리하는 방법들 swift에서 비동기를 처리하는 방법으로 Delegate 패턴이나 Callback 함수등이 있다. 결국 이벤트를 감지해야하는 곳에서 메소드를 정의하고 이벤트를 발생시키는 부분(?)에서 메소드를 구현하여 반응하는 공통적인 구조이다. 목적이 같아...

[iOS] Swift에서의 일급객체

일급 객체의 조건 Swift는 함수형 프로그래밍 지향 패러다임에 따라 1급 객체로서의 조건을 갖춘다. 프로그래밍 언어에서 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 말한다. 보통 해당 조건들을 만족하면 일급객체라고 할 수 있다. 객체가 ...

[iOS] final 키워드

final? final 키워드는 기본적으로 상속과 오버라이드를 제한하는 역할로 사용된다. 그렇다면 상속과 오버로드를 막아야하는 경우가 아니라면 사용하지 않을까? final 키워드를 적재적소에 사용하면 런타임 성능을 향상시킬 수 있다고 한다. final 키워드를 클래스에 사용할 경...

[iOS] RxSwift - withUnretained

RxSwift에서의 약한참조 subscribe나 bind를 할때 참조순환을 막기위하여 [weak self] 키워드를 쓰곤 했다.

[iOS] RxSwift 알아보기

Observable / Observer 비동기 이벤트에 대해 관찰 가능할 순차적인 형태가 Observable이고 해당 이벤트의 변화를 관찰하여 전파를 받는 대상이 Observer이다. Observable은 이벤트를 전달하고 Observer는 이를 감시하고 있다가 전달되는 이벤트를 ...

[iOS] class/struct와 메모리의 관계

Class는 ReferenceType / Strcut는 ValueType 기본적으로 class는 참조타입 struct는 값타입으로 알고있다. 그에 따라 참조타입의 데이터는 메모리 영역 중 힙에 저장되고 값타입의 데이터는 스택에 저장된다고 알고 있다. 하지만 실질적으로 어떻게 저장이...

[iOS] 멀티스레드와 Queue

멀티 스레드란? 하나의 프로세스 내에서 여러 스레드가 동시에 작업을 수행하는 것으로 하나의 프로세스 내에서 여러개의 스레드가 존재하고 각 스레드들이 프로세스의 자원을 공유하되 실행은 독립적으로 이루어지는 구조이다.

[iOS] init VS convenience init

init 이란? Designated init Swift의 초기화 이니셜라이저로서 클래스의 모든 프로퍼티가 초기화 될 수 있도록 해야한다. 사용시에는 그냥 Init() 으로 사용한다.

[iOS] [RxSwift] subscribe, bind, drive

subscribe onNext, onError, onCompleted, onDisposed를 모두 가지고 있다. 구독을 한 대상의 상태가 변하면 이벤트를 전달 받는다.

[iOS] async / await

비동기란? 나중에 알 수 없는 시간에 호출될 수 있는 코드 코드가 읽혀도 바로 실행되지 않음 이후 라인에 있는 코드 실행을 막지도 않음

[iOS] defer란 무엇일까?

defer의 기본기능 defer란 단어는 미루다 / 연기하다 라는 뜻으로 함수 안에서 작성되는 클로저이다. 특징으로는 무조건 함수 종료 직전에 실행된다는 것! 맨 마지막 실행순서로 미루는 것 이다.

[iOS] DataBinding을 적용하자

MVVM의 기본규칙 View는 ViewModel을 가지고, ViewModel은 Model을 가짐 ViewModel은 입출력을 처리하고 UI가 요구하는 로직을 처리하는 역할만을 수행 ViewModel은 UI를 수정할 수 x

[iOS] Singleton

싱글톤이란? 싱글톤은 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 함 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나 최초 생성 이후에 호출된 생성자는 최초에 생성자가 생성한 객체를 리턴

[iOS] 타입 캐스팅

타입 캐스팅이란? 타입 캐스팅은 인스턴스의 타입을 확인하거나, 해당 인스턴스를 슈퍼클래스 or 하위 클래스로 취급하는 방법이다.

[iOS] ViewModel을 class로 만들어야 하는 이유

Struct vs Class 먼저 struct와 class의 차이점을 짚고 넘어가야 할 것 같다. 가장 먼저 떠오르는건 struct는 상속이 불가능하다는 것. 하지만 protocol로 어느정도 대체가 가능하다. 다음은 struct는 value type이고 class는 refer...

[iOS] Lazy. lazy var

Lazy - 지연 저장 프로퍼티 lazy 키워드를 붙여서 프로퍼티를 선언하면 단어 뜻 그대로 다른 프로퍼티보다 지연된다. 즉, 해당 프로퍼티가 처음 사용되기 전까지는 메모리에 올라가지 않는다. 지연 저장 프로퍼티는 호출이 있어야만 값을 초기화 하는 특성 초기화 하는 특성을 가지...

[iOS] CocoaPods 사용법

CocoaPods CocoaPods이란 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자이다. 80,000개가 넘는 라이브러리를 가지고 있으며 300만 개가 넘는 응용 프로그램에서 사용되고 있다.

[iOS] Alamofire 사용하기

Alamofire? Alamofire는 swift를 기반으로 한 HTTP 네트워킹 라이브러리이다. Foundation의 URLSession 기반으로 구현되어 있어, 더 쉽게 사용할 수 있도록 한다. 즉, Alamofire는 HTTP 네트워킹을 하는데 있어서 자주 사용하는 코드...

맨 위로 이동 ↑

swift

[iOS] Swift의 pattern

Pattern 패턴은 특정 값이 아닌 값의 구조를 나타내므로 다양한 값으로 패턴을 일치시킬 수 있다. 대부분의 패턴은 switch / if / for 등의 키워드와 자주 사용되고 두 개 이상의 키워드가 합을 이뤄 동작한다. 우리가 자주 사용하던 코딩방식에도 패턴이 적용되고 있었으나...

[iOS] Swift의 Type

named Types 이름을 가진 타입으로 Class / Struct / Enum / Protocol이 여기에 해당한다. 이런 타입들은 이름을 지정해서 만들기 때문에 named Types이다(?) Int / String / Bool 등도 결국 Struct로 구현이 되어있기 떄문에 ...

[iOS] Equatable

클래스나 구조체를 비교하는 방법 우리가 만들어서 사용하는 클래스나 구조체는 단순 ‘==’ 로 같은 객체인지 비교가 불가능하다. 내부의 프로퍼티는 동일한지 확인이 가능하지만 객체 자체는 비교가 불가능! 그말은 클래스나 구조체는 내부적으로 객체 자체를 비교하는 방법이 구현이 되어있지 ...

[iOS] Delegate vs Callback

Swift에서 비동기를 처리하는 방법들 swift에서 비동기를 처리하는 방법으로 Delegate 패턴이나 Callback 함수등이 있다. 결국 이벤트를 감지해야하는 곳에서 메소드를 정의하고 이벤트를 발생시키는 부분(?)에서 메소드를 구현하여 반응하는 공통적인 구조이다. 목적이 같아...

[iOS] Swift에서의 일급객체

일급 객체의 조건 Swift는 함수형 프로그래밍 지향 패러다임에 따라 1급 객체로서의 조건을 갖춘다. 프로그래밍 언어에서 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 말한다. 보통 해당 조건들을 만족하면 일급객체라고 할 수 있다. 객체가 ...

[iOS] final 키워드

final? final 키워드는 기본적으로 상속과 오버라이드를 제한하는 역할로 사용된다. 그렇다면 상속과 오버로드를 막아야하는 경우가 아니라면 사용하지 않을까? final 키워드를 적재적소에 사용하면 런타임 성능을 향상시킬 수 있다고 한다. final 키워드를 클래스에 사용할 경...

[iOS] RxSwift - withUnretained

RxSwift에서의 약한참조 subscribe나 bind를 할때 참조순환을 막기위하여 [weak self] 키워드를 쓰곤 했다.

[iOS] RxSwift 알아보기

Observable / Observer 비동기 이벤트에 대해 관찰 가능할 순차적인 형태가 Observable이고 해당 이벤트의 변화를 관찰하여 전파를 받는 대상이 Observer이다. Observable은 이벤트를 전달하고 Observer는 이를 감시하고 있다가 전달되는 이벤트를 ...

[iOS] class/struct와 메모리의 관계

Class는 ReferenceType / Strcut는 ValueType 기본적으로 class는 참조타입 struct는 값타입으로 알고있다. 그에 따라 참조타입의 데이터는 메모리 영역 중 힙에 저장되고 값타입의 데이터는 스택에 저장된다고 알고 있다. 하지만 실질적으로 어떻게 저장이...

[iOS] 멀티스레드와 Queue

멀티 스레드란? 하나의 프로세스 내에서 여러 스레드가 동시에 작업을 수행하는 것으로 하나의 프로세스 내에서 여러개의 스레드가 존재하고 각 스레드들이 프로세스의 자원을 공유하되 실행은 독립적으로 이루어지는 구조이다.

[iOS] init VS convenience init

init 이란? Designated init Swift의 초기화 이니셜라이저로서 클래스의 모든 프로퍼티가 초기화 될 수 있도록 해야한다. 사용시에는 그냥 Init() 으로 사용한다.

[iOS] [RxSwift] subscribe, bind, drive

subscribe onNext, onError, onCompleted, onDisposed를 모두 가지고 있다. 구독을 한 대상의 상태가 변하면 이벤트를 전달 받는다.

[iOS] async / await

비동기란? 나중에 알 수 없는 시간에 호출될 수 있는 코드 코드가 읽혀도 바로 실행되지 않음 이후 라인에 있는 코드 실행을 막지도 않음

[iOS] defer란 무엇일까?

defer의 기본기능 defer란 단어는 미루다 / 연기하다 라는 뜻으로 함수 안에서 작성되는 클로저이다. 특징으로는 무조건 함수 종료 직전에 실행된다는 것! 맨 마지막 실행순서로 미루는 것 이다.

[iOS] DataBinding을 적용하자

MVVM의 기본규칙 View는 ViewModel을 가지고, ViewModel은 Model을 가짐 ViewModel은 입출력을 처리하고 UI가 요구하는 로직을 처리하는 역할만을 수행 ViewModel은 UI를 수정할 수 x

[iOS] Singleton

싱글톤이란? 싱글톤은 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 함 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나 최초 생성 이후에 호출된 생성자는 최초에 생성자가 생성한 객체를 리턴

[iOS] 타입 캐스팅

타입 캐스팅이란? 타입 캐스팅은 인스턴스의 타입을 확인하거나, 해당 인스턴스를 슈퍼클래스 or 하위 클래스로 취급하는 방법이다.

[iOS] ViewModel을 class로 만들어야 하는 이유

Struct vs Class 먼저 struct와 class의 차이점을 짚고 넘어가야 할 것 같다. 가장 먼저 떠오르는건 struct는 상속이 불가능하다는 것. 하지만 protocol로 어느정도 대체가 가능하다. 다음은 struct는 value type이고 class는 refer...

[iOS] Lazy. lazy var

Lazy - 지연 저장 프로퍼티 lazy 키워드를 붙여서 프로퍼티를 선언하면 단어 뜻 그대로 다른 프로퍼티보다 지연된다. 즉, 해당 프로퍼티가 처음 사용되기 전까지는 메모리에 올라가지 않는다. 지연 저장 프로퍼티는 호출이 있어야만 값을 초기화 하는 특성 초기화 하는 특성을 가지...

[iOS] CocoaPods 사용법

CocoaPods CocoaPods이란 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자이다. 80,000개가 넘는 라이브러리를 가지고 있으며 300만 개가 넘는 응용 프로그램에서 사용되고 있다.

[iOS] Alamofire 사용하기

Alamofire? Alamofire는 swift를 기반으로 한 HTTP 네트워킹 라이브러리이다. Foundation의 URLSession 기반으로 구현되어 있어, 더 쉽게 사용할 수 있도록 한다. 즉, Alamofire는 HTTP 네트워킹을 하는데 있어서 자주 사용하는 코드...

맨 위로 이동 ↑

TIL

[iOS] DataBinding을 적용하자

MVVM의 기본규칙 View는 ViewModel을 가지고, ViewModel은 Model을 가짐 ViewModel은 입출력을 처리하고 UI가 요구하는 로직을 처리하는 역할만을 수행 ViewModel은 UI를 수정할 수 x

[iOS] Singleton

싱글톤이란? 싱글톤은 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 함 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나 최초 생성 이후에 호출된 생성자는 최초에 생성자가 생성한 객체를 리턴

[iOS] 타입 캐스팅

타입 캐스팅이란? 타입 캐스팅은 인스턴스의 타입을 확인하거나, 해당 인스턴스를 슈퍼클래스 or 하위 클래스로 취급하는 방법이다.

[iOS] ViewModel을 class로 만들어야 하는 이유

Struct vs Class 먼저 struct와 class의 차이점을 짚고 넘어가야 할 것 같다. 가장 먼저 떠오르는건 struct는 상속이 불가능하다는 것. 하지만 protocol로 어느정도 대체가 가능하다. 다음은 struct는 value type이고 class는 refer...

[iOS] Lazy. lazy var

Lazy - 지연 저장 프로퍼티 lazy 키워드를 붙여서 프로퍼티를 선언하면 단어 뜻 그대로 다른 프로퍼티보다 지연된다. 즉, 해당 프로퍼티가 처음 사용되기 전까지는 메모리에 올라가지 않는다. 지연 저장 프로퍼티는 호출이 있어야만 값을 초기화 하는 특성 초기화 하는 특성을 가지...

[iOS] CocoaPods 사용법

CocoaPods CocoaPods이란 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자이다. 80,000개가 넘는 라이브러리를 가지고 있으며 300만 개가 넘는 응용 프로그램에서 사용되고 있다.

[iOS] Alamofire 사용하기

Alamofire? Alamofire는 swift를 기반으로 한 HTTP 네트워킹 라이브러리이다. Foundation의 URLSession 기반으로 구현되어 있어, 더 쉽게 사용할 수 있도록 한다. 즉, Alamofire는 HTTP 네트워킹을 하는데 있어서 자주 사용하는 코드...

[CS] 데이터 베이스 관리 시스템

데이터 베이스 서로 연관이 있는 데이터들의 모임 특정한 목적을 위해서 설계, 구축, 운용 데이터가 생성되는 원천(source)를 가지며, 실세계의 사건들과 어느정도 상호작용을 가지고, 데이터베이스의 내용에 능동적으로 관심을 갖는 사용자를 가짐 가장 일반적인 유형의 ...

맨 위로 이동 ↑

CS

[CS] 데이터 베이스 관리 시스템

데이터 베이스 서로 연관이 있는 데이터들의 모임 특정한 목적을 위해서 설계, 구축, 운용 데이터가 생성되는 원천(source)를 가지며, 실세계의 사건들과 어느정도 상호작용을 가지고, 데이터베이스의 내용에 능동적으로 관심을 갖는 사용자를 가짐 가장 일반적인 유형의 ...

맨 위로 이동 ↑

WIL

맨 위로 이동 ↑

RxSwift

[iOS] RxSwift - withUnretained

RxSwift에서의 약한참조 subscribe나 bind를 할때 참조순환을 막기위하여 [weak self] 키워드를 쓰곤 했다.

[iOS] RxSwift 알아보기

Observable / Observer 비동기 이벤트에 대해 관찰 가능할 순차적인 형태가 Observable이고 해당 이벤트의 변화를 관찰하여 전파를 받는 대상이 Observer이다. Observable은 이벤트를 전달하고 Observer는 이를 감시하고 있다가 전달되는 이벤트를 ...

[iOS] [RxSwift] subscribe, bind, drive

subscribe onNext, onError, onCompleted, onDisposed를 모두 가지고 있다. 구독을 한 대상의 상태가 변하면 이벤트를 전달 받는다.

맨 위로 이동 ↑

flutter

맨 위로 이동 ↑

dart

맨 위로 이동 ↑

MarkDown

맨 위로 이동 ↑