※ 테스트 코드는 왜 작성할까?서비스를 만들 때 개발 후 테스트를 한 번에 하면 되는데 왜 중간중간에 테스트 코드를 작성해야 할까?요즘은 이런 생각을 하시는 개발자분들은 없으실 거라 생각하지만..대부분에 작은 회사에선 2~3배에 리소스가 발생하기 때문에 테스트 코드를 작성하지 않는 곳이 많거나 개발자가 귀찮아하고 본인의 일을 줄이기 위해 작성하지 않는 분들도 많이 보았습니다... 하지만 테스트 코드는 개발한 코드를 추후에 수정하게 될 때 발생하는 사이드 이펙트를 줄일 수 있고 서비스에 안정성뿐만 아니라 개발자 간의 협업을 원활하게 하기도 합니다. 코드를 작성하는 것이 개발자의 능력이 아니라,가독성 좋고 안정성 있게 코드를 작성하고 효율적으로 관리할 수 있는 방법을 공부하고 이해하며 실제 구현을 하는 것이..
H2
Querydsl를 사용하던 중 Expressions.stringTemplate을 이용해 MySQL에 DATE_FORAMT을 사용했는데, 실제 API는 잘 작동하지만 Test 코드에서는 DATE_FORMAT 함수가 없다고 오류가 발생했다. 실제 API 데이터베이스는 MySQL을 사용하고 테스트는 H2 Database를 사용했다. ... Expressions.stringTemplate( "date_format({0}, '%m')", user.createdDateTime ), ... 검색해보니 H2에는 DATE_FORMAT 함수가 없고 FORMATDATETIME을 사용해야 하는데 요것을 사용하면 실제 API에서 오류가 발생하고... 그래서 H2 Database에 사용자 정의 alias를 등록해 사용하기로 하였..
H2 Database란? H2DB는 자바 기반의 오픈소스 관계형 데이터 베이스 관리 시스템(RDBMS)이다. H2DB는 서버(Server) 모드와 임베디드(Embedded) 모드의 인메모리 DB 기능을 지원하고 디스크 기반 테이블을 또한 생성할 수 있다. 또한 브라우저 기반의 콘솔모드를 이용할 수 있으며, 별도의 설치과정이 없고 용량도 2MB(압축버전) 이하로 매우 저용량 이므로 매우 가볍고 빠르며, JDBC API 또한 지원하고 있다. SQL 문법은 다른 DBMS들과 마찬가지로 표준 SQL의 대부분이 지원된다. In-memory Database란? 데이터를 디스크에 저장하는 Mysql이나 Oracle과 같은 DBMS와는 다르게 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 ..