전체 글 498

[linux] date iso 8601 형식 time 구하기

개요 리눅스 8601 형식을 구하는 방법에 대하여 알아 봅니다. 지원 OS 범위 fedora core 4까지 지원 확인 구하는 방식 1. local time #date --iso-8601=seconds or iso-8601 를 지원하지 않을 경우 #date -u +"%Y-%m-%dT%H:%M:%S.000Z" 2. gmt time #TZ=gmt date --iso-8601=seconds or iso-8601 를 지원하지 않을 경우 #TZ=GMT date -u +"%Y-%m-%dT%H:%M:%S.000Z" 2. nanoseconds time 1) 9차리 표시 - %N 사용 2) 앞에 3자리 표시 - %3N * fedora core 4에서는 000000123 으로 나옴

[solidity] 개발자를 위한 속성 문법

개요 본 post는 적어도 하나의 언어를 안다는 가정에 하에 작성 되었습니다. 그리고 모든 code의 test는 https://ide.klaytn.com/ 에서 테스트 되었습니다. Solidity의 관점에서 컨트랙트란 무수한 코드들(함수)과 데이터(상태)가 Ethereum 블록체인의 특정 주소에 존재하는 것입니다. 기본 구조 1. Licsense 명시 - SPDX-License-Identifier: GPL-3.0 2. 버전 명시 - pragma 라는 keyword를 사용해서 smart contract가 지원하는 solidity 버전 을 명시 합니다. 1) 특정 지원 버전 명시 - pragma solidity ^0.8.4; 2) 지원 범위 명시 - pragma solidity >=0.4.0 memory /..

[python3] 4강. 변수와 제어문 -1

목표 1. 변수가 무엇인지 그리고 변수를 어떻게 사용되는 알아보겠습니다. 2. 제어문이 무엇인지 그리고 제어문 어떻게 사용되는 알아보겠습니다. 3. 변수가 제어문에서 어떻게 사용하는지를 알아보겠습니다. 강의영상 https://youtu.be/DS89SziAFAk 변수 1. 정의 - 변수는 상자와 같습니다. * 비유 설명 - 우리는 물건을 따로 보관하고 싶을 때 상자를 구입해서 물건을 보관합니다. program은 자료를 따로 보관하고 싶을 때 변수를 선언해서 자료을 보관합니다. - python은 변수도 객체 입니다. 2. 선언 1) program에서 선언이란? - program에게 사용할 수 있는 변수가 있다는 것을 알려주는 것입니다. 2) 선언 방법 변수명 = 값 2. 명칭 방식 1) 변수명 규칙 - 영..

강의/python3 2022.04.07

[클레이튼] smart contract 배포 과정 이해하기

개요 smart contract가 무엇인지 알아 본다. smart contract 정의 서면으로 이루어지던 계약을 code로 구현하고 특정 조건이 충족되었을 때 해당 계약이 이행되게 하는 script 입니다. 블록체인에서의 smart contract 란? contract code를 compile하여 bytecode로 변경 후 blockchain의 body 안에 넣고 특정 조건이 되면 실행 하는것이 lock chain에서는 smart contract 입니다. 블록체인에서의 smart contract가 배포되는 방법 [smart contract 배포 도식] 1. smart contract code compile 과정 및compile 결과물 설명 - smart contract를 배포 하는 것은 solitidy..

[python3] 3강. 프로그램의 기본 구조

목표 프로그램의 기본 구조에 대하여 알아 봅니다. 강의영상 https://youtu.be/DS89SziAFAk Program의 기본 구조 program은 일반적으로 여러 파일로 쪼개져서 구현이 됩니다. 하지만 모든 파일의 구조는 아래를 따릅니다. 1. Header 들... (필수, python은 예외) - Header의 목적은 각종 library(기능들의 묶음)를 program에서 사용하겠는 것을 선언하기 위한 것이다. 2. class 들...(선택) - class의 목적은 연관된 (변수 + function) 을 묶어 놓기 위해한 것이다. 3. function 들...(선택) - 자료(=data) 를 처리 하기 위해 사용됨 4. main function(필수) - program의 시작 위치 구조 예시 C..

