develop custom_top_html:no
default debug random = 2 / type = READ / detected = READ
개발
2016-05-28 15:23:53

개발 공부가 처음이라고요?

이더리움 개발을 공부하기 위하여 파이썬에 관심을 가지는 땡글인이 늘어나고 있습니다. 


당장 개발자로 참여하지는 못해도 나중이라도 기회를 가지기 위해서 또는 이더리움 개발이 아니라 취미나 관심 분야, 아니면 노후를 위해서 개발을 공부하려는 분들이 상당이 있는 것으로 알고 있습니다. 그런 분들을 위해서 자신의 목표 분야에 맞도록 어떤 언어를 공부해야할지 조언을 드리고자 이 글을 쓰게 되었습니다. 

가상화폐 개발자라는 거창한 전제가 아니라 자신의 목표에 맞는 개발 공부 방안이 목표이고 그 중에 가상화폐(특히 이더리움)도 있는 셈입니다. 


# 목표에 따른 구분

1. 업무 또는 먹고 살기 위해서(노후 대책)


2. 취미 또는 관심 분야(가상화폐)


앞에서 언급한 바와 같이 일단 목표 계획을 세워 봅시다. 어떤 분은 취미 또는 관심 분야가 있는데 이를 위해 개발 공부가 필요하신 분도 계실 것이고, 직장 상사(회사)가 강제적으로 권유하거나 먹고 살기 위해서 유망해 보이는 개발 공부가 필요하신 분도 계실 것입니다. 어쨌든 목표에 따른 구분을 위와 같이 2가지로 나누어 보았습니다. 노후 대책을 포함하여 경제적인 이유 때문이거나 아니면 관심이나 취미 때문에 개인 학습을 하는 경우로 나눠 볼 수 있습니다. 
경제적인 이유라면 아무래도 다른 언어를 공부해본 경험이 있는 경험자일 가능성이 높다고 봅니다. 그나마 잘하는 것이 개발이다라고 말하는 분은 의외로 적습니다. 왜냐고요? 개발에 매력을 느끼는 분은 많지만 실제 개발은 중노동에 가까울 정도로 오랫동안 한 자리에 앉아서 몰두해야하기 때문에 성취감을 얻을 수는 있지만 건강이나 사회활동 측면에서는 최악이라고 봅니다. 

이와 같이 직업인 측면에서 개발자는 경제적인 이유 때문이 아니라면 권하고 싶지 않습니다. 다만 개발이 아니라면 자신의 목표를 달성하기가 어렵거나 불가능하다면 어떨까요? 다른 대안이 없는 이상(돈을 주고 개발자를 고용하는 것도 어려운 경우가 많습니다) 스스로 개발을 공부하여 목표 달성을 해보는 것이 유일한 방안일 경우에 처한 경우. 이런 경우에 당신이 놓여져있지 않나요? 

이더리움 개발에 관심을 가지고 있는데 어디 물어볼 데도 없고 결국 스스로 개발을 공부해야한다는 생각을 가지게 된 경우가 이런 상황이라고 봅니다. 전세계적으로도 부족한 이더리움 개발자, 한국에서도 손에 꼽을 정도이니 스스로 1세대라고 자처하고 개발을 공부하기 시작한 분이 땡글에도 몇 분 계신 것으로 압니다. 

그래도 다른 분야에서 개발을 경험해본 분은 적응하기 쉬울 수 있습니다. 파이썬이나 GO가 생소하다고해도 기본적으로 알고리즘이란 것을 재활용할 수 있기 때문입니다. a = 1 이것이 의미하는 것을 이해하고 있는 것과 아예 무엇인지 모르는 분의 출발점은 다를 수 있습니다. 하지만 지속적인 학습이 이루어진다는 전제 하에 목적지는 같다고 생각합니다. 개발 경험자라고해도 부족한 부분이 있습니다. 그러하니 출발점이 다르다고해도 미리 포기하지 마시고 꾸준히 노력하시기 바랍니다. 

# 분야에 따른 학습 방안
1. 응용 프로그램 개발
- C/C++나 Java, 파이썬과 같이 다목적으로 사용할 수 있는 언어 학습
- 프레임워크 학습

2. 모바일 개발
- Unity 엔진 프로그래밍과 C# 또는 자바스크립트 학습

3. 웹 개발
- Node.js와 같이 자바스크립트 또는 PHP와 같이 웹 개발에 특화된 언어 학습
- SQL 학습(MySQL, Oracle, SQL Server, PostgreSQL, MongoDB 등)

