AutoLISP과는 다른, 엄격한 세계AutoLISP이나 스크립트로 오토캐드를 다룰 때는 (command "line" ...) 한 줄이면 선이 그려졌다. 그런데 C# .NET API로 넘어오는 순간 당황하게 된다. 선 하나를 긋기 위해 작성해야 하는 코드가 10줄이 넘고, 항상 Transaction이라는 녀석이 코드를 감싸고 있기 때문이다. "그냥 그리면 되지, 왜 이렇게 복잡하게 만들었을까?" 이유는 간단하다. 오토캐드 파일(.dwg)은 단순한 그림판이 아니라, 수백만 개의 객체가 서로 연결된 거대한 데이터베이스(Database)이기 때문이다. 데이터가 꼬이는 것을 막기 위한 필수 안전장치, 트랜잭션(Transaction)의 원리를 설계자의 관점에서 해석해 본다. 1. 트랜잭션이란 무엇인가? (쇼..