QR 코드 기반 실시간 대기열 관리 시스템
·
BackEnd
– Java + Redis 기반 TTL 및 데이터 만료 전략 적용기 – 1. 프로젝트 개요처음 이 시스템을 설계할 때는 단순한 입장 대기표 형태로 시작했습니다. 사용자가 도착하면 번호표를 발급받고, 관리자가 번호를 확인해 입장을 승인하는 방식이었습니다.하지만 사용자가 많아지고 현장 입장 속도를 개선할 필요가 생기면서, 더 직관적이고 빠른 방식이 필요하다는 문제가 발생했습니다. 그래서 선택한 방식이 바로 QR 코드 기반 대기열 시스템입니다. 2. 문제 발생: DB에 저장된 QR 코드의 한계기존 방식사용자가 QR 코드를 발급받으면 해당 정보를 MySQL DB에 저장.관리자는 사용자가 QR을 스캔하면 DB에서 데이터를 읽어 QR 유효성을 확인.문제점입장자가 많아질수록 DB I/O가 급격히 증가...
[백준][Java] 1015. 수열 정렬
·
Algorithms(CT)/Baekjoon
https://www.acmicpc.net/problem/1015  문제P[i] : 0 ~ N-1 까지 수를 한 번 씩 포함하고 있는 수열입니다.B[P[i]] = A[i] 가 되도록 할 때,배열 A가 주어지고, 수열 B가 비내림차순이 되는 수열이 되도록 만드는 P 수열을 출력해주세요.만약, 그러한 P 수열이 여러 개라면 사전 순으로 앞서는 것을 출력합니다. 비내림차순 : 앞의 원소보다 크거나 같은 경우.   정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Mai..
[백준][Java] 29729. 가변 배열
·
Algorithms(CT)/Baekjoon
https://www.acmicpc.net/problem/29729문제가별 배열 : 고정된 크기로 배열 선언한 후, 선언한 배열의 크기가 부족할 경우 배열의 크기를 자동으로 늘려준다.가변 배열의 작동 원리초기 크기를 원하는 만큼 지정하여 가변 배열을 생성한다. (초기는 비어있는 상태)원소를 저장해야 하는데 가변 배열이 꽉 차 있는 경우, 현재 가변 배열의 크기를 2배에 해당하는 새로운 가변 배열을 선언.새로 생성한 2배 크기의 가변 배열의 맨 앞에 기존 가변 배열에 있는 원소를 모두 복사한 후, 기존 가변 배열을 지우고 새로운 가변 배열로 대체한다. 이후 2번에서 저장하려고 했던 원소를 그 뒤에 저장한다.  다음은 그림으로 이걸 설명한 자료입니다!이 설명을 참고하여 가변 배열의 초기 크기와, 일련의 원소..
OSIV? 뷰에서 DTO없이 모델을 가져올 수 있다고?
·
BackEnd/JPA
OSIV 정의Open Session In ViewJPA의 영속성 컨텍스트와 하이버네이트의 session을 뷰까지 열어두는 기능   Open Session? View?Open Session은 세션 영역을 연다는 의미인데, 정확히는 영속성 컨텍스트의 영역을 의미합니다. View 영역은 우리가 일반적으로 생각하는 Controller 영역이나 뷰(jsp, Thymeleaf) 영역을 의미합니다.다시 풀어보자면 Controller나 View 영역에도 영속성 컨텍스트를 유지한다는 것으로 이해할 수 있습니다.   영속성 컨텍스트의 범위는 어디까지인가?영속성 컨텍스트는 엔티티 매니저와 연관이 깊습니다. 엔티티 매니저가 생성되는 시점에 생성되고 엔티티 매니저가 종료되는 시점에 소멸합니다. 트랜잭션 매니저를 별도로 구현하지..