
객체 데이터를 바이트(byte) 형태로 변환하는 것이다. 객체에 마구 쌓여 있는 데이터들이 바이트 단위로 정렬되는 형태이다. java.io 패키지의 Serializable 인터퍼이스를 implements하면 가능하다.직렬화 대상은 필드(멤버변수)들이다. 생성자와 메서드
IntStream에는 range와 rangeClosed 메소드가 있다.특정 범위의 숫자를 차례대로 생성해준다.두 메서드 모두 시작 값과 종료 값을 인수로 받는다.range 메소드는 종료값을 포함 XrangeClosed 메소드는 종료값을 포함 O참고로...위 내용은 프로
StringBuffer클래스의 reverse() 메소드를 사용하면 된다.reverse()메소드를 사용하면 StringBuffer객체로 return하기 때문에 toString을 사용하여 String으로 변환해주었다~
외부 API 등을 통해 받는 JSON 데이터가 변경되어 매핑을 위한 필드가 없거나 변경이 이루어지지 않았을 경우 에러가 발생할 수 있다. JsonIgnoreProerties 그때 사용할 수 있다.역직렬화에서, 즉 JSON 데이터를 읽어 객체에 매칭해주는 과정에서 객체에
진행중인 프로젝트에서 회원 개인정보 암호화를 해야해서 공부하게 되었다.양방향 알고리즘을 사용하고 자바의 암복호화를 담당하는 JAVA Cipher class를 사용할 것이다.cipher class는 AES,DES,RSA 등 다양한 방식을 제공한다.RAS비대칭키 알고리즘(
@Data (사용 지양)@ToString, @EqualsAndHashCode, @Getter/@Setter, @RequiredArgsConstructor 을 한번에 생성해준다.해당 메소드를 자동으로 생성해준다는 것이지, 유효성 검사를 한다던가, 예외처리를 해준다는 개념
프로젝트 개발 중 기본을 다시 생각하게 되는 이슈를 만나 이렇게 정리하게되었다.2개의 List 값을 비교하고 동일한 값이 있을 경우 removeAll 메소드를 사용하여 값을 삭제하려고 하였다.첫번째 List의 경우 Redis cache에서 가져온 값이고 두번째 List
@Data,@EqualsAndHashCode이 두 개의 어노테이션들은 Lombok 라이브러리에서 제공하는 어노테이션이다.이 어노테이션을 사용할 때 워닝이 발생 할 수 있다.❗warningwarning: Generating equals/hashCode implementa
프로젝트 진행 중 동시성 문제가 발생하여 정리해보았다. 이 프로젝트에서는 여러 기기에 같은 계정으로 동시 로그인이 가능하도록 정책이 정해져 있다. 동시성에 대해 생각해보지 않고 있다가 동시성에 대한 강의를 들으며 현재 프로젝트에는 동시성 문제가 없는지 확인하다가 발견하

Arrays.asList 와 List.of를 사용할 일은 많이 없지만 종종 생각날때가 있다.ArrayList를 사용해야 할때 쓸까...하다가 여러이유로 안쓰게되는데 이 두가지 리스트에 대해 이 기회에 정리를 좀 해보고자한다.생성자로 직접 리스트 객체를 인스턴스화Arra
현재 프로젝에서는 JAVA17(LTS)을 사용하고 있는데, 이전 버전에서는 주로 Stream.collect(toList())을 사용하여 개발하였다. 17로 버전을 업데이트하고 나니 sonarlint에서 Stream.toList()로 변경하는 것을 권장하는데 이유가 무엇
sonarqube로 코드를 검증하던 중 굉장히 기초가 되는 부분에 오류가 있음을 발견했고, 이를 수정하면서 리뷰 시간을 가졌다. Remove the boxing to "Long".statsMemberStats.stream().filter(i -> i.isCouponCl

특정 경우에 대한 알림을 텔레그램으로 전달해달라는 요청이 있어서 작업하다가 정리할 겸 작성하기로했다.@BotFather 호출텔레그램 모바일 혹은 웹을 통하여 BotFather를 검색/start 입력으로 시작/newbot 입력1) name 입력 - 중복이 가능하고 변경도

두개의 List를 비교하여 데이터를 처리할 로직이 있어 사용해보았다. 그 김에 정리정리를 해본다.Stream을 사용하는 경우, 최종 연상으로 collect()를 사용하는 경우, Stream의 요소들을 수집하여 특정한 자료 구조로 변환할 수 있다. 이때 Map으로 변환하
목록의 순위를 구해야했는데, JAVA에서 처리하는 법과 Query로 처리하는 법 둘 다 정리해보고자 한다.중복 순위 개수만큼 다음 순위 값을 증가 시켜라시간복잡도 O(n)으로 처리for문 중첩으로 하면 시간복잡도 O(n^2)이지만, 점수별로 몇등에 해당하는지 구하면 시
서버에 올라간 파일을 다시 서비스 로직을 태운 후, 완료된 파일의 경우 파일명을 변경해야했다. 원본의 경우 물리 서버에 백업본을 두고 있고, 컨테이너 내부 파일만 파일명을 변경할 것이다. 특정 디렉토리 파일 리스트 가져오기 Java에서 File클래스를 사용해서 특정
이전에 올린 글인 파일재처리를 하다가 처리했던 내용인데 따로 적어야지 나중에 잘 찾을 것 같아서 따로 글로 작성해 본다.MultipartFile을 API로 받고 있는데 이전 글을 보면 File로 반환되기 때문에 이를 변경해야할 필요가 있었다.Reference.http
이전 글에서 이어 파일 처리를 할 때 파일 등록순에 따라 정렬이 필요하여 사용해보았다. 먼저 Collections.sort()를 사용하게된 이유부터 정리해보았다.Collections.sort vs Arrays.sort 차이Arrays.sort() : 배열을 정렬시간복잡
싱글스레드 프로세스의 경우 프로세스 내에서 단 하나의 스레드만 작업하기 때문에 별 문제가 없지만, 멀티스레드 프로세스의 경우 여러 스레드가 같은 프로세스 내의 자원을 공유해서 작업하기 때문에 서로 작업에 영향을 준다.한 스레드가 진행중인 작업을 다른 스레드가 간섭하기