본문 바로가기

분류 전체보기97

Java Comparable, Comparator public class Main { public static void main(String[] args) { int a = 3, b = 5; System.out.println(a > b); System.out.println(a 이런식으로 primitive type은 자바 자체에서 제공되기에 별다른 처리 없이 비교가 가능하다. 즉, 기본 자료형이기 때문에 부등호로 쉽게 비교가 가능하다.그러나 주로 알고리즘 문제를 풀때 map이나, 객체를 정렬할때는 어떤 것 기준으로 비교할지 컴파일러는 알 수 없다.그 때 사용하는게 Comparable과 Comparator이다. Comparable과 Comparator는 둘다 인터페이스(interface)이다.Comparable .. 2023. 1. 11.
Javascript 파일업로드 input 태그 multiple 사용시 FileList 동적으로 변경하기 form 태그에서 multiple로 파일 업로드 구현 업로드된 파일 예시 화면에서는 파일을 삭제해도 input창에는 그대로 남아있습니다. 콘솔 창으로 확인 결과 File Input 내부적으로 files라는 FileList를 가지고 있었습니다. 여기서 문제는 html은 삭제를 해도 FileList 즉 input tag에는 삭제가 되지 않았습니다. 검색 결과 Javascript가 제공하는 DataTransfer 객체로 이 문제를 해결할 수 있다고 합니. MDN DataTransfer문서를 보면 Drag and drop API라고 소개되어 있습니다. MDN FileList를 보면 Drag and drop할 때 FileList를 사용할수 있다고 합니다. const dataTranster = new DataTra.. 2023. 1. 8.
javascript & jQuery 요소 찾기 정리 javascript document.getEelmentsByTagName(태그이름) document.getEelmentById(아이디); document.getEelmentsByClassName(클래스이름); //HTMLCollection 반환 document.getElementsByName(name속성값); document.querySelector(CSS 선택자); //선택자에 해당하는 첫번째요소만 선택 document.querySelectorAll(CSS 선택자) //선택자에 해당하는 모든요소, 반환객체(nodeList) * HTMLCollection - 요소의 문서 내 순서대로 정렬된 일반 컬렉션(arguments 처럼 배열과 유사한 객체) - 리스트에서 선택할 때 필요한 메서드와 속성을 제공 * .. 2023. 1. 8.
Spring @Aspect 범위 애노테이션으로 적용하기 @Retry 애노테이션이 있으면 예외가 발생하면 다시 시도하도록 하겠습니다. @Retry package hello.aop.exam.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.METHOD) //메소드에 적용 @Retention(RetentionPolicy.RUNTIME) public @interface Retry { int value() default 3; } 이 애노테이션에서 재시도 횟수 기본값을 3으로 지.. 2023. 1. 6.