[Java]
Java는 저의 주 언어입니다.
그러므로 Java의 String, StringBuilder, StringBuffer의 성능 차이 ,가비지컬렉션(gc)의 작동원리, JVM의 구조, 메모리 저장위치 등 깊은 부분까지 공부해왔습니다.
또한, jsp모델1, jsp모델2 ,spring framework를 통해 프로젝트를 진행하면서 spring을 편리함을 이론이 아닌 프로젝트를 통해 직접 깨달을 수 있었습니다.
제가 사내정보시스템 개발이라는 업무를 맡아 개발을 진행한다면 유지보수와 유연함을 고려하여 Java를 이용하여 spring으로 구축할 것입니다.
사내시스템에서 자주 사용될 것으로 생각하는 엑셀의 기능은 Java에서 제공하는 poi 라이브러리를 이용하여 구현할 것이며 보고서의 인쇄기능 같은 경우에는 Java reporting 라이브러리인 jasper report를 사용하여 구현할 것입니다.
데이터베이스에 대한 연동은 jpa와 mybatis 중에 아직 많이 사용되며 다양한 기능을 제공하는 mybatis를 선택할 것입니다.
mybatis에서 제공하는 동적 SQL 기능 데이터베이스정보를 상황에 알맞게 조건을 걸어 처리하는 것을 편리하게 도와줍니다.
데이터베이스에서 처리하는 기본적인 작업까지 완료된다면 mybatis에 고급기능인 캐시저장 등을 사용하여 데이터베이스의 성능 튜닝을 진행할 것입니다.
이러한 기능을 통해 회원관리, 회원 입력 ,게시판 등 기본적인 시스템에 기능을 구현하겠습니다.
데이터베이스에 정보를 입력할 때 암호화에 대한 부분은 데이터베이스에서 제공하는 암호화 함수를 통해 작업을 할것인지 java 함수를 통해 할 것인지 상황에 맞게 처리할 것입니다.
마지막 작업으로는 java 프로그래밍으로 구현된 부분을 전체적으로 분석하여 String의 잦은 사용, static의 잘못된 사용 등을 찾아서 Java의 성능도 튜닝할 것입니다.
이처럼 자바와 데이터베이스를 사용할 때 성능적인 면까지 고려하고 개발하도록 노력하며 추가적인 기능은 Java에서 제공하는 라이브러리를 통해 구현할 수 있습니다.