Dowon Lee

엑셀 다운로드 모듈 만들어보기 with Apache POI

대용량 데이터 엑셀 다운로드 메모리 이슈 해소를 위해 공통 모듈을 개발했던적이 있다. 당시에는 해당 시스템의 요구사항을 최소한 만족할 수 있게 구현했었다. 모듈을 다시 보면서 모듈 사용자 기준에서 어떠한 불편함과 구조적인 문제가 있는지 확인해보았고, 기존의 목적에 맞게 모듈을 재구성하여 해보고자 한다. 엑셀 다운로드 모듈 개발 목표 스타일과 ...

대용량 트래픽 경험해보기(13/14) - MSA 적용기

이전 여행 플래너 서비스는 인프라 구축 및 부하에 대한 대응 구성을 통해 대용량 트래픽 처리를 진행했다. 초기 구조는 모놀로식 아크텍처를 목적으로 벡엔드 개발을 진행하면서 앞으로 서비스의 구조를 마이크로 서비스 아키텍처를 기반으로 진행해보려한다. DDD(Domain-Driven Design : 도메인 주도 설계) MSA 설계 방법론으로 도메인 주...

대용량 트래픽 경험해보기(6/14) - nGrinder 환경 구축

nGrinder 부하 테스트 도구 종류는 여러가지가 있다. 그 중 nGrinder를 사용해보려 한다. nGrinder는 네이버에서 개발한 오픈소스 부하 테스트 도구로 스크립트 생성과 테스트 진행 과정을 모니터링 할 수 있으며, 테스트가 종료되면 UI를 통해 최종 결과 보고서를 확인할 수 있다. 단순히 부하만을 발생시키는 것이 아니라 스크립트를 작...

대용량 트래픽 경험해보기(1/14) - 주제 및 분석

대용량 트래픽에 대한 처리 경험이 없었다. 트래픽이 변화하면서 발생하는 이슈에 대해서 처리할 수 있는 경험이 필요했다. 실제 운영할 서비스는 아니지만, 만들고 싶었던 서비스를 설계부터 배포까지 대용량 트래픽에 대한 처리 과정을 테스트와 모니터링 등 다양한 도구들을 통해서 어떠한 과정을 통해서 트러블 슈팅을 했느지를 적어보려한다. 대용량 트래픽 사실...

Spring Boot 3 + Swagger

Spring Boot 3에서 SpringDoc과 Swagger를 이용해 API 문서 자동화 해보기

2022년에 지인과 함께 재고관리 시스템을 만들었을 때 수동으로 API 문서를 작성했습니다. 지금 생각해보면 API 문서를 자동화할 수 있는 기술에 대해 찾아보자는 생각도 없이 예전 경험만 생각해서 작업했네요. Spring Boot에 대해서 공부하면서 Swagger에 대해 알게되었고 재고관리 시스템의 일부 API에 적용한 내용을 정리해보고자 합니다....

Redis

Redis Master/Replica(Slave), Sentinel, AOF With Docker

작년에 재고 관리 시스템 버전을 업그레이드하면서 Redis를 사용했습니다. 당시에는 단순히 토큰관리 용도로만 사용했지만, 인메모리 DB Redis를 이용해 서비스를 운영할 때 어떠한 기술을 이용할 수 있는지 그리고 AOF 매커니즘으로 어떻게 백업을 해야하는지에 대한 공부를 하면서 내용을 정리해보았습니다. Redis란? Redis란 오픈 소스 인메모...

Spring Boot + Docker + Github Actions를 활용한 CI/CD 환경 구축

재고관리 시스템을 운영할 때 초기에는 개발 기간이 짧아 급한대로 수동배포를 했으나, 빌드/테스트 과정에서 체크해야하며 배포 과정에서 불필요한 설정도 같이 배포되어 재작업으로 인한 많은 시간소요와 불편함이 있어 당시에 구축한 CI/CD 환경을 정리해보고자 합니다. 환경 구축 전 CI/CD에 대한 정의를 보겠습니다. CI/CD CI란? CI는 간단...