728x90
반응형
안녕하세요. 오늘은 오토마타 프로그래밍의 중요성에 대해 알아보려 합니다.
오토마타는 나무위키에 있는 정의에 따르면 아래와 같습니다.
오토마타 이론(영어: Automata Theory)은 계산 능력이 있는 추상 기계와 그 기계를 이용해서 풀 수 있는 문제들을 연구하는 컴퓨터 과학의 분야이다. 여기서 추상 기계를 오토마타(automata, 복수형) 또는 오토마톤(automaton, 단수형), 즉 자동 기계라고 부른다. 이 이름은 '자동'을 의미하는 그리스어 'αὐτόματα'에서 유래하였다.오토마타 이론(영어: Automata Theory)은 계산 능력이 있는 추상 기계와 그 기계를 이용해서 풀 수 있는 문제들을 연구하는 컴퓨터 과학의 분야이다. 여기서 추상 기계를 오토마타(automata, 복수형) 또는 오토마톤(automaton, 단수형), 즉 자동 기계라고 부른다. 이 이름은 '자동'을 의미하는 그리스어 'αὐτόματα'에서 유래하였다.오토마타 이론(영어: Automata Theory)은 계산 능력이 있는 추상 기계와 그 기계를 이용해서 풀 수 있는 문제들을 연구하는 컴퓨터 과학의 분야이다. 여기서 추상 기계를 오토마타(automata, 복수형) 또는 오토마톤(automaton, 단수형), 즉 자동 기계라고 부른다. 이 이름은 '자동'을 의미하는 그리스어 'αὐτόματα'에서 유래하였다.
대학생 시절 오토마타를 배우셨다면 위 그림은 아주 익숙하실겁니다.
저두 학부생 시절 짧게나마 오토마타에 대해 접했을 때 이런 생각을 했습니다.
이런 걸 어디다 써먹지?
그러다 요번에 맡고있는 프로젝트 업무 중 '기능 추가', '버그 수정' 등의 업무를 하다 직장 선배의 조언을 통해 그 중요성을 알게 되었습니다.
기능 추가등을 하면서 기존에 개발 했던 버그보다 수가 더 늘어난 걸 발견했는데 그것을 예방할 수 있는 방법을 알려주셨는데
오토마타 프로그래밍을 기억하냐며
이 형태와 비슷한 그림을 그려주셨고, 제가 개발하려는 부분을 위 도형을 그리면서 어떻게 돌아갈지 예측을 하며 코드를 짜보라고 하더라구요.
https://codesk.tistory.com/245
이 글을 쓰면서 방어코드의 중요성을 말씀드린적이 있는데 그 방어코드를 잘 짜기 위한 방법 중에 하나가 저 오토마타 프로그래밍이였던 것이였죠.
그래서 앞으로는 어떤 개발을 하기전 부터 저런 생각부터 하고 짜는 습관을 들이려합니다.
728x90
반응형
'프로그래밍(Basic) > 이론' 카테고리의 다른 글
[바미] DB에 float 데이터를 저장하기. (0) | 2022.04.28 |
---|---|
[바미] MVC, MVP, MVVM 패턴에 대해 알아봅시다. (0) | 2022.04.09 |
[바미] 좋은 코드를 만들기 위한 노력. (0) | 2022.01.11 |
[바미] (번역) DOM은 정확히 무엇일까? (0) | 2021.11.06 |
[바미] 브라우저는 어떻게 동작하는가? (0) | 2021.11.05 |