피할 수 있는 실수
프레임워크를 사용하는 것이 항상 최선의 선택은 아니며, 필자는 이 사실을 직접 고생하며 깨달았다. 몇 년 전, 필자와 동료들은 웹 애플리케이션의 백엔드 작업을 하고 있었다. 시간은 소프트웨어 아키텍처를 비롯한 많은 것에 영향을 미친다. 앱은 JDBC를 사용하여 오라클 데이터베이스에 직접 연결하고 있었으며 코드는 꽤 지저분했다. 앱은 데이터베이스에 쿼리를 실행해야 하는 모든 곳에서 명령문을 오픈했고 여러 행(row)에 쓰기 쿼리를 전송했다. 여러분이 JDBC를 직접 사용한 앱을 접해 보지 않았을 정도로 젊다면 모를 수도 있는데 정말 길고 지저분한 코드였다.
당시 다른 방법론을 사용하여 데이터베이스 작업을 수행하는 몇몇 프레임워크가 점점 더 인기를 얻고 있었다. 하이버네이트(Hibernate)를 처음 접했을 때를 기억한다. 하이버네이트는 ORM 프레임워크로, 데이터베이스에서 테이블과 테이블의 관계를 객체와 객체의 관계로 처리할 수 있다. 이를 올바르게 사용하면 코드를 덜 작성하고 더욱 직관적으로 기능을 작성할 수 있다. 그러나 자칫 잘못 사용하면 앱 속도는 느리고 코드는 직관적이지 않으며 버그까지 발생할 수도 있다.