node.jsの活躍シーンとは?

このQ&Aのポイント
  • node.jsはスクリプト言語なので処理速度は爆速ではありませんが、httpでの応答をする簡単なものを作ることができます。
  • しかしながら、httpに限定するとapacheさんに任せることができた部分まで面倒見る必要があるため、手順が増えてメリットを感じにくいかもしれません。
  • また、node.jsは集計や計算には使えず、そのような用途では活躍することは期待できません。
回答を見る
  • ベストアンサー

node.js使いドコロ

node.jsでhttpでの応答をする簡単なものを作ってみたりしました。 ふと、これhttpに限って言えばapacheさんにお任せ出来ていた部分まで面倒見ないといけないから手順ばっかり増えてメリットあるんだろうか?と感じました。 スクリプト言語なので爆速ではないですよね。。。つーことは集計とかの計算に使えるわけでもなく? http://www.slideshare.net/tricknotes/nodejs-27589695 なども覗いて見たのですが結局わかりませんでした。 結局どういうシーンでの活躍が期待できそうor活躍しているでしょうか? さらっと表面しか見ていない状況での質問で申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

node.jsのサーバー側機能の真骨頂は非同期通信にある。なのでクライアントからのリクエストをボーっと待ってリクエストが来たら1回レスポンスを返して終わり、というようなHTTPではそのメリットは享受できないね。 オンラインリアルタイムゲームとかのサーバーではHTTPなんてまどろっこしい通信はしないわけです。 どんどんリクエストが来てどんどんさばいて裏でも色々計算を実行してなおかつリクエストが来たクライアント以外にも情報を流す(マップ上でのAさんの位置をBさんとCさんに伝えるなど)という事も必要なものを同時にさばくのに適していると言われているね。 実際私もそこまでの規模の開発にnode.jsを使った事がないので本当にそこまでさばける実力があるのかは分からないけど・・・・。

muuming2001
質問者

お礼

ありがとうございます。 やはりhttpだと使う意味はなさそうですね。

