【node.js】サーバサイドjavascript 5【Nashorn】

1デフォルトの名無しさん2018/02/13(火) 22:21:33.91ID:moEhrPrC
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
ayo.js - node.js 互換で Rod の影響からの脱却を目指す処理系
https://github.com/ayojs/ayo
Nashorn - Java8 からRhinoに代わって同梱されているJavaScriptエンジン
http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-JA17-Nashorn.pdf

ayo.js の経緯
https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310
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 4【io.js】
http://mevius.5ch.net/test/read.cgi/tech/1460359714/
【node.js】サーバサイドjavascript 3【io.js】
http://echo.2ch.net/test/read.cgi/tech/1419673207/
【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/

225デフォルトの名無しさん2018/08/23(木) 23:34:47.51ID:p0u00SDp
Node.js超入門は読んだけどこれ読んだだけだとNode.jsを使うアドバンテージなんて得られないと思う
素直にPHPかRubyでも使ってた方がいいんじゃないかってレベル

ちゃんと使おうと思うなら実践Node.jsプログラミングくらいを読んだ方がいいと思う

226デフォルトの名無しさん2018/08/23(木) 23:51:23.31ID:AuVZlFM/
.NET Coreが最近快適すぎて

227デフォルトの名無しさん2018/08/23(木) 23:51:55.65ID:GEXgWULo
>>221
2ちゃんねるがこんなに高尚なコミュニティーだとは知らなかった

228デフォルトの名無しさん2018/08/23(木) 23:58:21.87ID:x1LmQtTu
MSの環境に慣れたらもう戻れない

229デフォルトの名無しさん2018/08/23(木) 23:59:41.31ID:E5h4CmTu
何日くらい回答なかったらマルチポストしていいんだろうかって悩むことはある

230デフォルトの名無しさん2018/08/24(金) 00:17:51.60ID:+eNrM5zE
>>229
そんなもんでいちいち悩まずマルチすりゃあいいんだよ。
ここは罵詈雑言、煽り上等、虚実混交の2ちゃんねるだ。
難癖付けられたら華麗にスル〜

2312242018/08/24(金) 01:25:32.83ID:ZgK6e0Tb
結局、掌田津耶乃の「Node.js超入門」「Python Django 超入門」を読んでも、触り程度。
本格的な勉強は、Python, JavaScript で、悪戦苦闘していじくりまわすしかない

それならRuby で、Sinatra をいじくりまわす方が簡単。
難しい言語のフレームワークをいじくりまわすのは、時間を損する

232デフォルトの名無しさん2018/08/24(金) 08:00:14.19ID:q0UJEScu
マルチしても良いけど、全部で言い方変えるのと、
全部の回収するのは徹底してほしい。

233デフォルトの名無しさん2018/08/24(金) 13:05:33.08ID:ZVlysGry
>>224
掌田 ω
Rails ω

234デフォルトの名無しさん2018/08/24(金) 14:45:41.42ID:ZgK6e0Tb
世界中で、すべての主要言語のフレームワーク・ゲームエンジンの本を書いたのは、掌田だけ!

235デフォルトの名無しさん2018/08/24(金) 21:21:20.94ID:FSpmxK6R
昔ニフティーフォーラム会議室ってあったよなあ
マルチポスト探し出して投稿者を糾弾することを生きがいにしてたような奴がいたなあ

236デフォルトの名無しさん2018/08/24(金) 23:42:17.90ID:Y6g05Ur0
Nashorn生まれてすぐ脂肪www
憐れwwwww

237デフォルトの名無しさん2018/08/25(土) 12:44:20.44ID:00w/RGH3
>>217
resultをコールバックの中で取得してるよね?
コンセント刺さってる?レベルの質問で申し訳ないが

238デフォルトの名無しさん2018/08/25(土) 13:24:10.85ID:FL+uDwnj
Japはケチでロクなもんじゃないな
意地悪で陰険

239デフォルトの名無しさん2018/08/25(土) 13:25:10.28ID:00w/RGH3
>>238
急だな

240デフォルトの名無しさん2018/08/29(水) 19:58:20.44ID:tqG09mle
babel-upgradeで楽できるかと思いきやstage-*の中身を個別に書き足さなきゃ行けなくてしんどい

