일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바 고급2편 - 네트워크 프로그램
- 자바의 정석 기초편 ch4
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch12
- 스프링 입문(무료)
- 자바의 정석 기초편 ch1
- 2024 정보처리기사 수제비 실기
- 자바 기초
- 자바 중급1편 - 날짜와 시간
- 자바 중급2편 - 컬렉션 프레임워크
- 자바 고급2편 - io
- 자바로 키오스크 만들기
- 자바로 계산기 만들기
- 스프링 mvc1 - 스프링 mvc
- 스프링 mvc2 - 검증
- 스프링 트랜잭션
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch13
- 데이터 접근 기술
- 람다
- @Aspect
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch2
- 2024 정보처리기사 시나공 필기
- 스프링 mvc2 - 타임리프
- 스프링 mvc2 - 로그인 처리
- Today
- Total
목록2025/04 (11)
개발공부기록

MVCC (Multi-Version Concurrency Control)MVCC 기술 탄생 배경데이터 베이스 Lock을 활용한 동시성 제어 방식은 같은 데이터에 대해서 읽기는 허용하지만 그 외의 경우에는 접근을 모두 허용하지 않는다그렇기 때문에 다른 트랜잭션은 블락이 되어 기다리게 되기 때문에 동시에 처리할 수 있는 처리량이 줄어들어 퍼포먼스에 안좋은 영향이 있을 수 있다이런 문제를 해결하기 위해 MVCC가 개발이 되었는데 같은 데이터에 대해서 서로다른 트랜잭션이 Write할 때만 Block되지만 그 외의 경우에는 동시에 처리가 가능한 기술이다즉, 그만큼 동시에 처리할 수 있는 처리량도 증가할 수 있게 된다 MVCC 동작 방식 설명MVCC는 Write - Lock이 없이도 구현할 수 있지만 현시대의 대부..

Java개인정보 수집 유효 기간문제프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/150370고객의 약관 동의를 얻어서 수집된 1 ~ n 번으로 분류되는 개인정보 n개가 주어짐.각 약관마다 개인정보 보관 유효기간이 정해져 있으며 각 개인정보가 어떤 약관으로 수집되었는지 알고싶음수집된 개인정보는 유효기간 전까지만 보관 가능하며 유효기간이 지났다면 반드시 파기해야 함A라는 약관의 유효기간이 12달이고 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인 정보는 2022년 1월 4일 까지 보관 가능하며 2022년 1월 5일부터 파기해야할 개인정보임모든 달은 28일까지 있다고 가정함오늘 날짜가 2022.05.19일 때의..
필터 만들기FilterMainV1 - 람다 미사용package lambda.lambda5.filter;public class FilterMainV1 { public static void main(String[] args) { List numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 짝수만 거르기 List evenNumbers = filterEvenNumber(numbers); System.out.println("evenNumbers = " + evenNumbers); // 홀수만 거르기 List oddNumbers = filterOddNumber(numbers); S..
데이터 베이스 락?락(Lock)은 여러 트랜잭션이 동시에 하나의 데이터에 접근할 때 데이터의 일관성을 보장하기 위한 장치이다. 자바의 멀티태스킹환경에서 동시성을 제어하여 데이터의 무결성을 보장하는 것과 동일한 행위를 데이터베이스에서도 똑같이 데이터베이스에 여러 요청이 왔을 때 공유 자원을 변경할 때 무결성을 보장하는 것이다 데이터베이스에 접근하여 처리하는 작업의 최소 단위를 트랜잭션이라고 한다.하나의 트랜잭션이 특정 데이터에 대해 작업(읽기/수정)을 수행하는 동안, 데이터의 무결성을 보장하기 위해 다른 트랜잭션이 그 데이터에 접근하거나 수정하지 못하게 하는 메커니즘이다. 대부분의 RDBMS는 트랜잭션 격리 수준과 쿼리 유형에 따라 자동으로 락을 걸어주는데 수동으로 제어할 수 있다. ** 참고개발 관점에서..

1. Filter 예외 응답 메시지가 로그만 찍히고 응답하지 않는 문제문제 정의Filter 인증을 통과하지 못할 때 정상적으로 예외가 발생하며 로그는 찍히지만 postman API 응답을 보면 예외 메시지가 출력되지 않고있다.아래 예외 발생 로그와 API 호출 결과를 보면 의도적으로 JWT 토큰 정보를 잘못 입력하면 유효하지 않는 토큰이라는 예외 로그는 작성되지만 응답 메시지가 찍히지 않는 모습을 확인할 수 있다. 해결 방안기존에 filter에서 예외가 발생했을때 예외 응답을 던지는 sendError()메서드는 웹페이지 렌더링할 때는 메시지를 표시할 수 있지만 API 응답시에는 바디에 메시지가 들어가지 않기 때문에 API 통신할 때는 별도의 예외객체를 만들어서 응답해야 한다고 한다. 에러 메시지..

Java - 이번 글의 문제들은 모두 끝까지 풀지 못했음체육복문제프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/42862도난당한 체육복을 여벌 체육복이 있는 학생이 체육복을 빌려주려함학생들의 번호는 체격 순으로 매겨져 있어 바로 앞본호의 학생이나 바로 뒷 버놓의 학생에게만 체육복을 빌려줄 수 있음4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려 줄 수 있음체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육 수업을 들어야 함전체 학생 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때 체육..

Bean Scope정의말 그대로 @Autowired나 @Configuration과 @Bean으로 등록한 스프링 빈이 존재할 수 있는 범위(생명 주기)를 뜻한다존재할 수 있는 범위라고하면 '등록된 빈이 등록되고 사라지는 시점의 범위가 어디인가'라고 보면 될 것 같다. 스프링 빈은 객체를 생성하고 의존관계 주입이 다 끝난 다음에 필요한 데이터를 사용할 수 있는 준비가 완료 되기 때문에 초기화 작업을 진행 해야한다. 스프링은 의존관계 주입이 완료 되면 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 다양한 기능을 제공하며 스프링 컨테이너가 종료되기 직전에 소멸 콜백(싱글톤)을 주어 안전하게 종료 작업을 진행할 수 있다 스프링 빈의 기본 생명 주기스프링 컨테이너 생성 -> 스프링 빈 생성(생성자 주입)..

Java로또의 최고 순위와 최저 순위문제프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/77484구매한 로또번호가 낙서가 되어 일부 번호를 알아 볼 수 없는 로또 번호 배열 lottos와 당첨 번호가 담긴 배열 win_nums가 주어질 때 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하는 함수를 완성로또 순위 제한조건lottos, win_nums는 길이 6인 정수 배열임lottos의 모든 원소는 0 이상 45 이하인 정수이며 0은 알아볼 수 없는 숫자를 의미함win_nums의 모든 원소는 1 이상 45 이하인 정수임lottos, win_nums에는 0을 제외한 다른 숫자는 같은 숫자가 2개 이상 담겨있지..