본문 바로가기

분류 전체보기135

Spring 3.0이후 변경해야하는 의존성_P6spy, QueryDsl, MySql Spring 3.0 이후 변경해야 하는 의존성_P6spy, QueryDsl 기존에 Spring 2.75 버전을 사용하다 이번에 새로 프로젝트를 시작할 때 Spring 3.0 이상의 버전을 사용했다. 이전 버전에서 사용하던 build.gradle에 명시된 의존성을 그대로 사용하려 했으나..! 몇몇 의존성들이 제대로 적용이안되고 예외가 발생하였다. 현재까지 내가 진행하는 프로젝트에서 변경해야 했던 것들은 P6spy, QueryDsl, Mysql이 있었다. 1. P6spy P6spy는 JPA가 DB에 날리는 쿼리문을 보기 좋은 형태로 로그로 찍어주는 라이브러리다. Spring 2.75 버전을 사용할 때는 1.80 버전을 사용하였는데 Spring 3.0 버전에서 이를 그대로 사용하려니 제대로 작동하지 않는 문제.. 2023. 6. 4.
Spring Security DB 조회, 비밀번호 암호화 Spring Security DB 조회, 비밀번호 암호화 1. UserdetailsService Spring Security는 인증 시 인증정보를 기본적으로 세션을 통해 저장하고 조회한다. 내가 진행한 프로젝트에서는 DB에 사용자의 정보를 저장했기 때문에 Spring Security가 인증 시 DB를 조회하도록 해야 했다. Spring Security는 인증 정보를 조회할 때 UserdetailsService(인터페이스)의 loadUserByUsername 메서드를 참조한다. 따라서 인증 정보를 DB에서 조회하도록 UserdetailsService의 loadUserByUsername을 구현하면 된다. 내가 진행한 프로젝트에서는 JWT를 사용했기 때문에 Spring Security가 세션을 사용하지 않도.. 2023. 6. 4.
LCS LCS 백준 9251번 문제 https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 1. 문제 2. 풀이 방법 2.1 dp 이 문제는 dp를 사용해서 풀 수 있다. 다만 주어지는 문자열이 2개이기 때문에 2개의 변수를 사용해서 점화식을 만들어야 한다. d[i][j]를 문자열_1의 i번째와 문자열_2의 j번째까지의 LCS라고 하자. 그러면 d 행렬의 가장 오른쪽 아래있는 값이 이 문제의 답이 될 것이다. 예시.. 2023. 6. 4.
크-게 만들기 크게 만들기 백준 2812번 문제 https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 2. 풀이 방법 2.1 내림차수 만들기 2.1.1 개념 주어진 숫자에서 K개를 지웠을 때 가장 큰 수가 되게 하려면 숫자의 앞자리(왼쪽)가 가장 커질 수 있는 방향으로 수를 지우면 될 것이다. 즉 특정 자릿수를 지워 숫자를 내림차순이 되는 형태로 만들면 가장 큰 수가 될 수 있다. 숫자를 내림차수로 만드는 데에는 스택을 활용할 수 있다. 다음과 같이 예시가 주어졌다고 하자 10자리, 지울 수의 개수 = 4, 숫자 = 4177252.. 2023. 5. 21.