---
title: "Taehyeong Lee (@jsonobject) | Hashnode"
description: "Simple is best. Read the latest articles by Taehyeong Lee on Hashnode."
url: "https://hashnode.com/@jsonobject"
---

@jsonobject

# Taehyeong Lee

@jsonobject · Seoul, Korea · Joined November 2023

Simple is best

## Comments

[To ensure security, both the application sending the logs and Graylog, which receives them, should be configured within a Private Subnet and located in the same VPC. This arrangement prevents the logs from being transmitted over the public internet.](https://hashnode.com/posts/how-to-install-graylog-in-aws-cloud/65efc081db2674035edaa89e/comment/66039f642a7b2109f30df6cd#reply-661335a06528b8d0bfc73470)

Reply · Article · Apr 8, 2024 · [How to install Graylog in AWS Cloud](https://hashnode.com/posts/how-to-install-graylog-in-aws-cloud/65efc081db2674035edaa89e)

[If you specify @Async(TaskExecutionAutoConfiguration.APPLICATION\_TASK\_EXECUTOR\_BEAN\_NAME) at the method level of your spring bean, it will automatically work as a Virtual Thread. I've added that to the article :)](https://hashnode.com/posts/enabling-virtual-thread-in-kotlin-spring-boot/65803f11119ea81e7199e842/comment/66026c9cc44fbc7985bec425#reply-660361e92899260fb67d358c)

Reply · Article · Mar 27, 2024 · [Enabling Virtual Thread in Kotlin + Spring Boot](https://hashnode.com/posts/enabling-virtual-thread-in-kotlin-spring-boot/65803f11119ea81e7199e842)

[Good point. JDK 21 wasn't out at the time of the original post, which is why there was a vestige of it in the example. As you say, the --enable-preview option is not needed in JDK 21. I've fixed the example as well. Thanks for the feedback :)](https://hashnode.com/posts/enabling-virtual-thread-in-kotlin-spring-boot/65803f11119ea81e7199e842/comment/65fd4851edfb609f329fa5eb#reply-6600bfc07c2af3872c7e93e8)

Reply · Article · Mar 25, 2024 · [Enabling Virtual Thread in Kotlin + Spring Boot](https://hashnode.com/posts/enabling-virtual-thread-in-kotlin-spring-boot/65803f11119ea81e7199e842)

[I fixed it. Thank yo so much.](https://hashnode.com/posts/how-to-use-environment-variables-in-kotin-spring-boot/65f23f7cc5a60eb060f035db/comment/65f25f762c45645d23866414#reply-65f2648f18d056b34c84bf18)

Reply · Article · Mar 14, 2024 · [How to use Environment Variables in Kotlin + Spring Boot](https://hashnode.com/posts/how-to-use-environment-variables-in-kotin-spring-boot/65f23f7cc5a60eb060f035db)

[This is a great article with a depth and insight rarely seen on the internet.](https://hashnode.com/posts/full-text-search-for-dynamodb-using-lambda-efs-tantivy-and-rust/625a42c82f84e0d4fc33c71c/comment/65a7fcd8da54050258b9c09c)

Comment · Article · Jan 17, 2024 · [Full-text search for DynamoDB using Lambda, EFS, Tantivy and Rust.](https://hashnode.com/posts/full-text-search-for-dynamodb-using-lambda-efs-tantivy-and-rust/625a42c82f84e0d4fc33c71c)

[It also works well to specify @Transactional in a custom method of the Spring Data JPA interface, as in this example. This brings a lot of convenience to the developer, as they don't have to re-write each custom query with @Transactional in an outer contained class. In typical real-time business logic, most of the time the transaction propagation setting will use the default value of Propagation.REQUIRED, so you can also naturally carry over transactions created at higher Service levels.](https://hashnode.com/posts/implementing-automatic-retry-logic-for-database-deadlocks-in-spring-boot-using-spring-retry/65a625f497a98f4d89f778b1/comment/65a6446acd3d656b75b71db5#reply-65a66e84094772a9b1b2db89)

Reply · Article · Jan 16, 2024 · [Implementing Automatic Retry for Database Deadlocks in Spring Boot using Spring Retry](https://hashnode.com/posts/implementing-automatic-retry-logic-for-database-deadlocks-in-spring-boot-using-spring-retry/65a625f497a98f4d89f778b1)

[Of course, it is most commonly used in concrete classes at the Service level :) In this example, I wanted to introduce you to the lowest level where you can use @Transactional in your project, so I showed you an example of specifying it in the @Repository interface. I make it a habit to specify @Repository and @Service, because that way I can cope with both transactions from real-time APIs with low execution time, and logic that has hours of execution time and intentionally doesn't use service-level transactions.](https://hashnode.com/posts/implementing-automatic-retry-logic-for-database-deadlocks-in-spring-boot-using-spring-retry/65a625f497a98f4d89f778b1/comment/65a64c5368bd11c4ade3b79e#reply-65a66add84f4ade3e636a37d)

Reply · Article · Jan 16, 2024 · [Implementing Automatic Retry for Database Deadlocks in Spring Boot using Spring Retry](https://hashnode.com/posts/implementing-automatic-retry-logic-for-database-deadlocks-in-spring-boot-using-spring-retry/65a625f497a98f4d89f778b1)

[Thanks for the detailed and helpful information. :)](https://hashnode.com/posts/jpa-mysql-random-1-order-by-rand/65a5334ec9d77f3d82b9b00e/comment/65a630cb5c419c344d8f8ef5)

Comment · Article · Jan 16, 2024 · [JPA MySql Random 조회 (1) - order by rand()](https://hashnode.com/posts/jpa-mysql-random-1-order-by-rand/65a5334ec9d77f3d82b9b00e)

[I'm glad to hear that my article was helpful to you. :)](https://hashnode.com/posts/guide-to-scheduler-lock-in-spring-boot-using-shedlock-and-dynamodb/659b8f8b96177b0053d1f54d/comment/659c9df6b183b8ce2c3cb5b2#reply-659dd9e74e7b11fc231bcf7f)

Reply · Article · Jan 9, 2024 · [Guide to Scheduler Lock in Spring Boot using ShedLock and DynamoDB](https://hashnode.com/posts/guide-to-scheduler-lock-in-spring-boot-using-shedlock-and-dynamodb/659b8f8b96177b0053d1f54d)
