전체 글
[Solana] Validating - 1. Validator 시작하기
* Validator를 운영하기 위한 개발 공부를 위해 쓰는 글입니다. 스테이킹을 하시려면 솔플레어나 팬텀 웹지갑을 만들어 이미 존재하는 Validator 중 가장 신뢰가 가는 곳에 스테이킹하시면 됩니다. Validator 운영에는 매우 높은 서버 스펙이 필요하고, 일반 가정에서는 운영하기 다소 힘들 것으로 보입니다. Starting a Validator | Solana Docs Configure Solana CLI docs.solana.com * CLI 도구가 없다면 먼저 설치해야 합니다. 아래 글을 참고해주세요. [Solana] 1. 솔라나 설치 및 종이 지갑 생성 - CLI 사용을 위한 세팅 (MacOS) 1. 터미널에서 솔라나 커맨드라인 툴 설치 Install the Solana Tool Suit..
[Solana] 공부 - 솔라나 블록, 슬롯, 에포크
요약 슬롯은 시간단위라고 보면 된다. 한 슬롯은 0.4~0.5초 대다. Validator는 리더로 지정되면 한 슬롯당 한 블록까지 생성할 수 있다. 블록을 생성하지 못하면 빈 슬롯이 된다. 한 슬롯 동안 리더는 하나 뿐이다. 리더는 한번 지정되면 4번의 슬롯 동안 유지되고 다음 리더로 바뀐다. 한 에포크는 슬롯 432000개다. Block 투표로 처리되는 원장의 연속적인 항목 집합. 리더 한명은 슬롯당 최대 하나의 블록만 생성 가능. 트랜잭션이 생성 > 전파 > 검증 단계를 거쳐 블록으로 완성된다. Slot 각 리더가 트랜잭션을 수집하고 블록을 생성하는 기간. 종합적으로 슬롯은 논리적 클록을 생성한다. 슬롯은 PoH 에 따라 거의 동일한 실제 시간으로 구성되며 겹치지 않고 순차적으로 정렬된다. 슬롯은 시..
[Solana] 4. 솔라나 스테이킹 권한 설정, 계정 파생, 분할, 출금
* 아래 글에서 커맨드라인과 웹지갑에서 각각 스테이크 계정을 생성하고 스테이킹한 후 쓰는 글입니다. [Solana] 3. 솔라나 데브넷 토큰 에어드랍 받아서 전송, 스테이킹 커맨드라인으로 지갑 만드는 방법 [Solana] 1. 솔라나 설치 및 종이 지갑 생성 - CLI 사용을 위한 세팅 (MacOS) 1. 터미널에서 솔라나 커맨드라인 툴 설치 Install the Solana Tool Suite | Solana Docs There are.. coding-maggot.tistory.com Staking | Solana Docs For an overview of staking, read first the docs.solana.com 1. 커맨드라인에서 스테이크 권한과 인출 권한 설정 스테이크 권한과 인출 권..
[프로그래머스] 프린터 (pair, priority queue) - C++ 스택&큐
max_element를 이용한 풀이 max_element는 algorithm 헤더에 있는 함수다. 큐에는 사용할 수 없고, 배열에 사용할 수 있다. 형태 : *max_element(v.begin(), b.end()) int solution(vector priorities, int location) { int answer = 0; queue waiting;//인덱스 큐 for (int i = 0; i < priorities.size(); i++) { waiting.push(i); } int max_value = *max_element(priorities.begin(), priorities.end()); while (!waiting.empty()) { int cur_index = waiting.front()..
[Solana] 3. 솔라나 데브넷 토큰 에어드랍 받아서 전송, 스테이킹
커맨드라인으로 지갑 만드는 방법 [Solana] 1. 솔라나 설치 및 종이 지갑 생성 - CLI 사용을 위한 세팅 (MacOS) 1. 터미널에서 솔라나 커맨드라인 툴 설치 Install the Solana Tool Suite | Solana Docs There are multiple ways to install the Solana tools on your computer docs.solana.com 솔라나 커맨드라인을 사용해보.. coding-maggot.tistory.com 웹 지갑 만드는 방법 [Solana] 2. 팬텀, 솔플레어 지갑 만들기 팬텀과 솔플레어는 브라우저 기반의 솔라나 웹 지갑 확장 프로그램이다. 솔라나 웹지갑 중 가장 사용성이 좋다고 한다. 팬텀과 솔플레어에서 웹 지갑을 만들어보자. ..
[프로그래머스] 기능개발 - C++ 스택&큐
내 풀이 - 큐 사용 1. 진도가 100이 되려면 며칠이 걸리는지 days 벡터에 넣어논다. 남은 진도율 : 100 - progresses 작업속도 : speeds 남은 진도율에서 작업속도를 나누면 진도율이 남는 경우가 있다. 이 경우 1을 더해야 한다. 하지만 딱 맞아 떨어지는 경우에는 1을 더할 필요가 없다. => 100이 아니라 99에서 빼면 모든 경우에 1을 더해도 된다. //예시 99-93 = 6, 6/1 + 1 = 7 99-30 = 69, 69/30 +1 = 3 2. 첫번째 days 요소를 큐에 넣어놓는다. 그리고 큐의 맨앞과 days를 비교해서 뒤에 오는 days가 더 작으면 큐에 붙인다. 3. 다음 days가 더 크면 큐의 사이즈를 answer에 붙인다. 그리고 큐를 재선언해서 비운다. 4..
[C++] 프로그래머스 hash 2 - 위장
[Level 2] 내 풀이 옷의 종류와 개수를 담는 unordered_map을 만든다. 예를 들어 얼굴 2, 상의 1, 하의 1 일 경우를 생각해보면 안 입는 경우를 0으로 두어 (0,1,2), (0,1), (0,1) 을 갖는다고 생각할 수 있다. 적어도 하나 이상은 입으므로 (옷 종류마다의 개수+1)끼리 곱한 후 전부 0인 경우 1가지를 빼주면 된다. (3*2*2 - 1 = 11) int solution(vector clothes) { int answer = 1; unordered_map map; for (auto i : clothes) { map[i[1]]++; } for (auto i : map) { answer *= i.second + 1; } return answer - 1; }
[C++] 프로그래머스 hash 2 - 전화번호 목록
[Level 2] 처음 내 풀이 : 정확성 83.3(만점) 효율성 8.3 = 91.7 로 실패 bool solution(vector phone_book) { sort(phone_book.begin(), phone_book.end()); for (int i = 0; i < phone_book.size(); i++) { for (int j = i + 1; j < phone_book.size(); j++) { int split_size = phone_book[i].size(); cout