분류 전체보기
-
[백준 2343번] 기타레슨코딩 테스트 2024. 1. 3. 17:42
get get get get a guitar 🎶 이진탐색 문제이다. 사실 실제 코딩테스트를 칠 때 이런 문제가 나오면 이진 탐색을 떠올릴 수 있을지 모르겠다.. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B2343 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new S..
-
[Redis] Redis에 대하여Backend 2024. 1. 3. 00:49
🤔 Redis 란? Remote dictionary server (외부에 있는 dictionary라는 자료구조를 사용하는 서버) RDBMS와 같이 쿼리 연산을 지원하지 않음 인메모리 데이터베이스 빠른 속도 Key-Value 타입의 저장소 NoSQL로 분류됨 Remote Data Storage로 여러 서버에서 같은 데이터를 공유하고 보고 싶을 때 사용할 수 있음 쓰기 성능 증대를 위한 클라이언트 측 샤딩을 지원함 Sharding이란? 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법 스냅샷 기능을 제공하여 메모리 내용을 *.rdb 파일로 저장하여 해당 시점으로 복구 가능 다양한 자료구조를 가지고 있음 Hash List Set String Bitmap etc.. 🪡 Redis에..
-
[Spring Security] kakao 소셜 로그인Spring 2023. 11. 21. 01:12
카카오 소셜 회원가입 & 로그인 SpringSecurity + OAuth2 사용자 정보(이메일, 이름, 프로필 사진) 받아와서 DB에 저장하기 (H2사용) https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#:~:text=Request-,https%3A//kauth.kakao.com/oauth/authorize,-%3Fresponse_type%3Dcode%26client_id Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com https://developers.kakao.com/docs/..
-
[백준] 1958번 : LCS 3코딩 테스트 2023. 7. 25. 09:27
LCS 문제들을 차례대로 풀고있는데 이 문제 완전 뒷통수 제대로 맞... 그냥 내가 못해서 그런거긴 한데 암튼 그래서 포스팅한다.. 처음에는 물론 3차원 배열을 생각하기는 했다. 그런데 3차원을 .... 어떻게? 라는 생각에 에이~ 아니겠지~ 하고 첫 문자열 & 두번째 문자열 의 lcs 를 구해서 도출된 문자열과 세 번째 문자열의 LCS를 이용해서 최종 답을 도출하도록 구했다. 짜잔 ...~ package baekJoon.gold; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class B1958 { public static void main(String[] args) t..
-
다이나믹 프로그래밍코딩 테스트/알고리즘 정리 2023. 7. 6. 02:17
1. 다이나믹 프로그래밍 개념 Dynamic Programming 동적 계획법 하나의 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것 특정한 알고리즘이 아닌 하나의 문제 해결 패러다임 🕊️ DP를 사용하기 위한 조건 2가지 1) Overlapping Subproblems (겹치는 부분 문제) 2) Optimal Substructure (최적 부분 구조) 💁♂️ Overlapping Subproblems DP는 기본적으로 문제를 나누고 그 문제의 결과 값을 재활용해서 전체 답을 구한다. 그래서 동일한 작은 문제들이 반복하여 나타나는 경우에 사용이 가능하다. 👉 ex) 피보나치 수열 💁♂️ Optimal Substructure 부분 문제의 최적 결과 값을..
-
Event Publisher / Event ListenerSpring 2023. 7. 4. 03:24
사용 이유: 의존성 줄이기 위함 Spring Event 구성 Event Class Event Publisher Event Listener Event Class public class OrderedEvent { private String productName; public OrderedEvent(String productName) { this.productName = productName; } public String getProductName() { return productName; } } Event Publisher @Slf4j @Service public class OrderService { ApplicationEventPublisher publisher; public OrderService(App..
-
[Test Code] @NotBlank 테스트 코드 작성 방법Spring 2023. 7. 3. 00:12
검사하고 싶은 Entity @Getter @Embeddable @NoArgsConstructor public class NotificationContent { @NotBlank(message = "notification content must not be blank") @Column(nullable = false) private String content; public NotificationContent(String content) { this.content = content; } } @NotBlank test code @SpringBootTest class NotificationContentTest { private Validator validator = null; @BeforeEach public v..