Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

"Node.js 프로그래밍" 책의 예제를 Node.js v0.10.25기준으로 업데이트했습니다

작년 2월에 Node.js v0.8 버전으로 업데이트 했었는데 현재 최신 버전은 v0.10.x 이다. Node.js가 최근에는 내부 구조에 신경을 쓰고 있고 외부 API는 거의 개선을 안 하고 있기 때문에 문제의 소지가 별로 없어서 그냥 놔두고 있다가(앞으로도 Node.js는 API의 큰 변경사항은 없을 예정) 최근에 예제가 안 돌아간다는 문의가 종종 들어와서 시간을 내서 예제를 업데이트했다.

업데이트된 예제는 Github 저장소에 올려두었다. 주요 변경사항은 커밋 로그에 정리해 두었다. 이 글에 다시 정리하자면...

  • 5장 예제가 트위터 API 정책 변경으로 많이 수정됨.

    • 트위터 API가 1.1 버전으로 갱신되어서 기존의 1.0이 폐기되고 모든 API는 HTTPS로 바뀌고 URL도 약간 변경된데다가 API를 쓰려면 인증도 필요하게 변경되었다.
    • 그래서 예제 자체는 최대한 변경하지 않는 선에서 인증을 위한 별도의 파일을 만들어서 엑세스토큰을 얻어와서 API를 요청하도록 처리함.
    • 1.1 버전에서는 응답데이터의 형식이 약간 달라져서 사용하는 필드명이 약간 달라졌다.
  • Jade의 1.0 릴리즈 후 기존에 API를 폐기한.

    • 이 부분 때문에 예제가 안 돌아간다는 문의가 발생하게 된 건데 그동안 Jade 버전이 올라가면서 새로운 기능이 많이 추가되고 사용방식도 조금씩 변경되었는데 그동안을 하위 호환성 때문에 이런 부분이 유지되다가 1.0을 릴리즈 하면서 앞으로 사용하지 않을 부분을 모두 제거해버려서 오류가 발생함.
    • Doctype을 !!! 대신 doctype html와 같이 정의해야 하고 script태그 뒤에는 .을 찍어주어야 함.

expresso나 vows 같은 테스트 프레임워크는 이제 모듈 자체가 업데이트도 안 되고 이미 분위기가 mocha나 다른 프레임워크로 변경되었기 때문에 건드리지 않고 그냥 놔두었다.(책의 내용 자체를 바꾸어야 하는 .. ㅠㅠ) 이런 부분이 참 고민인데 Node.js 버전업에 예제가 많은 영향을 안 받는 걸 보면서 다행이라는 생각은 들지만 반면에 빠르게 달라지고 있는 Node.js 모듈에서는 시간이 지남에 따라 쫓아가기 어려운 문제가 생기는 건 어쩔 수 없다고 생각하면서도 아쉬운 부분이다. ㅠㅠ

2014/01/27 15:18 2014/01/27 15:18