본문 바로가기
  • soobinhand의 기술 블로그
728x90

soobinhand119

[디자인 패턴] DAO Pattern 목적 업무와 DBMS를 분리하기 위해 사용됩니다. 업무와 데이터 2계층을 분리하고, 서로 그 상태를 동일하게 유지합니다. 문제 DB를 사용하는 방법이 변경되면 클라이언트의 수정이 많아집니다. 데이터를 저장하는 방식이 다양합니다. (데이터베이스, 파일, XML, 엑셀 등등) DBMS에 따라 SQL문이 다를 수 있습니다. 해결방안 사용 방법의 분리 -> loose coupling, 확장성 데이터를 저장하는 방식을 분리하여 클라이언트의 변경 부분을 최소화 시킵니다. 설계 DAO 모델에 대한 기본적인 CRUD 인터페이스 DAOImpl DAO 인터페이스를 구현한 concrete class Value Object DAO를 사용하여 데이터를 저장하는 단순 POJO(Plain Old Java Object) 2021. 10. 29.
[디자인 패턴] Strategy Pattern 목적 같은 종류의 작업을 하는 알고리즘을 정의합니다. 각 알고리즘을 캡슐화하고 알고리즘들을 서로 바꿔 사용할 수 있도록합니다. 해당 패턴은 알고리즘을 사용하는 클라이언트로부터 독립적으로 알고리즘을 바꿔서 적용시킬 수 있도록합니다. 패턴이 필요한 경우 경우에 따라 서로 다른 여러 알고리즘이 존재할 때. 알고리즘이 실행 시점에 결정되어져서 조건문(if, switch...) 등을 이용해서 다른 알고리즘을 선택해야 하는 경우. 문제 알고리즘의 다른 버전이 존재해서, 중복으로 존재하거나 if문을 이용해서 선택해야하는 경우. OCP 를 위반하게 됩니다. 결국 변경되는 부분과 변경되지 않는 부분을 분리하여 설계하자는 것이 이 패턴의 목적입니다. 해결방안 중복을 공통화시킵니다. 실행 시점에 맞는 알고리즘을 호출하도록 .. 2021. 10. 29.
[데이터베이스] Data Analytics with SQL Data analytics 예측을 위한 패턴, 상관관계 또는 모델을 추론하기 위한 데이터 처리를 의미합니다. 보통 회사에서 의사 결정을 할 때 사용하고, 현재 아주 중요한 작업으로 인식되고 있습니다. Data Warehouse 에 여러 데이터 소스들을 모으고 OLAP을 사용하여 분석을 합니다. 데이터 웨어하우스 (Data Warehouse) 효율적인 의사결정을 위해 다양한 데이터베이스들을 수집한 후, 하나의 통일된 형식으로 저장한 데이터베이스들입니다. 단순한 데이터 저장고가 아니라, 관계형 데이터베이스를 근간으로 많은 데이터를 다차원 분석하여 의사결정에 도움을 주는 시스템입니다. 각각의 DBMS에서 축적한 데이터들을 한곳에 모아서 분석할 때 DW를 사용합니다. 보통 과거의 데이터는 축적하지 않는데 이 D.. 2021. 10. 29.
[데이터베이스] Key Key 하나의 tuple을 다른 tuple들로부터 구별하는 방법입니다. 종류에는 superkey, candidate key, primary key, foreign key가 있습니다. Superkey 고유한 값들로만 있는 값들의 집합입니다. 중복이 있다면 superkey가 될 수 없습니다. 예를 들어서 주민 번호는 superkey가 될 수 있지만 사람 이름은 될 수 없습니다. Candidate key 우선 정의는 이렇습니다. A minimal superkey for a relation. 즉 minimal superkey 는 candidate key입니다. 예시 {ID, name}은 superkey입니다. 하지만 부분집합, 즉 {ID}, {name}에서 {name}은 superkey가 아니지만 {ID}는 s.. 2021. 10. 29.
728x90