computer science(23)
-
트랜잭션(Transaction)::데이터베이스
1. 트랜잭션의 정의 데이터베이스의 상태를 변환시키는 하나의 논리적인 작업의 단위를 구성하는 연산들의 집합입니다. 하나의 트랜잭션은 Commit 되거나 Rollback 됩니다. Commit - 하나의 트랜잭션에 대한 작업이 성공적으로 끝나 데이터베이스가 다시 일관된 상태에 있을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산입니다. Rollback - 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도 이 트랜잭션이 행한 모든 연산을 취소(Undo)하는 연산입니다. - Rollback 시 해당 트랜잭션을 재시작하거나 폐기합니다. 2. 트랜잭션의 성질(ACID) Atomicity(원자성) : 트..
2020.06.24 -
OOP와 SOLID::자바
1. OOP(Object Oriented Programming) : 객체지향 프로그래밍 OOP란? 캡슐화, 다형성, 상속성, 추상화 4가지 특징을 이용해 코드의 재사용을 증가시키고 유지보수 빈도를 감소시키는 장점을 얻기 위해 객체들을 연결시켜 프로그래밍하는 것입니다. 캡슐화(Encapsulation) : 객체의 필드, 메서드를 하나로 묶고 실제 구현 내용을 감추는 것 다형성(Polymorphism) : 같은 이름으로 실행 결과가 다양한 객체를 이용하는 것 ex) 오버로딩(Overloading) : 이름은 같지만 다른 매개변수와 다른 리턴 타입을 갖는 것 오버라이딩(Overriding) : 부모의 함수를 상속받아 메서드를 재정의하는 것 상속성(Inheritance) : 상위 개념의 특징을 하위 개념이 물려..
2020.06.13 -
Isolation Level::데이터베이스
1. Isolation Level 트랜잭션에서 일관성 없는 데이터를 허용하는 수준을 의미합니다. 한 사용자가 어떠한 데이터를 수정하고 있는 경우 다른 사용자들이 그 데이터에 접근하는 것을 차단함으로써 완전한 데이터만을 사용자들에게 제공하게 됩니다. 또한, 많은 사용자들의 수정 작업으로 인해 통계 자료를 작성할 수 없는 사용자를 위해 읽기 작업을 수행할 수 있도록 Isolation Level을 변경할 수 있습니다. 2. Transaction Isolation Level RU(Read Uncommitted) SELECT 문장을 수행하는 경우 해당 데이터에 Shared Lock이 걸리지 않는 Level입니다. 따라서, 어떤 사용자가 A라는 데이터를 B라는 데이터로 변경하는 동안 다른 사용자는 B라는 아직 완료..
2020.06.13 -
블록체인과 비트코인의 잘못된 사실
1. 분산 시스템 vs 탈중앙화 시스템 분산 시스템: 복수 개의 서버가 일을 나눠 처리하는 분산 시스템 - 작업의 효율성이나 서비스의 가용성을 높이는 것을 주목적으로 하고 있다. - 분산된 일을 여러 서버가 동시에 처리함으로써 일을 더 빨리 해결할 수 있다. - 중앙 서버가 고장 나도 모든 서비스가 중단되는 것을 방지해 가용성 또한 획기적으로 높일 수 있다. - 여러 서버가 분산 작업을 하고, 분산 저장하는 시스템이다. 탈중앙화 시스템: 여러 서버가 일을 분산해 처리하는 것이 아니라 동일한 일을 중복해 처리하는 시스템 - 더 많은 자원과 시간이 투입되지만, 일을 중복하기 때문에 효율성이 극도로 저하된다. - 모든 노드가 일을 반복한 후 그 결과를 일치시키기 때문에 일의 결과에 대한 신뢰도는..
2020.04.27 -
블록체인과 비트코인
1. 블록체인이란? 블록: 전산학에서 흔히 쓰는 용어로, 대개 한꺼번에 처리하는 논리적 데이터 단위 체인: 블록들이 생성된 시간 순서에 맞춰 차례로 정렬되어 마치 쇠사슬에 묶인 것처럼 늘어선 논리적 모습을 묘사하기 위해 사용한 단어 블록체인이란, 네트워크에서 생성된 모든 데이터를 중앙 서버의 통제 없이도 발행 순서대로 정렬할 수 있는 방법을 연구하는 것이다. 이 때문에 블록체인을 탈중앙화 타임스탬프 기계라 부르기도 한다. 각 블록에는 최대 2,000 ~ 3,000개의 거래 내역만 담을 수 있는데, 이는 보통 거래 내역 하나를 기술하는데 0.3킬로바이트 정도의 용량이 필요하므로 3,000개 정도를 기술하고 나면 최대 용량인 1메가바이트가 꽉 차기 때문이다. 블록체인이 탄생한 배경부터 블록체인..
2020.04.27