본문 바로가기

분류 전체보기44

[Spring] ResultSet next()를 왜 사용할까? ResultSet 순수 JDBC를 활용하여 쿼리문을 정의한 다음, 지정된 쿼리문을 실행하게 된다면 자연스럽게 쿼리문 조건에 맞는 값이 반환될 것이라는 것은 코드를 짜보지 않아도 대략적인 그림은 머릿속에서 그려질 수 있다. 하지만 어떻게 데이터를 받는지에 대해서 명확하게 알지 못한다면, 데이터를 어떤 방식으로 처리해야 하는지에 대한 문제도 해결하기 어려울 수 있다. 그래서 순수 JDBC를 사용할 때 ResultSet을 어떻게 활용하길래 데이터를 받아올 수 있는지 그리고 next()를 사용해서 데이터 체크를 왜 하는지, 어떻게 동작하는지에 대해서 알아보려고 한다. ResultSet이란? public interface ResultSet extends Wrapper, AutoCloseable ResultSet은.. 2023. 9. 7.
[Spring] Hikari pool - 1 [오류에 대해서 어떤 생각을 가지고 해결을 해볼 수 있었을까?] Hikari pool - 1 time out 게시판 프로젝트를 진행하면서 발생된 문제점이다. 해당 문제점에 대해서 깊게 고민을 하지 않고 단순 개발에 우선순위를 두다 보니 거슬리는 데도 잠깐 동안은 무시했었다. 하지만 코드를 정상적으로 작성했음에도 불구하고 이 에러는 사라지지 않았다. 따라서 나는 앞서 가정을 했었다. 1. 코드가 비정상적으로 동작하기 때문에 해당 오류가 뜰 수 있을 것 같다. 2. 타임 아웃이 발생되니 SQL 쿼리문에서 문제가 발생할 수 있을 것 같다. 하지만 1번을 해결하고 난 뒤에도 여전히 오류는 지속적으로 찍히고 있었으며, 2번을 면밀히 바라보려고 노력했다. 2번을 해결하기 위해서 비즈니스 로직을 두 번 실행하게 되는 것을 redirect로 변경하여 해당 포스트를 다시 가지고 오지.. 2023. 9. 2.
[백준] 행렬 덧셈 [코드 + 패턴을 찾아보고 풀어보는건 어떨까?] 구현 https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 코드 #include using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; int** array = new int*[2*n]; for (int i = 0 ; i < 2*n; i++){ array[i] = new int[m]; fill.. 2023. 8. 31.
[백준] 바구니 뒤집기 [C++, 코드, 어떻게 생각 했을까?] 구현 https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 코드 #include using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; int arr[101]; for (int i = 0; i < n; i++) { arr[i+1] = i+1; } for (int i = 0; i < m; i++) { .. 2023. 8. 28.