EIP - 55
EIP-55: 이더리움 주소 체크섬 왜 필요한가? 이더리움 주소는 40자리 hex 문자열이다. 복사하다 한 글자 틀리면 다른 주소로 전송되고, 되돌릴 수 없다. EIP-55는 대소문자 패턴을 이용해 오타를 감지한다. 주소 형식 자체는 바꾸지 않는다. 0xab5801a7d398351b8be11c439e05c5b3259aec9b ← 체크섬 없음 0xAb58
Search for a command to run...
EIP-55: 이더리움 주소 체크섬 왜 필요한가? 이더리움 주소는 40자리 hex 문자열이다. 복사하다 한 글자 틀리면 다른 주소로 전송되고, 되돌릴 수 없다. EIP-55는 대소문자 패턴을 이용해 오타를 감지한다. 주소 형식 자체는 바꾸지 않는다. 0xab5801a7d398351b8be11c439e05c5b3259aec9b ← 체크섬 없음 0xAb58
1. STL의 개념 1-1. 배경 C++로 프로그래밍을 하다 보면 동적 배열, 연결 리스트, 정렬, 검색 같은 자료구조와 알고리즘을 반복적으로 구현하게 된다. 프로젝트마다 매번 새로 만들면 시간도 낭비되고, 버그가 생길 가능성도 높아진다. 이런 문제를 해결하기 위해 자주 사용되는 자료구조와 알고리즘을 미리 만들어서 표준 라이브러리에 포함 시킨 것이 STL이
1. 해시 1-1. 해시의 개념 배열에서 특정 값을 찾으려면 순차 검색은 O(n), 이분 검색은 O(log n)이 걸린다. 그런데 해시(Hash) 를 사용하면 O(1), 즉 데이터가 아무리 많아도 거의 한 번에 찾을 수 있다. 해시의 핵심 아이디어는 간단하다. 데이터를 저장할 때 "어디에 넣을지"를 데이터 자체로부터 계산 하는 것이다. 찾을 때도 같은 계산
C++ 알고리즘 — 검색, 동적 배열, 연결 리스트 1. 검색 검색은 데이터 집합에서 원하는 값을 찾는 것 이다. 검색 방식에 따라 성능이 크게 달라진다. 1-1. 순차 검색 (Linear Search) 순차 검색은 배열의 처음부터 끝까지 하나씩 비교 하며 찾는 방법이다. 가장 단순하고 직관적이다. int linearSearch(int arr[], int
1. 템플릿 1-1. 템플릿의 정의 템플릿(Template)은 타입을 매개변수로 받아서 함수나 클래스를 자동으로 생성하는 틀 이다. "어떤 타입이든 동작하는 코드"를 한 번만 작성하면, 컴파일러가 실제 사용되는 타입에 맞춰 코드를 찍어낸다. 1-2. 템플릿의 필요성 int 두 개를 비교해서 큰 값을 반환하는 함수를 만들었다고 하자. int getMax(in
1. 부모·자식 클래스 사이의 변환 상속 관계에서 부모 클래스와 자식 클래스 사이에는 타입 변환 규칙 이 존재한다. 이 규칙을 이해하는 것이 다형성의 출발점이다. 자식 → 부모 (업캐스팅) 자식 클래스 객체는 부모 클래스 타입으로 자연스럽게 변환 된다. 이것을 업캐스팅(Upcasting) 이라 한다. class Animal { public: void
1. new/delete 연산자와 동적 메모리 1-1. 동적 메모리의 필요성 동적 메모리는 실행시간(런타임)에 할당되어 사용되는 메모리 블록 이다. 프로그램이 돌아가는 도중에 필요한 만큼 메모리를 확보하고, 다 쓰면 반환하는 방식이다. 동적 메모리의 반대는 정적 메모리 다. 정적 메모리는 컴파일 타임에 크기가 결정되는 메모리로, 일반 변수나 배열이 여기에
1. 객체 배열 1-1. 객체 배열이란? C에서 int arr[5]로 정수 5개를 묶었듯이, C++에서는 객체 여러 개를 배열로 묶을 수 있다. 학생 100명의 정보를 관리해야 한다면 Student 객체를 100개 일일이 선언하는 대신 배열로 만들면 된다. 1-2. 객체 배열의 선언 형태 class Student { private: string na
1. 구조적 프로그래밍 구조적 프로그래밍(Structured Programming)은 프로그램을 함수 단위로 분해 하여 구성하는 방식이다. C언어가 대표적인 구조적 프로그래밍 언어다. 기본 단위는 함수 다. 프로그램의 전체 흐름을 작은 함수들로 쪼개고, 각 함수가 하나의 작업을 담당한다. main에서 시작해서 필요한 함수를 호출하고, 그 함수가 또 다른 함