전체 글 135

파이썬의 함수, 클래스, 인스턴스

함수란 프로그램의 중복을 막기 위한 모듈이고 이 모듈의 호출을 통해 간편하게 짜놓은 로직에 각기 다른 input값을 넣고, 프로그램을 반복적으로 실행시킬 수 있다. a=1 b=2 result = a+b 위와 같은 덧셈 프로그램이 아닌, 아래의 함수를 통해 def add(a,b): result = a+b return result input값을 자유롭게 바꿔가며 재사용할 수 있는 reusable한 덧셈 프로그램을 짜는 것이다. 반복을 피하는게 프로그래밍의 목적 아닌가. 그렇다면 클래스는 왜 사용을 할까? C언어에는 클래스가 없다는데... 그리고 실상은 클래스 없이들 코딩들 많이 하던데... 라는 의문을 가지기 쉽다. 물론, 클래스가 없어도 된다. 심지어 함수가 없어도 된다. if, while, for 문만 ..

비전공자 빅데이터 커리어 정리

오늘 글에서는 빅데이터 전문가로 가고 싶은, 비전공자 또는 현업에 종사하시는 분들을 위한 글을 적어보도록 하려고 한다. 막연하게나마 현업에서 빅데이터를 활용해 어떤 밸류를 얻거나 그를 통해 전문적인 커리어 루트를 하나 더 만들고 싶으신 분들이 읽으면 좋을것 같다. sns의 수많은 글들, 실시간 추적되는 나의 위치정보, 마케팅에 활용되는 엄청난양의 고객정보들, 우리는 벌써 빅데이터의 시대에 살고 있으나, 아직 실제 현업에서는 충분히 이를 활용고 있지는 않는 것으로 보인다. 그로인해, 빅데이터를 통한 분석의 결과가 기업의 의사결정까지 이어지지도 않는 것 같다. 그 이유는 시티즌 데이터 사이언티스트의 부족이라고 본다. 쉽게 말해 개발자나 엔지니어가 아닌, 현업에서 업무를 하면서 동시에 데이터를 다룰줄 아는 전..

이더리움 노드와 EVM

이더리움 EVM이란 dAPP(스마트컨트랙트)이 구동되는 이더리움 내 가상머신(Virtual Machine)이다. 이더리움블록체인상에 배포되는 프로그램에서 발생하는 로직들을 처리하고 계산하는 계산기(cpu/computer) 역할을 한다. 또한 JAVA의 JVM에 대해 아는 사람이라면 JVM처럼, EVM은 솔리디티라는 언어를 컴파일하면 생성되는 바이트코드를 운영체제와 상관없이 이더리움 네트워크 내에서 실행하도록 하는 역할을 한다. 보통 처음 블록체인을 공부하기 시작하면, 비트코인의 아키텍처에 대한 자료가 많다. 그런데, 비트코인에는 이 가상머신이라는 개념이 별도로 존재하지는 않는다. 스마트컨트랙트 같은 하나의 프로그램이 구동되는 방식이 아니라, 돈을 주고 받는 트랜잭션만 처리하고 각 노드들이 그것을 기록하는..

이더리움 dapp 개발환경 구성

이더리움 dapp이란 이더리움가상머신(EVM)상에서 돌아가는 애플리케이션을 의미한다. 이를 개발하기 위한 개발환경구성은 사실 2가지만 진행하면 된다. solidity언어의 프레임워크인 truffle설치와 그것을 테스트 해볼 수 있는, 로컬블록체인의 EVM환경인 가나슈 설치. 1.node.js 설치 -이더리움의 dapp의 개발언어는 통상 solidity를 사용한다. solidity는 javascript 기반 언어로서, 이를 사용하기 위한 패키지 및 개발환경 구성을 위해 node.js를 설치한다. node.js설치시 npm(Node Packaged Manager-자바에 메이븐과 같은 라이브러리 관리툴로 보면된다.)이 자동적으로 추가 설치되는데, 이 패키지 툴을 통해 truffle도 설치할 예정. -truff..

이더리움 노드 구성 및 실행 방법

이더리움 블록체인은 수많은 노드들로 구성되어있다. 이 글에서는 내 PC에서 그 노드 중 하나를 구성하는 방법을 설명하고, 계정생성, 채굴 같은 해당 노드의 인스턴스를 컨트롤 할 수 있는 클라이언트의 구성방식을 설명하고자 한다. 1.먼저 구글에 geth download 검색을 통해 geth를 설치하자. geth는 이더리움재단에서 제공하는 클라이언트 이자, 노드실행을 위한 명령 CLI(명령도구) 라고 보면 된다. 설치된 geth경로를 환경변수에서 잡아주고, cmd창을 켜 geth라고 쳐보자. geth를 실행시킴과 동시에 노드가 생성되고, 블록동기화가 시작된다. 이더리움의 수많은 노드들이 공유하고 있는 블록데이터들을 내려받기 시작하는 것이다. geth 실행과 동시에 내 PC에 이더리움 노드가 만들어진 것이다...