분류 전체보기

1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정먼저 올바른 괄호 문자열이 되는 기준부터 이해하고 가야한다( ), { }, [ ] A가 올바른 괄호일 때 (A), {A}, [A]A, B가 올바른 괄호일 때 AB즉, 닫힌괄호가 오려면 그 앞에 온 가장 최신의 열린괄호는 그 닫힌괄호와 짝을 이루는 열린괄호여야한다.또한 문자열을 왼쪽으로 회전한다는 말은 ABC -> BCA -> CAB처럼 맨 왼쪽에 있는 문자열이 맨 뒤로 가는 것을 말한다.코드 흐름문자열 s의 길이만큼 문자열을 회전시켜야 하므로 그만큼 for문을 돌림그 for문 안에 올바른 ..
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ예외로 인한 의존성 문제트랜잭션 AOP까지 적용하면서 서비스 계층에서 트랜잭션 로직을 완전히 떼어낼 수 있었다. 그렇다면 이제 서비스 계층은 순수한 비즈니스 로직 코드만 남은걸까? 한번 코드를 살펴보자@Slf4jpublic class MemberServiceV3_3 { private final MemberRepositoryV3 memberRepository; public MemberServiceV3_3(MemberRepositoryV3 memberRepository) { this.memberRepository = memberRepository; } @Transactional public voi..
Spring TransactionJDBC만으로 트랜잭션을 사용하면 몇가지 문제가 발생한다. 1. 서비스 계층에서 트랜잭션 코드로 인해 JDBC 코드가 작성된다.JDBC 코드에 의존하다보니 이후 JPA 등과 같이 다른 데이터 접근 기술을 사용한다면 코드 유지보수 하기가 힘들어진다. 또한 서비스 계층에는 다른 특정 구현 기술에 의존하면 안된다. 오직 순수한 자바 로직이 들어가야 한다.2. 트랜잭션 동기화 문제트랜잭션에 대한 커넥션을 유지하기 위해 리포지토리에 파라미터로 커넥션을 넘겨줬었다.이렇게 되면 리포지토리 코드에 트랜잭션용 기능 코드와 일반 기능 코드를 나누어서 작성해줘야 한다.3. 트랜잭션 적용 반복 문제트랜잭션으로 인해 상당히 많은 반복 코드가 발생하게 된다.try, catch, finally, c..
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ트랜잭션이란정의트랜잭션(Transaction)이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말한다.하나의 트랜잭션에는 하나 이상의 SQL문을 포함한다. 하나 이상이라는 말은 여러 개도 가능하다는 말이다. 예를 들어, 계좌 이체 기능을 수행한다고 하면1. A유저의 계좌 DB의 돈을 빼고 2. B유저의 계좌 DB의 돈을 증가시켜야한다.이는 하나의 트랜잭션으로 정의될 수 있다.모든 작업이 성공해서 데이터베이스에 영구적으로 반영시키는 것을 커밋(Commit), 작업 중 일부가 실패해서 작업 실행 이전으로 되돌리는 것을 롤백(Rollback)이라고 한다. ACID 특성트랜잭션은 4가지의 특성을 가진다. 이 4가지의 앞글자를 따 흔히 ACID라고 한다.Atomi..
jaehee1113
'분류 전체보기' 카테고리의 글 목록 (18 Page)