[Spring Boot] 기존 프로젝트를 Spring Security로 리팩토링 하는 과정에서 발생한 WebConfig 클래스 트러블 슈팅(Trouble Shooting)
·
수수한 코딩세상/Spring Boot
JWT 토큰으로만 인증하던 기존의 코드방식에서 Spring Security를 도입하여 코드를 리팩토링해 보는 연습을 해보았습니다. 기존에는 `JWTFilter`, `AuthArgument Resolver`를 사용하여 인증, 인가를 하고 있었습니다. 이 부분을 Refactoring 해보며 겪은 트러블 슈팅을 정리해 보았습니다. 저는 기존의 JWT 인증, 인가 방식에서 Spring Security로 리팩토링 하는 과정에서 `WebConfig` 파일에서 `AuthArgumentResolver`를 찾지못해서 오류가 발생하였습니다.기존의 `AuthArgumentResolver`를 `JwtAuthenticationToken`으로 변경하게 되면서 기존의 커스텀 리졸버인 `AuthArgumentResolver`를 삭제..
[Spring] JPA를 활용한 upgrade 일정 관리 앱 서버 만들기 (프로젝트 설계 & API 명세서)
·
수수한 코딩세상/Spring Boot
요구사항1단계기능: 일정 CRU 학습목표: JPA 입문조건일정을 저장, 단건 조회, 수정할 수 있습니다.일정은 작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일 필드를 갖고 있습니다. 2단계기능: 댓글 CRUD 학습목표: 연관관계 기본조건일정에 댓글을 달 수 있습니다.댓글과 일정은 연관관계를 가집니다.댓글을 저장, 단건 조회, 전체 조회, 수정, 삭제할 수 있습니다.댓글은 댓글 내용, 작성일, 수정일, 작성 유저명 필드를 갖고 있습니다. 3단계기능: 일정 페이징 조회 학습목표: 페이징/정렬조건일정을 Spring Data JPA의 Pageable과 Page 인터페이스를 활용하여 페이지네이션을 구현해주세요.페이지 번호와 페이지 크기를 쿼리 파라미터로 전달하여 요청하는 항목을 나타냅니다.할일 제목, 할일..
[Programmers][MySQL] 여러 기준으로 정렬하기 (여러 컬럼 기준으로 정렬)
·
수수한 코딩세상/Code Kata
문제 설명`ANIMAL_INS` 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. `ANIMAL_INS` 테이블 구조는 다음과 같으며, `ANIMAL_ID`, `ANIMAL_TYPE`, `DATETIME`, `INTAKE_CONDITION`, `NAME`, `SEX_UPON_INTAKE`는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 데이터 예시 테이블 출력해야 할 데이터동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해 주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.이름을 사전 순으로 정렬하면 다음과 같으며, 'Jewel', '..
[Programmers][MySQL] 최솟값 구하기 (MIN)
·
수수한 코딩세상/Code Kata
문제 설명`ANIMAL_INS` 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. `ANIMAL_INS` 테이블 구조는 다음과 같으며, `ANIMAL_ID`, `ANIMAL_TYPE`, `DATETIME`, `INTAKE_CONDITION`, `NAME, SEX_UPON_INTAKE`는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 데이터 예시 테이블 출력해야 할 데이터동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해 주세요.가장 먼저 들어온 동물은 Jack이고, Jack은 2013-10-14 15:38:00에 들어왔습니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다. 코드 생각DA..
[Programmers][MySQL] 상위 n개 레코드 (LIMIT)
·
수수한 코딩세상/Code Kata
문제 설명`ANIMAL_INS` 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. `ANIMAL_INS` 테이블 구조는 다음과 같으며, `ANIMAL_ID`, `ANIMAL_TYPE`, `DATETIME`, `INTAKE_CONDITION`, `NAME`, `SEX_UPON_INTAKE`는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.  데이터 예시 테이블 출력해야 할 데이터동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해 주세요. 코드 생각이름 컬럼만 출력되도록 해야겠다.DATETIME 속성을 정렬하여서 가장 먼저 들어온 데이터를 찾아야겠다.가장 먼저 들어온 데이터 1개만 출력되도록 해야겠다. Sol..
[Programmers][Java] 행렬의 덧셈 (2차원 배열)
·
수수한 코딩세상/Code Kata
문제 설명행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 사항행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 코드 생각덧셈하는 행과 열의 크기가 같으니 arr1의 크기로 결과를 리턴할 answer 크기를 지정해 줘야 겠다.2차원 배열이기 때문에 이중 for문을 사용하여 덧셈해주어야 겠다. Solution.javaclass Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr..
[Programmers][MySQL] 중복 제거하기 (DISTINCT, GROUP BY)
·
수수한 코딩세상/Code Kata
문제 설명`ANIMAL_INS` 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. `ANIMAL_INS` 테이블 구조는 다음과 같으며, `ANIMAL_ID`, `ANIMAL_TYPE`, `DATETIME`, `INTAKE_CONDITION`, `NAME`, `SEX_UPON_INTAKE`는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.출력해야 할 데이터동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해 주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 데이터 예시 테이블 코드 생각중복되는 이름을 체크할 수 있는 연산을 사용한 후 해당 컬럼의 개수를 출력해야겠다.NUL..
[Spring] 나만의 일정 관리 앱 서버 만들기 - JDBC 사용하여 개발
·
수수한 코딩세상/Spring Boot
Language : JavaVersion : JDK 17Build systeem : Gradle - GroovySpring Boot version : 3.3.2  IDE : IntelliJDBMS : MySQL 프로젝트 목표구현하고자 하는 서비스의 전체적인 흐름을 파악하고 필요한 기능을 설계해보자.API 명세서, ERD, SQL을 작성해 보자Spring Boot를 기반으로 CRUD(Create, Read, Update, Delete) 기능이 포함된 REST API를 만들어 보자.3 Layer Architecture에 따라 각 Layer의 목적에 맞게 프로젝트를 개발해 보자.JDBC를 사용하며 기본적인 SQL 쿼리 작성과 데이터 관리 연습을 하며 개발해 보자  요구사항 & 프로젝트 설계 & API 명세서[..
수수한 코딩열공생
'TIL' 태그의 글 목록