소프트웨어 설계는 사용자의 비기능적 요구사항을 기반으로 제약을 반영하며, 기능적 요구사항을 구현할 구체적인 방법을 찾는 해결 과정입니다.모듈화 (Modularity)정의: 시스템 기능을 모듈 단위로 분리하여 소프트웨어 성능과 재사용성을 높이는 기법모듈 크기큰 모듈: 모듈 수가 적고 통합 비용이 낮지만, 개별 모듈의 개발 비용이 큼작은 모듈: 모듈 수가 많아져 통합 비용이 높아질 수 있음장점: 모듈 단위의 관리가 가능해 성능 향상 및 유지보수가 용이함추상화 (Abstraction)정의: 큰 개념을 설계한 후 이를 점차 구체화해 세부적인 설계로 발전시키는 방법유형과정 추상화: 전체 흐름만을 파악하고 수행 절차를 세세하게 정의하지 않음데이터 추상화: 데이터의 세부 속성을 생략하고 대표 표현으로 대체제어 추상화..
UI와 UX는 사용자가 소프트웨어를 사용하면서 느끼는 모든 경험을 설계하는 과정으로, UI는 사용자와 시스템 간의 상호작용을 직접적으로 설계하며, UX는 전체적인 사용 경험을 다룹니다.UI의 구분CLI (Command Line Interface): 텍스트 명령어로 이루어진 인터페이스GUI (Graphical User Interface): 마우스를 사용해 작업하는 그래픽 환경NUI (Natural User Interface): 사용자의 행동이나 음성을 통해 기기를 조작VUI (Voice User Interface): 음성을 통해 기기를 조작하는 인터페이스OUI (Organic User Interface): 사물과 사용자 간의 상호작용을 위한 인터페이스UI의 기본 원칙직관성: 사용자가 쉽고 빠르게 이해할 수..
UML의 구성 요소사물(Things): 시스템을 구성하는 객체와 활동을 표현합니다.관계(Relationships): 사물들 간의 연관성을 나타냅니다.다이어그램(Diagram): 사물과 관계를 시각적으로 표현한 도형입니다.사물 (Things)사물은 UML의 기본 단위로, 시스템 내 구성 요소를 의미합니다. UML에서의 사물은 크게 네 가지로 분류됩니다.구조 (Structural): 클래스, 인터페이스와 같은 구조적 요소행동 (Behavioral): 활동, 상태 전이 등 시스템의 동작을 설명하는 요소그룹 (Grouping): 모델링 된 요소들을 모아놓은 패키지주해 (Annotation): 이해를 돕기 위해 설명을 덧붙인 주석관계 (Relationships)관계는 UML에서 사물들 간의 연관성과 상호작용을 표..
logrotatelogrotate란?리눅스 계열 운영 체제에서 로그 파일의 회전, 압축, 삭제 및 관리 등을 자동을 수행하는 유틸리티시간이 지남에 따라 용량이 커지는 로그를 효율적으로 관리하기 위하여 사용logrotate 주요 기능로그 회전 (Rotation) : 지정된 크기 또는 주기에 따라 로그 파일을 회전하여 새 로그 파일을 생성압축 (Comporession) : 회전된 로그 파일을 압축하여 저장 공간 절약자동화 : 설정된 스케줄에 따라 로그 파일을 자동으로 관리설정 파일 지원 : 로그파일에 대한 세부적인 설정을 지원하여 유연한 로그 관리logrotate 설정/etc/logrotate.conf# see "man logrotate" for details# rotate log files weeklywe..