코딩

· Dev/DB
(모든 설명은 MySQL 8.0 기준 입니다.) 트랜잭션이란? 트랜잭션은 하나의 논리적인 기능을 수행하기 위해 여러 개의 작업 셋을 하나로 묶은 작업의 단위다. 트랜잭션은 원자성, 일관성, 격리성, 지속성 4가지의 특징을 갖는다. (ACID) ACID 원자성 (Atomicity) 트랜잭션을 구성하는 작업 전체가 성공하거나 아니면 전체가 실패하는 것 둘 중 하나만을 보장한다는 특징이다. 트랜잭션을 구성하는 여러 쿼리 중 일부분만 성공하거나 일부분만 실패하면 데이터의 정합성에 문제가 생기게 된다. 예시를 보면서 이해해보자. 기능 : 은행 시스템의 송금 송금 기능의 순서 1. 계좌 잔액 테이블에서 송금자 A의 잔액을 차감한다. 2. 계좌 잔액 테이블에서 돈을 받는 B의 잔액을 추가한다. 3. 거래 내역 테이블..
· Dev/DB
하드 디스크 드라이브 (HDD)와 솔리드 스테이드 드라이브 (SSD) 기본적으로 컴퓨터에서 CPU, Register, RAM 같은 주요 장치는 전자식 장치이다. 반면에 하드 디스크 드라이브는 기계식 장치다. 전자식 장치들 (이하 CPU, RAM 등) 의 성능은 짧은 시간 동안 매우 빠른 속도로 발전했다. 하지만 디스크 같은 기계식 장치들의 성능은 상당히 제한적으로 발전했다. 비록 최근에는 자기 디스크 원판에 의존하는 하드 디스크(HDD) 보다 원판을 사용하지 않고 NAND 플래시 메모리를 사용하는 SSD 드라이브가 많이 활용되고 있지만, 여전히 데이터 저장 매체는 컴퓨터의 가장 느린 부분이라는 사실에는 변함이 없다. 아래의 막대 그래프를 보면 HDD 보다 빠른 성능을 보이는 SSD 조차도 CPU와 약 만..
· Dev/PS
문제 n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다. 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 입력 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 경우의 수를 출력한다. 경우의 수는 231보다 작다. 풀이 더보기 package footdev._5주차; import java.io.*; import java.util.*; public class BOJ_동전_1 { ..
풋데브
'코딩' 태그의 글 목록