분류 전체보기
-
[Redis] Redis 이용하기Backend 2024. 1. 15. 17:08
mac에 redis를 설치해서 이용하는 방법은 뒤로 갈수록 까다로워지기 때문에 docker에 redis를 설치해서 사용할 것이다. 우선 Docker Desktop을 실행한다.그리고 docker hub에 접속해서 redis를 검색한다. Docker Official Image 라고 되어있는 redis를 클릭한다. 그럼 docker pull redis 를 Docker에 redis image를 pull하고 run 하는 방법이 네트워크로 두 개의 컨테이너를 연결하는 것보다 편하지만, redis-cli를 이용하기 위해서는 Docker에 redis 컨테이너와 local-redis 컨테이너를 network로 연결해줘야 한다. Redis Image pulldocker image pull redis Redis netwo..
-
[백준 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..