분류 전체보기
-
@EnableJpaAuditing 어노테이션 역할 및 사용법@EnableJpaAuditing 어노테이션은 Spring Data JPA에서 엔티티의 생성 및 수정 날짜를 자동으로 관리하는 기능을 활성화하는 데 사용됩니다. 주요 기능생성 날짜 및 수정 날짜 자동 저장: 엔티티가 생성되거나 업데이트될 때마다 자동으로 created_at 및 updated_at 필드에 현재 날짜와 시간을 저장합니다.감사 정보 추가: 엔티티 생성자 및 수정자 정보를 추가적으로 저장할 수 있도록 CreatedBy 및 LastModifiedBy 어노테이션을 제공합니다.커스터마이징 가능: AuditorAware 인터페이스를 구현하여 생성자 및 수정자 정보 추출 방식을 자유롭게 정의할 수 있습니다. 사용 방법1. Spring Data J..
[TIL] 230605 <Spring> @EnableJpaAuditing, @EnableScheduling, @Scheduled, Refresh Token 자동 관리 및 Spring Security@EnableJpaAuditing 어노테이션 역할 및 사용법@EnableJpaAuditing 어노테이션은 Spring Data JPA에서 엔티티의 생성 및 수정 날짜를 자동으로 관리하는 기능을 활성화하는 데 사용됩니다. 주요 기능생성 날짜 및 수정 날짜 자동 저장: 엔티티가 생성되거나 업데이트될 때마다 자동으로 created_at 및 updated_at 필드에 현재 날짜와 시간을 저장합니다.감사 정보 추가: 엔티티 생성자 및 수정자 정보를 추가적으로 저장할 수 있도록 CreatedBy 및 LastModifiedBy 어노테이션을 제공합니다.커스터마이징 가능: AuditorAware 인터페이스를 구현하여 생성자 및 수정자 정보 추출 방식을 자유롭게 정의할 수 있습니다. 사용 방법1. Spring Data J..
2024.06.05 -
https://www.acmicpc.net/problem/2167import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); int[][] nums = new int[n][..
[백준] #2167. 2차원 배열의 합 (실버 5)https://www.acmicpc.net/problem/2167import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); int[][] nums = new int[n][..
2024.06.05 -
https://www.acmicpc.net/problem/11441import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int[] nums = new int[n]; for (int i = 0; i 주의할 점▼ 구간의 시작이 첫번째부터이면 앞..
[백준] #11441. 합 구하기 (실버 3)https://www.acmicpc.net/problem/11441import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int[] nums = new int[n]; for (int i = 0; i 주의할 점▼ 구간의 시작이 첫번째부터이면 앞..
2024.06.05 -
https://www.acmicpc.net/problem/2851import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] score = new int[10]; for (int i = 0; i
[백준] #2851. 슈퍼 마리오 (브론즈 1)https://www.acmicpc.net/problem/2851import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] score = new int[10]; for (int i = 0; i
2024.06.05 -
[Spring Security]인증과 접근 제어를 위해 세부적인 맞춤 구성이 가능한 강력한 프레임워크 → 스프링 애플리케이션에 보안을 적용하는 과정을 크게 간소화하는 프레임워크 Spring Security의 인증 프로세스각 구성 요소는 인터페이스로 이루어져있음→ 시큐리티의 기본 기능은 내부적으로 인터페이스를 구현한 각 구현체 클래스에 이미 구현되어 있다!따라서 우리는 모든 것을 구현하지 않아도 되며, 필요한 구성 요소만 재정의하고 구현(맞춤 구성)하면 됨! UserDetailsService (사용자 관리)AuthenticationProvider가 UserDetailsService에 사용자 관리에 대한 책임을 위임> 관련 인터페이스UserDetailsService: 인증을 위해 사용자를 찾음UserDe..
[TIL] 230604 <Spring> Spring Security 동작원리[Spring Security]인증과 접근 제어를 위해 세부적인 맞춤 구성이 가능한 강력한 프레임워크 → 스프링 애플리케이션에 보안을 적용하는 과정을 크게 간소화하는 프레임워크 Spring Security의 인증 프로세스각 구성 요소는 인터페이스로 이루어져있음→ 시큐리티의 기본 기능은 내부적으로 인터페이스를 구현한 각 구현체 클래스에 이미 구현되어 있다!따라서 우리는 모든 것을 구현하지 않아도 되며, 필요한 구성 요소만 재정의하고 구현(맞춤 구성)하면 됨! UserDetailsService (사용자 관리)AuthenticationProvider가 UserDetailsService에 사용자 관리에 대한 책임을 위임> 관련 인터페이스UserDetailsService: 인증을 위해 사용자를 찾음UserDe..
2024.06.04 -
[기존보다 Restful한 url로 수정] controller>CommentController@RestController@RequiredArgsConstructor@RequestMapping("/api")public class CommentController { private final CommentService commentService; private final JwtUtil jwtUtil; // 댓글 작성 @PostMapping("/schedule/{scheduleId}/comment") public ResponseEntity createComment(@PathVariable Long scheduleId, @Valid @RequestBody CommentRequestDto requestDto, Ht..
[TIL] 230603 <Spring> 회원가입, 로그인 기능이 있는 투두앱 백엔드 서버 만들기 (3)[기존보다 Restful한 url로 수정] controller>CommentController@RestController@RequiredArgsConstructor@RequestMapping("/api")public class CommentController { private final CommentService commentService; private final JwtUtil jwtUtil; // 댓글 작성 @PostMapping("/schedule/{scheduleId}/comment") public ResponseEntity createComment(@PathVariable Long scheduleId, @Valid @RequestBody CommentRequestDto requestDto, Ht..
2024.06.03 -
https://www.acmicpc.net/problem/2467*for문을 사용하고 그 안에서 이진탐색*→ 모든 가능한 용액 쌍을 확인 : for 루프는 용액 배열의 모든 요소에 대해 한 번씩 반복! 각 반복에서는 현재 용액과 나머지 용액 사이의 합을 계산하기 위해 이진 탐색을 사용 따라서 모든 가능한 용액 쌍을 확인가능! import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = In..
[백준] #2467. 용액 (골드 5)https://www.acmicpc.net/problem/2467*for문을 사용하고 그 안에서 이진탐색*→ 모든 가능한 용액 쌍을 확인 : for 루프는 용액 배열의 모든 요소에 대해 한 번씩 반복! 각 반복에서는 현재 용액과 나머지 용액 사이의 합을 계산하기 위해 이진 탐색을 사용 따라서 모든 가능한 용액 쌍을 확인가능! import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = In..
2024.06.03 -
1. Edit Configuration (구성 편집) 2. Modify options (옵션 수정) 3. Enviornment variables (환경 변수) 4. 노트 모양 클릭 5. + 클릭 > Name에는 application.properties의 대상 Key 값(UPPER_CASE와 _언더바를 이용), Value에는 적용할 값 입력 ▼ ▼ ▼ ▼ ▼환경변수들은 .yml/.properties 파일에서 ${} 내의 변수로 할당하여 사용할 수도 있고, @Value("${admin.token}")처럼 value annotation에 할당된 변수로도 사용가능 ★★★환경변수를 활용하면 민감한 정보가 하드코딩 되어 있는 것을 감출 수 있으며대부분의 환경에서 환경변수를 통해 어플리케이션에 값을 동적으로 ..
Intellij 상에서 환경변수를 할당하는 방법1. Edit Configuration (구성 편집) 2. Modify options (옵션 수정) 3. Enviornment variables (환경 변수) 4. 노트 모양 클릭 5. + 클릭 > Name에는 application.properties의 대상 Key 값(UPPER_CASE와 _언더바를 이용), Value에는 적용할 값 입력 ▼ ▼ ▼ ▼ ▼환경변수들은 .yml/.properties 파일에서 ${} 내의 변수로 할당하여 사용할 수도 있고, @Value("${admin.token}")처럼 value annotation에 할당된 변수로도 사용가능 ★★★환경변수를 활용하면 민감한 정보가 하드코딩 되어 있는 것을 감출 수 있으며대부분의 환경에서 환경변수를 통해 어플리케이션에 값을 동적으로 ..
2024.06.03