반응형 전체 글163 @Transactional과 스프링 트랜잭션 AOP 스프링에서는 @Transactional 애노테이션을 클래스나 메서드 단위에 붙여 DB 트랜잭션을 적용할 수 있다. 이 애노테이션의 원리와 작동 방식 및 사용 시 주의사항을 알아보자. 트랜잭션 적용 트랜잭션 적용 확인하기 선언적 트랜잭션 관리 방식으로 클래스나 메서드에 @Transactional 애노테이션을 붙이면 매우 편리하게 트랜잭션을 적용할 수 있다. 그러나 이 기능을 사용하면 트랜잭션 관련 코드가 눈에 보이지 않고, 심지어 AOP 기반으로 동작하기 때문에 실제로 적용되고 있는지 확인하기 어렵다. 클래스나 메서드에 @Transactional을 사용하면 해당 객체는 트랜잭션 AOP의 적용 대상이 되어 실제 객체 대신 프록시 객체가 스프링 빈에 등록된다. 클라이언트는 실제 객체가 아닌 프록시 객체를 주입.. 2024. 2. 20. [알고리즘] 그래프 문제에 활용되는 유니온 파인드(union-find) 유니온 파인드 union-find는 여러 노드가 있을 때 두 개의 노드를 연결하여 한 개의 집합으로 묶는 유니온 연산과 두 노드가 같은 집합에 있는지 확인하는 파인드 연산으로 구성된 알고리즘이다. 유니온 파인드의 기본 개념 union 연산 두 노드가 속한 집합을 1개로 합치는 합집합 연산 find 연산 노드가 속한 집합의 대표 노드를 반환하는 연산 유니온 파인드 알고리즘의 동작 과정 1. 유니온 파인드 배열 초기화 ex) 6개의 노드 일반적으로 1차원 배열을 이용해 표현한다. 처음에는 노드가 연결되어 있지 않기 때문에 각 노드가 대표 노드가 된다. 2. 유니온 연산 수행 ex) union(1, 4) 및 union(5, 6) 수행 union(1, 4) 1번의 대표 노드(1번)와 4번의 대표 노드(4번)를 .. 2024. 1. 2. [Java] 프로그래머스 - 징검다리 건너기 프로그래머스 징검다리 건너기 문제는 카카오 인턴쉽 기출 문제로, 징검다리를 최대 몇명이 건널 수 있는지 구하는 문제다. 난이도는 레벨3이며 이분탐색을 통해 해결할 수 있다. 프로그래머스 - 징검다리 건너기 문제 정보 알고리즘 분류 - 이진탐색 - 슬라이딩 윈도우 난이도 - Level 3 문제 요약 일렬로 놓여있는 징검다리의 디딤돌에는 각각 숫자가 적혀있으며, 한번 밟을 때마다 1씩 줄어듦 디딤돌의 숫자가 0이 되면 더이상 밟을 수 없으며, 가능한 다음 디딤돌로 건너 뛸 수 있음 밟을 수 있는 디딤돌이 여러개인 경우 무조건 가장 가까운 디딤돌로 가야 함 한번에 한명씩 징검다리를 건너는데, 한명이 다 건넌 뒤에 다음 사람 건넘 Q. 징검다리 각 디딤돌의 숫자 및 한번에 건너뛸 수 있는 최대 칸수 k가 주어졌.. 2023. 12. 7. 3년차 주니어 개발자가 읽어 본 [데이터 엔지니어를 위한 97가지 조언] 한창 재취업을 위해 준비 중인 시기에 이라는 책을 접하게 되었다. 나는 데이터 엔지니어는 아니고 백엔드 개발자이지만, 백엔드에서도 떼어 놓을 수 없는 것이 데이터이기에 관심을 가지고 읽어보게 되었다. 이 책은 대단한 데이터 엔지니어들이 자신만의 노하우 또는 철학 등을 소개하는 책이다. 사실 아는 이름은 없었지만 모두들 어디선가 엄청난 양의 데이터를 활용해서 날고 기고 했던 분들일 것이다. 재밌는 점은 이렇게 경험이 많은 분들도 서로 다른 의견을 갖고 다른 답을 제시하고 있다는 점이었다. 책 앞부분에서 옮긴이 분이 하신 말씀처럼, 모두가 다른 경험을 갖고 다양한 방법으로 해겼을 했을 것이기에 각기 다른 포인트를 중요하게 생각한다는 것이다. 백엔드 개발을 할 때에도 속도, 정확성 등 어떤 부분을 중요하게 생.. 2023. 11. 30. 이전 1 ··· 16 17 18 19 20 21 22 ··· 41 다음 반응형