분류 전체보기(611)
-
소프트웨어 개발 방법론 (개발 프로세스 관점)
1. 전통적인 방법론① 폭포수(Waterfall) 모델단계별(요구사항 분석 → 설계 → 개발 → 테스트 → 유지보수)로 진행하는 선형 모델각 단계를 완료해야 다음 단계로 진행 가능문서화가 철저하며, 대규모 프로젝트나 명확한 요구사항이 있는 경우 적합② V-모델(Verification & Validation)폭포수 모델의 확장으로, 개발 단계와 테스트 단계가 병렬적으로 진행됨각 개발 단계마다 대응되는 테스트 단계가 있음높은 품질이 요구되는 프로젝트(안전-critical 시스템)에서 사용2. 에자일(Agile) 방법론 계열변화에 유연하게 대응하고, 지속적인 피드백을 기반으로 개발빠른 프로토타입 개발과 반복적 개선을 강조① 스크럼(Scrum)역할(Role): 제품 책임자(Product Owner), 스크럼 마..
2025.03.12 -
Makefile - 요약 정리
📌 Makefile 요약 정리Makefile은 프로젝트의 빌드(컴파일, 링크 등) 과정을 자동화하는 파일입니다.대규모 프로젝트에서는 여러 소스 파일을 컴파일하고 의존성을 관리하는 과정이 복잡해지므로,Makefile을 사용하여 자동화된 빌드 시스템을 구축하면 효율적입니다.1. Makefile이란?✅ Makefile은 make 명령어와 함께 사용되며, 프로젝트의 컴파일 및 빌드 과정을 정의하는 스크립트입니다.✅ 주요 역할여러 소스 파일을 자동으로 컴파일 및 링크변경된 파일만 증분 빌드(Incremental Build) 수행의존성(Dependency) 관리자동화된 빌드 시스템 구성 가능✅ 기본 실행 방법make➡ 현재 디렉토리의 Makefile을 찾아 규칙을 실행.✅ 특정 목표(Target) 실행make c..
2025.03.11 -
Makefile - 6. Makefile과 CMake 비교 (6-1. Makefile vs CMake)
📌 6-1. Makefile vs CMakeMakefile과 CMake는 소프트웨어 빌드를 자동화하는 도구입니다.Makefile은 로컬 환경에서 직접 컴파일 명령을 작성하는 방식,CMake는 다양한 플랫폼에서 Makefile 또는 다른 빌드 시스템을 자동 생성하는 방식입니다.이 섹션에서는 Makefile과 CMake의 차이점, CMake가 필요한 경우, 그리고 CMakeLists.txt의 기본 구조를 설명합니다.1. Makefile과 CMake의 차이점📌 1-1. Makefile과 CMake의 개념 빌드 시스템 개념Makefile직접 컴파일 및 빌드 명령을 작성하는 스크립트CMake크로스 플랫폼 빌드를 지원하며 다양한 빌드 시스템을 자동 생성하는 도구📌 1-2. Makefile vs CMake 비교..
2025.03.11 -
Makefile - 5. Makefile 최적화 및 실전 프로젝트 적용 (5-3. 실제 프로젝트에서 Makefile 적용)
📌 5-3. 실제 프로젝트에서 Makefile 적용Makefile을 활용하면 대규모 프로젝트에서도 효율적인 빌드 시스템을 구축할 수 있습니다.이번 섹션에서는 실제 프로젝트 구조를 기반으로 Makefile을 작성하는 방법을 살펴보겠습니다.1. 프로젝트 구조 예시다음과 같은 프로젝트 구조를 예제로 사용합니다.project/├── src/ # 소스 코드 디렉토리│ ├── main.c│ ├── utils.c│ └── utils.h├── include/ # 헤더 파일 저장 디렉토리│ └── config.h├── build/ # 빌드된 오브젝트 파일과 실행 파일이 저장될 디렉토리├── Makefile # 프로젝트 빌드를 위한 Makefile✅ 각..
2025.03.11 -
Makefile - 5. Makefile 최적화 및 실전 프로젝트 적용 (5-2. Makefile 디버깅 (Debugging Makefiles))
📌 5-2. Makefile 디버깅 (Debugging Makefiles)Makefile을 작성할 때, 빌드 과정에서 예상치 못한 오류가 발생할 수 있습니다.이때 디버깅 기능을 활용하면 빌드 과정과 실행될 명령을 쉽게 추적하여 문제를 해결할 수 있습니다.특히, 다음과 같은 디버깅 기법이 유용합니다.make -n을 사용하여 실행 없이 명령만 출력 (Dry Run)make VERBOSE=1을 활용하여 자세한 명령어 출력1. make -n을 활용한 실행 시뮬레이션 (Dry Run Mode)📌 1-1. make -n의 개념make -n을 실행하면 실제 빌드를 수행하지 않고, 어떤 명령어가 실행될지 출력됩니다.Makefile을 실행하기 전에 어떤 작업이 수행될지 확인할 수 있는 디버깅 도구입니다.✅ 활용 사례..
2025.03.11 -
Makefile - 5. Makefile 최적화 및 실전 프로젝트 적용 (5-1. 효율적인 Makefile 작성법 (Writing Efficient Makefiles))
📌 5-1. 효율적인 Makefile 작성법 (Writing Efficient Makefiles)Makefile을 효율적으로 작성하면 코드 중복을 줄이고 유지보수를 쉽게 할 수 있습니다.이를 위해 공통 규칙 정리 (%.o: %.c 활용) 및 중복 제거 (define 사용) 기법을 적용합니다.1. 공통 규칙 정리 (%.o: %.c 활용)📌 1-1. %.o: %.c를 활용한 패턴 규칙 (Pattern Rules)Makefile에서 .c 파일을 컴파일하여 .o 파일로 변환하는 과정은 반복적인 작업입니다.이를 효율적으로 처리하기 위해 패턴 규칙(%.o: %.c)을 사용합니다.📌 1-2. 기본적인 %.o: %.c 규칙%.o: %.c $(CC) $(CFLAGS) -c $자동 변수설명$첫 번째 의존 파일 (.c..
2025.03.11