SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発エンジニアの「情報収集術」

Node.js/JavaScriptの情報収集手段 ~変化が激しいOSSは、直接GitHubをウォッチする

情報過多時代を生き抜くエンジニアの「情報収集術」 Node.js編

  • X ポスト
  • このエントリーをはてなブックマークに追加

 良いアウトプットを出すには良いインプットが必要です。特に、OSSを使っている場合、OSSの進化は激しいので、インプットを怠らないようにしておく必要があります。ただし、どこからインプットをしたらいいのかわからないという方もいると思います。そこで、私が実施しているNode.js/JavaScriptの情報収集手段として、GitHubの活用方法、Twitterで誰をフォローしているか、各種新規ライブラリの見つけ方についてお伝えします。また、この情報収集手段はJavaScript/Node.jsにかぎらず、OSSを基本とするソフトウェア全般の情報収集に使える手段になっていると思いますので、ぜひチェックしてみてください。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 初めまして。Node.js日本ユーザーグループ代表の古川(@yosuke_furukawa)です。日本ユーザーグループ代表としての活動は二ヶ月に一度開催されるNode学園のオーガナイズと、一年に一度開催されるNode学園祭の開催です。また、io.jsエヴァンジェリストとして、毎週のio.js newsの記述やロードマップの公開等、io.jsを広める活動もしています。このような私が、Node.jsについて普段どんな風に情報収集を行っているかを紹介します。

Node.jsの現在

 Node/io.jsは変化が激しいコミュニティであると言われております。一つその例を示すグラフを見てみましょう。

主要パッケージマネージャのライブラリの登録数(Modulecountsで作成)
主要パッケージマネージャのライブラリの登録数(Modulecountsで作成)

 このグラフは、npmと、RubyGemsやPyPI、Mavenといった他のパッケージマネージャのライブラリの登録数を時系列で表したものです。緑のグラフがnpmですが、飛び抜けて増えているのが分かるかと思います。npmにはNode/io.jsのライブラリ、JavaScriptのライブラリが登録されており、そのエコシステムは飛躍的に増えています。変化が激しいコミュニティのため、日々、鮮度の高い情報をインプットしていくことが必要です。

一番の情報収集源はGitHub

 基本的にGithubで情報収集しています。そこが一番の大元であり、"今何が起きているか"を知る上で直接的で分かりやすいからです。何が起きているのかを逐一知るために、GitHubのWatch機能を利用しています。GitHubのWatch機能を使うと、そのリポジトリにおける、issueやPullRequestなどの変更がメール経由で分かるようになります。私がWatchしているGitHubは以下のとおりです。

Node.js本体系

 Node.jsのコア自身と、未来のNode.jsであるio.jsをWatchしています。Node.jsのリリースが滞りがちである状況に対して、Node.jsをforkして新しく進めたのがio.jsです。2015年の5月時点では、今後統合されることが発表されましたが、まだまだ分割された状況のままです。

  • Node.js Node.js本体のリポジトリ
  • io.js io.js本体のリポジトリ

 私はio.jsの共同編集者でもあるので、Node.jsでio.jsに互換がない変更が追従されたら、io.js側にコントリビュートするためにも両方Watchしています。あと、Node/io.jsで面白そうなPull Requestが来たら中身をサクッと読んで、自分をフォローしている方に知ってもらうため、Twitterにシェアしています。

Node.jsが依存しているライブラリ系

 V8やlibuvなど、Node.jsを支えているライブラリ群もWatchしています。V8はそのまま、Node.jsの中で使えるJavaScriptの構文や新機能に影響するので、特によく見ています。

 また、libuvはNode.jsの非同期I/O処理を支えるライブラリなので、パフォーマンスに直結しやすいため、ここの変更も見ています。

 http-parserはNode.jsのhttpをパースするライブラリなので、直接機能の増減はあまり無いですが、httpモジュールの性能に関連するのでWatchしています。

  • v8 JavaScript実行エンジンのV8
  • libuv クロスプラットフォーム非同期IOライブラリのlibuv
  • http-parser httpのC parser

 V8の本家のリポジトリはこちらですが、GitHubに移行するという発表はあるものの、まだ移行されていません、GitHubの方が見慣れているので、ミラーリポジトリを見て状況を確認しています。

npmのライブラリ系

 変化の激しいNode.jsのコミュニティでは、そのライブラリもWatchの対象にしています。していますが、全部はそこまで見きれないので重要そうなものをざっと眺めるだけにしています。

  • express Node.jsで一番著名なWebアプリケーションフレームワーク
  • socket.io リアルタイムにメッセージを通信するライブラリ
  • babel JavaScriptにまだ実装されていない新しい構文や機能を使えるようにするためのトランスパイラ
  • browserify モジュールの参照解決をするためのNode.jsの仕組み(commonJS)をブラウザ提供してくれるライブラリ

GitHubのユーザー

 Node.jsにかぎらず、有用なOSSをたくさん作っている有名なユーザーは定期的にWatchしています。GitHubでフォローをすることで定期的に最近の彼らの活動を眺めてます。

  • Guillermo Rauch socket.ioの作者
  • substack browserify、testlingの作者
  • TJ Hallowaychuk Node.jsは辞めたと言ってるが、koa、coの作者でまだコミットがあるのでwatchしている
  • Ryan Dahl Node.jsを最初に作った人物、長らく活動が見られなかったが、最近復活してv8-workerというリポジトリをメンテナンスしている
  • Sindre Sorhus grunt、gulp、broccoli等のプラグインを超高速で作っている人物、彼なくしてプラグインの成長はないと思えるほど
  • Domenic Denicola Promiseの仕様を作った人であり、WHATWG Streamの仕様を決めている人であり、Node/io.jsのObserverという沢山のロールを持つ人物

 また、starseekerのような、GitHubでフォローしているユーザーがリポジトリにstarを付けると、メールで通知してくれるサービスがあります。このようなサービスを利用すると、そこから有用なライブラリを見つけることもできるので、オススメです。

主要企業のGitHubアカウント

 Google、Facebook、Twitter、GitHubといった著名な企業は、定期的に見ていると面白いリポジトリを見つけることもあります。ここまで来るとNode.jsは無関係で、C、C++、golangやPHP、Scalaといったリポジトリもありますが、著名な企業が出しているリポジトリは参考になることが多いので眺めることが多いです。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ニュースソースとして次に使っているのはTwitter

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
開発エンジニアの「情報収集術」連載記事一覧
この記事の著者

古川 陽介(株式会社リクルートテクノロジーズ)(フルカワ ヨウスケ)

 リクルートテクノロジーズ ITエンジニアリング本部 プロダクトエンジニアリング部 APソリューショングループ マネジャー 兼 シニアソフトウェアエンジニア。 複合機メーカー、ゲーム会社を経て、2016年にリクルートテクノロジーズ入社。現在はAPソリューショングループのマネジャーとしてアプリ基盤の改...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8706 2015/06/03 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング