본문 바로가기

분류 전체보기

(16)
Index 란? [ 인덱스(index)란? ]인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 만약 우리가 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색인을 추가하는데, 데이터베이스의 index는 책의 색인과 같다.데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕고 있다.   인덱스를 활용하면, 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다. 그러한 이유는 해당 연산을 수행하려면 해당 대상을 조회해야만 작..
데이터 베이스 정규화 데이터 정규화 정규화란 데이터 베이스를 설계할 때 중복을 최소화하는 것을 말하며, 크고 제대로 조직화되어 있지 않은 테이블과 관계들을 조직화된 테이블과 관계들로 나누는 것 이다.   출처:데이터베이스 정규화 정규화가 필요한 경우데이터를 갱신, 삽입, 삭제하는 등 테이블을 수정할 때 원하는 않게 데이터가 삭제되거나 가공되는 경우가 있다. 이를 이상 현상이라고 한다. 1) 갱신 이상  정확하지 않은 정보가 업데이트되거나, 일부의 정보만 업데이트되어 정보에 혼란이 생기고 모호해질 수 있다.  갱신 이상 항공편 데이터 베이스가 있다고 할 때, 항공사 별로 출발하는 게이트가 정해져 있다고 하자. (항공사명은 임의로 정한 것이다!) 항공기의 개수가 여러 개이고, 출발하는 시간이 다르기 때문에 항공사별로 여러 개의 ..
Solidity 설치하기 1. 설치하기 1. 우분투 > sudo add-apt-repository ppa:ethereum/ethereum > sudo apt update > sudo apt install solc 2. 맥 > brew update > brew tap ethereum/ethereum > brew install solidity 2. 컴파일 버전 확인하기 > solc --version 3. 예제코드 작성하기 // 특정위치에서 mkdir hello_solidity cd hello_solidity hello_solidity/lecture/lec1.sol // hello_solidity/lecture/lec1.sol 하단 전체 작성 // SPDX-License-Identifier GPL-30 // 프로젝트에서 사용되는 라이..
rust - 데이터 타입 0. 데이터 크키 fn main() { let x = 12; // by default this is i32 let y :i32 = 25; // by default this is i32 let a = 12u8; //숫자형은 숫자 끝에 유형을 명시하여 명시적으로 지정 let b = 4.3; // by default this is f64 let c = 4.3f32; //숫자형은 숫자 끝에 유형을 명시하여 명시적으로 지정 let bv = true; //bool let t = (13, false); //tuple let sentence = "hello world!"; println!( "{} {} {} {} {} {} {} {} {}", x, y, a, b, c, bv, t.0, t.1, sentence ); }..
rust - 설치 1. 러스트 설치 (mac) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2. 설치 확인 rustc --version 위 명령어를 통해 잘 설치되었는지 확인한다. - 혹시 에러가 발생한다면 콘솔 재실행을 하면 정상적으로 동작하는 것을 알 수 있다. 3. 확장자 러스트는 .rs 확장자를 가진다. 4. cargo? - node의 npm과 같은 Rust의 패키지 관리자 및 빌드 도구 cargo update // 프로젝트의 의존성을 최신상태로 업데이트 cargo build // 프로젝트 빌드 cargo run // 프로젝트 빌드 후 바로 실행 단축키(r) cargo test // 프로젝트의 테스트 코드를 실행할 수 있다. cargo build ..
rust - 변수와 상수 1. 변수 선언 rust는 let을 변수로 사용한다. let a = 1; let b = 3.14; 2. 불변성 Rust 프로그래밍 언어에서 모든 변수는 "디폴트로" 불변성(Immutability)의 성질을 갖는다. let a = 100; a = a + 1; // 에러: cannot assign twice to immutable variable `a` println!("{}", a); 예제를 보면, 변수 a에 처음 100을 할당한 후에, 다시 1을 증가시키려 하였는데, 이 프로그램은 컴파일러에 의해 에러로 처리된다. 즉, 런타임시에 에러가 나는 것이 아니라, 컴파일 시점에 이미 에러를 잡아낸다. 3. 가변설정 (mutable) 가변적 변수 mut 키워드를 지정해 가변의 데이터로 사용할 수 있다. fn ma..
ARC 브라우저 단축기 (실사용 편) MAC 기준 새탭으로 검색 : cmd + T 현재 탭으로 검색 : cmd + L 부분 캡쳐 : cmd + shift + 2 -> 자동으로 영역 잡아줌 전체 캡쳐 : cmd + shift + 3 즐겨찾기 페이지 이동 : cmd + number (1~8) -> 이동하고자 하는 즐겨찾기 페이지 번호 스페이스 이동 : ctrl + number -> 이동하고자 하는 스페이스 번호 사이드바 숨기기 : cmd + S 새 창 열기 : cmd + N 새 시크릿 모드 열기 : cmd + shift + N
계정 추상화 -Account Abstraction (AA) 추상화 란? '추상화'는 컴퓨터과학이라는 학문과 컴퓨터 시스템 설계 곳곳에서 이용되고 있으며 여러 가지 상황에서 다양하게 쓰입니다. 데이터 추상화로 얘기해 보자면, 여러 가지 데이터를 묶어서 단순화 시키고 핵심적인 기능만 간추려서 보 여주는 것을 뜻합니다. '단순화', '핵심 기능'의 느낌만 염두에 두고 알아가면 도움될 수 있습니다. 그럼 이더리움의 계정 추상화는 무엇일까? 그전에 이더리움 계정 종류에 대해 간단하게 알아보려합니다. 이더리움 계정 종류 이더리움에는 EOA(Externally Owned Account)와 CA(Contract Account)라는 두 가지 계정이 존재한다. EOA(Externally Owned Account) EOA는 일반적인 계정 유형으로, 계정의 주소를 통제할 수 있는 개..