Next-BlockChain

고정 헤더 영역

글 제목

메뉴 레이어

Next-BlockChain

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (358)
    • Computer Science (19)
      • OS (3)
      • Network (1)
      • NoSQL (4)
      • DevOps (2)
      • Security (8)
    • Blockchain (94)
      • BlockChain Theory (25)
      • Bitcoin (3)
      • Ethereum (17)
      • Cosmos (4)
      • DeFi (13)
      • DID (3)
      • NFT (7)
      • Oracle - Chainlink (8)
      • Geth_2019_(NAKsir-melody)님자.. (1)
    • Web (13)
      • React (6)
      • NodeJS (4)
      • Echo (2)
    • Programming Language (201)
      • Go (60)
      • Solidity (40)
      • HTML (2)
      • JavaScript (97)
      • CSS (2)
    • 독서 (19)
      • 독후감 (19)
    • 교양 (6)
      • 국어 (4)
      • 영어 (1)
      • 인물 (1)
    • 경제 (0)

검색 레이어

Next-BlockChain

검색 영역

컨텐츠 검색

Programming Language

  • Go 언어를 기반으로한 블록체인 개발공부(Network) - Part 2

    2023.02.09 by Yongari

  • JavaScript Algorithm - gossipProtocol

    2023.02.09 by Yongari

  • JavaScript Algorithm - LSCS(Largest Sum of Contiguous Subarray)

    2023.02.08 by Yongari

  • 우분투에 솔리디티 컴파일러 설치

    2023.02.07 by Yongari

  • 스마트 컨트랙트 구조와 Solidity 변수

    2023.02.07 by Yongari

  • JavaScript Algorithm - robotPath

    2023.02.07 by Yongari

  • Go 언어를 기반으로한 블록체인 개발공부 - Part 1

    2023.02.06 by Yongari

  • radixSort - 기수 정렬

    2023.02.06 by Yongari

Go 언어를 기반으로한 블록체인 개발공부(Network) - Part 2

요구되는 사전 지식 TCP : 위키 링크 HTTP : 위키 링크 Part1편에서는 기본적인 블록체인 개발을 Go로 구현했는데요 이번에는 로컬호스트를 이용해서 터미널을 다른 노드라고 생각하고 로컬 네트워크에서 블록체인을 구현하는 방법을 공부해봤습니다. 로컬네트워크 말고 다른 네트워크와 통신하는 블록체인을 구현하면 좋겠지만 현재 그정도 지식은 없어서 하지 못했습니다. 네트워크 실습 로직은 다음과 같습니다. 터미널 2에서 터미널 1로 TCP 통신을 통해 연결한다. (리눅스 커맨드 nc를 이용합니다.) 터미널2에서 BPM 입력을 통해 터미널1(go 블록체인 서버)에 연결해서 블록을 생성한다. 터미널1에서 생성된 블록정보를 검사하고 다시 터미널2로 전달한다. 모든 터미널에서 생성된 블록이 동기화 된다. 환경 설정..

Programming Language/Go 2023. 2. 9. 17:00

JavaScript Algorithm - gossipProtocol

문제설명 세로와 가로의 길이가 각각 M, N인 마을지도가 배열로 주어졌을 때, '1'은 주민이 있는 집을 의미하고 '0'은 주민이 없는 땅을 의미합니다. 이 마을은 소문이 시작되면 하루에 상하좌우 한 칸 바로 옆에 있는 집으로 퍼집니다. 특정 주민의 집 (R, C)으로부터 어떤 소문이 시작될 경우, 마을 전체로 소문이 퍼지는데 걸리는 시간(일)을 리턴해야 합니다. 1이 있는 곳을 x로 만든다고 생각하고 코드를 작성해보세요. 우선 입출력을 보고 단계별로 데이터 흐름을 이해하는 것이 중요합니다~ 입력 인자 1 : village string 타입을 요소로 갖는 배열 village.length는 M village[i]는 string 타입 village[i].length는 N village[i][j]는 세로로 i..

Programming Language/JavaScript 2023. 2. 9. 16:05

JavaScript Algorithm - LSCS(Largest Sum of Contiguous Subarray)

문제 설명 : 정수를 요소로 갖는 배열을 입력받아 다음의 조건을 만족하는 LSCS*를 리턴해야 합니다. LSCS: 주어진 배열의 연속된 부분 배열*의 합을 구한다고 할 때, 이 중 가장 큰 값(Largest Sum of Contiguous Subarray) 연속된 부분 배열들: 배열 [1,2,3]의 연속 부분 배열은 [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] 입니다. 입출력 예시를 보면 이해하시기 좀 더 편합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr.length는 60,000 이하 arr[i]는 -100,000 이상 100,000 이하의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 배열의 모든 요소가 음수인 경우도 있습니다. 입..

