본문 바로가기

전체 글95

Infura : Docker, 컨테이너 01 1. Docker란?Docker는 애플리케이션을 컨테이너라는 가벼운, 이식 가능한 실행 환경으로 패키징하는 플랫폼이다. Docker를 사용하면 애플리케이션과 그 의존성을 한 번에 패키징하여 어디서나 동일하게 실행할 수 있다.주요 개념이미지 (Image): 애플리케이션과 필요한 모든 것을 포함하는 읽기 전용 템플릿이다. Dockerfile을 기반으로 빌드된다.컨테이너 (Container): 이미지의 실행 가능한 인스턴스이다. 컨테이너는 격리된 환경에서 애플리케이션을 실행한다.Dockerfile: 이미지를 빌드하기 위한 스크립트이다. 애플리케이션이 빌드되고 컨테이너에서 실행되는 방법을 정의한다.Docker Hub: Docker 이미지를 저장하고 공유할 수 있는 레지스트리이다.2. 컨테이너란?컨테이너는 애플리.. 2024. 6. 10.
DB study 04 : 트랜잭션 및 동시성 제어 트랜잭션의 ACID 속성트랜잭션은 데이터베이스에서 하나의 논리적인 작업 단위. 트랜잭션이 성공적으로 완료되면, 데이터베이스의 상태는 일관되게 유지. 트랜잭션의 ACID 속성: 1. Atomicity (원자성):    * 트랜잭션의 모든 작업이 완벽하게 수행되거나 전혀 수행되지 않아야 함을 의미. 중간에 오류가 발생하면 트랜잭션은 롤백되어 이전 상태로 돌아간다.    * 예: 은행 계좌 이체에서 송금과 입금 작업이 모두 성공하거나 둘 다 실패해야함.2. Consistency (일관성):    * 트랜잭션이 실행되기 전과 후에 데이터베이스는 일관된 상태여야 한다. 모든 데이터 무결성 제약 조건이 유지되어야 한다.    * 예: 트랜잭션이 완료된 후에도 모든 외래 키 제약 조건이 충족되어야 한다.3. Isol.. 2024. 6. 3.
DB study 03 : SQL Sql은 db와 상호작용하기 위해 사용되는 표준 언어이다. DDLDMLDCLTCL고급 쿼리가 존재한다. DDLDDL은 데이터베이스 구조를 정의하고 관리하는데 사용. 주요 명령어 : CREATE, ALTER, DROP객체 관리-- 새로운 테이블 생성CREATE TABLE Users ( userId INT PRIMARY KEY, userName VARCHAR(50), userEmail VARCHAR(50));-- Users 테이블에 새로운 열 추가ALTER TABLE Users ADD userAge INT;-- Users 테이블의 열 이름 변경ALTER TABLE Users RENAME COLUMN userEmail TO email;-- Users 테이블 삭제DROP TABLE Users;D.. 2024. 6. 3.
DB study 02: 데이터 모델링 1. ERD(Entity-Relationship Diagram) 작성법ERD란?ERD는 데이터베이스 설계를 시각적으로 표현한 다이어그램으로, 엔티티(Entity)와 이들 간의 관계(Relationship)를 보여줌. ERD는 데이터베이스 설계 초기 단계에서 요구 사항을 분석하고 데이터 모델을 정의하는 데 유용하다. ERD 작성법엔티티 식별(Entity Identification)엔티티는 저장하고자 하는 주요 객체를 나타냄. 예로들어 사용자, 제품, 주문 등이 엔티티가 될수있다.엔티티 속성 정의(Entity Attributes)각 엔티티는 속성을 가진다. 속성은 엔티티의 특성을 나타내며, 예로들어 사용자 엔티티는 이름, 이메일, 전화번호 등의 속성을 가질수 있다관계 정의(Relationship Defini.. 2024. 6. 3.
DB study 01 : 기초 개념 1.  DBMS란데이터베이스 생략,DBMS : 데이터베이스를 관리하는 소프트웨어. 데이터베이스의 생성, 수정, 삭제 등의 작업을 지원하고 데이터의 무결성, 일관성, 보안을 유지하는 기능을 제공.MySQLPostgreSQLOracleMicrosoft SQL Server등이 있다. 2. 관계형데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)의 개념   2.1 RDBMS관계형 데이터베이스는 데이터를 테이블 형식으로 저장, 테이블 간의 관계를 정의 하여 데이터를 관리.RDBMS는 SQL(structured query language)를 사용하여 데이터를 조작.데이터는 행 열로 이뤄진 테이블에 저장되며 . 각테이블은 특정 엔티티를 표현한다.특징 정형데이터 : 구조가 고정된 데이터스키마 기반 : 데이터.. 2024. 6. 2.
DB study 01 : List 1. 기초 개념    * 데이터베이스 정의 및 필요성    * 데이터베이스와 DBMS의 차이    * 관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)의 개념    * 기본 용어: 테이블, 행, 열, 스키마, 키(Primary Key, Foreign Key)2. 데이터 모델링    * ERD(Entity-Relationship Diagram) 작성법    * 논리적 데이터 모델링    * 정규화(Normalization)와 비정규화(Denormalization)    * 데이터 무결성 및 제약 조건3. SQL(Structured Query Language)    * DDL(Data Definition Language): CREATE, ALTER, DROP    * DML(Data Man.. 2024. 6. 2.
logsbloom LogBloom과 브룸 필터는 모두 데이터 구조 중 하나로, 이더리움 블록체인에서 효율적인 데이터 관리와 검색을 위해 사용된다. 각각의 특징과 동작 방식을 자세히 설명하고, 두 구조의 연관성에 대해 다루겠다. LogBloom: 설명: LogBloom은 이더리움 블록체인에서 트랜잭션 로그를 저장하고 검색하기 위한 비트 배열이다. 각 비트는 특정 주소의 해시 값에 대응되며, 트랜잭션 로그에서 발생한 이벤트를 효율적으로 식별하는 데 사용된다. 동작 방식: 트랜잭션의 이벤트 로그에서 주소를 해싱하여 생성된 값에 따라 비트 배열의 해당 비트를 설정한다. 이후 특정 이벤트를 찾을 때는 해당 이벤트의 주소를 해싱하여 생성된 값이 비트 배열에 설정된 비트와 일치하는지 확인한다. 특징: 블록 헤더에 포함되어 있으며, 특.. 2024. 2. 22.
해시 함수와 비대칭 암호화 기법 해시 함수란 입력의 길이에 상관없이 항상 고정된 길이의 출력을 생성하는 함수를 의미한다. 해시 함수는 임의 길이의 데이터를 고정된 길이의 유일한 값(해시)으로 매핑하는 함수이다. 블록체인에서 사용되는 해시 함수는 다음과 같은 특징을 가진다: - 결정성(Deterministic): 동일한 입력에 대해 항상 동일한 출력(해시)을 생성한다. - 빠른 계산: 입력 데이터의 크기와 상관없이 해시 값을 빠르게 계산할 수 있다. - 충돌 방지: 두 개의 다른 입력이 동일한 출력을 가질 확률이 극히 낮다. - 원본 가리기: 출력값으로부터 입력값을 유추하기 매우 어렵다. - 데이터 무결성: 입력 데이터에 아주 작은 변화라도 출력 해시에는 큰 변화가 생긴다. sha256 과 해시 퍼즐 블록체인에서 사용하는 해시함수는 sh.. 2024. 2. 21.
트랜잭션 (transaction), UTXO, 서명 블록체인 네트워크에서 트랜잭션은 자산의 이동, 스마트 컨트랙트의 실행 등 네트워크 상에서 발생하는 모든 종류의 데이터 교환을 의미한다. 트랜잭션은 네트워크의 참여자들 사이에서 가치의 이전이나 특정 작업의 수행을 요청하는 데 사용된다. 각 트랜잭션은 네트워크에 의해 검증되고, 블록체인에 영구적으로 기록된다. 비트코인 트랜잭션 구조 버전 번호 : 채굴자와 노드가 트랜잭션 처리에 사용할 규칙을 지정하는 데 사용 입력 카운터 : 트랜잭션에 포함된 입력의 개수 입력 리스트 : 블록의 첫 트랜잭션은 코인베이스 트랜잭션(Coinbase Transaction)으로 입력 리스트에는 하나 이상의 트랜잭션 입력이 포함 출력 카운터 : 출력의 개수를 나타내는 양의 정수 출력 리스트 : 트랜잭션에 포함된 출력 락 시간 : 트랜.. 2024. 2. 21.
블록의 구조 블록의 정의 블록은 거래내역, 데이터 등을 저장하는 단위로 하나의 블럭에 여러개의 거래내역, 데이터가 저장된다. 구조 블록을 식별할 수 있는 정보가 담긴 해시 해시 : 블록 식별자. 헤더에 있는 6가지 정보를 합친 후 sha256 알고리즘으로 변환한 값 블록의 다양한 정보가 들어있는 헤더 프로토콜 버전 정보 바로 이전 블록의 해시 블록이 생성된 시간정보 계산의 난이도를 나타내는 bits 일정 난이도 계산 작업을 통해 나온 결과 값이며 작업 증명을 의미하는 Nonce 개별 거래정보의 거래 해시를 2진 트리로 구성할때 머클 트리 뿌리에 위치한 머클 루트 2024. 2. 21.