Skip to content

Instantly share code, notes, and snippets.

View djkeh's full-sized avatar
๐Ÿข
Working

Uno Kim djkeh

๐Ÿข
Working
View GitHub Profile
@djkeh
djkeh / Student.kt
Last active May 3, 2025 20:23
์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œ๋กœ ํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ ๋””์ž์ธ ์ œ์•ˆ
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.GeneratedValue
import jakarta.persistence.GenerationType
import jakarta.persistence.Id
import java.util.Objects
@Table(
uniqueConstraints = [
UniqueConstraint(name = "udx_name_email", columnNames = ["name", "email"]),
@djkeh
djkeh / AuditingFields.kt
Last active April 25, 2025 00:34
Spring Data JPA ์—์„œ ๊ณตํ†ต auditing field๋ฅผ ๋งŒ๋“ค ๋•Œ ์ฆ๊ฒจ ์“ฐ๋Š” ์„ค๊ณ„๋ฅผ ๋‹ด์€ ์ถ”์ƒ ํด๋ž˜์Šค์˜ ์ฝ”ํ‹€๋ฆฐ ๋ฒ„์ „. Spring Boot 3.4.3 ์—์„œ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ.
import jakarta.persistence.Column
import jakarta.persistence.EntityListeners
import jakarta.persistence.MappedSuperclass
import org.springframework.data.annotation.CreatedBy
import org.springframework.data.annotation.CreatedDate
import org.springframework.data.annotation.LastModifiedBy
import org.springframework.data.annotation.LastModifiedDate
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import java.time.LocalDateTime
import java.time.ZoneOffset
@djkeh
djkeh / kotlin-logging-style-guide.md
Last active October 30, 2025 03:16
kotlin-logging ์‚ฌ์šฉ๋ฒ•: logger ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ

๊ฐœ์š”: kotling-logging ์‚ฌ์šฉ๋ฒ•

kotlin-logging์—์„œ logger๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ํ‘œ์ค€์•ˆ, ์ •์„: static logger outside class

import io.github.oshai.kotlinlogging.KotlinLogging

private val logger = KotlinLogging.logger {} // ๋กœ๊ฑฐ๋ฅผ ํด๋ž˜์Šค ๋ฐ–์— ๋‘๋Š” ๋ฐฉ๋ฒ•
@djkeh
djkeh / .gitignore
Created August 16, 2022 01:38
Querydsl Configuration on Gradle - Spring Boot 2.7 + Querydsl 5.0.0 + Gradle 7.4.1
### Querydsl
/src/main/generated
@djkeh
djkeh / ThymeleafConfig.java
Last active January 3, 2024 07:27
Thymeleaf Decoupled Logic configuration for Spring Boot + Thymeleaf 3
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
@Configuration
public class ThymeleafConfig {
@Bean
public SpringResourceTemplateResolver thymeleafTemplateResolver(
@djkeh
djkeh / AbstractSerializableParameterTest.java
Created September 11, 2020 09:24
Test case which shows a bug on AbstractSerializableParameter in io.swagger:swagger-models:1.5.20
package com.example.bootdemo;
import io.swagger.models.parameters.AbstractSerializableParameter;
import io.swagger.models.properties.BaseIntegerProperty;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
@djkeh
djkeh / DataSourceConfig.java
Last active July 9, 2020 03:34
Sample codes of reading user-custom yaml files as ConfigurationProperties of Spring Boot.
package com.your.project.config;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
@djkeh
djkeh / git-branches-by-commit-date.sh
Created February 20, 2020 04:05 — forked from jasonrudolph/git-branches-by-commit-date.sh
List remote Git branches and the last commit date for each branch. Sort by most recent commit date.
# Credit http://stackoverflow.com/a/2514279
for branch in `git branch -r | grep -v HEAD`;do echo -e `git show --format="%ci %cr" $branch | head -n 1` \\t$branch; done | sort -r
@djkeh
djkeh / tailc
Created November 28, 2019 04:12 — forked from liufuyang/tailc
Color output of linux tail command
#!/bin/bash
# save this file as tailc then
# run as: $ tailc logs/supplier-matching-worker.log Words_to_highlight
file=$1
if [[ -n "$2" ]]; then
color='
// {print "\033[37m" $0 "\033[39m"}
/(WARN|WARNING)/ {print "\033[1;33m" $0 "\033[0m"}
/(ERROR|CRIT)/ {print "\033[1;31m" $0 "\033[0m"}
@djkeh
djkeh / TestController.java
Created September 8, 2017 09:03
@RequestMapping ์ƒ์† ๋ฌธ์ œ ์ •๋ฆฌ
package my.controllertest.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* ์ด ๋ฌธ์ œ์˜ ์ˆ˜๋™ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋Š” "/path/home" ์ด๋‹ค.<br>
* 1. ์ž์‹ํด๋ž˜์Šค์˜ "path"๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ overrideํ–ˆ๊ธฐ ๋•Œ๋ฌธ.<br>
* 2. ์ž์‹ํด๋ž˜์Šค "path"๋ฅผ ์ œ๊ฑฐํ•  ๊ฒฝ์šฐ ๋‹ต์€ "/if/home" ์ด๋‹ค.<br>
* 3. ์ž์‹ ์ธํ„ฐํŽ˜์ด์Šค "if"๋ฅผ ์ œ๊ฑฐํ•  ๊ฒฝ์šฐ ๋‹ต์€ "/superif/home"<br>