개요 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 의존성만 추가한 프로젝트를 기준으로 추가 내용만 작성했다.) val springBootVersion by extra { "3.2.1" } buildscript { val kotlinVersion = "1.9.21" dependenc..
개요 프로덕션 레벨의 백엔드 서비스를 운영하다보면 비지니스 차원이든, 관제 목적이든 요청 IP 주소를 기반으로 지역 정보를 추출해야 하는 요건이 발생한다. 해결책은 여러가지 방법이 있지만 이번 글에서는 로컬 데이터베이스 파일을 이용하여 제한없이 안전하고 빠르게 Geolocation 정보를 획득하는 방법을 정리했다. GeoLite2 로컬 데이터베이스 다운로드 MaxMind는 2002년 창업하여 IP 인텔리전스 분야만 20년 넘게 영위한 전문 기업이다. 이 회사가 무료로 제공하는 GeoLite2 IP Geolocation 로컬 데이터베이스 파일을 이용하여 예제를 작성할 것이다. 제작사 홈페이지에 회원 가입 후 로그인하면 무료로 다운로드할 수 있다. [다운로드 링크] 다운로드 방법의 다른 대안으로 일반 유저인..
개요 이번 글에서는 CentOS 7/8 및 Amazon Linux 2023에서 docker, docker-compose를 설치하고 사용하는 방법을 정리했다. Docker 설치 docker를 사용하면 운영체제와 독립적인 이미지를 인스턴스로 올려 컨테이너로 작동시킬 수 있다. 아키텍쳐의 구성 및 확정, 배포 방법이 비약적으로 간소화된다. CentOS 7/8 및 Amazon Linux 2023에서의 설치 및 실행 방법은 아래와 같다. # CentOS 7/8에서 Docker 설치 $ curl -fsSL https://get.docker.com/ | sh # Amazon Linux 2023에서 Docker 설치 $ sudo dnf update $ sudo dnf install docker -y # Docker 서..
개요 Java 19부터 Virtual Thread 개념이 Preview Feature로 새롭게 추가되었고 Java 21 LTS부터 정식 기능으로 전환되었다. 기존의 전통적인 Platform Thread가 OS의 쓰레드와 직접 맵핑되는 개념이었다면 Virtual Thread는 JVM에 의해 추상화되어 작동하는 경량의 가상 쓰레드로서 훨씬 낮은 메모리를 소모하는 것이 장점이다. 가상 스레드는 JVM의 스케쥴러에 의해 자동으로 관리되므로 개발자는 비지니스 로직에 더욱 집중하면서 성능의 이점까지 누릴 수 있다.Spring Boot 3, Spring Framework 6는 가상 쓰레드를 공식으로 지원한다. 이번 글에서는 Spring Boot 기반 프로젝트에서 Spring Web MVC 요청, @Async, 코루틴..
- Total
- Today
- Yesterday
- spring
- Eclipse
- kotlin
- bootstrap
- jpa
- MySQL
- 자전거
- JavaScript
- Docker
- Tomcat
- 로드바이크
- jsp
- Spring MVC 3
- 알뜰폰
- maven
- 평속
- 구동계
- JHipster
- jstl
- 로드 바이크
- 태그를 입력해 주세요.
- java
- chrome
- CentOS
- Kendo UI Web Grid
- node.js
- graylog
- DynamoDB
- Spring Boot
- Kendo UI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |