특정 작가들의 최신 글을 email로 받기 #2

파이썬이나 node.js로 스티밋과 관련된 코딩을 하고 싶은 분을 위한 가이드

계속 이야기하지만 스티밋에는 훌륭한 개발자가 많이 있다.
내가 뭔가를 하겠다고 라고 생각하면 이미 그런 것들이 개발되어 있다고 보면 된다. 찾기만 잘하면 되는데 스티밋은 검색 기능이 떨어져서 내가 원하는 것을 찾기 위해서는 평소에 복을 많이 쌓아 두어야 한다. 그리고 사람들에게 많이 알려 놓으면 링크를 알려주시는 고마운 분이 계실꺼다.

node.js 이용하기

일단 node.js를 이용하면 스티밋에서 간단한 정보를 가져오기에는 편하다.

node.js는 아래 사이트 참고하면 기본 이상은 할 것 같다.
이 자리를 빌려서 다시 한 번 감사의 인사!!!

@minari님 감사해요..

간단한 프로그래밍으로 스팀잇의 포스팅이나 보팅 등을 할 수 있습니다. (강좌 소개)

개발하다가 보면 API 설명서를 자주 보아야 한다. API 설명서는 아래 링크 참고.

node.js API의 설명서

https://nodejs.org/dist/latest-v6.x/docs/api/

node.js 예제들

https://github.com/junn279/steemjs_example

근데 나는 node.js가 낯설고 힘들다. node.js에 있는 api들은 비동기적으로 (asynchronous) 동작한다. 내가 하고 싶은 일들은 동기적으로 돌아야 한다.

동기적으로 동작한다는 것은 한 줄 한 줄 순차적으로 실행되는 것이다. 즉 두 번째 줄이 실행될려면
첫 번째 줄 명령어가 끝나야 한다.

반면에 비동기적으로 동작하는 방식은 첫 번째 줄이 실행되는 여부와 상관없이 두 번째 줄이 실행된다. 이렇게 하는 이유는 시스템의 성능을 올리기 위해서다. node.js가 웹프로그램에 많이 사용하는 java.script를 기반으로 하다 보니 이런 방식으로 동작하는 것 같다. 웹 프로그래밍에서는 비동기적으로 프로그램을 개발하여야 한다. 그렇지 않으면 느려터진 서버에 한 번 접속하면 아무일도 못하게 된다.

암튼 비동기적으로 서버단에서 프로그램을 개발하는 것은 상당한 훈련이 필요하다.
간단한 API를 돌려보는 데는 @minari님 강좌를 참고하면 쉽게 할 수 있을 것이다.


난 아직 초보이다. 앞에서 설명한 이유로 node.js는 사용하고 싶지 않았다. 하지만 파이썬이 설치가 되지 않아서 어쩔 수 없이 node.js로 작업을 했는데 진도가 안 나갔다.

고전분투를 하던 중 한줄기 광명의 빛이 찾아왔다.
바로 @tmokr님의 아래 글.
윈도우 10 환경에서 steem API 라이브러리 설치하기 with python

내가 힘들게 작업하고 있는 것이 안스러웠는지 많은 시간을 투자하시어 윈도우에서 steem-python 설치하는 법을 알려주셨다. 이 글을 보았을 때의 환희가 다시 떠 오른다.

@tmkor 글 보고 당장 따라 해봤다.
그런데 또 설치가 안된다. (젠장.. 왜 나 컴은 설치가 되는 것이 하나도 없을까?)
다시 한번 차분히 오류를 살펴봤다.
네이년에게 물어본 결과 사용자 계정명이 한글이어서 발생한 문제라고 한다. 당장 새로 영문 계정으로 만들어서 설치해보니, 한 방에 된다.

지금은 이렇게 덤덤하게 쓰지만, 그 과정을 보면 한 1년은 늙은 것 같다.

그동안의 삽질

steem-python에 보면 python 3.6 이상에서 설치하라고 나온다. 나도 python 3.6 설치하고 steem-pyhton 설치하는데 한 2-3일 정도 투자한 것 같다. 결론은 실패

이때 등작하신 또 한분의 고수 @idas4you.
사과농축액을 자꾸 주셔서 농사지으시는 줄 알았다. 그런데 아래 글을 보면 고수다.
kr-dev#1. 개발자가 steemit 주무르기(1) / windows10 with python (by @skt1)

이 글따라 쭉 해봤는데, 역시 안된다. 그래서 질문을 했더니, 친절하게 답을 해 주셨다.
image.png

좌절!!

그리고 다들 알고 계시는 @nhj12311님.
덕분에 SQL DB는 한 방에 설치하고 잘 쓰고 있다.
이 분도 unbuntu에서 steem-python 설치해서 잘 쓰고 계시다.
https://steemit.com/kr-dev/@nhj12311/python-3-6-steempy#@idas4you/re-nhj12311-re-idas4you-re-nhj12311-python-3-6-steempy-20180110t093433228z

이 글 보고 따라했으나 난 또 실패. python 3.5가 설치된 ubuntu에 python 3.6 설치하는 것이 생각보다 어렵다. ubuntu 재 설치를 5번은 한 것 같다.

이 놈의 똥 컴퓨터


개발과 관련하여 글을 쓰고 계시는 분들 리스트이다.
스티밋에 검색하는 것이 겁나게 어려우니 id라도 알면 많이 도움이 될 것이다.

@morning
@asbear
@etainclub
@idas4you
@minari
@sanghkaang
@etainclub
@siapa0516
@jacobyu
@tmkor

이 외에도 많은 분이 계시다. 시간나는대로 추가할 예정이다.

다 들 훌륭한 개발자이지만 아래 두 분 blog를 자주 가서 보면 많은 도움이 될 것 같다.
@jacobyu -> telegram bot 개발 중이신 분
@tmkor -> 개발 의욕이 넘쳐나시는 분

추가로 krwhale bot이 개발되어 자동으로 동작하고 있다.
https://steemit.com/kr/@pliton/kr-whale-randowhale-krwhale##
https://steemit.com/kr/@jongeun/randowhale-node-js


개발시 도움이 되는 정보들

데이터의 구조

나는 파이썬도 처음이라 낯설다. C, C++로는 개발을 오래했었기 때문에 큰 문제는 없으나 list나 dict에 있는 데이터를 가져오기가 힘들었다.

steem-python에서 얻을 수 있는 값들의 구조는 아래 사이트에서 확인하면 된다.

찾지를 못하겠다. 아주 유용한 사이트였는데, 찾으면 update 예정.

steemit-python 소스코드

https://github.com/steemit/steem-python

steemit-python 문서

http://steem.readthedocs.io/en/latest/

파이썬 언어 대한 책 혹은 매뉴얼

https://www.stavros.io/tutorials/python/
https://docs.python.org/3/tutorial/


ps 1. 최근 스티밋 관련 서버 중 하나가 사용 중지가 되면서 접속이 원할하기 못하였다. 사전 공지가 된 것으로 보이는데, 많은 서비스가 제대로 동작하지 않은 것을 보면 문제가 있는 것 같다.
자세한 사항은 아래 글 참고.
[error] SteemKr, steem API, 각종 서비스 다운 원인

파이썬의 경우 대처법. 거의 천사 수준이다.
steem-python API 노드 변경법

ps. 2
참 힘들게 여기까지 왔다. 이제부터는 꽃길만 걷고 싶다!!

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center