일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 확률
- AWS
- GeorgiaTech
- Cloud
- 백테스트
- AUTOSAR
- python
- 비트코인
- backtest
- 암호화폐
- backtrader
- 클라우드
- can
- TOEFL
- 아마존 웹 서비스
- 오토사
- 프로그래밍
- it
- Bitcoin
- 토플
- 개발자
- probability
- 블록체인
- 퀀트
- 파이썬
- 백트레이더
- 자동차sw
- 토플 라이팅
- toefl writing
- 자동매매
- Today
- Total
목록암호화폐 (15)
Leo's Garage
unit test는 함수 단위로 코드 동작성을 검사하는 테스트이다. 통합 테스트는 여러개의 함수가 동작하는 묶음에 대한 동작 검증 테스트이다. 실제로 내가 일하고 있는 자동차 임베디드 SW 분야에서도 이와 같이 테스트를 진행한다. 실제 각 함수 단에 대한 unit test를 진행하고 나서 요구사항에 따른 특정 기능에 대한 동작 검증을 통합 테스트로 묶어서 진행하곤 한다. smtm의 저자분도 이러한 점을 강조하면서 통합테스트의 중요성을 강조하고 있다. 자 저자분이 작성한 통합 테스트 코드를 살펴보자. import unittest from smtm import TddExercise from unittest.mock import * import requests class TddExerciseIntegratio..
mock란 실제 테스트하기에는 비용이 크거나 혹은 테스트할 수 없는 상황에 마치 진짜인 것처럼 동작하게 하는 모조품을 이르는 말이다. 이전 포스트에서 smtm 코드의 테스트 코드 예제를 살펴보면서 REST API의 테스트 코드를 작성하였다. 여기에는 큰 문제가 하나 있는데 REST API는 결국 외부의 서버(업비트)에게 정보를 요청하고 받게 된다는 점이다. 만약에 테스트 환경에서 internet이 안되거나 혹은 업비트의 서버가 불안정해서 정확한 정보를 받을 수 없다면 테스트 자체를 신뢰할 수 없는 상황이 된다. 우리는 테스트 환경을 일정하게 만들 필요가 있다. 실험 시 외부 요인을 통제하지 못한다면 실험 자체가 무의미한 것과 마찬가지이기 때문이다. 이러한 환경을 통제하기 위해서 우리는 unittest 모..
지난 시간에 이어서 smtm 코드 내에 TDD 예시 코드를 분석해보겠다. https://github.com/msaltnet/smtm GitHub - msaltnet/smtm: It's a game to get money It's a game to get money. Contribute to msaltnet/smtm development by creating an account on GitHub. github.com 자 지난 시간에 우리는 업비트에서 제공하는 REST API 예제를 살펴보았다. 자 그런데 여기서 REST API가 뭔지 모르는 분도 있을 테니 간단히 설명하겠다. REST API는 두 컴퓨터 시스템이 인터넷을 통해서 전달하는 정보를 안전하게 교환하기 위한 일종의 약속이자 Interface라고 ..
PineScript는 TradingVeiw라는 회사에서 자체 개발한 언어이다. PineScript를 사용하여 Custom한 지표를 생성할 수 있고, 이렇게 생성한 지표를 TradingView에 직접 사용할 수 있다. TradingView는 방대한 데이터를 제공하기도 하는데, 여기에 바로 테스트해볼 수 있다는 것은 큰 장점이다. https://www.tradingview.com/ TradingView – Track All Markets Where the world charts, chats and trades markets. We're a supercharged super-charting platform and social network for traders and investors. Free to sign..
Chapter 2에 대한 이야기를 해보겠다. 이번 Chapter 2는 Ethereum Basics이다. 이번 장에서는 이더리움에 대한 전반적인 이야기를 다룰 것이다. 지갑을 사용하는 방법, 거래를 생성하는 방법을 다룰 것이다. Ether Currency Units 이더리움 화폐 단위는 ether이고, ETH라고 표기하기도 한다. 이더리움은 더 작은 단위로 표현 할 수도 있는데 단위를 wei라고 한다. ( 1 이더리움은 1,000,000,000,000,000,000 wei이다.) 사람들이 흔히 이야기하는 "Ethereum"은 System을 의미하며 화폐는 ether이다. 실제로 이더리움 내에서 이더는 항상 wei로 환산되어 표현된다. 만약에 1 이더를 전송하게 되면, 해당 거래는 1,000,000,000,..
안드레아스님이 마스터링 비트코인 이후에 이더리움 관련 책을 출간하셨다. 어떤 내용이 들어있을지 찬찬히 살펴보면서 정리하도록 하겠다. 사실 이 책을 구매한 건 한참 전이긴 한데... 개인적인 게으름에 의해 늦게 포스팅을 하게 되었다. 어쨌든 고삐를 잡고 하나씩 정리를 해보도록 하자. Ethereum is often described as "the world computer." 이더리움은 컴퓨터 공학적으로 보면, 전 세계적으로 액세스 가능한 단일 상태와 해당 상태에 변경 사항을 적용하는 가상 컴퓨터로 구성된 실질적으로 제한되지 않은 상태 컴퓨터라고 이야기한다. 좀 더 현실적으로 바라보면, 이더리움은 오픈소스면서 "Smart Contract"라고 하는 프로그램을 실행하는 전 세계적인 탈중앙 컴퓨팅 인프라라고 ..
이전 글에 이어서 Ch 6장 Transactions의 나머지 부분을 정리해보도록 하겠다. 전에 썼던 포스팅에서는 실제 bitcoin Core에서 조회할 수 있는 JSON형태의 Transaction 내역을 살펴보았다. 앞에서 보았다 시피, "Vin"으로 표현된 input부분과 "Vout"으로 표현된 output 부분으로 나눠져 있음을 볼 수 있었다. 이번에는 과연 실제로 Transaction이 실행될 때, 어떤 식으로 script가 동작하는지 살펴보도록 하자. 앞에서 보았다 시피, UTXO에 있는 Locking script와 Unlocking script는 모두 Script 언어로 작성되어 있다. 만약에 Transaction이 유효하다면, 각 input에 있는 Unlocking script가 각각 이에 대..
Chapter 6. Transactions에 대해 요약해보도록 하겠다. Transactions are the most important part of the bitcoin system. Everything else in bitcoin is designbed to ensure that transactions can be created, propagated on the network, validated, and finally added to the global ledger of transactions (the blockchain). 6장의 가장 첫 문장이다. 비트코인은 거래를 생성, 전파, 검증, 기록을 하기 위해 만들어졌다. 이렇게 강조할 만큼, 비트코인 시스템에서 거래는 중요한 기능이면서 동시에 효율적이..
앞 장에 이어서 정리하도록 하겠다. Creating an HD Wallet from the Seed HD wallets are created from a single root seed, which is a 128-,256- or 512- bit random number. HD 지갑은 우리가 앞서 살펴봤던 것과 같이 니모닉(기억할 수 있는) 단어와 개인 비밀번호를 합친 후, 스트레칭 함수로 늘린 512bits를 보통 시드로사용한다. 이렇게 만들어진 루트 시드를 HMAC-SHA256이라고 하는 단 방향 해시 함수에 넣어서 512bit를 만드는데 왼쪽 256bits은 Master Private Key, 오른쪽 256bits는 Master Chain Code가 된다. Master Private Key는 앞 장에..
오늘은 Ch.5 Wallet에 대하여 요약해보도록 하겠다. 한글판의 경우에는 Ch.4와 Ch.5가 하나로 합쳐져 있었다. 이후에 2판에서(2판은 현재 영문판만 존재) 두 챕터가 분리되었는데 그 의도가 무엇인지 확인해보는 것도 좋을 것 같다. 5장 첫 페이지 (P.93)을 보면 아래와 같은 표현이 있다. A wallet is an application The Wallet controls access to a user's money, managing keys and address, tracking the balance, and creating and signing transactions. 지갑이라는 것은 (적어도 이 책의 이 챕터에서는) 애플리케이션이다. 이 지갑은 사용자의 돈(비트코인)에 접근하는 것을 통..