목록Study (5)
코수가 되는 길
이상 현상 - 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 이러한 이상현상을 제거하면서 데이터베이스를 설계해나가는 과정이 "정규화" 정규화 - 이상현상을 제거하면서 데이터베이스를 설계해 나가는 과정 이상현상의 3가지 종류 삽입 이상 - 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상 - 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상 - 튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 아래의 릴레이션을 통해 이상현상들이 발생하는 예시를 보도록 하자. 이벤트 참여 릴레이션의 예시를 보면, 한 고객이 여러 이벤트에 참여할 수 있으므로 기본키가 고객아이디와..
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..
챕터2: 컨트랙트 솔리디티 코드는 컨트랙트 안에 싸여있음. 컨트랙트란, 이더리움 어플리케이션의 기본적인 구성 요소로, 모든 변수와 함수는 어느 한 컨트랙트에 속함. Version Pragma 모든 솔리디티 소스 코드는 "version pragma"로 시작해야 하는데, 이는 해당 코드가 이용해야 하는 솔리디티 버전을 선언하는 것. 이를 통해 이후에 새로운 컴파일러 버전이 나와도 기존 코드가 깨지지 않도록 예방하는 것. 선언: pragma solidity ^0.4.19; 챕터3 : 상태변수 & 정수 상태변수는 컨트랙트 저장소에 영구적으로 저장됨. (이더리움 블록체인에 기록된다는 의미로 데이터베이스에 데이터를 쓰는 것과 동일) 예시 contract Example { // 이 변수는 블록체인에 영구적으로 저..