728x90 반응형 전체 글 보기164 Graceful Shutdown 예제(C#) https://data-gardner.tistory.com/171 간단한 콘솔 앱을 만들어보았다. Worker의 background에서 event가 channel에 쌓일 때마다 IMyService를 통해 event를 처리한다. IMyService가 event를 처리하는데 소요되는 시간은 event가 발생하는 주기보다 길다. event가 channel에 계속 쌓여가는 상태에서 시스템이 종료되면 이미 쌓인 event는 MyService가 처리하지 못하므로, MyService가 모든 event를 처리할 때까지 system은 종료하지 않도록 한다. 핵심은 appLifetime.ApplicationStopping과 appLifetime.ApplicationStopped를 잘 활용하는 것이다. Stopping은 종.. 2024. 1. 2. Graceful Shutdown 프로그램이 종료될 때 최대한 side effect가 없도록 하고 있던 작업을 마무리한 뒤 종료하는 것을 말한다. ( Hard Shutdown) ex ) http요청을 처리하는 웹서버의 경우 : 서버가 종료되기 전 기존 처리 중이던 요청을 모두 처리한 뒤 종료시킴 Ctrl+c 또는 exception으로 서버가 종료될 때 보내는 시그널로 SIGINT, SIGTERM, SIGKILL이 있다. 1. SIGINT : 유저가 직접 프로그램을 종료(interrupt의 int) - catch하여 시그널 핸들러 만들 수 있음 2. SIGTERM : 프로그램을 종료하는 일반적인 방법 - catch하여 시그널 핸들러 만들 수 있음 3. SIGKILL : 프로세스를 무조건 Kill - catch하여 시그널 핸들러 만들 수 없.. 2023. 12. 21. Native programming 컴퓨터의 특정한 플랫폼 또는 운영 체제에 최적화된 프로그램을 개발하는 것 기계어 또는 특정 플랫폼의 어셈블리 언어를 사용하여 프로그램을 작성하는 것 예를 들어, 특정 운영 체제에서 실행되는 프로그램을 개발할 때, 해당 운영 체제의 API (Application Programming Interface)와 라이브러리를 사용하여 프로그램을 작성하는 것으로, 프로그램이 해당 운영 체제에서 최적으로 작동하고 성능이 최대화될 수 있다. C나 C++ 등으로 코딩한 것은 바로 실행할 수 없고, 어셈블리로 변환이 되어 (컴파일) 기계어로 변환되어 실행 가능하다. 3층 - C/C++ 2층 - 어셈블리 2023. 10. 26. 07. 데이터 모델을 데이터베이스로 변환(1) 1. 데이터베이스 구성요소 1 ) 데이터 구조(DB 스키마) : DB, 테이블, 컬럼, 주 키(Primary key), 외부 키(Foreign key), 인덱스(Index) 2 ) 저장 공간 - 테이블스페이스 - 인덱스스페이스 3 ) 명명규칙 - DB명 : 영문 대문자(데이터스토어와 일치) - 테이블명 : 영문 대문자 단수 명사(복합 명사이면 _로 연결) - 컬럼명 : 테이블 명(약어)_성격(추가)_도메인(약어) - 주 키 : 컬럼명과 동일 - 외부 키 : 컬럼명과 동일, FK_ 혹은 _테이블명(약어) 부여 - 뷰, 인덱스, 테이블스페이스, 인덱스 스페이스는 내부 규칙을 정의하여 부여 ** 약어 선정 시 우선순위 - 비즈니스 영역에서 사용하는 표준 약어 - 대한민국에서 보편적으로 사용하는 약어 - 국제적.. 2023. 10. 26. 06. 설계를 위한 데이터 모델 1. 관계 모델 V2 1 ) 관계 모델에서의 R - 원자 값 - 각 컬럼은 명명됨 - 컬럼은 이름으로 다른 도메인과 각 컬럼이 구별됨 - 일반적으로 시간에 따라 변화함 2 ) RM/V2 목표 - 사용자와 데이터 상호작용 간결화 ex ) 대용량 데이터베이스 보유한 사용자, 모든 다른 사용자와 독립적 상호작용, 프로그래밍에 친숙x - 전문적 프로그래머의 생산성 증대 - 데이터베이스 관리자를 위한 보다 강력한 관리 도구 지원 3 ) 데이터베이스 매니지먼트를 위한 20가지 기본 원칙 - 객체 식별 - 한 방법으로 식별된 객체 - DB비관련 부분 분리 - 커뮤니티 이슈 - 3레벨 개념 - 모든 사용자 추상화 동일 논리 수준 - 추상화 가지 충족 논리 수준 - 예리한 분리 - 비반복 혹은 재귀적 루프 - 비교값으로.. 2023. 10. 26. 05. 엔터프라이즈 통합 데이터모델 1. 레퍼런스 및 마스터 데이터 1 ) 마스터 데이터 - 비즈니스 트랜잭션에 자주, 동일한 형태로 사용되는 데이터 - 여러 개의 레퍼런스 데이터와 비즈니스 활동 결과인 트랜잭션 데이터와 관계를 가짐 2 ) 레퍼런스 데이터 - 마스터 데이터를 구분하고 분류하는 기준 데이터 - 장기간 동일하게 유지하고 변화가 거의 없음 3 ) 트랜잭션 데이터 - 마스터 데이터와 연계하여 비즈니스 활동을 수행한 결과 데이터 레퍼런스 데이터 계층이 최상위에 위치하고 마스터데이터와 1:다의 관계를 가진다. ---------------------------- 레퍼런스 데이터 계층 마스터 데이터 계층 마스터 연계 데이터 ---------------------------- 2. Master data management 방안 엔터프라이.. 2023. 10. 19. 04. 정규화와 데이터모델 검증 1. 정규화(Normalization) 목적 - 데이터 중복을 최소화 - 데이터 모델의 단순화 - 데이터 공유도 증대 - 데이터 일관성 확보 2. 정규화 - 1차 정규화 : 반복되는 속성 유형의 분할 제거 - 2차 정규화 : 주 식별자 전체에 종속되지 않는 속성 유형의 분할 제거 - 3차 정규화 : 비식별자 속성 유형에 종속하는 속성 유형의 분할 제거 - 보이스-코드 정규화 : 비 식별자 속성 유형으로 특정한 엔티티 그룹의 성격을 나타내는 속성 유형이 존재할 때, 하부 유형 정의 1 ) 상부 유형 : 하부 유형을 포함하는 총체적 엔티티 유형 2 ) 하부 유형 : 하나의 엔티티 유형으로부터 특정 비즈니스 논리 성격으로 세분화되어 관리되는 엔티티 유형 * 하부 유형 정의 절차 - 속성 유형, 관계 요소의 선.. 2023. 10. 17. 03. 개념, 논리, 물리 데이터 모델 개념 데이터 모델 - 표현하고자 하는 현실 세계를 개념 모델로 형상화하여 데이터에 대한 관계 구조 정의 - 엔터프라이즈 비즈니스 활동 결과로 표현을 중심으로 한 개념 모델 구성 논리 데이터 모델 - 개념 데이터 모델을 논리적 구조로 정의하여 데이터베이스 관리 시스템과 결부된 논리 데이터 모델로 변환 - 논리 데이터 모델을 위한 요건 개념 데이터 모델에 비즈니스 규칙, 데이터 무결성을 검증하여 제약 조건 반영, 데이터 보안성을 검증하여 데이터 접근 경로 및 범위 물리 데이터 모델 - 논리 데이터 모델을 데이터 구조화를 통해 지향하는 DBMS에 적합한 물리 데이터 구조로 변환 - 시스템을 고려한 논리적 설계를 구현 가능한 물리적 데이터베이스 구조로 전환하고 DBMS의 조건에 맞게 성능을 최적화한 데이터 모델.. 2023. 10. 12. 02. 데이터 모델 구성 요소 Entity - 비즈니스 개체 엔티티 유형 - 각각 개체가 가지는 공통 의미에 대한 정의 엔티티 유형이 될 수 있는 요건 - 기업에 유용한 정보를 표현 - 서술적 특성을 가질 것 - 하나의 존재가 다른 존재와 구별될 수 있도록 유일하게 식별될 수 있을 것 - 적어도 다른 하나의 엔티티 유형과 연관성을 가질 것 엔티티 유형 명명 규칙 - 명사를 사용 - 의미가 명확하고 짧은 이름 - 약어 사용 x 관계, 관계 유형 - 두 엔티티 유형 간의 동일한 형태로 나타나는 관계들의 집합 관계 유형 도출 - 현업 사용 동사형 어휘, 한 장표에 나타나는 실체유형들이 기준이 된다. 명명 규칙 - 두 개의 관계 요소 명으로 표기 - 사용자 용어 사용 - 방향성에 따라 능동/수동으로 표현 - 방향성을 고려하여 시계 방향으로 .. 2023. 10. 11. 01. 데이터모델링 개념 엔터프라이즈 정보 모델은 데이터 모델과 프로세스 모델의 작용성의 관계를 정의함으로써 완성된다. 프로세스 모델(업무활동 모델링) - 요구되는 업무활동 도출 및 정의 - 업무기능과 프로세스 분할 및 이벤트간 의존관계로 연결 - 최종적으로 task와 program으로 변환됨 데이터 모델 - 기업 데이터 도출 및 정의 - 관심있는 대상, 사건을 엔티티 유형 및 관계로 표현 - 최종적으로 데이터베이스 구조로 변환됨 상호작용 모델링 - 데이터 및 업무활동에 대한 상호작용성을 CRUD 매트릭스로 표현 - 데이터 및 업무활동 모델에 대한 품질 점검 - Clustering을 통해 비즈니스 시스템 및 데이터베이스 정의 엔티티 관계(ER) 표기법 : UML이외에도 여러가지가 있음. - UML(Unified Modeling .. 2023. 10. 10. 이전 1 2 3 4 5 ··· 17 다음 728x90 반응형