241デフォルトの名無しさん2018/08/30(木) 21:03:45.27ID:1rD3/Svv
Chromeの低速時JavaScript無効化はブラウザ側jsだよな
node.jsへ誘導する為の動き

242デフォルトの名無しさん2018/08/31(金) 02:58:42.50ID:rrTM/UB7
>>241
マルチ乙

243デフォルトの名無しさん2018/08/31(金) 05:29:56.60ID:J05bSyHo
サーバーサイドの意味を全く理解してないなこのマルチ

244デフォルトの名無しさん2018/08/31(金) 06:34:19.56ID:ohwMH4+4
さすがに釣りだろう

245デフォルトの名無しさん2018/09/09(日) 01:50:35.75ID:0bXk8YdS
無名関数の req, res, に続く3番目の「next」ってなんなんですか?
「next()」を実行すると、次の処理が行われるって言うけど
「次の処理」が何なのかわからないかからよくわかりません。
nextで次に何が呼ばれるか確かめる方法ってありますか?
あとexpressには routesとviewのフォルダしか無いけど、
モデルクラスの定義ってどうやるの?
クラスを定義してオブジェクト指向をやろうとすると、
メンバ変数への値の格納や参照に「this」を使うけど、
JavaScriptの「this」って無名関数のなかだと違う意味になるし、
非同期処理だかthisに格納した値を生成したインスタンスから取り出そうと
思っても格納されていない。
無名関数内でメンバ変数に格納するという作業が後回しになって、
インスタンスからメンバにアクセスして値を取得するコードが
先に実行されてるからだと思う。
Promiseとか使ったけどこのメンバ変数への格納だけはうまく行かなかった。
というのはインスタンスのnewが関数実行じゃないから、
コンストラクタは返り値としてオブジェクトをreturnするわけじゃないだろ?
通常の関数のreturnが非同期でうまくいかない問題はPromiseで
解決できたけど、インスタンスのnewを非同期で成功させる方法がわからない。
node jsで無名関数を使わない処理なんてほぼ無いと言っていいから、
このままだとインスタンスを生成してクラスに処理を委託することができない。

246デフォルトの名無しさん2018/09/09(日) 02:07:58.37ID:ytcgsCFj
ドキュメント嫁

247デフォルトの名無しさん2018/09/09(日) 02:14:44.05ID:rd2vglUK
今北産業

248デフォルトの名無しさん2018/09/09(日) 09:50:06.93ID:4j2Kj4Fd
reqに入れれば次のミドルウエアなりなんなりで読めるっしょ。

249デフォルトの名無しさん2018/09/09(日) 11:22:54.87ID:kzlGF2pO
メソッドチェーン

250デフォルトの名無しさん2018/09/09(日) 17:30:53.56ID:0ym3cmgA
JavaScript のthis は、文脈依存だからバグる。
jQuery, Haxe では、this を変えてる

だから事前に、this を取っておく。
変数 = this

フレームワークは最初に、無料のRails チュートリアルをやった方が、わかりやすい

Node.js超入門、掌田津耶乃、2017

251デフォルトの名無しさん2018/09/09(日) 17:57:43.82ID:4SlBIw2j
var that=this
先輩がよく書くこれが何の事か理解するのに半年かかった。

252デフォルトの名無しさん2018/09/09(日) 21:09:26.80ID:4j2Kj4Fd
>>250
またRails語の布教してるの?
次世代言語スレで叩かれて学習しただろう?

253デフォルトの名無しさん2018/09/09(日) 22:13:11.20ID:XVLphpcz
クラスのコンストラクタでasync await使えるようになってほしい

254デフォルトの名無しさん2018/09/10(月) 11:08:22.30ID:wQh8RVrU
>>252
x Rails語の布教
〇 掌田津耶乃の宣伝

255デフォルトの名無しさん2018/09/10(月) 18:56:16.28ID:xy7pEog1
本人定期

256デフォルトの名無しさん2018/09/11(火) 13:46:36.75ID:pwo3DQbp
布留川英一の本っていいの?

