Web

    [ DataBase - Basic ] - SQL, Subquery로 데이터 조회하기

    INSERT 이전에 구현한 DB Schema를 토대로 간단히 알고있는 지식을 바탕으로 실습을 진행해보도록 하겠습니다. 참고로 제가 생각하기에 제가 부족한 것들만 간단히 정리한 것입니다. INSERT INTO employee VALUES (1, 'MESSI', '1987-02-01', 'M', 'DEV_BACK', 10000000, null) # Query OK, 1 row affected (0.05 sec) INSERT INTO employee (name, birth_date, sex, position, id) VALUES ('MESSI', '2000-10-12', 'F', 'DEV_BACK', 3) # Query OK, 1 row affected (0.01 sec) 위와같이 진행할 수 있습니다. 아래와..

    [ DataBase - Basic ] - key, constraints, SQL

    [ DataBase - Basic ] - key, constraints, SQL

    implicit constraints relation data model 자체가 가지는 constraints로써, relation은 중복되는 tuple을 가질 수 없다나 relation 내에서 같은 이름의 attribute를 가질 수 없다 등이 있겠습니다. schema-based constraints (= explicit constraints) 이는 주로 DDL을 통해 직접 명시할 수 있는 constraints를 말합니다. domain constraints 위와같이 attribute의 value는 해당 attribute의 domain에 속한 value여야 한다는 게 domain constraints입니다. key constraints 이는 서로 다른 tuples는 같은 value의 key를 가질 수 없는..

    [ DataBase - Basic ] - DB, DBMS의 기초

    [ DataBase - Basic ] - DB, DBMS의 기초

    DBMS의 동작 원리 실제 우리가 사용하는 DB즉 DBMS가 동작하는 원리는 위의 그림과 같습니다. 먼저 우리의 애플리케이션이 있고, 이 앱이 쿼리를 DBMS Software에 날리고, DBMS는 이 쿼리를 파싱한다음에, 해당 쿼리 요청을 파악합니다. 이를 하기 위해서는 DB에 저장되어 있는 Meta-Data를 찾아서 이를 바탕으로 실제 Store된 데이터에 접근하고 찾은 값을 우리의 애플리케이션에 되돌려주는 것이 일반적인 DBMS의 동작방식입니다. three-schema architecture 이는 DB를 구성하는 가장 기본적인 방법입니다. 이는 user appliation으로부터 물리적인(physical) database를 분리시키려는 목적이 가장 큽니다. three-schema의 의미는 세 가지 l..

    [ Kotlin & Spring ] - 스프링 WebFlux의 코루틴 지원과 코루틴 원리

    [ Kotlin & Spring ] - 스프링 WebFlux의 코루틴 지원과 코루틴 원리

    1. 스프링 WebFLux의 코루틴 지원 프로젝트 리액터 기반의 리액티브 프로그래밍은 비동기-논블로킹의 단점인 콜백 헬 문제를 순차적으로 동작하는 연산자를 통해 해결합니다. 하지만 함수형 패러다임에 익숙하거나 리액터의 다양한 연산자에 부담이 없다면 이도 상관없지만, 매우 러닝커브가 높은 편입니다. 이로 인해 최근 안드로이드도 최근엔 RxJava에서 코루틴 기반으로 작성하는 코드가 늘어나고 있고 서버 측에서도 코루틴을 도입하는 사례도 많아지고 있습니다. 1-1. 코루틴 코루틴(Coroutine)은 코틀린에서 비동기-논블로킹 프로그래밍을 명령형 스타일로 작성할 수 있도록 도와주는 라이브러리 입니다. 이는 멀티 플랫폼을 지원하며 코틀린을 사용하는 안드로이드, 서버 등 여러 환경에서 사용할 수 있습니다. 또한 ..