4. 가상화폐 개발
- 비트코인 소스인 C++ 학습과 크로스플랫폼 UI 개발을 위한 QT 프레임워크 학습
- 이더리움 개발을 위한 파이썬, GO 학습

5. 서버/네트워크 개발
- C/C++나 Java 학습
- http나 소켓 프로그래밍 학습
- 보안, 인증 기술 학습

분야에 따른 학습 방안을 정리하여 보았습니다. 4번의 가상화폐 개발을 좀 더 설명해 보도록 하겠습니다. 

비트코인 소스가 오픈되어 있어 가상화폐 개발의 기본이 되고 있는 것은 어느 정도 아실 것입니다. C++란 언어로 작성되어 있습니다. github란 오픈소스 형상관리 사이트에 보관되어 있어 누구나 볼 수 있습니다. 그러나 받아 보시면 이해하기가 쉽지 않습니다. 어느 정도 개발을 경험해본 분도 마찬가지입니다. 그래도 새로 가상화폐를 만들기 위해서는 들여다 봐야겠죠? 
비트코인 소스 중 핵심 코드는 다른 가상화폐에서도 그대로 사용하고 있습니다. 블럭체인 소스는 거의 그대로 활용하고 있다고 볼 수 있습니다. 비트코인 소스와 함께 Peercoin이나 Blackcoin(PoS 용인 경우) 소스를 원본 소스로 많이 활용합니다. 이름만 바꾼 가상화폐의 경우 네이밍과 블럭 타임, 블럭당 생성 코인수 등만 바꾼 경우입니다. 암호화 방식까지 같다면 바꿀 부분이 많지는 않습니다. (실제로 제가 바꿔보았는데 소스 외에 출력 메시지 등에서도 바꿀 부분이 꽤 있어서 아주 적다고 볼 수는 없더군요.)

그런데 비트코인 소스만 들여다보면 안됩니다. QT라는 프레임워크를 알아야합니다. QT는 윈도우와 Mac과 같이 멀티플랫폼을 위한 GUI 프레임워크입니다. 쉽게 말해서 OS별로 눈에 보이고 동작하는 껍데기(버튼이나 창과 같은 GUI)를 각각 따로 만들지 않고 하나만 만들어서 공통적으로 사용하기 위한 툴입니다. 

위는 가상화폐 개발의 경우이고 나는 이더리움 개발에 관심이 있어. 그런 분들이 많을 것입니다. 그래서 추천을 받은 것이 파이썬이라는 언어이죠. 파이썬 말고 GO라는 언어도 있는데 교재도 적고해서 파이썬을 많이 추천합니다. 파이썬은 1990년 귀도 반 로섬이란 사람이 만든 컴퓨터 언어입니다. 특징이 인터프리터 언어라는 것인데 인터프리터는 명령어를 한줄씩 입력해서 컴퓨터와 대화하듯이 주고 받을 수 있는 방식입니다. 

BASIC이라는 컴퓨터 언어가 있는데 이 언어가 인터프리터 방식입니다. 물론 대화 형식으로만 사용할 수 있는 것이 아니라 실행 파일도 만들 수 있습니다. 
파이썬의 학습 방안에서 제가 추천했던 사이트 중에 인터프리터 방식으로 학습하는 사이트도 있었는데 파이썬을 직접 학습해보니 처음부터 텍스트 에디터에 입력해서 실행하는 습관을 들이는게 더 낫다는 생각이 듭니다. 어차피 개발에 사용하려면 텍스트 에디터나 통합개발환경(IDE)을 이용할테니까요. 
제 경우 텍스트 에디터로 'Notepad++'를 선택했습니다. 

교재는 '점프 투 파이썬'이란 책을 선택했습니다. https://wikidocs.net/book/1 에 가보시면 무료로 공개도 되어 있고 18,800원에 제본책으로도 팔고 있습니다. 다른 파이썬 책들이 2만원 이상, 비싸면 3만원을 넘는데 기초 학습 단계에서 많은 분량보다는 한달 이내에 학습을 완료할 수 있는 과정이 더 낫다고 봅니다. 

위 교재에 따르면 처음 컴퓨터 언어를 학습하시는 분은 30일 과정을, 다른 언어를 아실 경우 20일 과정을 제시하고 있습니다. 저는 C/C++을 알고 있기 때문에 20일 과정을 기준으로하면 될 듯 합니다. 그런데 사실 문법적인 차이를 중심으로하면 1주일 이내에도 학습을 끝낼 수 있습니다. 어렵다는 어떠한 언어라도 1주일 이내에 기본 문법을 학습할 수가 있습니다. 이건 a = 1이라는 의미를 알고 있는지 또 알고리즘에 대하여 알고 있는지에 대한 개인 차이가 크게 작용합니다. 
실제 코딩을 하면서 차이와 활용방안을 알아가는 과정이 더 필요하지만 말입니다. 