257デフォルトの名無しさん2018/09/11(火) 17:13:33.45ID:je6kVHqj
ここに関係ある本なんて出してた人だっけ?

258デフォルトの名無しさん2018/11/09(金) 12:24:29.99ID:fHYOMbmE
Promiseの再帰について質問です
やりたいことは、フォルダの中を再帰的に掘って見つけたファイルを配列に入れて返す、です
フォルダの深さやファイル数は不確定です

1フォルダの中身をループでひとつずつ見ていって
 ファイル・フォルダか判定し
  ファイルなら返す配列に入れる
  フォルダなら再帰
   返った配列を、返す配列にconcat

とする再帰関数を作れば良いと考えたのですが
この再帰関数自体と、ファイル・フォルダ判定が非同期なので、全部堀り終わったかわかりません

そこでループの中身をまるっとPromiseにして、仮配列に貯めておき
最後にPromise.allで実行する、としているのですが、なんか回りくどい気がします
考え方は正しいでしょうか?
https://jsbin.com/rocebihipo/edit?js

2592582018/11/09(金) 12:25:11.79ID:fHYOMbmE
スレ違いだったらすんません

260デフォルトの名無しさん2018/11/09(金) 12:41:54.63ID:gpiLPqbS
statSync

261デフォルトの名無しさん2018/11/09(金) 14:55:23.41ID:9TLjX86J
あるいは再帰関数内でasync-await使えばいいんじゃない
どっちによ最初の関数が終了するかpromiseがresolveすればそれが完走判定になる
素直にnpmから同じことをやるモジュール拾って使ったほうがいいと思うけど

2622582018/11/09(金) 15:04:40.93ID:fHYOMbmE
あざます

>>260
同期ならふつうの再帰関数になるので
数が少ないうちはそれでも良いかなと考えてます

>>261
なるほどー

263デフォルトの名無しさん2018/11/09(金) 23:15:09.16ID:11OK0uj5
files = [ ]

Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する

files.push full_path
end

puts files

Ruby なんて、これだけ。
glob に、** で再帰する。glob star

ただし、. で始まる、directory, file を除く

264デフォルトの名無しさん2018/11/10(土) 00:00:53.51ID:jxhvzDRc
rubyをすべてのスレで非表示推奨

265デフォルトの名無しさん2018/11/10(土) 13:44:39.63ID:KutuN/gN
同意せざるを得ない

266デフォルトの名無しさん2018/11/10(土) 22:54:16.36ID:uI2sCS6p
find ./ -name "*.txt"

find なんて、これだけ。

267デフォルトの名無しさん2018/11/20(火) 11:26:56.53ID:uxKeWy0p
ウインドーズ環境でnode.jsでcon.拡張子 みたいなファイル作ったら消せなくなるな。
いろいろ調べてやってみたが全部のほうほうで消せなかった。
消せなくなる勇気があればやってみてほしい。

268デフォルトの名無しさん2018/11/20(火) 12:46:58.78ID:ZfASh1x8
管理者でコマンドプロンプト開いて
rd /s "\\?\フォルダ名"

269デフォルトの名無しさん2018/11/28(水) 21:53:23.10ID:ndifwdFb
visual studio 2017ってnode.jsは自分でダウンロードして
インストールする必要があるの?

270デフォルトの名無しさん2018/11/28(水) 23:24:27.79ID:C4pMtE3c
>>269
もち

271デフォルトの名無しさん2018/11/28(水) 23:42:01.46ID:LGvbReX9
vs17?vscodeじゃなくて?

272デフォルトの名無しさん2018/11/29(木) 00:45:45.96ID:eqpLvbYV
>>271
VS2017でもnode.js開発できるよ

273デフォルトの名無しさん2018/11/29(木) 01:11:01.78ID:rs9fzmaE
日本語通じてない感やばない?

VS2017はインストール時にNodeを一緒にインストールするか選べる

274デフォルトの名無しさん2018/12/02(日) 18:17:04.36ID:r/YV3Hmh
農奴はオワコン

275デフォルトの名無しさん2018/12/02(日) 19:49:58.35ID:hHHhmr7T

新着レスの表示
レスを投稿する