안녕하세요. Advanced Technology 팀 박규민입니다. 오늘은 Java, Kotlin, Scala와 같은 JVM 언어에서 사용할 수 있는 오픈소스 경량 로깅 프레임워크를 소개드리려고 합니다. Log4j, Logback에 비해 상대적으로 빠른 로깅 속도와 간단한 구성, 다양한 출력 옵션 등의 메리트가 있는 tinylog에 대해 알아보겠습니다. What is tinylog? tinylog는 Java 플랫폼에서 동작하는 로깅 프레임워크입니다. JVM, GraalVM(Oracle에서 만든 OpenJDK 기반 JVM), Android에서 동작이 가능합니다. 보통은 Slf4j라는 Logging API와 바인딩하여 Log4j, Logback과 같은 로깅 프레임워크를 많이 쓰는데요. tinylog도 Slf4..
Java Generic 시리즈 마지막 포스팅입니다. 이번에는 Java Generic 을 활용하는 여러 가지 상황들에 대해 살펴보겠습니다. 이번 포스팅에서도 개념편, 심화편 에서 사용했던 예제를 활용해보겠습니다. public class Electronics { private String manufacturer; public Electronics(String manufacturer) { this.manufacturer = manufacturer; } public String getManufacturer() { return manufacturer; } } public class Tv extends Electronics { private String title; public Tv(String manufactur..
오랜만에 Java Generic 포스팅으로 돌아왔습니다. 이번에는 Java Generic에서 주의해야 하는 심화 개념들을 몇 가지 다뤄보겠습니다. 1. Type Erasure Java Generic 을 관통하는 주요 개념 중에 Type Erasure라는 개념이 있습니다. 이론적으로는 Generic 을 운영하기 위해 부가적으로 들어간 소스코드들이 바이트코드 레벨에서는 모두 제거되는 것을 의미하는데요. 개념편에서 다루었던 예제를 기반으로 좀 더 상세히 알아보겠습니다. public class Tv { private String title; public Tv(String title) { this.title = title; } public String getTitle() { return title; } } pub..
시작하기 앞서... Application을 개발하다 보면 기능이 점점 복잡해지고 데이터가 쌓이면서, 처음과 다른 성능 저하가 발생하게 된다. 서버의 사양을 올리거나, 서버의 댓수를 추가하면 전체적인 성능은 올라가지만 그만큼의 비용이 발생하게 된다. 자본이 무한하다면 상관없지만, 물리적 증설은 최후의 보루로 남겨두고 Application 적인 측면에서 성능개선을 꾀할 수 있는 두 가지 방법을 소개하도록 하겠다. Cache의 정의 Cache란? - feat Wikipedia 캐시(cache, 문화어: 캐쉬, 고속 완충기, 고속 완충 기억기)는컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산..