CS 2

애자일 (Agile)

애자일이란 무엇일까? 프로그래밍 개발 관련 글들을 읽다보면 심심찮게 애자일이라는 단어를 보게된다. 프로그래밍에서 애자일이라는 단어가 가지는 의미가 무엇인지 알아보자. 애자일 소프트웨어 개발 방법론 애자일은 기민한이라는 뜻을 가지고 있다. 애자일은 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식이다. 즉, 일정한 주기를 가지고 기능을 계속하여 만들고, 추가하여 그때 필요한 것을 수정, 추가하여 소프트웨어를 개발해가는 방식이다. 애자일 개발 방법론에서는 기능의 구현을 목표로 하는 짧은 주기를 가지는데 거대한 아키텍처를 설계하지 않고 주기(이터레이션 혹은 스프린트)에서 달성할 수 있는 만큼의 설계를 추구한다. 이러한 개발 방법론이 왜 생겨났을까? ..

카테고리 없음 2022.11.27

허상 포인터 (Dangling Pointer), 와일드 포인터(Wild Pointer)

허상 포인터, 와일드 포인터 허상 포인터, 와일드 포인터는 컴퓨터 프로그래밍에서 유효한 객체를 가르키고 있지 않는 포인터를 말한다. 허상 포인터 허상 포인터는 객체 파괴시에 발생하는데, 즉 객체에 대한 참조가 포인터 값에 대한 수정 없이 삭제되거나 할당 해제돼서 포인터가 계속 할당 해제된 메모리를 가르키는 때 발생한다. 시스템은 할당 해제된 메모리를 다른 프로세스에게 재할당하겠지만, 기존 프로그램이 허상 포인터를 역참조하면 메모리는 현재 전혀 다른 데이터를 갖고 있을 것이므로 예측할 수 없는 행동이 발생하게 된다. 특히 프로그램이 허상 포인터가 가리키는 메모리에 쓰기를 하면, 관련되지 않은 데이터의 조용한 오염이 발생하게 되고, 이것은 찾기가 매우 힘들어진다. 참고로 리눅스, 유닉스의 경우에는 세그멘테이..

카테고리 없음 2022.09.28