Deep Link : URI Scheme vs Universal Link Deep Link? 딥링크란 모바일 환경에 놓인 유저가 웹사이트 혹은 다른 앱에서 URL을 클릭했을 때, 앱을 실행시키고 특정 페이지로 이동하도록 돕는 기술 예를들어 유저가 광고를 클릭했을 때 앱을 열어 특정 페이지로 바로 도달하도록 한다 URI Scheme URI Scheme은 딥링크의 가장 초기 형태로, 가장 일반적으로 사용되는 딥링크 방식이라고 할 수 있습니다. 앱을 개발하는 주체가 각 앱 내 특정 페이지마다 고유한 주소(링크)를 자유롭게 설정하고 해당 주소(링크)를 클릭하면 앱이 열리고 특정 페이지가 열리는 형태 앱 개발자가 자신만의 Scheme 값을 자유롭게 설정할 수 있기 때문에 앱의 수가 증가하면서 소유권을 증명할 수 없다는 문제로 인해, Scheme 값이 중복되는 경우가 발생 -> 결국 유.. 2022. 3. 16. OAuth 2.0 OAuth 2.0? OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 받아야 합니다. 이 때 사용자의 패스워드 없이도 권한을 위임 받을 수 있는 방법 보통 Resource Server는 Access Token을 발급할 때 Refresh Token을 함께 발급. Client는 두 Token을 모두 저장해두고, Resource Server의 API를 호출할 때는 Access Token을 사용. Access Token이 만료되어 401 에러가 발생하면, Client는 보관.. 2022. 3. 16. ReactorKit 1 ReactorKit? ReactorKit is a framework for a reactive and unidirectional Swift application architecture. ReactorKit 장점 뷰와 리액터로 UI와 비즈니스 로직을 분리 모듈간 결합도가 낮아지고 테스트하기 쉽다. 상태관리 용이 : API를 통해 앱에서 연속적인 페이지 로드할 때 이전 페이지를 기록해놓아야 하듯이, 이전 페이지를 기록하는 상태 컴포넌트가 따로 관리되게끔 설계된 구조 Unidirectional Data Flow 1. View는 Action(사용자 입력 등)을 Reactor에게 전달한다 2. Reactor는 전달받은 Action에 따라 비즈니스 로직을 수행한다. 2-1. mutate() Action 스트림을 M.. 2022. 3. 15. GoF Design Patterns GoF 디자인 패턴 디자인 패턴 : 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션 GoF의 디자인패턴에서는 객체지향적 디자인 패턴의 카테고리를 "생성 패턴(Creational Pattern)", "구조 패턴(Structural Pattern)", "행동 패턴(Behavioral Pattern)" 3가지로 구분 Creational Patterns, 생성패턴 생성 패턴은 "인스턴스를 만드는 절차를 추상화"하는 패턴입니다. 생성 패턴에 속하는 패턴들은 객체를 생성하는 방법을 시스템과 분리해줍니다. 생성 패턴에서는 중요한 이슈가 두 가지 생성 패턴은 시스템이 어떤 Concrete Class를 사용하는지에 대한 정보를 캡슐화합니다. 생성 패턴은 이들 클래스의 인스턴스들.. 2022. 3. 14. Dependency Injection Container & Swinject Dependency Injection Container = DI Container = Dependency Container = IoC Container DI Container란? 의존성 주입을 해줄때는 밖에서 인스턴스를 만들어서 주입하므로 앱의 여러군데에서 주입이 일어난다. => 인스턴스를 만드는 위치가 "분산" 되어있다. Container는 모든 인스턴스를 다 가지고 있어 모두 관리 Container에 앞으로 내가 사용할 모든 인스턴스를 다 만들어서 등록(register) 및 관리 필요한 시점에 Container에게 특정타입의 인스턴스를 달라고 하면 Container가 꺼내준다(resolve) Swinject // example 1 // Service : Animal // Component 1 : Ca.. 2022. 3. 14. Dependency Injection, 의존성 주입 Dependency, 의존성 위에 그럼 처럼 B 클래스(상위계층)에서 A 클래스(히위계층) 를 내부에 변수로 사용한다 B 클래스(상위계층)는 A 클래스(하위계층)에 의존관계가 생기게 됩니다. => 상위계층은 하위계층에 의존하게 된다 객체가 의존성을 스스로 생성 Dependency Injection, 주입 내부가 아니라 외부에서 객체를 생성해서 넣어주는 것 객체가 의존성을 스스로 생성하고 관리하지 않는다 우리가 객체에 의존성을 주입시킴으로써 의존 관계 역전 법칙으로 의존 관계를 분리 IoC, Inversion of Control, 의존 관계 역전 예를 들어 A 객체에서 B 객체가 필요하다고 할 때(A는 B에 의존), A 클래스에는 B인스턴스를 직접 생성하여 사용할 수 있다 문제는 B의 구현체가 변경되었을 .. 2022. 3. 11. 이전 1 ··· 5 6 7 8 9 10 11 ··· 32 다음