関連するQ&A

  • Node.jsでajaxがうまくいかない

    nodejs初心者なのでよくわからずやっていて恐縮ですが、うまくいきません。 https://phpotameshi-hoto345.c9users.io/node-ajax/hello_ajax.html なのですがもともとはphpで送信ボタンを押したときにphpが実行されるものでしたが、これを少し改良してNode.jsでやってみようと思ったのですが、phpと違って <script src="scripts/hello.js"></script> のようにnodejsを読み込んでやれば同じ結果になると思ったのですがうまくいきません。 その前にローカルでもNode.jsは使えるようなので >node test.js Server running at http://localhost:8124/ のようにしてローカルでやってもhttp://localhost:8124/自体は問題なく立ち上がりtest.jsの中身は実行されたのですが、ajaxの方がうまくいきません。 ローカルでのNode.jsもServer running at http://localhost:8124/ となっていればNode.jsのサーバは起動しているので、 ローカルでhello_ajax.htmlを起動して、buttonを押せばajaxもnodejsも実行されるのではないでしょうか?

  • JSその物でサーバサイドのプログラミングが出来る?

    JSその物やtypescriptでもサーバサイドのプログラミングが出来ると思って良いのでしょうか? JSその物nodeやexpressは、全く別の言語と思った方が良いのでしょうか? それともJSその物やtypescriptないしはバベルを学べば、同じ文法同じめどっどを使って、ほぼ同じように、トイアワセフォームやショッピングカートなどが作れるようになるのでしょうか? JSその物やtypescriptでも、nodeやexpressと組み合わせれば、 問い合わせフォームやショッピングカートのサーバサイトのWEBアプリが作れるというような情報をその後見つけました。 私が知識不足でJSその物やtyescriptではサーバサイドのプログラミングは出来ず、NodejsやEXPRESSは、 JSその物やtyescriptとは違う言語のように大きく違う物と思っていましたが、下記をみるとあまり変わらず、 クライアントサイドがJSその物やtyescriptで出来れば、NodejsやEXPRESSを同じように作れるのかもしれませんね。 http://okamuuu.hatenablog.com/entry/2016/02/02/165404

  • JSについて

    フロント>サーバサイドも多少>5年後以降には将来はアプリ制作も考えたいと思っています。 HTML5>CSS3>jQueryとやってきたのですが、その後どう学んでいくか迷っています。 JSそのものの基礎は必須ということで、下記本のJSの部分は全部やろうと思っています。JSそのものの基礎の学習としては十分でしょうか? よく、ライブラリを使うにしても、将来も普遍的なプログラミングの基礎は、生のJSで行わないといけない、その後ライブラリ、フレームワーク、タイプスクリプトを 行うべきだと聞くのですが、下記本のJSの部分がそれに該当すると考えてよろしいでしょうか? よくわかるJavaScriptの教科書 単行本(ソフトカバー) – 2012/3/24 たにぐち まこと (著) 下記サイトで言えば、 初級者の基礎知識 第一章 オブジェクト 第二章 DOMの基礎 第四章 文字列の基本と正規表現 くらいで十分でしょうか? http://uhyohyo.net/javascript/ その後どうするかがわかりません。 候補は下記ですが、 ・リアクト ・メテオ ・タイプスクリプト リアクト、タイプスクリプトはメテオのように、フロントも、サーバサイドも、アプリ製作もできないですよね。 フロント、サーバサイドのみでしょうか? それとも、タイプスクリプトは、ただのメタ言語のようなものなので、サーバサイドもできないでしょうか? また、難易度でいうと、メテオはmysqlは使えずmongoDBでないと使えず、日本語の情報が少ないので一番高いでしょうか? また、ライブラリやフレームワークはころころ変わるので、将来無意味になってしまう可能性が高いので、JSそのものを行わないと、技能として残らないという話もありますが、 JSそのものないしはタイプスクリプトで行わないと、変わってしまった場合に技能として、残るものがないでしょうか? それとも結局メテオなどをやっていればJSそのものを自然に突き詰めていっていくので、 ほかのフレームワークなどに変わっていっても、JSそのものと同じように技能は残ると考えていいでしょうか?

  • ubuntuに入れたhubotが動作しなくなった

    現在ラズパイのiot関連のソフトの勉強として、Nodejs + hubot + slackを使ってみています。 概ねこちらのサイトの内容を参考に勉強しています。 Raspberry PiでSlack Botことはじめ on @Qiita https://qiita.com/tomkimra/items/be33bd27587d3c6eaca5 手持ちのwindowsマシンにoracleのVirtualBoxに入れたUbuntuにNodejsとhubotなどをインストールしていき、slackの自アカウントとの間でping pongを行うことができるようになりました。 ping pongができるようになったので、forever設定 Node.jsでforeverを使ってスクリプトの起動を永続化する on @Qiita https://qiita.com/setouchi/items/0dcc5869e7eb0ab524ea それから、hubot scriptなどをつかってボットっぽい感じの動作をやってみようといろいろとやっていたところ、 $ bin/hubot   このコマンドで起動しようとしても次のようなエラーが出てきて全く起動できなくなってしまいました。 ERROR: npm is known not to run on Node.js v4.2.3 Node.js 4 is supported but the specific version you're running has a bug known to break npm. Please update to at least 4.7.0 to use this version of npm. You can find the latest release of Node.js at https://nodejs.org/ このエラー内容でググってみたところ、まったく同じような現象が起きたとの内容が質問サイトでもみつかりました。 https://www.nnn.ed.nico/questions/4131 現在UbuntuにインストールされているNode.js v4.2.3というVersionが古すぎるために起きている現象の可能性が高いとのことなのですが、Versionのアップデート方法がよくわかりません。 このエラーの解決方法をご教示頂きますよう、よろしくお願い致します。

  • node.jsを始めたいが、うまくできない

    http://libro.tuyano.com/index3?id=1116003&page=3 このページを参考にnode.jsを入門したいと思っています。 node.jsのコマンドプロンプトに「cd Desktop\node.js-sample\」 を打ち込んで、「node sampleapp.js」も打ち込んだのですが、Server running!!はでません。 勿論、Desktop\node.js-sample\sampleapp.jsというふうに設置しています。 Desktop\node.js-sampleではなくC:\Users\***\Desktop\node.js-sample も試しましたが、できませんでした。 node.jsのコマンドプロンプトは、 > cd Desktop\node.js-sample\ ・・・ この状態でとまっています。 何がいけないのか教えて下さい。

  • Node.js を学びたいと思っています。分厚い本

    Node.js を学びたいと思っています。分厚い本もいいですが、 イベントにも出てみたいです。 2013年度のNode.jsについてのカンファレンスやセミナーなどのイベントを ご存知ないでしょうか? 勉強会系 以外でもかまいません

  • node.jsのシェル上で

    コンソール上でnodejsを起動してシェルとしてつかった場合 var x="グローバル変数"; console.log(x); //とするとグローバル変数と出力されます。 さらに console.log(this.x); //とするとグローバル変数と出力されます。 そもそもグローバル変数とはトップレベルコードにおけるオブジェクトのプロパティとあります。 ブラウザだと、トップレベルのスコープで定義した変数は alert(window . variable); でアクセスできます。 ですから、nodeコンソール上で xとっ宣言した変数がthis.xとトップオブジェクトとしてアクセスできることはわかったのですが これをコンソールではなく、jsファイルに描いてそれをnodeコマンドで実行した場合 ~$ node test.js といった具合に実行させた場合 どうも、undefindeと表示されてしまうのです。 これは何が原因でundefinedと出力されてしまうのでしょうか?

  • node.jsでバージョンが出て来ないのは・・

    Bracketsをインストールしたら付いてくるnode.jsですが、 node –v と入力してもバージョンが出て来ないのはインストールが不十分?だからですか? サイトによって記述はバラバラですが$マークとか %マークは必要ですか? 僕の場合先頭が「>」とか「・・・」になっています。

  • Node.jsでいじれる範囲

    こんにちは Node.jsをサーバーにしてwebサイトを作りたいのですが、 あらかじめメモ帳にindex.htmlをつくってnode.jsを経由してブラウザで表示させるのでは、node.jsからそのwebサイトをいじることはできないですよね? メモ帳で書いたものをのせるのではなく、 もっとがっちりとNode.jsからいろいろいじれる方法はないのですか?

  • 外部ドメインjavascriptとの通信

    WebAPIみたいなのを作りたくって、GoogleAdSenseとかを参考に色々やっていました。 そこで、別サーバにあるjavascriptファイルとPHPファイルを通信させて呼び出し元サイトにdocument.writeでデータを埋め込もうとしています。 構成としては、 (1)API呼び出し元サイト:from.html (2)呼び出されAPIファイル:api.js (3)api.jsと通信してデータを渡すphpファイル:sample.php 手順としては、 (1)では、  <script type="text/javascript" src="api.js">  として、APIファイルの呼び出し。 (2)と(3)では、  http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1411752859  を参考に、api.jsからsample.phpを呼び出す。  sample.phpではサーバ内のデータベース検索結果をapi.jsに返す。  受け取った値をdocument.writeでfrom.htmlに埋め込む。 上記の構成・手順で、全て同一サーバ内にあるときにはうまくいっていました。 しかし、from.htmlを別のサーバに移動させて動作させた時、 httpObj.status=0となってしまい、phpからデータが返ってこなくなってしまいました。 自分で調べた所、 ・両方のサーバでApache2は動いている ・<script type="text/javascript" src="api.js">のapi.jsの所は、ちゃんと置かれているサーバのアドレスも含めて書いている(もちろん、api.jsが呼び出すPHPファイル名も) ・from.htmlはhtmlファイルをダブルクリックなどしてるわけではなく、ちゃんとブラウザからHTTPでアクセスしている 「javascript httpObj.status 0」とかでググって出てきた原因を自分なりにチェックしてみたのですが、 中々うまくいかず苦労しています。 できれば具体的にどうすればいいのか教えて頂けると助かります。 宜しくお願いします。