전체보기

3개의 글
프로젝트
프로젝트 세상엔 희한한 레거시가 많다.

Java 8을 사용하지만, Java 8을 온전히 활용하기 어려웠던 프로젝트담당하던 프로젝트는 Seasar2 기반의 레거시 시스템이었다.Seasar2는 일본에서 개발된 DI/AOP 프레임워크로, 2016년에 공식 지원이 종료되었다.실행 환경은 Java 8이었지만, 실제 개발 환경은 달랐다.오래된 프레임워크와 의존성 때문에 Java 8의 기능을 자유롭게 활용하기 어려웠고, 최신 라이브러리를 도입하는 데에도 제약이 많았다. Java 버전은 8이지만, 개발 방식은 Java 6 시절의 제약에 머물러 있는 것 같았다. 이러한 문제는 신규 Excel 기능을 개발하면서 본격적으로 드러났다.Apache POI 라이브러리를 업그레이드하자 애플리케이션이 정상적으로 실행되지 않았다.처음에는 POI 자체의 문제라고 생각했지만,..

2026. 8. 12. 12:51
프로젝트
프로젝트 MySQL vs PostgreSQL 1부 (OLTP)

회사에서 신규 시스템의 DB선정 때문에 검색을 해봤지만둘의 차이점은 검색을 해보면 정리가 잘되어있지만 개인적으로 수치로 직접 비교해보고싶어서 진행한 프로젝트이다.환경 : OCI cpu4 24GB ubuntu 다음과 같이 검증해야할 통념들을 정리했다. - 간단한 작업은 MySQL이 빠르다. - 대규모 JOIN은 PostgreSQL이 더빠르다. - 대규모분석은 PostgreSQL이 우위이다. - 대규모데이터에서 PostgreSQL의 정합성,트랜잭션이 유리하다. 순수 성능 공정 비교를 위해 동일 리소스로 진행하였다. - CPU 4 , 주버퍼 6GB, full fsync(둘다 안전모드)- 병렬 워커 4 (DB에는 쿼리 하나에 몇 개의 워커(작업 프로세스/스레드)까지 붙일수 있냐를 정하는 설정값이있다. (..

2026. 7. 10. 01:15
프로젝트
프로젝트 공간 관련 데이터 타입 매핑 (PostgreSQL geography)

위의 데이터를 자바 백엔드에 매핑 시켜줘야하는데 어떤 방식으로 하는가 postgresql 의 geography 데이터 타입을 매핑 시키기 위해서는 자바의 라이브러리를 쓴다. 자바 표준 API는 공간데이터를 다룰수있는 클래스가 없어서 반드시 JTS 나 Geolatte 같은 외부 라이브러리를 통해 매핑을 해줘야한다. geography 데이터는 내부적으로 바이너리(EWKB)형식으로 되어있다. PostGIS에서 공간데이터를 저장하고 전송할 때 사용하는 바이너리(이진) 형식이다. PostGIS에서 WKB를 확장해서 SRID(공간 참조 시스템 ID, 예 : 4326) 정보를 추가 포함해서 EWKB 로 만든다. JTS 는 업계표준 범용 Geomety 라이브러리 (2001년 ~ )Geolatte는 Hibernate..

2026. 2. 18. 21:24
image