쓰리래빗츠 북 4.0 버전을 릴리스한 후 네 번째 마이너 버전(4.0.4)을 릴리스합니다.
업데이트 버그
4월 릴리스 업데이트 기능에 버그가 있었습니다. 업데이트할 때 데이터베이스 테이블 구조를 변경(테이블 추가 또는 칼럼 추가)하거나 데이터를 바꾸는 작업을 합니다. 테이블 구조 변경은 XML로 선언한 최신 스키마와 기존 데이터베이스 스키마를 비교해서 바뀐 내용을 찾아내 반영합니다. 자동으로 처리합니다.
데이터 자체의 변경은 일일이 상황에 맞게 코드를 작성해야 합니다. 이번에 추가한 로직에 심각한 문제가 있었습니다. 쓰리래빗츠 북을 오랫동안 자주 쓰는 고객에게만 이 문제가 발생한다는 점에서 더 나쁜 문제였습니다.
이번에 작성한 코드만의 문제는 아니었습니다. 지난 세월이 프로그래머의 부주의와 함께 만든 버그입니다.
업데이트한 이유가 기존 테이블 스키마를 결정한 프로그래머(글쓴이와 같은 사람)의 생각 없음에 있습니다.
업데이트 로직을 작성한 프로그래머(역시 글쓴이와 같은 사람)의 안일함도 문제였습니다. SQL만으로 처리한 로직이 데이터가 많을 때 동작하지 않았습니다.
예측보다 데이터가 많았던 이유도 프로그래머(역시나 글쓴이와 같은 사람)의 꼼꼼하지 못함에 있습니다. 불필요하게 만들어진 데이터와 삭제하지 않은 데이터가 10년 세월의 흔적처럼 고객의 데이터베이스에 남아 있습니다.
여기에 “내 문제가 아니다”라는 엔지니어(그 사람)의 오만까지 겹쳐 원인 파악에 시간이 걸렸습니다.
문서 진척 관리
한 고객이 쓰리래빗츠 북의 문서 작성 현황을 에디터에서 표 단락으로 관리하는 걸 보고 만든 기능입니다. 앞으로 관련 기능을 계속 추가할 예정입니다.
웹 뷰어 펜
다른 사람들에게 웹 뷰어로 어떤 것을 설명하다가 펜 기능이 있었으면 좋겠다는 생각에 만들었습니다. 내부적으로 만들고 접은 프리젠테이션 모듈을 참고했기에 빠르게 만들 수 있습니다.
5월 릴리스?
5월 릴리스에는 장 단위로 다른 사용자에게 열람을 요청하는 기능을 추가할 예정입니다.