목록전체 글 (23)
코수가 되는 길
이상 현상 - 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 이러한 이상현상을 제거하면서 데이터베이스를 설계해나가는 과정이 "정규화" 정규화 - 이상현상을 제거하면서 데이터베이스를 설계해 나가는 과정 이상현상의 3가지 종류 삽입 이상 - 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상 - 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상 - 튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 아래의 릴레이션을 통해 이상현상들이 발생하는 예시를 보도록 하자. 이벤트 참여 릴레이션의 예시를 보면, 한 고객이 여러 이벤트에 참여할 수 있으므로 기본키가 고객아이디와..
비트코인 공부하다가 본 바이너리 머클 트리는 그럭저럭 이해를 한거 같았는데.. 이더리움 공부 중 머클 패트리샤 트리는 잘 이해가 안돼서 쓰는 글. 바이너리 머클트리 간단하게 정리하고 머클 패트리샤 트리 정리해보겠음 . 우선 "상태전이" 라는 개념에 대해서 알아야 하는데 상태전이 ( State Transition ) 상태 전이란, 특정 시점의 현재 상태 S가 상태 전이 함수(APPLY())에 의해 다른 상태(S’)로 전이되거나 전이에 실패하고 이전 상태로 복귀되는 것을 말한다. - 상태 전이를 보여주는 사진 단일 상태전이 이더리움의 State는 복수의 상태 변이를 갖지 못하고 단 하나의 상태 변이만을 가짐. 하나의 상태가 여러개의 상태로 전이 된다면, 채굴자들은 어떤 상태가 맞는 것인지 판단하고 합의할 수..
Ethereum : A Transaction-based State Machine - 이더리움 노드는 단순 결제보다 훨씬 더 많은 것을 검증하고 처리할 수 있음. - 스마트 컨트랙트를 만들어 트랜잭션을 submit 할 수 있음. 이더리움 블록체인 내에 저장된 로직을 통해 이더를 전송하면 실행 가능. - 이더리움으로 구동되는 분산형 애플리케이션인 Dapp을 개발하고 실행할 수 있음. - 이더리움은 본질적으로 transaction-based state machine 으로, 모든 노드가 이를 받아들여야 함. A transaction - based state machine 네트워크에 트랜잭션이 발생하기 전인 Genesis state로 시작하여 트랜잭션이 실행되면 Final state로 전환됨 어느 한 시점에서 F..
트랜잭션의 개념 - 데이터베이스는 다수의 사용자가 동시에 사용하더라도 항상 모순이 없는 정확한 데이터를 유지해야함. - 장애가 생겨도 빠른 시간 내에 원 상태로 복구할 수 있어야 함. - 트랜잭션을 관리함으로서 데이터베이스의 회복과 병행 제어가 가능해져 , 일관된 상태를 유지할 수 있게 해줌. 트랜잭션 이란 ? - 데이터베이스에서 하나의 기능을 수행하기 위해 필요한 논리적 작업 단위로 , 작업 하나를 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것이다. - 한꺼번에 수행되어야 할 SQL 문들의 집합 - 회복 작업과 병행 제어 처리를 위한 기본 단위 update 문을 이용한 계좌이체 트랜잭션 예시 insert / update 를 이용한 상품 주문 트랜잭션 예시 - 트랜잭션의 모든 명령문이 완벽하게 ..
이더리움이란? '월드 컴퓨터' 라고 불리우는 이더리움에 대해 알아보자. - 이더리움은 블록체인을 기반으로 분산형 온라인 서비스(분산형 애플리케이션)를 만드는 플랫폼으로 스마트 컨트랙트 기반으로 작동한다. (스마트 컨트랙트라는 프로그램을 실행하는 오픈 소스에 기반을 둔, 전 세계에 걸쳐 탈중앙화된 computing infrastructure 이다.) - 이더(ether)라는 암호화폐를 이용하여 실행 자원비용을 측정하고 제한한다. 비트코인과의 비교 공통점 - P2P(peer-to-peer) network connecting participants - PoW (작업증명) ----> 현재는 PoS로 전환됨. (The Merge upgrade) - 디지털 서명과 해시 - 디지털 화폐사용 (이더) 차이점 - pay..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어,..
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문제 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고..