hELLO.

    개발자의 연봉 상승 모멘텀, ―그리고 환상

    공무원 그만두고 코딩 공부해요 뉴스 기사에서도 그렇고 정말 지겨울 정도로 매일같이 어딜 가나 개발자들의 연봉이 상승했다는 이야기가 나돌고 있는 지금, 하던 일을 그만두고 개발자로 전향하려는 사람들이 늘었다. 기사에서는 맨날 어느 기업의 개발자 연봉이 2천만 원 상승했다느니, 이직하면 연봉을 두 배로 쳐준다느니 하는 이야기를 하고 있는데, 그런 기사들은 사실이라고는 하더라도 자극적이고 비개발자에게 너무 환상만 심어지는 것 같아서 개인적으론 불편하기 그지없다. 개발자가 아닌 다른 직업군이 상대적 박탈감을 느낀다는 등 이야기하고 있으나 현실을 보면 마냥 그렇지만은 않은데 말이다. 기사에서는 다른 직업군에 비해 개발자가 더 많이 받는 것처럼 말하고 있는데, 실은 다른 직업군에서도 따지고 보면 상대적으로 위에 있..

    비트코인: 비트코인 코어 빌드 및 JSON-RPC 사용해보기(feat. 윈도우)

    비트코인 코어 블록체인을 본격적으로 공부하면서 빼먹을 수 없는 것이 비트코인인지라 비트코인의 참조구현인 Bitcoin Core 를 나름 반나절이 걸려 드디어 빌드에 성공하여 블로그에 남겨보기로 했다. WSL(Windows Subsystem Linux)를 써서 할까 했었다가 Microsoft Visual Studio 를 통해서도 빌드가 가능한 듯하여 시도해보았다. github.com/bitcoin/bitcoin bitcoin/bitcoin Bitcoin Core integration/staging tree. Contribute to bitcoin/bitcoin development by creating an account on GitHub. github.com 비트코인 소스를 git clone 으로 다운받..

    당신의 클론 코딩, 안녕하신가요?

    일반적으로 클론 코딩은 개발자, 개발자 지망생이 실력을 키우기 위해 강의 등을 통해 코드를 그대로 옮겨 적으면서 실행해보는 것을 말한다. 글을 쓰는 작가들은 다른 사람이 쓴 글을 베껴 옮겨 적는 필사(筆寫)라는 훈련을 하기도 하는데, 클론 코딩도 이와 비슷하지만 사실 이것은 좁은 의미의 클론 코딩이다. 조금 더 나아가면 한 단계 높은 수준의 클론 코딩을 할 수도 있는데 그것은 아래에서 이야기해보도록 하고, 지금부터는 많은 사람들이 클론 코딩을 할 때 겪게 되는, 또는 잘못된 방법으로 클론 코딩을 했을 때 문제가 되는 사항들에 대해 이야기해보고자 한다. 지금 타자연습하는 건가요? 클론 코딩은 기본적으로는 다른 사람의 코드를 옮겨 적으면서 실행해보는 행위이지만, 정말 그것만 하는 사람이 있다. 코드를 적으면..

    Go 언어로 블록체인 메인넷 만들기 - CLI(Command Line Interface)

    메인넷 그 자체와는 관련이 없긴 하다만, 잠깐 쉬어가는 느낌으로 우리가 만든 블록체인을 조금 더 쉽게 조작할 수 있도록 커맨드 라인 프로그램을 만들어보자. 지난 포스트에서 작성한 내용을 테스트하려면 두 번의 실행이 필요하다고 했다. 이를 main() 함수에 작성하려면 코드를 주석처리해야 하는 등 번거롭고 추후를 도모하기 위해서라도 만들어두면 좋을 듯하여 만들어본다. 점점 blockchain_go 에 나온 코드들이 왜 그렇게 쓰였는지 조금씩 알게되는 것 같다. type CLI 이 타입은 CLI 와 관련있는 메서드를 정의하고 동작을 정의하기 위해 존재한다. type CLI struct {} func .createBlockchain() 블록체인을 생성하는 메서드다. 뭔가 이상함이 느껴질지도 모르겠다. NewB..

    Go 언어로 블록체인 메인넷 만들기 - 영속성

    우리는 지금까지 블록체인을 메모리 내부에만 저장했는데, 그렇게 되어서는 프로그램이 동작하는 동안에만 살아있기 때문에 영속성을 유지할 수 없다. 따라서 우리는 Key-Value 를 사용하는 Local Database 를 사용해보기로 하자. 여기서 어떤 데이터베이스를 사용해야 하는지 결정할 필요가 있는데, 비트코인에서 과거에 사용했던 LevelDB 도 있겠지만, 우리는 BoltDB 를 사용해보도록하자. 이는 Go 언어로 작성된 스토어다. github.com/boltdb/bolt boltdb/bolt An embedded key/value database for Go. Contribute to boltdb/bolt development by creating an account on GitHub. github...