분류 전체보기

    [SpringBoot] Exception Handler 예외를 통합관리 하자.!!!

    [SpringBoot] Exception Handler 예외를 통합관리 하자.!!!

    요즘 YOPLE 서비스를 개발하면서 Exception을 핸들링해야 하는 일이 생겼다. 스프링 구조상 컨트롤러-서비스-JDBC lib를 통해 API가 처리되면서 Controller단에서 Throw 되는 Exception을 핸들링하고자 한다. 기존 예외 처리 방식은 trty-catch를 각 메소드별로 설정해주어 처리했다. 각 Exception별로 처리하는 중복 코드가 try-catch별로 생성되어 코드가 방대해지고 복잡해졌다..... 그래서 찾아보니 @ControllerAdvice와 @ExceptionHandler 두 어노테이션으로 Exception을 전역으로 처리할 수 있다고 한다.!!! @ExceptionHandler SpringFramwork Docs에서 @ExceptionHandler는 아래와 같이 ..

    [CentOS] useradd  사용자 생성의 모든 것 !!!!

    [CentOS] useradd 사용자 생성의 모든 것 !!!!

    리눅스는 다중 사용자 시스템을 지원하고, 둘 이상의 사용자가 동시에 같은 시스템에 접근하여 상호 작용할 수 있다. 리눅스는 시스템 사용자들에게 유저들을 관리할 수 있는 명령어들을 제공한다. useradd : 사용자 생성 passwd : 사용자 패스워드 설정 usermod : 사용자 mod 변경 - useradd useradd의 사용법은 아래와 같다. jjh@jjh-desktop:~$ useradd --help Usage: useradd [options] LOGIN useradd -D useradd -D [options] Options: -b, --base-dir BASE_DIR base directory for the home directory of the new account -c, --comment ..

    [SpringBoot] Log4j2 기본 사용법

    [SpringBoot] Log4j2 기본 사용법

    Log4j2 란? log4j(Log for Java)란 이전 버전인 Log4j 1.x에 비해 크게 개선된 Log4j로의 업그레이드이며 Logback 아키텍처의 몇 가지 고유한 문제를 수정하면서 Logback에서 사용할 수 있는 많은 개선 사항을 제공하는 대표적인 자바 로깅 프레임워크이다. og4j 2.13.0 이상에는 Java 8이 필요합니다. 버전 2.4~2.12.1에는 Java 7이 필요합니다(Log4j 팀은 더 이상 Java 7을 지원하지 않습니다). 일부 기능에는 선택적 종속성이 필요합니다. 이러한 기능에 대한 설명서는 필요한 종속성을 지정합니다. ## 중요: 보안 취약점 CVE-2021-44832 요약: Apache Log4j2는 공격자가 구성을 제어할 때 JDBC Appender를 통해 RCE..

    [CentOS] sudo 명령어 권한 부여

    [CentOS] sudo 명령어 권한 부여

    [jjh@localhost home]$ sudo yum update [sudo] password for jjh: jjh is not in the sudoers file. This incident will be reported. 위와같이 해당 계정이 sudo기능을 사용하지 못하는 경우가 발생합니다. 이는 sudoers 권한이 계정에 없기 때문인데요 sudoers 권한을 부여하는 방법을 알아보겠습니다. sudoers 권한 관련은 /etc/sudoers 파일에 관리되어지고 있습니다. 우선 root계정으로 로그인 합니다. $ su root vi 편집기를 통해 /etc/sudoers 파일을 열어줍니다. $ vi /etc/sudoers sudoers 파일 중 아래 문구를 찾습니다. root ALL=(ALL:ALL)..

    [알고리즘] 체육복

    ● 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함..

    [알고리즘] 모의고사

    ● 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를..

    [알고리즘] K번째 수

    ● 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. ● 제한사항 array의 길이는 1 이상 100 이하입니..

    [알고리즘] 완주하지 못한 선수

    ● 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. ● 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. ● 입출력 예 participant completion return ["leo"..