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 영역에도 영속성 컨텍스트를 유지한다는 것으로 이해할 수 있습니다.   영속성 컨텍스트의 범위는 어디까지인가?영속성 컨텍스트는 엔티티 매니저와 연관이 깊습니다. 엔티티 매니저가 생성되는 시점에 생성되고 엔티티 매니저가 종료되는 시점에 소멸합니다. 트랜잭션 매니저를 별도로 구현하지..
[CSTS] 제 2장 테스트 분류와 테스팅 방법
·
CSTS
[ 테스트의 분류 ] 1) 테스트 레벨에 의한 분류 테스트 기법 설명 컴퓨넌트(Component) / 단위(Unit) 테스트 시스템을 구성하는 단위 모듈을 테스트 대상으로 하여 개별 단위 모듈을 독립적으로 테스트한다. 통합(Integration) 테스트 시스템을 구성하는 단위 모듈들이 정확하게 통합되었는지에 초점을 둔다. 시스템 내부 구성 모듈과 이들 간의 관계를 정의한 구조 설계 명세서를 바탕으로 테스트가 진행된다. 시스템(System) 테스트 전체 시스템을 테스트 대상으로 하여 테스트가 진행된다. 요구사항 명세서에 명시된 방식대로 시스템이 동작하는지 확인하는 데 초점을 둔다. 인수(Acceptance) 테스트 시스템 테스트와 마찬가지로 전체 시스템을 하나의 단위로 보고 테스트가 진행된다. 그러나 시스..
[CSTS] 제 1장 테스트 개요 (요약)
·
CSTS
[ 소프트웨어 테스트] 프로그램의 오류를 발견하고 결함을 제거함으로써 프로그램의 품질을 높이는 활동 [완벽한 소프트웨어 테스트가 불가능한 이유] 무한 입력값, 무한 시간, 코드 내 무한 경로 등을 모두 고려해 테스트할 수 없기 때문이다. [ 품질 보증 vs 테스트 vs V&V ] V&V? Verification(검증)과 Validation(확인)의 약어로, 소프트웨어 품질 보증을 위한 핵심 개념이다. 검증은 소프트웨어 개발 과정에서 수행한 활동의 적합성 검사에 초점을 두며 확인은 결과물의 적합성에 초점을 둔다. 검증 - 요구사항 명세서가 구조 설계 및 상세 설계의 결과물에 적절하게 반영되었는지를 조사하는 추적성 확인 확인 - 동작하는 소프트웨어가 주어진 요구사항을 충족하는지 확인하는 것 [ 테스팅 vs ..