トップページtech
1002コメント339KB

【node.js】サーバサイドjavascript 3【io.js】©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net2014/12/27(土) 18:40:07.70ID:MwQYLNUR
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
io.js - node.js 互換で Joyent の影響からの脱却を目指す処理系
http://iojs.org/
Rhino - JVM上で実行できる処理系
https://developer.mozilla.org/ja/Rhino

io.js の経緯
http://stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js
javascriptはrubyと比較してもかなり速い
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&;lang=v8&lang2=yarv
基礎から学ぶNode.js
http://gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
http://gihyo.jp/dev/serial/01/realtimeweb/0002

前スレ
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1310087535/
0737デフォルトの名無しさん2015/12/31(木) 14:10:11.95ID:628YaKBd
>>736
> V8はマイナーバージョンアップでネイティブモジュールの仕様を変えているわけじゃない。

互換性にはバイナリ互換性含むから
chagelogも見てない素人かよ

io.jsから1年近くsemver続けてきて破綻なんかしてないのに何を言ってんのかねこいつは
0738デフォルトの名無しさん2016/01/01(金) 11:35:59.14ID:EtTkK9Iy
askalog
0739デフォルトの名無しさん2016/01/02(土) 14:17:09.08ID:A3LMxfc2
Nodecipseで起動で以下のエラーが出ます。
Grantfile.jsも選択実行が出てきません。
Nodecipseを普通に使えてる人いますか?

Webstormが年単位になったから切り替えようと思うのですが、しばらく使い続ける事にします。

Contributor org.eclipse.ui.navigator.ProjectExplorer cannot be created.

org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.ui.navigator.resources" was unable to instantiate class "org.eclipse.ui.internal.navigator.resources.workbench.TabbedPropertySheetTitleProvider".
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
0740デフォルトの名無しさん2016/01/02(土) 16:34:49.45ID:YD9LQv7N
>>737
Chromiumの緊急パッチ用に切ってる互換性を保たれた別ブランチを採用しているから上げたように見えて壊れていなかっただけ。
例えば1.10.50まで行ってても急遽パッチが必要になれば1.10.20を元に1.10.51を作ったりもする。
ネイティブモジュールに関してマイナーバージョン間の互換性なんて無い。
0741デフォルトの名無しさん2016/01/02(土) 17:04:02.20ID:5rg+Kthc
>>740
何が言いたいのか分からん
安価ついてるけど会話してるつもり?
0742デフォルトの名無しさん2016/01/02(土) 18:49:26.33ID:Qi2HUBnY
>>741
何が分からんのかも分からん。
因みにio.jsの同メジャーバージョンアップ間では当然互換性は破綻してるよ。
変更がNodeでのバインディングで良く使われる物でなかったことと、
NAN等の推奨により表立って問題になっていなかっただけ。
一番はio.jsが更新の早いそういうものだと思われてたから問題があってもいう人が少なかっただけかもしれないけど。
0743デフォルトの名無しさん2016/01/02(土) 19:30:37.42ID:5rg+Kthc
>>742
だ、か、ら
nodeのメジャーバージョンアップで互換性が保たれてるなんて言ってるレスあるのか?ないだろ
735とか見てみろよ
互換性が壊れるからsemverに従ってnodeはメジャーバージョンアップになるって話なんだがお前は誰と何の話をしてるわけ?????
0744デフォルトの名無しさん2016/01/03(日) 00:15:22.37ID:eafv19qL
electronのmainprocessとrenderprocessの関係って
serverとclientではなくて、renderだけで基本完結させるものなのかな

例えばローカルファイル読むのもrenderer側でrequire("fs")だったりしてびっくりした
mainprocessは閉じるボタン押された時とかクラッシュレポーターとかだけ担当するのであって
アプリはほとんどrendererで書くイメージ?
0745デフォルトの名無しさん2016/01/03(日) 02:18:36.07ID:RaMbkJI7
>>744
remote使ってrendererに重い処理させるのはよくないようだけどね
俺もelectron使い始めたばかりなのでベストプラクティスがよくわからん
atomのソースでも読むしかないかな
0746デフォルトの名無しさん2016/01/03(日) 12:25:18.73ID:T8rePiVl
こいつ説明下手すぎて笑うわ
0747デフォルトの名無しさん2016/01/04(月) 03:47:19.46ID:fAmI3In3
>>1
RPGツクール2000 , RPGツクールMV https://tkool.jp/mv/ ( JavaScript 採用 )