Programming Language/JavaScript 2023. 2. 8. 10:56

우분투에 솔리디티 컴파일러 설치

1. 솔리디티 컴파일러 solc 설치 우분투(Ubuntu) sudo add-apt-repository ppa:ethereum/ethereum sudo apt update sudo apt install solc 2. solc 버전 확인 solc --version solc, the solidity compiler commandline interface Version: 0.8.18+commit.87f61d96.Linux.g++ 3. 컴파일 solc를 사용하여 솔리디티 코드를 Bytecode로 컴파일 할 수 있음 EVM은 Bytecode를 실행함 --optimize 옵션은 컴파일 전 작성한 솔리디티 코드가 약 200회 실행된다고 가정했을 때를 기준으로 컨트랙트를 최적화함 3-1 Bytecode 생성 : solc..

Programming Language/Solidity 2023. 2. 7. 22:03

스마트 컨트랙트 구조와 Solidity 변수

컨트랙트의 구조 상태변수(State Variables) 구조체(Struct Types) 열거형(Enum Types) 함수(Functions) 함수 제어자(Function Modifiers) 이벤트(Events) 에러(Errors) 상속(inheritance) 솔리디티의 정의 솔리디티는 객체지향 프로그래밍 언어입니다. 솔리디티는 이더리움 플랫폼 위에서 스마트 컨트랙트를 작성할 때 사용합니다. 솔리디티의 특징 1. 정적 타입(static-typed)의 중괄호(curly-braces) 언어 : 자바스크립트와 달리 컴파일시에 변수 타입이 결정되는 언어다. 소스코드에 타입을 명확히해야한다. 2. 튜링완전언어 : 이더리움은 Gas를 통한 과금 메커니즘을 도입해서 블록체인에서 튜링완전언어를 가능하게 했고 반복문등의 ..

Programming Language/Solidity 2023. 2. 7. 21:38

JavaScript Algorithm - robotPath

문제설명 : 세로와 가로의 길이가 각각 M, N인 방의 지도가 2차원 배열로 주어졌을 때, 1은 장애물을 의미하고 0 이동이 가능한 통로를 의미합니다. 로봇은 지도 위를 일분에 한 칸씩 상하좌우로 이동할 수 있습니다. 로봇의 위치와 목표 지점이 함께 주어질 경우, 로봇이 목표 지점까지 도달하는 데 걸리는 최소 시간을 리턴해야 합니다. 0이면 이동이 가능하고 1이면 돌아가야합니다. 그림을 먼저 그려보면서 하면 이해하시기 좀 더 편합니다. 입력 인자 1 : room (주어진 배열) 배열을 요소로 갖는 배열 room.length는 M room[i]는 number 타입을 요소로 갖는 배열 room[i].length는 N room[i][j]는 세로로 i, 가로로 j인 지점의 정보를 의미 room[i][j]는 0 ..

Programming Language/JavaScript 2023. 2. 7. 12:22

Go 언어를 기반으로한 블록체인 개발공부 - Part 1

Go 언어를 공부할겸 블록체인을 만드는 공부를 진행했습니다. 이미 한글 포스팅과 영어 포스팅이 있어서 보고 공부했으며 정리를 목적으로 포스팅합니다. 환경설정 1. go 언어 설치:https://go.dev/dl/ Downloads - The Go Programming Language Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information ..

Programming Language/Go 2023. 2. 6. 22:49

radixSort - 기수 정렬

문제 정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다. 이 문제는 기수 정렬을 이용해서 풀어야합니다. 그러나 기수 정렬은 계수정렬을 사용하기 때문에 계수정렬에 대해 먼저 공부한 다음에 기수정렬 알고리즘을 완료하면 됩니다. 계수정렬 참고: 링크1 링크2 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 0 이상의 정수 arr.length 100,000 이하 출력 number 타입을 요소로 갖는 배열을 리턴해야 합니다. 배열의 요소는 오름차순으로 정렬되어야 합니다. arr[i] [1, 3, 21] 힌트 기수 정렬(radix sort)은 내부적으로 계수 정렬(counting sort)을 사용합니다. 계수 정렬을 먼저 학습하고, 어떤 경우에 기수 정렬을 사용하..

Programming Language/JavaScript 2023. 2. 6. 14:18

추가 정보

인기글

최신글

페이징

이전
1 ··· 8 9 10 11 12 13 14 ··· 26
다음
TISTORY
Next-BlockChain © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바