강의/python3 2022.04.04

[클레이튼] 테스트 klaytn wallet 만들기

wallet 구조 1. private key - wallet을 접근 하는 키 2. keystore - private key를 암호화해서 갖고 있는 파일 3. keystore password - private key 암호화에 필요한 key를 만들어내는 패스워드 * keystore 구조 상세 설명 https://blog.violetstair.com/blockchain/keystore/ Keystore 파일 구조 하나의 Privatekey로 여러 체인의 Address 생성해보기 블록체인의 서명과 키파일 블록체인에서는 공개키 암호화 방식을 이용해 사용자를 구분하고 사용자가 전송한 데이터가 유효한 데이터인지 검 blog.violetstair.com wallet 생성 정차 https://baobab.wallet.k..

[클레이튼] 클래이튼 이해하기

클레이튼의 태생 이더리움의 비잔티움 버전 fork해서 만듬 합의 1. 합의 알고리즘 종류 - Public 블록체인 : PoW, PoS 등등 - Private 블록체인 : PBFT, Raft 등등 * BFT(비잔티움 결함 허용) - 참여 node 수 제한/성능 높임 - 분산화 약화/투명성 저하 2. 클래이튼 합의 알고리즘 - IBFT(이스탄불 비잔티움 결함 허용) - 공개를 통한 개인적인 합의 신뢰 모델(private consensus with public disclosure) 3. IBFT 설명 1. 핵심 : 한 node가 블록을 생성하고 그걸 나머지 node가 증명하는 방식 이때 블록을 생성하는 node는 라운드 로빈 방식으로 선택됩니다. 2. 총 5단계로 합의가 결정됨 1) propose - 합의에 ..

[python3] 2강. 강의 커리큘럼

개요 목표 프로그램을 구현 하기 위해 무엇을 배워야 하는지 알아 봅니다. 목표 프로그램 client/server를 기반으로하는 채팅 프로그램. 레벨 확인 Sample Code import os import jwt import uuid import hashlib import json from urllib.parse import urlencode import requests access_key = os.environ['ACCESS_KEY'] secret_key = os.environ['SECRET_KEY'] server_url = os.environ['SERVER_URL'] class MyUpbit: def __init__(self, _name): self.name = _name def get_name(se..

강의/python3 2022.03.30

[python3] 1강. OT

강사 소개 개발 분야 - 리눅스 시스템 응용프로그램 개발 - 클라우드 보안 개발 - 네트워크 보안 사용 언어 - C언어 개발 - 6년 - C++ 개발 - 4년 - 그외 언어(python, go, javascript, html)는 조금씩 건드려봄 목표 최종 목표는 python3를 이용하여 client/server 구조인 채팅 프로그램 만들기 - 선정 사유 : 대부분의 프로그램은 client/server구조로 되어있기 때문이고이에 기초가 되는 것이 채팅 프로그램 입니다. 시간 - 매주 토요일, 오후 9시 , 1시간 (시간 조정 가능 합니다) 강의 방식 - 언어에 종속 되지 않는 방향으로설명 - 설명 + 실습 강의 설명 방식 top-down 방식으로 진행 - sample code를 확인 후 다시 만들어가는 방..

강의/python3 2022.03.30

[클레이튼] 기존 플랫폼과의 비교

개요 scalablity 와 Finality로 기존 브록체인의 한계를 알아본다. scalability 정의 : TPS + BI * Transacion Per Second (TPS): 초당 거래 처리 개수 * Block Interval (BI): 블록 생성 간격 - 의미: 거래가 블록에 기록 되기 까지의 걸리는 시간 항목 비트코인 이더리움 TPS 7 15 ~ 20 BI 10 분 15초 ~ 20초 블록 당 저장되는 TPS( TPS * BI) 4200 225 ~ 400 Finality 정의 : TX(transaction, 거래)가 변경 불가라는 합리적인 보장까지 기다려야 되는 시간. Transaction이 생성되면 바로 처리 되지 않는다. 검증을 다해야 Transaction이 정상 처리가 된다. 그러나. 비트..