[Java] Java RMI아몬드맛빼빼로이게 뭐야여느 때와 같이 IntelliJ IDEA로 Spring Boot 애플리케이션을 개발하던 중 눈에 띈 한 가지 로그가 있었다.INFO 2025-10-06 01:15:59,638 [RMI TCP Connection(1)-127.0.0.1] [DirectJDKLog :: log :: 168] - Initializing Spring DispatcherServlet 'dispatcherServlet'INFO 2025-10-06 01:15:59,638 [RMI TCP Connection(1)-127.0.0.1] [FrameworkServlet :: initServletBean :: 532] - Initializing Servlet 'dispatcherServlet'INFO 2025-10-06 01:1..- 2025-10-06 01:29:13
[Java] Jitpack아몬드맛빼빼로Gradle 설정을 하다 보면build.gradle이나 build.gradle.kts을 설정하다 보면 다음과 같은 레포지터리를 추가하는 경우가 많다.repositories { mavenCentral() maven { url "https://jitpack.io" }}종속성을 가져올 때 사용한 저장소로 mavenCentral() 말고도 http://jitpack.io를 추가하는 것을 요구하는 종속성도 많고 대부분의 프로젝트가 적어도 해당 저장소만큼은 추가한 것을 볼 수 있다.Maven Central로는 부족해?Maven Central 저장소 역시 많은 종속성이 꾸준히 관리되고 있지만 Jitpack을 이용하는 가장 큰 이유는 당연하게도 Github로 관리되는 대부분의 오픈소스 Java 종속성이 Ji..- 2025-08-30 10:54:00
[Java] JavaDoc아몬드맛빼빼로/** What is */가끔씩 Github에서 방랑하며 코드를 읽다 보면 /**로 시작하여 */로 감싸지는 블럭주석들을 볼 수 있다. Java의 블록 주석은 /* */ 이렇게만 감싸도 되는데 왜 저런 주석들을 쓰는 걸까? 이는 JavaDoc 주석으로 일반 주석과는 달리 여러 정보를 체계적으로 전달할 수 있다.기능...?/** * 도메인 객체와 JPA 엔티티 간의 양방향 매핑을 정의하는 제네릭 인터페이스입니다. * 이 인터페이스는 매퍼 구현체에서 공통적으로 사용하는 구조를 추상화하며, * 도메인 모델과 영속성 계층의 엔티티 간 변환 로직을 표준화합니다. * @param 변환 대상이 되는 JPA 엔티티 타입 * @param 변환 대상이 되는 도메인 객체 타입 * @author snowykte0426 *..- 2025-05-05 15:05:19
[Java] StableValue!아몬드맛빼빼로Java 25얼마 전 Java 25와 관련한 내용들이 몇가지 공개되었다. 32bit 시스템에 대한 일부 지원 종료,GC의 변경사항 등 다양한 사항이 있었지만 그중 StableValue 클래스와 관련한 내용이 다수를 차지하였다.StableValue ?주어진 값이 최초 1회만 설정되고 이 이후로 변경되지 않도록 보장하는 자료형으로 불변성과 지연 초기화가 필요한 상황에서 유용하다. 즉, 일종의 불변 객체이다.더보기지연 초기화?변수가 선언될 때 바로 초기화하는 것이 아니라 필요한 순간에 초기화 하는 것을 의미한다. StableValue가 도입되기 전에는 아래와 같은 방식으로 지연 초기화를 하며 불변성을 보장하여야 했었다.private volatile String data;public String getData(..- 2025-04-07 00:51:55
[Java] Logging아몬드맛빼빼로Java의 로깅Java는 다양한 로깅 라이브러리를 지원한다.그러나 로깅 라이브러리마다 내부적인 동작이 다르며 일장일단이 있기 때문에 잘 알고 사용해야한다. 단순히 I/O를 수행하는 System.out.println에 비하여 로깅 라이브러리의 장점은 크게 다음과 같다상황에 따른 Log 레벨 지정으로 유연한 디버깅과 로깅 가능프로그램 실행에 따른 흐름과 예외 파악 가능System.out.println에 비하여 자유로운 출력 위치 지정 가능각각 모듈 별,파일 별,클래스 별 등 유연하게 출력 가능비교적 더 뛰어난 성능위와 같은 이유로 단순한 System.out.println 보단 로깅 라이브러리를 사용하는 것이 더 좋다.System.out.println() 의 성능 문제앞서 System.out.println에 ..- 2025-03-11 23:40:57
[Java] Ehcache아몬드맛빼빼로Cache?데이터나 값을 미리 복사해 둔 임시 저장소를 말한다. 캐시는 캐시의 접근 시간이 리소스 접근 시간보다 적게 걸리거나 다시 어떠한 값을 계산하는 시간을 절약하고 싶을 때 훌륭한 대안이 될 수 있다. 서버나 DBMS 등의 부담을 줄여줄 수 있고 획기적인 성능향상을 이뤄낼 수 있기 때문에 많은 시스템에서 애용되고 있다 어떤 곳에 쓰여야 할까?동일한 데이터를 반복적으로 제공할 때(ex. 정적 이미지 파일, 자주 요청되는 공통 API 응답 데이터)변경주기가 길고 단위 처리 시간이 긴 데이터일 경우(ex. 날씨 데이터, 환율 정보, 실시간이 아닌 보고서 데이터)데이터의 최신화가 빈번하지 않아도 서비스 품질에 영향이 적을 경우(ex. 상품 추천 목록, 사용자 프로필 이미지)Local vs Global캐시는..- 2024-12-05 23:24:12
[Java] 변수의 스코프(Scope)아몬드맛빼빼로스코프(Scope)란?정말 간단히 말한다면 변수의 사용범위를 뜻한다.C언어에선 전역변수와 지역변수에 해당한다.예시코드 public class ValableScopeExam{ int globalScope = 10; public void scopeTest(int value){ int localScope = 10; System.out.println(globalScope); System.out.println(localScpe); System.out.println(value); } }다음 코드에서 보듯 'globalScope'변수는 메서드 밖에서 선언했고 'localScpe'변수와 ..- 2024-04-22 23:14:01
[Java] for each문아몬드맛빼빼로for문과 비교아래 코드블록을 보면//for 문int[] age = {15, 19, 66, 7};for (int i = 0; i //for each 문int[] age = {15, 19, 66, 7};short i = 1; //위 for문에서 사용한 변수 'i'가 사라졌기 때문에 이를 대체하는 변수를 선언for (int n:age) { System.out.println(i + "번째 사람의 나이는" + n + "살 입니다."); i++; //for문 예시에서 사용한 변수 'i'의 기능을 대체함 } for문은 for(초기값;조건식;증감식)의 구조로 작성하지만 for each문을 사용하면 for(값을 받아줄 변수:사용할 자료구조)의형태로 작성한다. 세부적인 기능 차이는 아래서 ↓for each문의..- 2024-04-17 23:45:34
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)