Contact
- LinkedIn: https://www.linkedin.com/in/taehyeong-lee-951810190/
- Email: jsonobject@gmail.com
- Seoul, South Korea
TOC
Recent Posts
-
Kotlin, Amazon Elastic Transcoder로 원본 동영상에서 오디오만 추출하기
개요 대용량의 원본 비디오 파일을 다양한 네트워크 대역폭과 디바이스에 대응하기 위해 다양한 프리셋으로 변환하는 요건은 리얼 월드에서 빈번하게 발생한다. 이 경우 오픈 소스에서 보편적으로 사용되는 툴은 FFmpeg, HandBrake CLI가 대표적이다. 이번 글에서는 오픈 소스를 사용하지 않고 AWS의 트랜스코더 상품인 Amazon Elastic Transcoder를 사용하여 원본 비디오 파일에서 오디오 파일을 추출하는 방법을...
-
Spring Boot, Slack 채널에 알림 메시지 전송하기
개요 Slack은 아주 편리한 엔터프라이즈 협업 도구이다. 애플리케이션에서도 Slack을 이용하면 장애와 같은 중요한 상황에서 적절한 메시지를 특정 채널에 전송할 수 있다. 이번 글에서는 Slack 연동을 통한 메시지 전송 방법을 소개하고자 한다. Slack 채널 생성 및 WebHook URL 획득 Slack에 메시지를 전송하기 위해서는 먼저 채널 생성과 WebHook URL 획득이 선행되어야 한다....
-
Kotlin + Spring Boot, JPA와 Querydsl 기본 설정 방법 정리
개요 Kotin + Spring Boot + JPA 기반 프로젝트에서 MySQL에 CRUD를 수행하기 위한 기본 설정 방법을 정리했다. Spring Data JPA, Infobip Spring Data Querydsl, AWS JDBC Driver for MySQL을 사용했다. build.gradle.kts 프로젝트의 /build.gradle.kts에 아래 내용을 추가한다. (Spring Initializr에서 Gradle - Kotlin 선택 후 Spring Data JPA 의존성만 추가한 프로젝트를 기준으로...
-
Spring Boot, DynamoDB 테이블 설계 및 CRUD 사용법 정리
개요 Spring Boot 기반 프로젝트에서 DynamoDB에 CRUD를 수행하기 위한 테이블 설계 및 사용법을 정리했다. AWS에서 권장하는 DynamoDB Enhanced Client 라이브러리를 사용했다. DynamoDB 테이블 설계시 고려할 부분 DynamoDB는 프로덕션 환경에서 무한히 확장하는 데이터를 저장하기에 적합하다. 그만큼 제약이 따르는데 조인을 지원하지 않는다. 그래서 용도를 정확히 이해하고 전통적인 RDBMS와는 다른 접근법이 필요하다. 테이블의...
-
Kotlin + Spring Boot, IP 주소로부터 Geolocation 정보 조회하기
개요 프로덕션 레벨의 백엔드 서비스를 운영하다보면 비지니스 차원이든, 관제 목적이든 요청 IP 주소를 기반으로 지역 정보를 추출해야 하는 요건이 발생한다. 해결책은 여러가지 방법이 있지만 이번 글에서는 로컬 데이터베이스 파일을 이용하여 제한없이 안전하고 빠르게 Geolocation 정보를 획득하는 방법을 정리했다. GeoLite2 로컬 데이터베이스 다운로드 MaxMind는 2002년 창업하여 IP 인텔리전스 분야만 20년 넘게...