| 대칭키를 활용한 DB정보 암호화 1. User-service 의 db설정과 config 설정을 수정한다 applicaton.yml의 DB설정을 주석 처리한다 # datasource: # url: jdbc:postgresql://localhost:5432/basic # username: postgres # password: wcadmin # driver-class-name: org.postgresql.Driver bootstrap.yml의 config 설정 정보 수정한다. "user-service"의 파일 정보를 불러올 수 있게 수정. spring: cloud: config: uri: http://localhost:8888 name: user-service # profiles: # active: dev..
콩국수가 맛있는 국수회관 무더운 여름의 점심시간 콩국수가 생각난다 그래서 수서역에 위치한 콩국수 맛집 국수회관으로 고고! 맷돌로 직접 간다고하는데 얼마나 맛있는지 기대가 된다. 물만두도 하나 주문! 콩국수의 국물이 굉장히 찐하다!!! 그리고 맛있따. 완전 오리지널 날것의 느낌!
문제 https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.io.*; import java.util.Deque; import java.util.LinkedList; import java.util.StringTokenizer; public class p11003 { public static void main(String[]..
2개의 포인터로 범위를 지정한 다음 범위를 유지한 채로 이동하며 문제를 해결하는 것이다. 투 포인터 알고리즘과 매유 유사하다. 📝 문제 https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 💻 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRead..
문제 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.util.Arrays; import java.util.Scanner; public class p1253 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] A = new int[N];..
문제 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.util.Arrays; import java.util.Scanner; public class p1940 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.ne..
📝 문제 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 💻 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.util.Scanner; public class p2018 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int startIndex..
📝 문제 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 💡 힌트 S[i] % M의 값과 S[j] % M의 값이 같다면 (S[i]-S[j] ) % M은 0이다. 변경된 합 배열에서 S[i] , S[j]의 값이 같으면 원본 배열에서 i+1부터 j까지의 구간 합이 M으로 나누어떨어지는 구간이다. 💻 코드 package org.kyhslam.DoItAlgorithm.ch02; import java.ut..
대칭키 Symmetric Encryption (Shared) 대칭키라는 것은 Encryption에 사용하는 키와 Deryption에 사용하는 키를 같은 거를 사용하는걸 말한다. Using the same key 비대칭키 Asymmetric Encryption (RSAKeypair) 암호화하는 키와 복호화하는 키를 다르게 쓰는 걸 비대칭키 라고한다. Private and Public Key Using Java keytool
| Spring Cloud Bus 분산 시스템의 노드(Microservice)를 경량 메시지 브로커와 연결 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달(Broadcast) WHY config가 변경되면 각 마이크로서비스는 최신 값을 갖고 오기 위해 POST로 http[s]://{microservice host}/actuator/refresh를 해줘야 한다. 물론 이 작업을 자동화할 수도 있겠으나, config server가 각 마이크로서비스의 주소를 모두 관리해야 하니 비효율적입니다. Spring cloud bus는 동적으로 config 변경을 적용하기 위한 MQ(Message Queue) Handler 이다. HOW MQ(Message Queue)에 Publisher(=config serve..
Spring Security 프레임워크와 JsonWebToken 을 이용해 웹인증을 구현하는 도중, 로그인을 시도해서 서버로부터 토큰을 얻으려고 할때, 웹서버 로그에 다음과 같은 에러가 발생했습니다. javax/xml/bind/DatatypeConverter해당 문제 발생 시 pom.xml에 아래의 라이브러리를 추가해주면 된다. javax.xml.bind jaxb-api 2.1
람다 1. 함수형 프로그래밍과 람다식 자바는 객체 지향 프로그래밍 : 기능을 수행하긴 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 함수형 프로그래밍(Functional Programming: FP) 함수형 프로그래밍은 순수함수(pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)를 주지 않도록 구현하는 방식입니다. 순수 함수란 매개변수만을 사용하여 만드는 함수 입니다. 즉, 함수 내부에서 함수 외부에 있는 변수를 사용하지 않아 함수가 수행되더라도 외부에는 영향을 주지 않습니다. 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 ..