[node.js 초급코드] 내 포스팅 댓글에 달린 주사위 값 조회

in #kr-dev6 years ago

제가 코딩(?)도 포스팅하게 됐네요 ㅎㅎ
예전에 3월 시작할땐가 3월 목표를 쓰라는 이벤트가 있었는데 그때 막 제가 스팀잇에서 코딩을 해보겠다는 목표를 썼었는데 나름 목표(?) 달성이네요 ㅎㅎ

참고로 저는 코딩을 해본 사람이긴 합니다만 Javascript 에 대해서는 거의 모르는 상태에서 포스팅들 도움 받아서 해봤는데 처음 접하시는 분들께 오히려 초보의 시각에서 전달하는 것도 도움되실 것 같아서요.

추가로 제가 스티밋 프로그래밍을 시작할 수 있었던 건 @minari 님의 간단한 프로그래밍으로 스팀잇의 포스팅이나 보팅 등을 할 수 있습니다.(강좌 소개)를 통해 접하게 됐습니다. 포스팅 감사합니다~:)

위 포스팅에서 좀 걸렸던 부분은 node js를 설치하고 'npm install steem'으로 스팀잇에 필요한 모듈을 설치하는 부분이 있는데, 그때 커맨드 창을 node js 에서 제공하는 커맨드 창을 사용하되 '관리자 권한으로 실행'하는 것만 이행하면 그 다음부터는 잘 됐습니다. 그리고 저는 코드 편집툴을 nodepad ++을 사용했답니다.

처음 포스팅하다보니 준비 내용까지 포함해서 서론이 길었네요;; 이제 본론으로 들어가면 특정 포스팅에 댓글로 달린 주사위 값을 사용자 별로 정리하는 건데요.
일단 코딩하기 전에 구조를 먼저 생각해보면,

  1. 특정 포스팅을 읽어 온다.
  2. 포스팅에 달린 댓글을 조회한다.
  3. 주사위는 댓글에 댓댓글로 달리므로, 2번에서 조회한 댓글 수만큼 댓댓글을 조회한다.
  4. 다른 댓댓글도 있을 수 있기에 @simsimi 가 작성한 댓댓글만 걸러낸다.
  5. 주사위 내용이 포함된 댓댓글에서 주사위 값을 뽑아온다.

image
코드 설명 좀 드리자면,
Line 2, permlink 값에 본인이 읽어올 포스팅의 permlink 값을 써주시면 됩니다. 보통 포스팅 URL 맨 뒤에오는 값이라고 보시면 됩니다.
Line 4, permlink 로부터 포스팅에 달린 댓글을 읽어 온겁니다.(내용을 필요없으니..)
Line 5, 댓글 수만큼 for loop 를 돌려주고요.(여기서 저는 댓글 수를 어떻게 얻어오는지몰라서 for loop 의 종료를 null 체크로 했습니다)
Line 6, 다시 각 댓글의 댓글들, 즉 댓댓글을 읽어옵니다. 보니깐 스팀잇에서는 댓글도 하나의 포스팅이라고 보시면 됩니다. 그래서 댓글의 permlink 값으로 조회하면 됩니다.
Line 7, 댓댓글도 여러개가 있을 수 있으니 for loop를 돌려주고요
Line 8, simsimi 가 남긴 댓댓글을 찾습니다.
Line 9~13, simsimi 댓댓글에서 주사위 돌린 사용자와 주사위 값을 나름 Parsing(?)한 겁니다.
Line 15, 사용자와 주사위 값을 출력해주는 겁니다.

이렇게 돌려보면 아래와 같은 값이 나옵니다.
image

결과값을 커맨드 창에서 보시려고 하면 내용이 많을 경우 보기 힘들 수 있으니, 저 같은 경우는

node test.js > result.txt

이걸 사용했고요. 이렇게 하면 결과 값이 result.txt 에 남게됩니다.

전 아직도 깔끔하게 포스팅하긴 자질부족인것 같습니다;; 도움이 되셨다면 다행이고 읽어주신 분들께 감사드립니다.

Sort:  

프로그래밍을 공부하려면.. 자바부터 하면 될까요?
너무하고싶네요~

음.. 완전 처음이시라면 자바까진 어려우실꺼 같고요.
제가 올린 Javascript 를 그나마 추천드리고요. Javascript 도 좀 더 쉽게 접근하려면 html, jsp 같은 웹 프로그래밍부터 하시면 그나마 쉽게 접근하실듯 합니다 ㅎ
근데 프로그래밍도 사람들이 생각하는 스타일에 따라 다르기때문에 웹 프로그래밍보다 C/C++ 이나 Java를 쉽게 따라가고 좋아하시는 분들도 있어요 :)

Hello mathetes, I am a simple vote scheduling service for randowhale so that you can always catch it awake and get an upvote from them. For a full description of how to use me, check out my guide post.

보팅하구 가용~^^

짱짱맨 호출로 왔습니다!
한주 수고하세요

늘 감사합니다~:)

좋은글 참고하고 갈께요~

보팅하고 갑니다^^

감사합니다~:)

잘보고 갑니다 보팅드립니다.

감사합니다~:)

재미있네요 ^^ 플로리다님 이벤트 파도타고왔어요 ^^ 파이썬은 안되나요? 뭘배워야할지몰라서 제일많이 쓰이는 파이썬배우고 있어요

저도 궁금해서 검색해보니깐 스팀잇에서 제공하는 파이썬 라이브러리도 있다고 하네요
공식적인건 https://github.com/steemit/steem-python 깃허브에 있고 검색해보시면 좀 더 쉽게 설명된거 많을 듯합니다 :)

오 그러네요 , 신기하네요, 감사합니다 ^^

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.031
BTC 68775.79
ETH 3844.41
USDT 1.00
SBD 3.66