SY 개발일지
[Java/Spring] 소셜 로그인(kakao) 시 java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader 'bootstrap') 에러 발생
에러 2024. 1. 16. 19:55

이 에러는 (String)을 통해 형변환을 해준 것을 String.valueOf를 이용하여 형변환을 해주면 된다. 내 코드의 경우 .profileImage((String) attributes.get("profile_image")) 을 .profileImage(String.valueOf(attributes.get("profile_image"))) 로 변경하여 해결하였다. 다음의 블로그를 참고하였다. https://javamin.tistory.com/369 [Java/자바] java.lang.Integer cannot be cast to java.lang.String 해결 방법 java.lang.Integer cannot be cast to java.lang.String 위의 오류 발생 원인은 mybatis..

article thumbnail
[백준 2011] 암호코드 - Java 문제풀이
Java/문제풀이 2023. 12. 20. 16:58

오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net 문제 문제 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이라고 하고, B는 2로, 그리고 Z는 26으로 하는거야. 선영: 그럼 안돼. 만약, "BEAN"을 암호화하면 25114가 나오는데, 이걸 다시 글자로 바꾸는 방법은 여러 가지가 ..

article thumbnail
[백준 1915] 가장 큰 정사각형 - Java 문제풀이
Java/문제풀이 2023. 12. 18. 20:41

오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 문제 문제 n×m의 0, 1로 된 배열이 있다. 이 배열에서 1로 된 가장 큰 정사각형의 크기를 구하는 프로그램을 작성하시오. 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 위와 같은 예제에서는 가운데의 2×2 배열이 가장 큰 정사각형이다. 입력 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. 해설 보통 문제에서 ~의 합을 이용해서 푸는 경우에는 ..

[자바 ORM 표준 JPA 프로그래밍 - 기본편] 0-1. JPA란?
Java/자바와 Spring 2023. 12. 15. 22:06

JPA? → JPA: Java Persistence API 과거에는 순수 JDBC 시절에는 쿼리문을 직접 작성을 해야했다.String sql = "SELECT * FROM MEMBER WHERE ID = ?"; 그 후, JDBC 템플릿이나 마이바티스와 같은 SQL 맵퍼가 등장하여 개발 코드는 많이 줄었지만, 여전히 개발자가 sql문을 직접 작성해야 했다.String sql = "SELECT MEMBER_ID, USERNAME, PHONE_NUMBER FROM MEMBER WHERE ID = ?"; JPA가 등장하여 sql문을 이제 더이상 작성하지 않아도 되게 되었다.public class MembeerDAO { @PersistenceContext EntityManager jpa; ..

article thumbnail
[백준 9935] 문자열 폭발 - Java 문제풀이
Java/문제풀이 2023. 12. 15. 16:58

오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문제 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에..

article thumbnail
[백준 1655] 가운데를 말해요 - Java 문제풀이
Java/문제풀이 2023. 12. 12. 20:33

오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 문제 문제 백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7,..

article thumbnail
[백준 17144] 미세먼지 안녕! - Java 문제풀이
Java/문제풀이 2023. 12. 11. 16:40

오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 문제 문제 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공..

article thumbnail
알고리즘 풀이 사이트
Java/문제풀이 2023. 12. 11. 16:21

한국의 IT 개발 취준생으로서 코딩테스트 준비는 필수라고 생각한다. 사실 많은 문제를 풀지는 않았지만 그래도 꾸준히 풀려고는 노력을 했다.(하지만 중간에 프로젝트가 있을 때에는 많이 못 풀었다ㅠ) 다음은 내가 알고리즘을 풀 때에 사용하는 사이트들이다. 하반기에 들어와서는 취업준비도 할 겸 프로그래머스에서 풀었는데, 그래도 지금은 백준에서 1일 1골드문제를 풀려고 노력중이다. - 백준 https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 이걸보면 골드3을 풀어야 티어가 오르는데.... 어떤 문제를 풀어야 할지 잘 감이 안와서 골드 4-5정도만 반복..

article thumbnail
[운영체제] 메모리 관리 Memory Management
CS 정리/강의 2023. 6. 22. 12:20

Logical vs. Physical Address Logical address (=virtual address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address임 Physical address 메모리에 실제 올라가는 위치 주소 바인딩: 주소를 결정하는 것 Symbolic Address → Logical Address → Physical Address ↑ 이 시점이 언제인가 Symbolic Address: 프로그래머 입장에서는 숫자로 된 주소를 사용하지 않고 변수 이름이라든가 함수 이름을 가지고 주소에 접근하는데, 그것을 symbolic address라고 한다. 주소 바인딩 (Address Binding) 위에서 나온 Logica..