2024-04-03 1. 방법 아래와 같이 코드를 구성하면 최초 페이지 접속 후 이미지가 지역변수에 담기게 되어 이후에 이미지 경로를 변경해도 깜빡임 현상을 제거할 수 있다. let images = []; //이미지 객체를 담을 변수 let imagesUrs = []; //동적이미지 url 정보르 담을 변수 실제 이미지 경로를 넣어주면 된다. document.addEventListener('DOMContentLoaded', function () { function imgPreload() { for(let i = 0; i < imageUrls.length; i++) { images[i] = new Image(); images[i].src = imageUrls[i]; } } imgPreload() } 메인 ..
2024-04-01 1. 예시 코드 아래와 같은 코드가 있다고 가정해 보자. 해당 코드의 결과는 항상 로그인이 되어 있든 로그인이 되어 있지 않던 로그아웃을 하던 "if (authentication.isAuthenticated()) log.info("인증됨")" 코드가 실행된다. 즉 authentication.isAuthenticated() 이 부분이 항상 true를 리턴한다. 그 이유는 무엇일까? Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication.isAuthenticated()) log.info("인증됨") else log.info("인증안됨") } 2. 원인 S..
2024-03-25 1. 방법 File to Base64 전달받은 파일 정보를 FileReader로 읽어 들여 base64 문자열을 만드는 코드이다. //실제 파일을 base64로 변환하는 코드 function fileToBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onerror = () => { reader.abort(); reject(new Error('파일을 읽는 도중 오류가 발생했습니다.')); }; reader.onload = () => { resolve(reader.result); }; reader.readAsDataURL(file); }); } // 사용 예제 as..
2024-03-18 1. 방법 @Builder.Default 를 사용하여 TestDataClass.builder().build() 와 같은 형식으로 선언해도 아래처럼 정의된 값들이 들어가게 할 수 있다. import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Arrays; import java.util.List; @Data @Builder @NoArgsConstructor @AllArgsConstructor public class TestDataClass { @Builder.Default private String name = "kin..
2024-03-13 1. 방법 Object.keys(obj).length 통해 전체 키를 추출해서 사이즈를 확인하는 방법이다. const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyCount = Object.keys(obj).length; console.log(keyCount); // 객체 obj에는 3개의 키-값 쌍이 있음 메인 이미지 출처 : 사진: Unsplash의Sies Kranen