Nodejs 가 무엇인지 그리고 어떻게 설치 하는지?

안녕하세요 ayogom 입니다.
오늘은 드디어 Nodejs에 대해서 알려드릴 시간입니다. 저도 스팀잇을 시작하면서 처음 다뤄보게 된 언어인데 어떻게 하다보니 이게 편해서 지금도 계속 쓰고 있습니다. 아직 어떤 목표를 가지고 쓸지는 모르겠지만 API를 사용하는 방법에 대해서 소개하고자 합니다. 저는 프로그램 전문가가 아니고 비 전문가로써 소개하기 때문에 어려운 내용은 모르기 때문에 어쩌면 쉬울지도 모릅니다 ㅎ

Nodejs는 흔히들 아는 C 계열 언어와는 크게 다른 부분이 있습니다. 그건 바로 비동기 기반이라는 점입니다. 이게 무슨 말이냐, 보통 C 계열의 언어는 순차적 실행을 수행하게 끔 되어 있습니다.

예를들자면

function Main (){
   Start()
   Run()
   End()
}

라는 로직을 만들었을 때, C 계열에서는 아래와 같은 동작을 하게 됩니다.

즉, 각 Function 들이 순차적으로 하나씩 수행이 됩니다.

하지만 Nodejs 의 경우 다릅니다.

Start()가 끝나기 전에 Run()이 그리고 Run()이 완료되기 전에 End()가 동작을 해버리게 됩니다. 그래서 처음 Nodejs를 접하시는 분들이 이 부분에서 당황하게 됩니다. (제가 그랬습니다 -_-a) 이 순서가 왜 중요하냐면 코드로 생각을 해보자면

만약 start에서 초기값이 0이고 최종 결과값이 1~3이라고 했을때,
Start가 최종 결과값을 받기 전에 Run이 동작해버려서 결국 최종값이 아닌 0을 가지고 동작을 해버리게 됩니다. 그러면 개발자 입장에서는 환장하죠 소스코드는 아무런 이상이 없는데, 원하는 값이 나오지 않으니깐요.

하지만 이게 바로 Nodejs의 특징입니다.
왜 이렇게 만들었을까요? 그건 이 언어가 웹 구동을 위해 만들어진 언어이기 때문입니다. 인터넷 초창기 시절을 경험하셨었다면 뭔가 로딩이 있을때 화면의 위에서 부터 갱신되는 느낌을 받으신 적이 있으실 겁니다. 그리고 예전 인터넷이 처음 되전 핸드폰들도 위에서부터 순차적으로 데이터가 갱신되었습니다.
그러다 보니 큰 데이터를 처리하거나 큰 이미지를 처리하는 경우 데이터 처리가 순차적으로 진행되다보니 매우 답답한 현상이 생기게 됩니다. 이게 멈춘것도 아니고 먼가 천천히 움직이는 것 처럼 보이게 되는거죠 하지만 지금 인터넷은 접속하면 여기저기서 파파팍 파파팍 화면이 나옵니다. 이유는 Nodejs 입니다. 비 동기로 여기저기 동작을 하기 때문에 사용자 입장에서는 더 빠르게 느껴지는 것입니다. (실제로도 빠르겟죠?) 아마 다른 이유도 많이 있겠지만 제가 생각 했을때는 그러한 이유가 크지 않을 까 싶습니다.

따라서 Nodejs는 웹까지 구현을 해야 해당 기능을 다 쓰고 있다고 볼 수 있습니다. 하지만 저는 웹구현은 잘 모르는 관계로 단순 Steem Api를 사용하는 방법을 알려드릴 생각입니다. 그 부분만 잘 생각하시면 예약 포스팅도 하실 수 있고, 매일매일 같은 시간이 올라가는 포스팅도 만드실 수 있을꺼고, 간단한 보팅봇도 만들실 수 있으실듯 합니다.

그럼 제일 먼저 NodeJs 설치 부터 알아 봅니다. Nodejs 의 설치 방법은 아래의 사이트에서 가능합니다


다운로드

LTS 버전의 Window 혹은 본인의 운영체제에 맞도록 받으시면 됩니다. 여기서 LTS라는 것은 Long Term Support 의 약자로 오랜 기간 서포트를 해주는 버전입니다. 보통은 이 LTS 버전을 사용하는 것을 권장합니다. 이는 최신 버전에서는 일부 라이브러리가 동작하지 않을 수 있습니다. 이유는 모든 버전에서 해당 라이브러리가 테스트 되지는 않기 때문이죠 보통이 LTS 기준으로 테스트가 됩니다. 그러니 가장 안정적인 버전이라고도 합니다. 따라서 LTS를 받으시기 바랍니다.

설치는 역시 다음다음다음 클릭을 하시고 설치가 완료되면

위의 콘솔창을 켭니다.

그리고

node -v

를 눌러보면 현재 v14.17.0 버전을 나타내줍니다.

버전을 잘 설치 하셨으면, 오늘은 여기까지~ ㅎ
내일은 스팀 라이브러리 를 설치하고 가장 간단한 api를 호출 해 보도록 하겠습니다.

아 참 그리고 이 녀석을 하나 구입했습니다 ㅎㅎ
어디에 쓰는 녀석일까요? 사실 저는 크게 필요는 없지만.... 아마도 Nodejs 를 배운 다른 분들에게는 필요한 제품이 될 것입니다! 저도 처음 사용해 보는 거라 기대가 됩니다 ㅎ

작성 예정인 글 List

  • Nodejs 를 이용한 스팀 API 사용해보기
  • 스팀잇 내에서 이모지 사용법

누군가에게는 도움이 될 수 있는 글

스팀잇 기본 이야기

스팀잇 심화 이야기

스팀잇 보상과 연결되는 이야기

해킹과 관련된 이야기

Sort:  

개발자가 아니 시라는 게 충격인데요...

[US$80.50](▼16%)[SONGJING]SONGJING SJ-125E 제습기 / 송징 SJ-125E 제습기 / 36평적용 / 165W 고출력 / 대용량 물탱크 / 관부가

WWW.QOO10.COM

오오..쉬운설명! 이제 보팅봇 만드느거 알려주세염+_+ ㅋㅋㅋ 마지막은 라즈베리 파이잉가?

ㅋㅋㅋㅋ 첫술에 배부르면 살찝니다

요즘은 WSL도 꽤 쓸만해서 윈도우 10 쓰시는 분은 굳이 구입하실 필요가 없을지도 모릅니다 ㅎㅎ

ㅎㅎ 그럴 수도 있긴 한데
봇 운영하면 전기세(?) 때문에 컴퓨터 보다는 라즈베리파이가 유용하지 않을까 싶기도 해서요 ㅎ

@ayogom transfered 4 KRWP to @krwp.burn. voting percent : 5.40%, voting power : 75.31%, steem power : 1771106.93, STU KRW : 1200.
@ayogom staking status : 615 KRWP
@ayogom limit for KRWP voting service : 1.845 KRWP (rate : 0.003)
What you sent : 4 KRWP
Refund balance : 2.155 KRWP [53877013 - 34f780920d4c10acd30673b5a2ea01c37a1abaae]

start success go! go! go!

좋은글 감사합니다~!

저도 한번 따라서 해보겠습니다.

  1. 노드를깐다 완료

이 글 다음은 어떤 포스팅 보면 될까요? 구글 검색해서 이어진글 찾았습니다.