전체 글

· 🌱 Spring
프로젝트 설정 도중 @Value를 사용하기 위해 다음과 같이 설정했는데 다음과 같은 오류가 발생하면서 앱이 구동하지 않았다. @Service @RequiredArgsConstructor public class JWTService { @Value("${homepage.key}") private final String baseKey; private final SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; ... } Parameter 0 of constructor in junho.homepage.service.JWTService required a bean of type 'java.lang.String' that could not be f..
문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다. 예제..
· 🌱 Spring
Gson을 이용해서 HashMap 데이터를 Json형태로 바꾸려고 할 때 발생한 에러 해당 에러는 문자열을 Json형태로 바꾸고자 할 때 해당 문자열에 공백이나 특수문자가 포함되어있을 경우 발생한다. // 해당 오류가 발생하는 구문 Gson gson = new Gson(); HashMap jsonObject = gson.fromJson(input.toString(), new TypeToken(){}.getType()); [해결방법] 문자열에 공백, 특수문자를 제거한다. public String replaceStr(String str) { // 데이터중 특수문자 및 공백으로 인해 com.google.gson.stream.MalformedJsonException 발생 String tempStr = str.r..
문제 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. 이 알고리즘은 다음과 같다. 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. N, K가 주어졌을 때, K번째 지우는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N, max(2, K) < N ≤ 1000) 출력 첫째 줄에 K번째 지워진 수를 출력한다. 예제 입력 1 10 7 예제 출력 1 9 힌트 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지..
프로젝트 분석 중 예외처리 문구를 보고 알아보고싶어 한번 정리하게 되었다. 예외처리 (Exception Handling)은 잘못된 데이터입력 / 연선 / 로직 수행 이나 하드웨어 혹은 네트워크의 오작동 등 여러 원인으로 인해 발생한다. Java에서는 이러한 예외처리를 위한 클래스가 구현되어있다. Throwable Throwable 클래스는 모든 예외 클래스들이 가지고 있는 공통된 메소드를 정의하고 있다. Exception은 크게 두가지 종류로 나뉜다. Checked Exception - 예외처리가 필수이며, 처리하지 않으면 컴파일이 안됨. - JVM 외부와 통신(네트워크, 파일시스템 등)할 때 주로 쓴다. - 위 목록 중 RuntimeException을 제외한 다른 Exception들이 이에 해당한다. ..
카카오 오픈빌더를 통해 배포를 해보겠다. [시나리오 작성] 시나리오에 대해 간단히 알아보면 웰컴 : 봇을 처음 실행할 때 사용자가 받게되는 응답을 설정하는 곳 폴백 : 사용자의 입력이 매칭되지 않을 때 사용자가 받을 응답을 설정하는 곳 탈출 : 사용자가 되묻는 상황에서 빠져나가는 것을 설정하는 곳 으로 나뉘며 사용자가 블록을 만들 수도 있다. 시나리오는 다음과 같이 구성한다. 우선 식단을 호출할 때 아침 / 점심 / 저녁을 구분하기 위한 엔티티를 만들었다. 엔티티 봇이 이해할 수 있는 용어를 체계적으로 정리한 데이터 사전 엔티티가 정의되어 있다면, 봇은 사용자 발화로부터 사용자의 의도에 맞는 동작 수행을 위한 주요 데이터를 추출할 수 있게 된다. 이렇게 되면 [dinner / 저녁밥 / 디너 / 저녁] ..
_주노
juno.log