728x90 반응형 Computer Science45 TDD(Test Driven Development) 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복 및 구현한다. Red 단계에서는 실패하는 테스트 코드를 먼저 작성한다. Green 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. Blue 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. [일반적] 보통의 개발 방식은 '요구사항 분석 -> 설계 -> 개발 -> 테스트 -> 배포'의 형태의 개발 주기를 갖는데 이러한 방식은 소프트웨어 개발을 느리게 하는 잠재적 위험이 존재한다. 왜냐하면, 소비자의 요구사항이 처음부터 명확하지 않을 수 있다. 따라서 처음부터 완벽한 설계는 어렵다. 자체 버그 검출 능력 저하 또는 소스코드의 품질이 저하될 수 있다. 자체 .. 2024. 3. 4. 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 다음 728x90 반응형