일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 애플 달팽이
- 반복문
- 주말농장
- rust 강좌
- rust 소개
- 분산 신원
- rust
- did
- for
- 쌈채소
- 물생활
- 조건문
- RSA
- Python 강좌
- Feign
- 기본문법
- 치비
- PKI
- 분산 식별자
- Config server
- golang 강좌
- 카디날
- 무화과
- MSA
- 가재
- MSSQL
- Tendermint
- 체리새우
- 텐더민트
- 구피
- Today
- Total
comnic's Dev&Life
1. [as much as]의 뜻과 사용법 "as much ~"는 양이나 정도를 강조하거나 비교할 때 사용되는 표현입니다. 이는 어떤 특정한 명사나 동사의 양이나 정도를 강조하며, 비교의 맥락에서 사용될 수 있습니다. 예를 들어, "as much as possible"은 "가능한 한 많이"라는 뜻으로 사용되며, "as much as I can"은 "내가 할 수 있는 만큼"이라는 의미입니다. 여기 몇 가지 예문을 들어보겠습니다: I need to drink as much water as possible to stay hydrated. 수분 보충을 위해 가능한 한 많은 물을 마셔야 해. She earns as much money in a month as I do in a year. 그녀는 한 달에 얻는 돈이..
1. 소개와 설치 1.1 Rust 언어 소개 Rust는 Mozilla에서 개발한 시스템 프로그래밍 언어로, 안전성, 병행성, 성능을 강조하는 특징을 가지고 있습니다. C 및 C++과 같은 저수준 언어의 성능을 제공하면서도 메모리 안전성을 보장하기 위해 소유권 시스템을 도입하고 있습니다. 1.2 Rust 설치 Rust를 사용하기 위해서는 공식 설치 도구인 rustup을 이용합니다. 다음은 각 운영체제에 따른 설치 단계입니다. 1.2.1 Linux 또는 macOS 1. 터미널을 열고 다음 명령어를 실행하여 rustup을 설치합니다. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2. 설치 스크립트가 실행되면, 지시에 따라 엔터키를 눌러 진행합..
프로젝트의 필요에 따라 Rust를 익히는 것이 좋을 것 같아 이번 기회에 연재 형식으로 공부하려합니다. 먼저 사이트에 소개된 Rust의 장점등을 살펴보고, 앞으로 진행해 나갈 목차를 만들고 본격적으로 시작해 보겠습니다. Rust는 현대적이고 안전하며 성능이 뛰어난 프로그래밍 언어로, 시스템 수준의 소프트웨어 개발을 위해 만들어졌습니다. Rust Programming Language A language empowering everyone to build reliable and efficient software. www.rust-lang.org 아래는 Rust 언어의 주요 특징을 간략하게 설명한 내용입니다. 안전한 프로그래밍: Rust는 메모리 안전성을 강조하며, 다양한 버그와 보안 취약점을 방지하기 위한 ..
데이터베이스에서 여러 테이블을 조인하는 것은 복잡한 쿼리를 작성할 때 필수적입니다. 효율적인 쿼리를 작성하려면 몇 가지 기본적인 원칙과 주의 사항을 고려해야 합니다. 아래는 그 중 일부입니다. I .기본적인 Join 문법 1. INNER JOIN: SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; - INNER JOIN은 두 테이블 간에 일치하는 행을 반환합니다. 2. LEFT (OUTER) JOIN: SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column; - LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블과 일치하는 행이 있는 경..
1. DID(Decentralized Identifier) 만들기 이번 글에서는 DID를 Go언어로 간단하게 구현해 보고자 합니다. 글을 시작하기 전에 명확히 구분해야 할 것이 있습니다. 바로 Identity와 Identidier의 구분입니다. 전자는 신원을 의미할 것이고, 후자는 식별자를 의미 합니다. 우리는 분산(탈중앙화) 식별자에 대해 다루고 있습니다. 이는 상당히 큰 차이가 있으며, 실제 구현에 있어서도 중요한 부분이라 먼저 언급하고 시작합니다. 즉, 이번 글에서 우리는 단순히 식별자만을 만들 것입니다. 물론 신원에 대한 연결고리를 향후 계속 가지고 갈 것입니다. 그것들이 DID Document와 Verfiable Credential로 이어질 것입니다. 그럼 시작해 보겠습니다. DID를 누가 생성..
0. 연재를 시작하며... DID에 대한 이론은 따로 구성하고 이번 연재에서는 Go언어로 골격을 구성해 보는 것에 집중하고자 합니다. 이를 어떻게 할용할 것인지는 기획자와 구현하는 이들에게 맡기고, 확장해서 실 서비스로 사용할 수 있도록 도움이 될 수 있는 코드를 공유해 보고자 합니다. 먼저 DID는 아래와 같은 원리로 작동하도록 됩니다. 상세한 설명은 W3C의 문서나 이론에 대한 글들을 참고하시기 바랍니다. 우리는 이와 같은 동작을 위해 필요한 코드를 작성해 보도록 할 것입니다. 이후 소개하는 코드들은 개인적으로 DID와 SSI 구현 및 교육을 위해 준비했던 코드로 실 서비스에 바로 사용함에는 무리가 있음을 미리 밝힙니다. 아래와 같은 순서로 연재를 진행하고자 합니다. DID DID Document V..
Validators 검증자들은 블록체인에서 새로운 블록을 커밋할 책임이 있다. 이런 검증자들은 각 검증자의 개인키로 서명한 암호화 서명을 포함한 투표를 브로드캐스팅함으로써 합의 프로토콜에 참여한다. 몇몇 POS 합의 알고리즘은 모든 지분 참여자들(심지어 항상 온라인 상태가 가능하지 않은 사람들까지)이 블록을 커밋하는데 참여하는 “완전한” 분산 시스템을 만드는 것을 목표로 한다. 텐더민트는 블록 생성에 다른 접근을 가지고 있다. 검증자들은 온라인 상태이기를 기대한다. 그리고 검증자들의 집합은 몇몇 외부 프로세스에 의해 허가/관리 된다. POS는 필수는 아니지만 텐더민트 합의 위에 구현될 수 있다. 즉, 검증자는 온체인, 오프체인에 담보물을 게시해야 하거나 담보물을 전혀 게시하지 않아도 된다. 검증자는 암호..
Node Type Full Node 풀노드는 네트워크에 참여하는 노드이지만 보안에 도움이 되는 노드는 아니다. 풀노드는 블록체인의 모든 상태를 저장하는데 사용할 수 있다. 텐더민트에는 두 가지 유형의 상태가 있다. 첫째 블록체인 상태, 이는 블록체인의 블록을 나타낸다. 둘째 애플리케이션 상태가 있다. 이는 트랜잭션 변경 상태를 나타낸다. 트랜잭션이 상태를 어떻게 변경할 수 있는지에 대한 지식은 텐더민트가 아니라 ABCI 경계의 다른 면에 있는 애플리케이션이 가진다. NOTE: 합의와 애플리케이션의 분리에 대해 읽지 않았다며, 시간을 내서 읽어보기 바란다. 문서 전체에서 사용하는 용어에 대해 이해하는데 많은 도움이 될 것이다. ABCI에 대한 더 많은 정보는 여기에서 찾을 수 있다. 풀노드 운영자로서 당신..