WOLF RPGエディター http://www.silversecond.com/WolfRPGEditor/

デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/
デュエル・マスターズ対戦CGI ex
https://web.archive.org/web/20150809154946/http://www53.atwiki.jp/dmsuishinparty/pages/314.html

デュエル・マスターズ(デュエマ)DM ONLINE 1.8a  /  VanGuard ONLINE 1.5a
https://web.archive.org/web/20150809160254/http://uhyohyohyo.sak ura.ne.jp/hsp.html

ヴァンガード専用ネット対戦ツール【 VanGuard Online 】
https://web.archive.org/web/20150809155032/http://kiimaa.jugem.jp/?eid=61

「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート
https://web.archive.org/web/20150809153724/http://supersolenoid.blog63.fc2.com/blog-entry-6886.html

遊戯王 Automatic Dueling System
https://web.archive.org/web/20150809164855/http://www3.atwiki.jp/ads-wiki/pages/20.html

遊戯王 デュエル・オンライン
https://web.archive.org/web/20150809171527/http://www31.atwiki.jp/vipdo/pages/15.html
https://web.archive.org/web/20140628005202/http://do.yugioh-portal.net/

ウィクロス( WIXOSS ) WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/

BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https://bgengine.net/
https://web.archive.org/web/20151209172205/http://14owl.hateblo.jp/entry/2015/12/09/011234

アプレンティス  マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html
https://web.archive.org/web/20151202202725/http://homepage1.nifty.com/Q_Q/ap.html
0748デフォルトの名無しさん2016/01/04(月) 03:48:27.01ID:fAmI3In3
【 オンラインTCGエディター 】   >>1,>>747

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書け。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストしろ。
個vs個、多数乱戦、チームvsチーム、個vsチームを実現し、P2P通信対戦プラグイン有り。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみろ。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。

エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。

遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。

各社TCGを再現するテストプレイ ⇒ 更に改良や修正 + コード記述の仕様書(設計書)を作成。

機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。

下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。

さ〜て、インド人ベンダーと日本人の翻訳担当SEを見つけよっと!ww
http://wc2014.2ch.net/test/read.cgi/entrance2/1451262577/-16
0749デフォルトの名無しさん2016/01/04(月) 22:16:55.22ID:kstA/+8g
node.jsとpromiseと言うのは
関係ありますか?
関係を教えてください
0750デフォルトの名無しさん2016/01/04(月) 23:00:29.99ID:DgCJKlLV
Node.jsはJavaScriptの実行環境
PromiseはJavaScriptの非同期処理を簡単に扱うためのAPI
0751デフォルトの名無しさん2016/01/05(火) 00:18:01.63ID:lhyUPbMU
>>750
ありがとうございました。
全然関係ないのですね。
0752デフォルトの名無しさん2016/01/11(月) 23:18:44.34ID:JF1HyxgX
            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
0753デフォルトの名無しさん2016/01/12(火) 01:37:16.94ID:u/vfcMzG
エンジニアが細かいことを気にしないと障害が起こって誰かが死ぬ
0754デフォルトの名無しさん2016/01/12(火) 22:40:31.09ID:3cEidpgb
だよなあ

O型は向いてないと思うわ
0755デフォルトの名無しさん2016/01/13(水) 15:26:25.10ID:EVlL5ra0
> O型は向いてないと思うわ
テストも実測もなしにこんなことを言う奴こそ向いてない。
0756デフォルトの名無しさん2016/01/13(水) 21:21:44.69ID:zq5ouCyP
>>754

ナチス・ドイツも人種差別を正当化するために、血液型性格診断を利用していた。
血液型の遺伝の仕組みは当時から知られていたため、「血液型=性格」であれば性格は遺伝で決まることになり、「ドイツ人遺伝子は優秀」だとしたい彼らにとって好都合だった。
1932年にドイツで出版された『血液型便覧』には「ドイツ人に多い血液型」を優れた血液型とし、
「高い知能」「勤勉」などと肯定的なことが書かれ、
一方で「ユダヤ人やアジア人に多い血液型」を劣った血液型として、
「暴力犯罪者」「精神薄弱」「感染に弱い」などと非常に否定的なことが書かれた。

