ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ트랜잭션이란정의트랜잭션(Transaction)이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말한다.하나의 트랜잭션에는 하나 이상의 SQL문을 포함한다. 하나 이상이라는 말은 여러 개도 가능하다는 말이다. 예를 들어, 계좌 이체 기능을 수행한다고 하면1. A유저의 계좌 DB의 돈을 빼고 2. B유저의 계좌 DB의 돈을 증가시켜야한다.이는 하나의 트랜잭션으로 정의될 수 있다.모든 작업이 성공해서 데이터베이스에 영구적으로 반영시키는 것을 커밋(Commit), 작업 중 일부가 실패해서 작업 실행 이전으로 되돌리는 것을 롤백(Rollback)이라고 한다. ACID 특성트랜잭션은 4가지의 특성을 가진다. 이 4가지의 앞글자를 따 흔히 ACID라고 한다.Atomi..
커넥션 풀과 데이터 소스의 등장배경Connection con = DriverManager.getConnection(URL, USERNAME, PASSWORD);다음과 같이 커넥션을 받아온다면 데이터베이스에 sql을 하나 보낼 때마다 커넥션을 새로 생성해서 받아와야 한다. 커넥션을 받아오는 과정은 매우 오래걸리는 과정이다. 클라이언트가 특정요청을 할 때마다 위의 과정을 매번 거쳐야 하는데 이렇게 되면 서비스의 사용성이 떨어질 것이다.이러한 문제를 해결하는 것이 커넥션 풀과 데이터 소스이다. 커넥션 풀(Connection Pool)커넥션 풀이란 이름에서도 알 수 있듯, 여러 개의 커넥션을 담고 있는 풀(Pool)이다.클라이언트의 요청마다 매번 커넥션을 새로 만들어서 받아오는 것이 너무 비효율적이니 미리 커넥..
JDBC란?JDBC의 정의는 다음과 같다. JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC 는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. [출처: 위키백과] 정리하자면 자바에서 데이터베이스에 접속할 수 있게 해주는 기술이다. 우리는 어플리케이션을 개발할 때 데이터를 데이터베이스에 저장한다.어플리케이션에서 데이터베이스에 접근해 데이터를 저장하고 가져오려면 다음의 세가지 기능이 필요하다.커넥션 연결SQL 전달결과 응답하지만 이러한 과정을 구현하는 방식은 데이터베이스 시스템마다 다르다.MySQL만의 방식이 있을 것이고 Oracle 만의 방식이 있을 것이다.이러면 연결하는 데이터베이스마다 새롭게 코드를 작성..
1. 문제2. 풀이 과정10진수 --> 2진수 변환과정10진수에서 2를 나누어 나머지를 맨 뒤에 적는다.그 몫을 다시 2로 나누어 나머지를 그 앞에 적는다. 위의 과정을 몫이 0이 될 때까지 반복한다.ex: 10 --> 1010여기서 주목해야할 점은 첫번째에 나온 나머지가 최종 결과의 맨 마지막에 나온다는 점이다. 이러한 특징을 고려했을 때 우리는 스택을 떠올릴 수 있다.나머지를 연산 순서대로 스택에 넣은 다음 순서대로 스택에서 데이터를 꺼내면 쉽게 답을 구할 수 있음 3. 내 코드public static String solution(int decimal) { Stack stack = new Stack(); // 나머지를 저장할 스택 while(decimal != ..