문돌이의 블록체인 개발 입문기 (1)
안녕하세요 Jeongwon입니다.
역시 하루 동안 공부를 한 것을 일지 형태로 남기려고 하니 동기부여가 되는 것 같네요.
오늘 많은 것을 공부하지는 못했지만 나름대로 공부한 것들을 정리해보고자 합니다.
사실 제가 완전히 처음부터 공부를 할 때부터 이렇게 글을 썼다면 조금 더 좋았겠지만, 사실 지금도 거의 아무것도 모르는 상태인건 마찬가지라 크게 지장은 없을 것 같습니다.
그간 제가 공부한 것들을 간단하게 정리를 하자면,
Dapp개발을 해봐야겠다는 생각을 갖고 여러가지 공부를 시작했습니다.
처음에는 이더리움은 한계가 있는 플랫폼이니까 더 나은 플랫폼이 나올때를 대비해 그 곳에서 개발할 수 있게끔 공부를 해둬야 겠다는 생각을 했습니다.
사실 뭐 나쁜 생각은 아니었던 것 같습니다만, 중요한 것은 현재 이더리움만큼 나름대로 안정된 네트워크를 갖춘 플랫폼도 없고 무엇보다 그 좋다고 생각하는 프로젝트들은 메인넷조차 나오지 않은.. 상황이라는 것을 알게 되었습니다.
그래서 이더리움을 통해 Dapp개발 공부를 해보자 ! 하고 시작하게 되었습니다.
그렇게 제 프로그래밍 입문!! 언어인 Solidity를 공부하게 되었죠. Solidity가 입문이라고 하면 다른 개발자분들께서 신기하게 생각하시더라구요 ㅎ.ㅎ
http://www.chaintalk.io/archive/lecture/1
요렇게 Atomrigs님의 Dapp개발 강의를 시작으로
https://medium.freecodecamp.org/the-authoritative-guide-to-blockchain-development-855ab65b58bc
이 가이드를 열심히 따라갔습니다 ! 특히 저는 솔리디티를 Codecademy 식으로 가르쳐주는 크립토좀비 (https://cryptozombies.io/ko/course) 가 크게 도움이 되었습니다!
처음 배워보는 코딩이라 이해 하는데 시간이 많이 걸렸지만, 설명이 정말 재밌고 잘 되어 있어서 도움이 많이 되었습니다. 솔리디티 공부는 크립토좀비로 시작해보는것도 좋을 것 같네요 !
그리고 위 medium 글에서 중간고사 숙제로 coinflip 게임 만들기를 내줘서 remix.ethereum.org 에서 열심히 뚝딱뚝딱 만들어봤습니다. 물론 코드는 정말 엉망진창이지만 나름대로 제가 처음부터 뭔가를 만들었다는 것이 괜히 뿌듯했습니다 :)
https://opentutorials.org/course/1
그리고 정말정말 좋은 사이트!! 생활코딩의 도움을 정말 많이 받았고, 지금도 많이 받고 있습니다 ㅠㅠ 양질의 교육자료를 무료로 제공해주시는 egoing님께 정말 감사드립니다.
제가 블록체인으로 프로그래밍에 입문하다보니 아무래도 기초 지식이 많이 부족합니다. html이 뭔지도 몰랐으니까요. 생활코딩의 WEBn 강의를 들으며 기본적인 지식을 익히는데 큰 도움을 많이 받았습니다.
그 외에 여러가지 프로젝트 관련 글도 읽고 하면서 공부를 해왔네요.
그 긴 시간 동안 이것보다 더 많은 것들을 배울 수 있었는데 더 열심히 하지 않았던게 아쉬워지네요..
아쉬운만큼 앞으로 더 열심히 해야되겠다는 생각이 듭니다 :)
그래서 지금 제가 하고 있는 공부는 크게 Solidity 와 Javascript 입니다.
Solidity 는 스마트컨트랙트 코드 작성부터 배포, 프론트 웹페이지 연동을 해보려고 하고 있는데 잘 되지 않네요ㅠㅠ
remix를 이용해서 하는 것이 아니라 제대로 개발 환경을 구축해보려고 하는데 쉽지가 않습니다.
여러 full stack 가이드들을 봤는데 그 원리가 제대로 이해가 잘 되지 않네요. 특히 Truffle의 역할, 컨트랙트 배포 이후 프론트 쪽과의 연결이 감이 잘 오지 않습니다. 혹시나 좋은 가이드를 알려주시거나 조언을 주시면 정말 감사할 것 같습니다 !
그리고 Javascript 는 웹을 제어하기 위해서는 필수적인 요소이기도 하고, 이더리움 개발에서 프론트 단에서 핵심적으로 쓰이고 있기 때문에 꼭 배워야하겠다는 판단이 들었습니다. Solidity 와 비슷한 측면도 많고 해서 함께 공부를 병행하는데도 좋을 것 같구요.
Js는 생활코딩의 강의를 보면서 기본적인 개념들을 배우고 있습니다.
사실 대부분의 블록체인 프로젝트들이 Golang으로 개발되고 있는 만큼 Golang도 배워보고 싶은 마음이 굴뚝같은데, 지금 하고 있는 공부를 소화하기도 벅찬게 또 현실이네요 ㅎㅎ..
오늘은 제가 공부했던 것들과 현재 공부하고 있는 것들에 대해 매우 간략하게 살펴보았는데, 내일부터는 그 날 그 날 배운 내용들을 조금 더 구체적으로 정리하고 가는 식으로 해보겠습니다.
그리고 글을 시작할 때 귀여운 로고도 하나 있으면 좋을 것 같다는 생각이 드네요. 그것도 한 번 만들어 봐야겠습니다.
그럼 좋은 밤 되세요 !
코딩의 세계는 참 신기하면서도 어려운 것 같아요. 하지만 집을 짓는 도구처럼 온라인 생태계에 꼭 필요한 것 같습니다. 에궁, 그 어려운 길을 잘 걸어가시는 모습 보기 좋습니다. 많이 배워서 앞으로 유용하게 활용하시기 바라면서 힘찬 격려의 박수를 보냅니다. 권투를 빕니다.
코딩을 배우면서 집을 짓는 다는 느낌을 많이 받았었는데 공감이 많이 되네요 :) 감사합니다.