클린 룸 디자인이란?
클린 룸 디자인은 IT 엔지니어링의 특정 전략입니다. 클린 룸 설계를 통해 작업자는 소프트웨어 프로그램이 원래 작성된 방식을 알지 않고도 다양한 절차 단계에서 소프트웨어 프로그램을 "역 엔지니어링"할 수 있습니다. 이 후진 과정은 엔진 작동 방식과 조립 방법을 이해하기 위해 엔진이나 다른 복잡한 기계 장치를 분해하는 것과 유사합니다. 프로그래머는 코드 프로세스의 각 단계를 "암호화"하여 원래 작성된 방식을보다 명확하게 파악하여이를 수행합니다.
"클린 코드"라고하는 또 다른 유형의 프로그래밍 아이디어는 클린 룸 전략과 매우 다릅니다. 깨끗하게 작성된 코드는 불필요한 코드가 거의 없거나 전혀없고 명확하고 간결합니다. 반면 클린 룸 디자인은 기존 코드를 조작하는 기술입니다. 클린 룸 디자인은 역사적으로 저작권법과 제품 저작권 침해에 대한 허점이었습니다. 클린 룸 설계 방어는 회사에서 소프트웨어 또는 IT 제품을 복사 한 요금에 대한 책임을 회피하는 데 효과적이거나 효과적이지 않을 수 있습니다. 저작권 사례가 "독점 코드"를 사용하는 경우 클린 룸 디자인 방어가 도움이 될 수 있습니다.
"중국 벽"은 종종 클린 룸 설계 기술과 관련된 용어입니다. 이런 종류의 절차는 독점 코드를 처리하지 않습니다. 제품에 대한 지식이없는 엔지니어는 이론적으로이 기술을 사용하여 제품을 다시 만들 수 있습니다.
클린 룸 설계 리버스 엔지니어링을 구현할 때 전문가는 "디 컴파일러"라는 소프트웨어 도구를 사용할 수 있습니다. 디 컴파일러는 컴퓨터 코드가 압축되고 "런타임"으로 다시 정렬되는 방식 때문에 리버스 엔지니어링 프로세스에 중요합니다. 컴퓨터 프로그램은 MS Visual Basic 또는 "C Suite"와 같은 언어로 작성됩니다. "실행 파일"에 내장되어 있으면 언어 수준 코드가 기계 코드로 단순화됩니다. 가장 기본적인 수준에서 이것은 일련의 1과 0으로 만 구성된 이진 언어로 요약됩니다.
대부분의 경우 머신 코드를 원래 언어 레벨 코드로 되돌릴 수 없습니다. 그러나이를 수행 할 수있는 경우 클린 룸 전략은 종종 엔지니어가 사용하는 기술의 구성 요소입니다. 역 프로세스를 통해 코드를 다시 가져 오면 원래 코드의 특성이 분명해질 수 있습니다.
클린 룸 기술을 활용하면 소프트웨어 제품에 대한 지적 재산권을 구성하는 것에 대해 회사가 복잡한 법적 상황에 처하게됩니다. 대부분의 전문가들은 이런 종류의 상황을 피하는 것이 더 낫다는 데 동의하지만, 경우에 따라 리버스 엔지니어링이 비즈니스 나 기업에 도움이 될 수 있습니다. “오픈 소스 엔지니어링”의 출현으로 많은 사람들이 소프트웨어를 보는 방식이 변경됨에 따라 오픈 소스 코드의 원칙으로 인해 엄격한 지적 재산권 법률이 완화 될 수 있으므로 클린 룸 기술과 리버스 엔지니어링이 더 유용 할 수 있습니다. 이는 프로그래머가 코드를 공유하지 말고 공유해야한다는 생각을 담고 있습니다.