https://ja.wikipedia.org/wiki/%E8%A1%80%E6%B6%B2%E5%9E%8B%E6%80%A7%E6%A0%BC%E5%88%86%E9%A1%9E#.E8.A5.BF.E6.B4.8B.E3.81.AB.E3.81.8A.E3.81.91.E3.82.8B.E9.A1.9E.E5.9E.8B.E5.AD.A6
0757デフォルトの名無しさん2016/01/13(水) 22:15:29.66ID:7oauq+CK
実測なんぞせんでも目の前で起こってるからw
0758デフォルトの名無しさん2016/01/13(水) 22:40:56.15ID:qTkYacNY
人種差別とナショナリズムがくっ付くと殊更ろくでもないなあ
でもそれは印象で語るなって話とはまた別じゃない
0759デフォルトの名無しさん2016/01/14(木) 21:31:05.73ID:PRALxkHk
   彡ノノハミ
   (´・ω・`)


  フ 、((,ノノ 
  ァ 彡'' '`ミ
 ッ  (´・ω・`)

   彡''〃"ミ ファ
   (´・ω・`)  サァ
0760デフォルトの名無しさん2016/01/15(金) 23:00:52.48ID:EE6Qtq5h
Microsoft、JavaScriptエンジン「ChakraCore」のソースコードを公開
http://www.forest.impress.co.jp/docs/news/20160115_739216.html
0761デフォルトの名無しさん2016/01/18(月) 14:10:10.86ID:/Q9nWnZN
>757
「O型は向いてないと思うわ」を導き出せる、どんな事象が目の前で起こったんだ?
0762デフォルトの名無しさん2016/01/18(月) 21:06:59.74ID:d96Hhfeq
バーナム効果(バーナムこうか、英:Barnum effect)とは、誰にでも該当するような曖昧で一般的な性格をあらわす記述を、自分だけに当てはまる性格なものだと捉えてしまう心理学の現象。

https://ja.wikipedia.org/wiki/バーナム効果
0763デフォルトの名無しさん2016/01/18(月) 21:24:10.23ID:8AcTe8kT
プログラマって自分だけは違うと思いたがるんだろうな

凡百の中の一人が大半であっても
0764デフォルトの名無しさん2016/01/18(月) 22:20:19.82ID:GEX2A8Ga
なんとなく達成感が大きい業種かなと思う
単純な製造系に比べると工夫の余地があって「俺すげー」となる
日々金に直結するいやな判断が求められる企画や営業に比べると、安定した単純作業の毎日
0765デフォルトの名無しさん2016/01/18(月) 22:44:05.71ID:wpSvw7So
実際に目で見えるモノを作る法が達成感はでかい。
0766デフォルトの名無しさん2016/01/19(火) 00:21:02.38ID:ehW80mVb
windows版node.jsはchakraでビルドする、とか不吉な事言いそう
0767デフォルトの名無しさん2016/01/19(火) 08:59:18.27ID:hKwHZ0io
>>763
で、アスペが進行すると、プログラムが書けるからといって、世の中のあらゆる
事が出来ると思っちゃうオカシナ人がいるんだよね。その内容は知ったかぶりと
素人の御託ならべた内容で、専門にやってる人間からすると、お笑い種なんだが。
0768デフォルトの名無しさん2016/01/19(火) 15:54:31.64ID:py3nDmvs
あるある
0769デフォルトの名無しさん2016/01/23(土) 17:42:27.54ID:TP8lOr4+
その笑ってた奴らがプログラムに仕事奪われて笑えないことに
0770デフォルトの名無しさん2016/01/23(土) 19:53:38.41ID:kmeCYvLc
自己愛強すぎるのもほどほどにしないとな

プログラム作れないのにエンジニア名乗ってる奴も存在理由疑うけど
0771デフォルトの名無しさん2016/01/23(土) 21:07:20.49ID:pm6Kkpiq
そこまでの人間ならそのまま突き抜けてもらった方が面白そうではある
0772デフォルトの名無しさん2016/01/24(日) 18:25:12.39ID:9CwTt1Sf
ちょっとビルドツールであるwebpackについて教えてほしいんですが
webpackでES6コードを扱う場合で、bootstrap.cssもimportしたい場合どう書けばいいんでしょうか?

app.js:
```
require('bootstrap/dist/css/bootstrap.css');

```
上記のようにrequireを使って書くと動くんですが
ES6の構文で書かないのがちょっと不安です。
そもそもwebpackでjs以外のリソースがどう扱われているのかわからなくて
そこを教えていただけると幸いです。
0773デフォルトの名無しさん2016/01/24(日) 20:31:12.68ID:0R1q1TUN
扱いは指定したLoader次第じゃねえかな
style-loaderやcss-loaderを使ったサンプルはググればゴロゴロ出てくるよ
俺は使ってないから知らんけどBootstrap専用のLoaderもあるかも
0774デフォルトの名無しさん2016/01/28(木) 23:45:17.73ID:XtNe+k69
Microsoft、Node.jsにEdge JSエンジン対応コードの取り込みを依頼
http://news.mynavi.jp/news/2016/01/25/197/
0775デフォルトの名無しさん2016/01/29(金) 11:38:37.10ID:dImR+eZj
やるとおもった。選択肢があるのはいいことだ、とかいう人もいるけど、俺はいらんかな。余計な選択肢はまたforkされる未来しか見えん
0776デフォルトの名無しさん2016/01/29(金) 18:24:54.32ID:OC0x4uOh
>>774
これはひどい
0777デフォルトの名無しさん2016/01/30(土) 01:41:09.26ID:1oljgPJ8
WEB+DB PRESS vol.90 (2016)に、
Electronで、Windows, OS X, Linux用の、
HTML5デスクトップアプリを作る記事が載っている

JSの実行エンジンは、Node.jsで、
HTML5の実行環境は、Chromeのオープンソース版のChromium。
アプリに、これら2つを内蔵して配布する

Electronは、Atomエディタ、Visual Studio Codeで使われている

ローカルファイルにもアクセスでき、
OS内の別のアプリも起動できる・連携できる。
Drag & Drop, Clipboard も使える

Babelを使って、ECMAScript2015(ES6)でも書ける。
ReactのJSXも、Babel, gulp で変換できる。
AngularJSも使える

GUIは、jQuery UI、Reactなら、Material UI などを使って
0778デフォルトの名無しさん2016/01/30(土) 10:34:03.97ID:eJpLCaMd
これでVisual StudioでNode.jsの開発ができてエンジニアが増えて用途が拡大しそう
0779デフォルトの名無しさん2016/01/30(土) 12:43:38.70ID:0BVRX2pE
>>777
node-webkitと何が違うの
0780デフォルトの名無しさん2016/01/30(土) 17:50:32.90ID:xubvFco3
>>779
http://electron.atom.io/docs/v0.36.5/development/atom-shell-vs-node-webkit/
0781デフォルトの名無しさん2016/01/31(日) 22:26:55.16ID:XtuwCuu8
Chromiumを起動してその中でnodejsが動いている→NW.js(node-webkit)
nodejsを起動してその中からChromiumを実行する→Electron

あんまり違いがないように見えるよな
ところが、Chromiumが落ちたときNW.jsだと全部あぽーんする
ElectronだとChromiumが落ちてもメインプロセスが残ってる
なのでデータ管理をメインプロセスでやってたら、リカバリーできるのだ

ElectronでもChromiumの中でロジック組んだら意味ないけどな!
だからElectronの場合、ChromiumをViewとして使うのがいい
0782デフォルトの名無しさん2016/01/31(日) 22:31:39.82ID:qBSYaDWE
>>781
御意
0783 【ぴょん吉】 2016/02/01(月) 15:01:50.82ID:C4njzqYk
>>781
なるほど
2chにしてはめずらしくまともな返事もらえてうれしい
0784デフォルトの名無しさん2016/02/03(水) 11:05:20.32ID:iTeEw9tj
Electronというものを使うと、node.jsで単体アプリを作れるとの事ですが、
例えばWebサーバを必要とするようなものも作れますか?


localhost:80にコールバックするAPIを用いてウェブでは開発してるのですが
Webサーバが必要になるので、これを単体アプリ内に含められるといいなと
思うのですが。
0785デフォルトの名無しさん2016/02/03(水) 12:51:52.67ID:5/pxQ4tU
アプリ無いでwebsocket
0786デフォルトの名無しさん2016/02/03(水) 13:11:24.50ID:RekMB9Ax
>>784
http://qiita.com/makotot/items/8e6683c12025ea525fdf
上記でexpressを内部で使ってるアプリを書いているみたいです
0787デフォルトの名無しさん2016/02/03(水) 13:30:14.60ID:iTeEw9tj
>>785
>>786
いいですね。コレ。

これでローカルでGoogle Execution APIを使ったアプリが作れそうです。
0788デフォルトの名無しさん2016/02/03(水) 21:26:41.15ID:enYA5565
Reactのサーバーサイドレンダリング触ってるんだけどpromise内でコンポーネントのsetStateやる方法わかる人いる?
0789デフォルトの名無しさん2016/02/04(木) 02:35:45.55ID:/kC/UVZw
>>788
自己解決
アロー演算子でthis使えるようにすりゃ終わりだった
0790デフォルトの名無しさん2016/02/06(土) 18:47:13.72ID:fazvGls3
Juno って Electron で動いとったんか
このスレ見てなかったら気付かなかったわ
みんな有賀d
0791デフォルトの名無しさん2016/02/20(土) 16:40:49.34ID:mUUTz7yX
Electronといえば確か中身Chromiumなんだよね
描画したWebページ見ながらDOMAPI使えたらパースなんかは便利そうだな
0792デフォルトの名無しさん2016/02/22(月) 09:14:29.02ID:GAqrdc9h
質問です。

electronでアプリを作っていますが、Node.js側での結果をHTML側へ通知したい
のですがどのようにしたら良いでしょうか?

alertだとエラーになってしまうので。
0793デフォルトの名無しさん2016/02/22(月) 16:54:52.78ID:mrI8Igvn
ipcMain,ipcRendererを使う
アラートを表示したいだけならdialogも使える
0794デフォルトの名無しさん2016/02/22(月) 16:57:12.75ID:GAqrdc9h
>>793
ありがとう。無事に実装できた。

これで、サーバ側とクライアント側とで自由にデータのやり取りが出来る。
0795デフォルトの名無しさん2016/02/28(日) 11:19:04.29ID:Sjjq4G7s
index.jsにコードを書き、index.htmlから読み込んでプログラム作っていますが、別にあるsecret.jsonというファイルをindex.jsから読み込ませています。

この時、secret.jsonはユーザに見せたくないのですが可能ですか?

index.jsを秘匿することは出来ないとしても、このsecret.jsonファイルをユーザがダウンロードしたり、中身を見られるという事であれば、phpにしようと思っているのですが。
0796デフォルトの名無しさん2016/02/28(日) 12:00:26.16ID:TgU16/Zq
スレ違いっぽいけど
クライアント側で動くjsだと不可能
0797デフォルトの名無しさん2016/02/28(日) 12:04:53.86ID:owgscgJU
そこを何とかするのがこのスレ、サーバーサイドjavascriptなわけだな
0798デフォルトの名無しさん2016/02/29(月) 08:33:22.00ID:2WZsxuUY
>>797
index.jsはnode.jsのプログラム書いてあるんですけれど、secret.jsonはユーザに見られたくないので
なんとかしてください。
0799デフォルトの名無しさん2016/02/29(月) 12:05:56.52ID:r8kvzVRF
index.jsをindex.htmlから読み込ませるなら実行するのはNode.jsじゃなくてブラウザだよ
何か根本的な部分で勘違いしてるんだと思うけど
0800デフォルトの名無しさん2016/02/29(月) 14:21:33.88ID:GBRwMhmX
>>798
なんとかしてくださいなんて
他力本願の極みだな。
0801デフォルトの名無しさん2016/02/29(月) 16:19:31.31ID:2WZsxuUY
>>799
でも、index.jsを読み込まないと、index.html側から、node.js側に何か送ったりとかできないですよね?
0802デフォルトの名無しさん2016/02/29(月) 17:10:38.21ID:TGwhYn6O
まったく話が分からんが、
ブラウザーからリクエストが来たらindex.htmlの内容を返す処理をindex.jsに書いてるのなら
secret.jsonの内容を返す処理を書かなければいいだけ
0803デフォルトの名無しさん2016/02/29(月) 18:35:57.39ID:r8kvzVRF
npmのリリースノートでgitbashが匙投げられてて笑った

>>801
それならindex.jsはnode.jsのプログラムじゃないじゃん
エスパーすると、要するにサーバーに置いてある.jsonの一部の値だけを
ブラウザで実行するJavaScriptから参照したいってことだよね
ならindex.jsを出力する際に.jsonを読み込んでオブジェクトにパースして値だけ埋め込むか
.jsonの一部の値を返す簡単なAPIサーバー立ててindex.jsからXHRするのが無難
あと書くのがPHPでも基本的にやることは一緒だよ
0804デフォルトの名無しさん2016/03/01(火) 09:54:27.44ID:aiEEtGsc
>>803
すみません。もう一度まとめます。

index.htmlというファイルが別にあります。これはクライアントに表示するGUIを担当
index.jsはNode.jsのプログラム本体

secret.jsonはGoogleのOAuth認証をする為のClient_Secretが入ってるので、ユーザ
からは見えないように死体。

クライアントのindex.htmlからボタンを押すと、index.jsはsecret.jsonを元にgoogleの
鯖と認証して、Googleの各種サービスの問い合わせを実行し、値をindex.html側へ
返すというものです。

PHPだとパーミッション644にしておくと、index.htmlから問い合わせをしても、プログラム本体
や付属品はダウンロードとかは出来ないですが、問い合わせはできるし値も返って来ると
思うのですが、node.jsでも同じなのかなと。

※ただこの時、index.htmlはindex.jsをheaderで参照させておかないと、node.js側に対して
問い合わせ(例えばipcやremoteなど)出来ないのかなと思って。
0805デフォルトの名無しさん2016/03/01(火) 12:02:29.57ID:2ucClJvD
>>804
サンプルでもなんでも、ちょっと動かしてみればイッパツで解決すると思うのだが………
0806デフォルトの名無しさん2016/03/01(火) 12:25:48.87ID:dpUmFN1u
index.jsという名前が紛らわしいからまずそこから変えよう
0807デフォルトの名無しさん2016/03/01(火) 12:59:51.02ID:GxM4/6rD
>>804
クライアント(ブラウザ)とサーバー(Node.js)で
同じindex.jsファイルを使えると考えているのが混乱の原因かな
Node.jsで動作するOAuth処理して値を返すAPI(の.jsファイル)と
ブラウザで動作するAPIとやり取りするための.jsファイルにわければいいよ
0808デフォルトの名無しさん2016/03/01(火) 13:03:37.69ID:GupL3NAd
>>804
client secretはそもそも、秘密鍵ではないよ。
the client_secret is obviously not treated as a secret.
ってドキュメントに書いてあるはず。グーグルの。
webならちゃんと自分の所にリダイレクトさせて着地させた時点でそいつを有効にしてやるくらいじゃ無いの?
0809デフォルトの名無しさん2016/03/01(火) 13:58:26.08ID:pcZdsVA3
node.jsって1webアプリケーションに1ポート割り当てるんですよね?
urlとかも
app1.example.com:10000
app2.example.com:10001
みたいになるんですか?
0810デフォルトの名無しさん2016/03/01(火) 15:04:45.88ID:GupL3NAd
>>809
そのままだとなるけど、nginxかなんかでリバースプロキシさせるのが一般的では?
0811デフォルトの名無しさん2016/03/01(火) 15:34:29.28ID:Uurawcsy
node.js単体でもHost:ヘッダ見ればいいだけ
Expressならvhostミドルウェア使えばおk
0812デフォルトの名無しさん2016/03/01(火) 15:34:44.40ID:pcZdsVA3
>>810
なるほどー
ひとつ疑問がとけました
ありがとうございます
0813デフォルトの名無しさん2016/03/01(火) 19:53:05.59ID:GupL3NAd
>>811
同じポートでlisten出来るわけでもないし、結局、振り分ける子を作るはめになるだけでは?
違う意味合いのWebアプリを同じVMにつっこむのもナンセンスだしパフォーマンス出ないし。
0814デフォルトの名無しさん2016/03/01(火) 20:42:57.82ID:Ro7xkzFn
>>813
同じポートでistenできる
Host:ヘッダを使った仮想ホストはHTTPの基本だからもっと勉強した方がいいね
0815デフォルトの名無しさん2016/03/01(火) 22:39:44.65ID:GupL3NAd
>>814
へえ、そりゃ知らなかったよ。単純に不勉強だったな。
3.9からか。結構前だな。
EADDEINUSEが帰ってこなくなってて、誰でもaccept出来るとは。
0816デフォルトの名無しさん2016/03/01(火) 23:32:44.99ID:Ro7xkzFn
>>815
書き方が悪かったかな、そんな話じゃなくて1つのプロセスで1つのポートしか使わなくても>>809はできるってだけ
apachやnginxで当たり前な仮想ホストはnodeでも当たり前に使える
Expressのvhost(今は独立したモジュール)見るといいよ
拍子抜けする単純なことだから
0817デフォルトの名無しさん2016/03/02(水) 12:47:08.28ID:+uf2viIf
>>816
だから、あのさあ。。。

ひとつのプロセスだとパフォーマンスの頭打ちとか、一人死んだら皆殺しなのかとか、そもそも違う意味のWebアプリを一つのアプリからrequireしてルーティングとかナンセンスじゃんとか、振り分ける部分の自作が必要じゃんって言ってるんじゃん。
host見れば一発、中でルーティングすれば一発、って何の解決でもないよ。
このディレクトリはスタティックなファイルで別サーバから配信とか、そこまで考えたら非効率すぎるでしょ、そのWebサーバもどき。

単にhttpのヘッダのhost見るならそんなのperlで作ったサーバでも出来るよ。それでもハンドラ作るけどね。
書き方の問題ではなくて、お前さんがWeb向いてないんじゃないの?
0818デフォルトの名無しさん2016/03/02(水) 13:23:54.89ID:Qztowybk
>>817
俺はお前と会話を始めたわけじゃない
>>809に対してnode単体でもポートを分けなくていいという答えを示しただけ
パフォーマンスどうこうはお前が言い出したことで元の質問にはない
そもそもサーバわけないといけない前提なら>>809の問いが出てこないだろ
お前の文脈をデフォルトにするな
0819デフォルトの名無しさん2016/03/02(水) 13:24:24.99ID:lpHNCcBC
Expressの説明がGithubのソースに丸投げすぎて上級者向けすぎてもう無理だわ。
さらばnode.js、君はドキュメントが少なすぎる!
0820デフォルトの名無しさん2016/03/02(水) 13:31:13.40ID:4yZIrRja
>>819
まぁ、他でも なんか知ってること前提に書かれてるような資料ばっかりだしね。

このままだとPHPには勝てないね
0821デフォルトの名無しさん2016/03/02(水) 14:49:36.71ID:ayi7+NDd
PHPユーザーが流入するくらいなら
負けたままで良い
0822デフォルトの名無しさん2016/03/02(水) 15:32:47.59ID:WgXtTDug
オープンソースのってどれもドキュメントは残念だよ。
皆さんコードを書くのは好きだがドキュメントを書くのは嫌いです。
俺もw
0823デフォルトの名無しさん2016/03/02(水) 16:31:23.23ID:qU9Vs6WI
件のVirtualHostもHTTPD触った経験がないと引っ掛かりどころ多そうだな
0824デフォルトの名無しさん2016/03/02(水) 16:38:05.97ID:l8XWQooj
>>818
否定されて悔しいのはわかるけどさ…。
パフォーマンスがどうのとかとかではなく、それじゃ原題に戻るけどさ。
その論調だと、1webアプリケーションに1ポート割り当てるんですよね?
にはYESなんじゃないの?

2Webアプリケーションは2ポート。
一つのポートで2つのwebアプリケーションをホストするなら、それはもう統合された同じプロセスを共有する1つのWebアプリケーションじゃん。

そもそも元の質問に無いだろうけど、俺はレスに対してレスしてるんだから、それを無かったことには出来ないんじゃないの?
0825デフォルトの名無しさん2016/03/02(水) 17:18:33.55ID:Qztowybk
>>824
> その論調だと、1webアプリケーションに1ポート割り当てるんですよね?
> にはYESなんじゃないの?

いいや
(2ポート使わなくても)node.js単体でもHost:ヘッダ見ればいいだけ
という意図で書いた

> 一つのポートで2つのwebアプリケーションをホストするなら、それはもう統合された同じプロセスを共有する1つのWebアプリケーションじゃん。

んなこたーない
たとえばJavaでは一つのポートを使う一つのプロセス(Tomcatとか)に複数の「Webアプリ」(Warファイルにアーカイブされる)を配備する
RubyのRackでもpowのように複数のRack(Rails含む)アプリを同一ポートで動かす形態のものがある
powは開発用だけどな
繰り返すが元の質問はパフォーマンスの話なんかしてないし本格的なプロダクション用途に限定もしていない
もしpowのような開発用の回答であっても「お前」に否定される筋合いはない

> そもそも元の質問に無いだろうけど、俺はレスに対してレスしてるんだから、それを無かったことには出来ないんじゃないの?

日本語の文章として意味が分からない
「それ」はいったい何を指してるんだ?
いや、別に続けたくないから説明いらんけどな
俺とお前は別の話をしてたってだけだ
0826デフォルトの名無しさん2016/03/02(水) 21:10:39.02ID:l8XWQooj
>>825
だからさあ。JavaもRubyもForkしてんじゃん。
プロセス空間とかわかんない人だな。
0827デフォルトの名無しさん2016/03/02(水) 22:54:07.97ID:wLnlqfO+
>>826
わかってないのはお前だよ…
Java(Tomcat)は「一つのプロセス」で複数アプリ(War)を配備できるって書いただろが
forkしないんだよ、「1プロセス」だ
これの9ページまで見てみ
http://www.slideshare.net/Enpel/2-tomcatweb-2-tomcat1
「Server」とか「Tomcat自身」って箱が1つのプロセスだ
0828デフォルトの名無しさん2016/03/02(水) 23:35:47.58ID:+sgxG0Uf
モバイル回線しか無いので共通のプロジェクトで使うパッケージをglobalにインストールして節約してるんですが
globalのパッケージがあるときはlocalにインストールさせたくないんですがpackage.txtにどうやって書けばいいですか?
0829デフォルトの名無しさん2016/03/03(木) 01:00:27.61ID:q9SbQ8NH
>>828
少し違うがnpm install --linkは?
全部globalに入ってローカルにnpm linkしてくれる
npmはキャッシュするから同じバージョンのパッケージを何度も取りに行かないと思うけどやっぱ重いもんなん?
0830デフォルトの名無しさん2016/03/03(木) 08:49:55.09ID:sDd8C7iY
質問です。

Electronでnode.jsの他のモジュールも参照してプログラムを作ってるのですが、パッケージ化すると
動かなくなります。
で、index.jsと同じフォルダにnode_moduleをコピーしておくと動くのですが、パッケージ化する時に
自動でこういう作業ってやってくれないものなのでしょうか?

それとも、package.jsonのdependenciesに書いておくと、拾ってきてくれるのでしょうか?
0831デフォルトの名無しさん2016/03/03(木) 15:14:04.74ID:JTIZVg26
>>827
スレッド()で処理するのかぁ
0832デフォルトの名無しさん2016/03/03(木) 16:04:28.45ID:3BAfBOsd
>>831
ID:l8XWQooj と同じ人ではないよな?
0833デフォルトの名無しさん2016/03/03(木) 16:15:57.96ID:36qgesZJ
そして一人死んだら皆殺しである
0834デフォルトの名無しさん2016/03/03(木) 19:42:28.59ID:bxALzFAk
一人死んだら同じプロセスのリクエスト皆殺しなのはNodeも同じやで
例外吐いてもスレッドの根元で拾えるマルチスレッドよりNodeの方が脆いんやで
0835デフォルトの名無しさん2016/03/03(木) 20:31:24.00ID:VvymhbOs
Nodeはネイティブプラグインのせいで簡単に逝くしなあ
0836デフォルトの名無しさん2016/03/03(木) 21:40:55.97ID:FR/sSgT8
あるある
だからネイティブは可能なら避ける
JSの代替が多少遅くても
■ このスレッドは過去ログ倉庫に格納されています