파이썬이 학습이 비교적 쉬운 편이기 때문에 어떤 교재나 온라인 사이트를 이용해도 상관이 없습니다. 다만 파이썬 커뮤니티를 살펴봐도 괜찮은 곳이 아직 없는 것이 현실입니다. 서로간에 물어보면서 해결할 수밖에 없을듯 합니다. 

각 분야별로 정리한 언어나 프레임워크는 현재 가장 각광 받고 있는(대세) 것들이니 학습하실 때 참조하시면 됩니다. 

자신의 학습 방안이나 목표, 그리고 과정을 이곳 개발자란에 쓰시면 학습 성취에 도움이 되지 않을까하는 생각이 드네요. 
79

금마님의 서명

이더리움 주소 : 0x2c916346213e9a0c2a6339a0f0edaa678a98fbec

Zcash(ZEC) 주소 : t1W1qcnDoJ82y67B8RkQ9frP5NRteuKo5TP

ESN 주소 : 0x99Aa463EC032AC3586FA11bD7C52B3E9E9931D20

댓글 13
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1720 개발 윈도우에서 bitcoinQT 서버로 돌리고 있는데요 질문좀 bitcoinQT 서버로 돌리고 있는데요 버전은 0.9버전입니다. 다른 배치 프로그램으로 API사용하면서 QT를 모니터링을 하는 프로그램입니다. 근데 블록이 생성되는 타이밍에는 QT가 그냥 멈쳐서 배... 0 2256
메슬렁
2015.06.14
1719 개발 코리아 코인 실체가 뭔가요 아시는  분  명확하게  설명 부탁합니다말로는   일반거래소  및  실제 사용할  수 있는 통화로   발전한다던데사실인지 아님 다단계인지   실체가 궁금 하네요   아시는분 명 확한답변  부탁 합... 3 0 3780
달빛
2015.06.16
1718 개발 조언주신분들 감사합니다. 다들 안녕하세요^^ 오랫만이군요.ㅎ 다름이 아니라 이번에 과제를 받았는데 헤메고 있습니다.ㅜㅜ 그래서 땡글에 개발자분이 많아서 이렇게 조언부탁 드릴려구요.   조건은 이렇습니다.   1) 500... 3 file 0 2762
JjangGa
2015.07.02
1717 개발 안녕하세요 알트코인 개발하려고 하는데요.. 코인+거래소+지갑어플 비용이 어떻게 될런지? 연락부탁드립니... 안녕하세요 알트코인 개발하려고 하는데요.. 코인+거래소+지갑어플 비용이 어떻게 될런지? 연락부탁드립니다.  010-9162-8327 0 3654
분당도둑고양이
2015.07.28
1716 개발 블럭체인 배우고싶습니다. 안녕하세요 요즘 블럭체인관련 기사가 많이 나와 저도 배워보고싶은데요 서적도 찾아보니 이렇다할 서적이 없더라구요.. 개인적으로 거래소를 만들어보는게 목표인데요 아는게 너무 없다보니 뭐... 1 0 3189
아이비즈
2016.03.10
1715 개발 우분투 브라우저로 접속하는거 문제가 생겨서 조언좀 구합니다. 클라우드 회사에서 Ubuntu 14.04을 쓰고 있는데요. 여기다가 채굴 관련 파일을 다 깔고 "forever start app.js" 을 쳐서 실행은 시켰는데 문제는 브라우저로 IP_address:7000 을 치고 들어가고 ... 12 0 3448
bitcoinuserx
2016.03.22
1714 개발 자바스크립트를 쓸줄아는 개발자를 찾습니다.  안녕하세요. Lisk라는 프로젝트가 대략 4월 11일에 시작되는데요. 이더리움이 Serpent와 Solidity 기반이라면 Lisk는 JavaScript 를 쓸 줄아는 개발자는 누구나 참여할수 있으며 궁극적인 경쟁... 20 0 3241
bitcoinuserx
2016.03.23
1713 개발 Solidity가 이더리움을 위한 완전튜링언어인가요? 검색을 해보니 부탈린이 만든 언어라고 맞나요?? 확정된건 아니지만 비주얼스튜디오에서 지원한다는게 정말 큰 이슈가 되겠네요. 검색도 잘 안되는거보니 정리된 글이나 자료가 없는거 같은데 공... 9 1 4213
하늘코인
2016.03.29
1712 개발 Lisk Testnet 이 시작되었습니다. 개발자에게 필요한 링크를 공유합니다. https://explorer.lisk.io/ 테스트 노드를 한눈에 보실 수 있습니다.  https://btcuserx.site/ 간단한 GUI로 아이디를 테스트넷에서 만들고 실험해보실 수... 0 2283
bitcoinuserx
2016.04.04
1711 개발 Lisk 구매하는 거 조심하세요. 현재 Yobit에서 Lisk를 판매하고 있습니다만 IOU입니다. 즉 Yobit의 주장은 프리세일에 참가했고 폴로니엑스가 독차지하던 거래량을 뺏기 위하여 확보한 물량을 IOU형식으로 시장에 풀어서 Lisk ... 1 0 4348
bitcoinuserx
2016.04.07
1710 개발 언컨펌 트랜잭션 관련 질문 좀 드립니다. 제가 비트코인 코어로 비트코인을 받아서 트랜잭션을 보고 있는데  수수료가 0.0003 정도의 트랜잭션인데도 컨펌이 안나는 경우가 많은거 같습니다.. 시간이 일주일 정도 지나니까 메모리풀에서... 0 2083
메슬렁
2016.04.15
1709 개발 웹사이트 보안 관련 조언 구합니다. https://www.ssllabs.com/ssltest/analyze.html?d=btcuserx.site 테스팅 중인데 Forward Secrecy 가 자꾸 통과를 못하네요.  리눅스 서버구요 nginx쓰고 있습니다. config 파일안에 ssl_protocol... 8 0 2006
bitcoinuserx
2016.04.26
1708 개발 패스워드 crack 용 GPU & ASIC 돌리기 @뚝빼기된장국 님의 요청으로 이더리움 미스트 지갑 패스워드 크랙하는 프로그램을 파이썬을 사용해 간단히 짜보았는데요, 단순한 조합로는  더 이상 정답을 찾을 수 없는 상태입니다. 그런데 이... 8 1 3338
atomrigs
2016.04.26
1707 개발 폴로니엑스 API 골격 공유합니다. 두시간전부터 여기저기서 복붙중인데 파이썬 2.7 기준입니다. import urllib import urllib2 import json import time import hmac,hashlib api_key = '여기에 API_key 넣으세요' api_secret = '... 12 1 5750
bitcoinuserx
2016.04.27
1706 개발 비트코인 거래소 개발자 비트코인, 이더리움, 리플 거래소 개발자 구합니다. 최고로 모십니다. 관심 있으신 분 댓글 주시면 연락 드리겠습니다. 0 3287
머니왕
2016.05.18
개발 개발 공부가 처음이라고요? 이더리움 개발을 공부하기 위하여 파이썬에 관심을 가지는 땡글인이 늘어나고 있습니다.  당장 개발자로 참여하지는 못해도 나중이라도 기회를 가지기 위해서 또는 이더리움 개발이 아니라 취미... 13 13 7182
금마
2016.05.28
1704 개발 blockchain.info API key 질문 비트코인 입금 알림 callback 및 코인 이체 기능을 blockchain.info API를 통하여 구성을 하려하는데. API key 받기가 쉽지가 않네요.. 10여번을 요청을 하였지만.. 계속 거절당하고있습니다.ㅠ... 3 0 2801
jsonLee
2016.05.30
1703 개발 블록체인OS에서 함께 할 개발자를 구합니다. 작년 11월에 설립된 (주)블록체인OS에서 함께할 개발자를 찾습니다. 저희 회사에 대한 소개는 http://www.blockchainos.org 참고하시기 바랍니다. 학력, 나이, 성별 제한 없습니다. 단지 개발자... 0 3491
BlockchainOS
2016.05.30
1702 개발 블럭체인의 단점: 블럭체인의 크기에 대한 개인적인 아이디어 1. 현재 블럭체인의 크기 1). 비트코인 블럭체인 크기: 약 70 Gbyte (https://blockchain.info/charts/blocks-size) 2). 이더리움 거래원장 크기: 약 16Gbyte (http://cryptomining-blog.com/tag... 7 1 5985
loum
2016.06.03
1701 개발 모바일환경에서 이더리움채굴!! 안드로이드자체가 리눅스기반이고, 터미널 에뮬도있으니 이더리움 채굴이 가능하지 않을까 싶네요 경험이 있으시다면 사소한 팁이라도 주십사 합니다 라고써놓고 막막해서 그래용.... 5 0 7159
맛비
2016.06.07
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