슬루스킷 설치를 하고 분석과정들을 보며 검색을 하던중
"GRR (Google Rapid Response) : 원격 라이브 포렌식에 중점을 둔 침해사고대응 프레임워크"
라는 글을 접하고, 프레임 워크란 무엇인지에 대해 알아보았다.
라이브러리와 프레임 워크는,
개발자로 하여금 원하는 기능을 구현하는데 있어 편리함을 제공한 다는 점에서는 공통점을 지닌다.
라이브러리는
자주 쓰일만한 함수(유틸, 클래스)들을 묶어두어 개발자가 필요할 때 편리하게 쓸 수 있도록 한 것이어서
동일한 개발자가 동일한 프로그램을 짜더라도 그 클래스의 구조나 데이터 저장방식등이 현저하게 다르게 나타날 수 있다.
반면에,
프레임 워크에는, 제작자가 미리 만들어 놓은 '확장 가능한 기반코드'라는 것이 있다.
이 코드와 클래스들은 향후에 이 프레임워크를 이용하는 사람들이 기능을 추가하고 뺄 것을 충분히 고려하여 만들어 놓은 틀로,
이 기반코드를 벗어나고자 하면 제약사항이 생기거나, 혹은 비효율을 초래한다.
즉, 개발자는 설계의 기반이 되는 '기반코드'를 바탕으로
추가적으로 주어진 '라이브러리'를 이용하여 원하는 대로 기능을 추가하면 되는 것이다.
따라서, 일정 수준 이상의 품질을 보장받으면서 빠른 시간안에 완성과 유지 보수가 가능한 환경을 제공하게 된다.
"프레임 워크란,
소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"