이 책을 빌릴 수 있을까? – Node.js

종종 도서관에 가서야 내가 빌리려는 책을 누군가 미리 빌려 간 것을 알게 된다. 도서관 가기 전에 도서관 홈페이지에서 누가 빌려갔는지 확인하는데 두 곳의 도서관에 주로 감으로 두 도서관의 홈페이지에 방문하고 마우스 클릭하고 책 이름 입력하는 것을 반복해야 했다. 이럴 때 아래 유틸리티를 사용하면 터미널에서 쉽게 확인할 수 있다. 더불어 라이브러리로 사용하면 다른 스크립트와 쉽게 연동할 수도 있다.

설치

$ npm install dongnelibrary -g

터미널에서 실행

$ dongnelibrary -t javascript -l 남양
❯ 남양도서관
  태안도서관
  삼괴도서관
......
Searching...(javascript)
남양도서관 ✓ 프로그래밍 jQuery
남양도서관 ✓ 자바스크립트 for 웹2.0
남양도서관 ✓ HTML+JavaScript
남양도서관 ✓ 책상 위의 자바스크립트
남양도서관 ✓ 태그교실
남양도서관 ✓ (HTML+CSS+JAVASCRIPT)드림위버MX 20시간완성

JavaScript에서 호출하기

아래 코드를 test.js 파일로 저장하고

require("dongnelibrary").search({
  title: 'javascript',
  libraryName: '여주'
}, function (err, book) {
  console.log(book.libraryName + ' "' + book.title + '"');
  book.booklist.forEach(function (book) {
    console.log((book.exist?' ✓ ':' ✖ ') +' '+ book.title);
  });
});

실행하면 결과를 볼 수 있다.

$ npm install dongnelibrary
$ node test.js
경기도립여주도서관 "javascript"
✓  (웹표준을 위한) HTML 5  : with CSS3 & JavaScript & jQuery
✓  인사이드 자바스크립트 = inside javascript
✓  자바스크립트 완벽 가이드
✓  HTML/CSS/Javascript

웹 서비스

명령어 인터페이스가 불편하다면 웹 서비스를 사용하기 바란다. 무료 서버에서 동작함으로 처음 로딩 시간이 10초 정도 걸릴 수 있다. 더 빠른 동작을 원한다면 이 웹 서비스를 내려 받아 로컬에서 사용하길 바란다. 필요할 때 서버를 수행했다가 프로그램 종료하듯이 내리면 된다.

Docker

Docker가 더 익숙하다면 아래 명령으로 서버를 시작할 수 있다. 이 경우에는 http://localhost:3000/ 주소를 사용하면 접속할 수 있다.

$ docker pull frontendwordpress/dongnelibraryspa
$ docker run -d -p 3000:3000 frontendwordpress/dongnelibraryspa

Docker가 없다면 아래 명령으로 설치할 수 있다. (우분투 18.04)

$ sudo snap install docker

검색하는 도서관 목록

마무리

GitHubnpm에 코드를 올리면서 많은 서비스들을 경험했다. 빌드 해주는 Travis CI, 웹에서 테스트 할 수 있게 도와주는 Tonic, 웹에서 개발 가능하게 해주는 Cloud9를 살펴보면서 미리 알지 못한 것이 아쉬웠다.

이 책을 빌릴 수 있을까? – Web API
이 책을 빌릴 수 있을까? – Node.js (현재 글)

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.