본문 바로가기
320x100
728x90

java18

프로그래머스]두 개 뽑아서 더하기 문제 설명 : numbers 배열이 주어질 때, 2개를 뽑아서 더해서 나올 수 있는 모든 수를 오름차순으로 정렬. 나의 풀이 import java.util.*; class Solution { public int[] solution(int[] numbers) { int[] answer = {}; ArrayList list =new ArrayList(); for(int i=0 ; i 2022. 1. 31.
Log4j 보안 이슈 2021년 12월 11일부로 Log4j에서 보안 취약점 이슈가 발견되었다. Log4J의 log4j-core에서 발견된 이슈인데, 2.x ~ 2.14 버전까지 발생하는 이슈라고 한다. mvnrepository에서 보면 2버전만 있는데, 해당 버전 모두 보안 이슈가 발생하여 2.15 버전으로 업그레이드하는 것을 권장한다. 위키 백과에 따르면 자바 디렉토리 관련 인터페이스인 JNDI에서 발생했다고 밝혀지며, user-agent나 기타 다른 헤더에 해커의 원격 코드 URL을 넣게 되면 JNDI가 해당 URL을 출력하는 과정에서 실행하게 되어 원격코드 실행 발생한다고 한다.(RCE => Remote Code Excute) 다행히 우리 회사의 프로젝트는 Spring 기반 프로젝트는 logback을 사용하고, 보안.. 2021. 12. 13.
java] 회문 문자열 체크(팰린드롬) 회문 문자열이란? 앞으로 읽거나 뒤로 읽어도 같은 문자임을 뜻한다. ex:) abcba goodoog 예를 들면 이런 문자들이다. 입력받은 문자열이 회문 문자열임을 체크하는 알고리즘 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("회문 문자열 체크"); System.out.println(solution(sc.nextLine().toUpperCase())); } public static boolean solution(String input) { return input.equals(new StringBuilder(input).reverse().to.. 2021. 9. 6.
spring,java]스프링 Quartz 스케줄러 사용하기(배치) 오늘은 프로그램이 특정 작업을 반복하는 배치(스케줄링)란 무엇인지 알아보고 간단한 예제를 통해 사용법을 알아본다. 회사에서 특정 시간마다 반복 작업으로 로그를 확인해서 로그에 이상이 있다면 Slack에 알림을 보내는 작업을 해야했다. 이렇게 되면 매 시간마다 로그를 확인하는 작업이 필요했고, 그 결과에 따라 알림 여부를 발송한다. 이러한 요구사항을 확인한 난 Spring Batch와 Quartz가 떠올랐다. 하지만 Spring Batch가 없어도 Quartz만으로 배치 모듈을 만들 수 있어서, Quartz만 쓰기로 했다. 참고 : 배치란? 쿼츠 공식 사이트 들어가기 전에 개발환경은 이러하다. Java 11 Spring boot 2.5.3 gradle 7.1.1 implementation 'org.spri.. 2021. 8. 18.
300x250
320x100