본문 바로가기

전체 글

(161)
[IntelliJ] Maven 프로젝트 war 파일 추출하기, Manifest 구성 AWS EC2 서버에 배포하기 위해서 스프링 프로젝트를 war 파일로 추출하는 방법이다. 1. [파일] - [프로젝트 구조] 클릭 2. [아티팩트] 탭에서 [+] 버튼을 눌러 "웹 애플리케이션 Archiv" 선택 3. 이름을 작성하고, 확인 버튼 클릭 * 이때 아카이브에서 파일에 대한 Manifest 파일을 찾을 수 없다는 메시지가 나올 수 있다. 이런 경우에는 다시 [+] - [JAR} - [종속성 모듈에서 선택]에서 파일을 구성해준다. 이 대화상자에서 메인클래스를 지정해주고, 확인을 누른 후 다시 위의 war파일 설정에서 만들어진 .mf파일을 지정해주면 된다. 4. war 파일을 추출한다. [실행] - [구성 편집] 버튼을 클릭한다. 5. 맨 아래로 내리면 실행 전 작업을 지정해줄 수 있는데, 여기서..
[AWS][EC2] ec2 SSL certificate problem : certificate has expired 프로젝트를 진행하고 백엔드 스프링 프로젝트를 EC2에 배포하는 과정에서 git clone을 했더니 ec2 SSL certificate problem : certificate has expired 라는 오류가 발생했다. 기본적으로 SSL에서 신뢰 가능한 상태라고 생각하도록 환경변수 자체를 변경하는 방법도 있지만 너무 위험한 방법이라고 생각했다. https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-expired-certificate/ EC2 인스턴스에서 만료된 Let's Encrypt 인증서 수정 Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Sa..
[MySQL] ALTER TABLE로 date 타입 defualt 설정하기 오라클에서 DEFAULT로 현재 시간을 설정하기 위해서는 SYSDATE 를 사용한다. MYSQL 에서는 SYSDATE 대신 NOW() 함수를 사용한다. NOW()를 사용했을 때 오류가 발생해서 찾아본 결과, MYSQL의 버전에 따라 사용하는 구문이 다르다. 1. mysql 버전 확인하기 cmd창을 열고 mysql --version을 입력하면 현재 버전을 알 수 있다. 내 버전은 mysql 5.7.35였다. 해결 MYSQL의 버전이 5.6.5 이상일 경우에 사용하는 방법이다. NOW()함수 대신 CURRENT_TIMESTAMP를 사용한다. ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] DATETIME DEFAULT CURRENT_TIMESTAMP; 만일 MYSQL의 버전이 5.6.5..
[Spring Security] @AuthenticationPrincipal과 ArgumentResolver 스프링 시큐리티를 구현하며 가장 어려웠던 점은 커스텀한 객체를 사용하여 메소드도 그에 맞게 변환하는 과정이었다. 기존 컨트롤러에서 인증된 객체를 가져오는 메소드로 다음과 같은 방식을 사용했다. 매번 객체를 꺼내줘야하고, 컨트롤러가 지저분해보이기도 하다. 그래서 아예 핸들러 파라미터에서 @AuthenticationPrincipal 어노테이션을 사용하여 로그인 객체를 받아오도록 구현했다. 문제 1. 리턴된 객체의 null @AuthenticationPrincipal 어노테이션은 UserDetailService에서 return하는 객체를 받아와 사용한다. return된 객체를 로그로 출력했을 때 객체 타입도 나오지 않고 null이 반환되는 결과를 얻었다. 찾아보니 Spring boot 2.4.5 버전 또는 그..
[Programmers] [JAVA] 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr package com.company.practice.programmers; import java.util.*; public class Heap01 { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue heap = new PriorityQueue(); for (int ..
[React] Can't resolve 'redux-pender' in route redux-pender 모듈이 제대로 설치되어 있지 않아 발생하는 오류이다. 디렉토리의 루트에서 yarn add redux-pender 명령어를 주어 해결 가능하다. redux-pender module 프로미스 기반 액션들을 관리하기 위한 미들웨어와 도구가 포함된 라이브러리다. 상태 관리의 로직을 컴포넌트 밖에서 처리하는 동작을 수행한다. 비동기 작업을 수행할 때 유리하며, 가장 기본적으로 많이 사용되는 미들웨어 라이브러리다.
[프로그래머스] 모의고사 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr class Solution { public int[] solution(int[] answers) { int[] student1 = {1, 2, 3, 4, 5}; int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int[] result = new in..
[Spring][Security] 스프링 시큐리티란? https://docs.spring.io/spring-security/site/docs/4.2.7.RELEASE/reference/htmlsingle/#what-is-acegi-security Spring Security Reference The authenticator is also responsible for retrieving any required user attributes. This is because the permissions on the attributes may depend on the type of authentication being used. For example, if binding as the user, it may be necessary to read them docs.spr..

LIST