Dev Terms

· Dev Terms
Clean Architecture여러가지 아키텍처들이 있지만 이들의 공통적인 목표가 있음.프레임워크에 독립적일 것.Testability. 비즈니스 규칙은 UI, DB, 웹 서버 또는 기타 외부요소 없이 테스트 가능.UI와 독립적. 시스템의 나머지 부분을 변경하지 않고도, UI를 쉽게 변경할 수 있음.(예를 들어, 비즈니스 규칙을 변경하지 않도고 웹 UI를 콘솔 UI로 교체 가능)DB와 독립적. 비즈니스 규칙 DB에 바인딩되지 않음.외부 기관으로부터 독립적. 실제 비즈니스 규칙은 외부 세계에 대해 전혀 알지 못함. 아래의 다이어그램은 이러한 모든 아키텍처들을 하나의 실행가능한 아이디어로 통합하기 위한 시도.  Dependency Rule동심원의 바깥에서 안쪽으로 들어갈수록 고수준.바깥쪽 원은 매커니즘, 내..
· Dev Terms
TLS(Transport Layer Security) TLS의 주요 목표는 두 당사자 간에 교환되는 메시지에 개인 정보 보호 및 무결성을 추가하는 것. TLS를 사용하면 해당 데이터를 신뢰할 수 없는 제3자에게 노출시키지 않고 네트워크를 통해 데이터를 전송할 수 있습니다. TLS 연결의 3단계 클라이언트에서 서버로 연결 시도 클라이언트가 암호화에 사용할 수 있는 Cipher Suite와 함께 지원할 수 있는 TLS버전이 나열된 메세지를 서버로 전달 Cipher Suite: TLS를 통해 네트워크 연결을 보호하는 데 필요한 알고리즘 집합(참고: https://en.wikipedia.org/wiki/Cipher_suite) 서버에서는 선택한 Cipher Suite로 응답하고, 하나 이상의 Digital Ce..
· Dev Terms
(이 글은 '클린 아키텍처 - 소프트웨어 구조와 설계 원칙'을 읽고 정리한 글입니다. 예시는 책의 것과 다를 수도 있습니다) 좋은 소프트웨어는 깔끔한 코드(Clean Code)에서 시작합니다. 좋은 벽돌을 사용하지 않으면 빌딩의 아키텍처가 좋고 나쁨은 크게 의미가 없고, 반대로 좋은 벽돌을 사용하더라도 빌딩의 아키텍처를 엉망으로 만들 수 있습니다. 그래서 좋은 벽돌로 좋은 아키텍처를 정의하는 원칙이 필요 -> SOLID SOLID원칙의 목적 중간 수준의 소프트웨어 구조가 변경에 유연하고, 이해하기 쉽고 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 되도록 하는 데 있습니다. (여기서 중간 수준 소프트웨어는 코드 수준보다는 조금 상위이며 모듈과 컴포넌트 내부에서 사용되는 소프트웨어를 말합니다)..
· Dev Terms
의존성, 의존성 주입, 의존성 역전에 대해서 정리하려고 합니다. 의존성 아래와 같은 코드가 있을 때, 'A클래스는 B클래스에 의존성을 갖는다'라고 합니다. class A { let b = B() // 'A클래스는 B클래스에 의존성을 갖는다' } class B { } 이때 객체 인스턴스를 사용하는 곳(A)을 클라이언트(Client)라고 부르고, 의존성(a dependency)은 사용되는 객체 인스턴스(B)를 말합니다. '의존성이 변하면, 클라이언트에 영향을 미치게 되는 관계'입니다. 의존성 주입(Dependency Injection, DI) 위 코드는 의존성을 클라이언트가 직접 인스턴스를 만들고 있습니다. 아래와 같이 의존성의 인스턴스를 외부로부터 생성하여 전달받는 것을 의존성 주입라고 부릅니다. clas..
· Dev Terms
프로그래밍 언어에서 1급 객체란 아래의 조건을 충족시키면 됩니다. 1. 변수나 데이터에 할당 할 수 있어야 한다. 2. 객체의 매개변수로 넘길 수 있어야 한다. 3. 객체의 반환값으로 리턴 할수 있어야 한다. Swift 기본타입들(Int, Bool, Struct, ...)은 물론 1급 객체이고, 함수 또한 1급 객체로 취급이 됩니다. 1. 변수나 데이터에 할당 // Int형 파라메터 2개를 받아서 Int를 반환하는 함수형을 선언 var mathFunction: (Int, Int) -> Int // Int값 두 개를 입력받고 Int를 반환하는 함수 func addTwoInts(_ a: Int, _ b: Int) -> Int { return a + b } // addTwoInts함수를 mathFunction..
SwiftyCody
'Dev Terms' 카테고리의 글 목록