Learn
-
[Design Pattern] Object Oriented ParadigmLearn/Architecture 2022. 8. 20. 22:18
# Abstract Data Type (ADT) - 데이터를 밖으로 노출하지 않고 operation 구현을 보여주지 않는 방식 장점 1. 내부 방식을 바꿔도 클라이언트가 영향을 받지 않음 > 시스템을 관리하고 수정하는데 용이함 장점2. Encapsulation # Object-Oriented Paradigm Class = ADT + Inheritance (reusability) + Polymorphism (flexibility) 클래스 재사용 뿐만 아니라 클라이언트 코드의 재사용도 중요 위 그림을 위의 코드와 같이 코딩하는건 좋은 설계가 아니다. > 새로운 타입이 들어오면 아래와 같이 추가해야되는데 수천 수만개가 들어오면 어렵다. 아래와 같이 코딩해서 클라이언트가 정의하도록 하는게 polymorphic이..
-
[Design Pattern] IntroductionLearn/Architecture 2022. 8. 17. 23:33
# Category of GoF Patterns - Creational: 생성에 관련된 작업을 클라이언트가 직접 갖는게 아니라 다른 객체 주는 것 (new없이도 객체 생성 가능) - Structural: 이미 있는 클래스, 객체를 조합해서 더 복잡하게 만들거나 Structure을 나눠야 하는 경우 - Behavioral: 어떤 클래스가 어떤 책임을 가질 것인가 또는 어떻게 커뮤니케이션 할 것인가를 표현한 패턴 # Key Features of Design Pattern - Pattern name: 패턴 이름 (커뮤니케이션에서 중요) - Intent: 목적 - Problem: 어떤 문제를 해결하려 하는가 - Solution: 문제를 어떤 식으로 해결하는지 서술 - Participants and collabo..
-
[OOP/UML] Component DiagramLearn/OOP&UML 2022. 8. 17. 23:19
# 개요 - 패키지나 클래스가 구현되어야 나올 수 있다. - 그러므로 거의 구현이 다 되어야 Component Diagram이 나온다. # UML Component - Class를 모아놓은게 Component - Component가 Component를 가질 수도 있음 - 개발팀들에 Component를 분배해서 개발할 수 있다. # Notation Interface - 가장 많이 사용되는 형태 - 아래와 같은 interface는 body가 비어있음 - 필요하다면 Class Diagram을 같이 씀 - 롤리팝과 소켓으로 커뮤니케이션을 표현함 - 아래와 같이 점선으로 dependency를 표현 가능 Port, Internal Structure - port는 네모로 표현 Class - Class는 아래와 같이 ..
-
[OOP/UML] Activity DiagramLearn/OOP&UML 2022. 8. 17. 22:52
# 개요 - 시스템의 dynamics를 표현 - state가 아닌 action의 flow를 표현 (시스템 수준 뿐만 아니라 function 레벨도 표현 가능) - alternative path를 표현 가능 - 병렬 작업 표현 가능 - action만 표현하고 data는 흘러가지 않음 # Notation - 마름모는 alternative path를 표현 - 검은색 바는 parallel activity를 표현 - activity는 state와 다름에 유의 - transition은 이전 activity가 끝나면 넘어가고 statechart와 다르게 event의 condition을 확인하지 않음. - object는 이름과 state를 표현 (대괄호 안에) - Swimlanes을 쓰면 누가 어떤 일을 할지 표현할 ..
-
[OOP/UML] Statechart DiagramLearn/OOP&UML 2022. 8. 17. 22:32
Statechart diagram과 activity diagram은 비슷한데 그리는 방식이 반대이다. 그릴 내용이 - finite state machine인 경우는 statechart를 - business process인 경우는 activity diagram을 쓴다. # State operations - entry: 들어옴 - exit: 나감 - do: 계속 진행 # Transition state가 다른 state로 변하는 것에 대한 표현 - 이벤트, 조건, 동작 포함 아래의 경우 event1이 발생하면 일단 state를 나가야되므로 Activity2가 실행되고 그 후에 Activity3 그리고 다시 들어와서 Activity1이 실행된다. (※순서주의 Activity2 > Activity3 > Activ..
-
[OOP/UML] Sequence DiagramLearn/OOP&UML 2022. 8. 14. 22:33
# Interaction Diagrams Interaction Diagram은 실제 존재하는 Diagram은 아니고 개념적인 것. (아래 4개를 통칭하는 이름) Interaction Diagram은 functional requirement별로 하나씩 그림 [OOP] 4. UML OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model lay.. push-and-sleep.tistory.com - Sequence diagram - C..
-
[Anomaly Detection] PCA, Autoencoder, GANLearn/머신러닝 2022. 8. 12. 15:26
# 재구축 오차 원본 데이터를 압축했다가 다시 원본과 같은 차원으로 복원하는 과정을 거침. 복원력이 좋다면 X는 X'과 거의 같을 것이다. > 원본 데이터와 복원된 데이터의 차이를 통하여 재구축 오차(reconstruction error) 계산 # 재구축 오차 기반 이상치 탐지 알고리즘 - 이상 관측치(anomaly)들은 잘 복원되지 않을 것이라는 가정으로 접근 - 잘 복원되지 않은, 즉 재구축 오차가 큰 관측치를 찾아 이상으로 정의 > 정상 데이터로 학습해야한다. # Principal Component Analysis (PCA) 원본 데이터의 분산을 최대한 보존하는 새로운 축을 찾고, 그 축에 데이터를 projection 시키는 기법 재구축된 데이터와 기존 데이터 사이의 차이를 재구축 오차로 정의 # ..
-
[OOP/UML] Class DiagramLearn/OOP&UML 2022. 8. 12. 00:31
# UML Class Diagram OOD에서 UML Class Diagram은 두 가지 뜻으로 쓰인다. 1. Domain model 2. Design Class Diagram (DCD) # Object - 소문자로 시작 - 어느 클래스에서 왔는지 적고싶으면 콜론하고 적음 - Operation은 해당 클래스는 다 같은 것을 가지므로 표시하지 않음 # Object Diagram - 별거없고 관련있는 오브젝트끼리 연결한 것. # Attribute Syntax + : public (default for operation) - : private (default for attribute) # : protected ~ : package / : 값을 직접 넣는게 아니라 계산되는 값 name : 소문자로 시작 type..