【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/
202デフォルトの名無しさん
垢版 |
2018/08/23(木) 12:21:10.84ID:4+C+OXJA
マルチポスト高校生に束になってもかなわない自称プログラマー達www
有能な若者に嫉妬なんかしてないで自分たちの心配した方がいいんじゃないの?www
2018/08/23(木) 12:30:20.77ID:NPcuqlt3
これ本人だとしたら相当病んでるな
2018/08/23(木) 12:50:55.09ID:kZnXG8MX
おれはマルチポスト君は変なこと言ってないと思うぞ。物言いはムカつくがw
>>203
お前の方が相当病んでるぞ
2018/08/23(木) 12:55:20.68ID:NPcuqlt3
こりゃ完全な病気だな
206デフォルトの名無しさん
垢版 |
2018/08/23(木) 13:00:07.47ID:4+C+OXJA
高校生にボコられて発狂中www
2018/08/23(木) 13:08:24.14ID:NPcuqlt3
はいはい。良かったねw
208デフォルトの名無しさん
垢版 |
2018/08/23(木) 13:12:44.35ID:29gBK1aD
レベルが同じすぎて草
2018/08/23(木) 13:17:21.85ID:NPcuqlt3
ID変えるほど落ちぶれてはいないがな
210デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:11:58.49ID:zcVFY2eP
マルチポストの件でスゴイ荒れてますけど、
僕の書き込みは、173が最後なので、その後の口論みたいなのは僕じゃないです。

ちなマルチポストが駄目って事は1ヶ月前に2chで教えてもらいました
だからもうマルチポストをするつもりはないです
2つのスレッドで報告したのは2つのスレッドで色々教えてもらったからです。
でも途中から見た人にはマルチポストに見えたかも知れません
すいませんでした
2018/08/23(木) 16:20:21.86ID:SHqa2C3g
よしジジイども、何が何でも叩け
ジジイのプライド見せてやれ
212デフォルトの名無しさん
垢版 |
2018/08/23(木) 16:29:22.48ID:+UveuQfQ
>>210
荒れるから酉つけろ
2018/08/23(木) 17:38:20.56ID:NMWQFTIr
ってかDBの方で設定してる最大のコネクションとコアは何本と何個なの?
そっちが問題だろ。
問題のクエリを何端末か開いて叩いてみればいいじゃないか。
別のメソッドは返事してくれてるんだから、nodeで何かする問題でもなかろう。
2018/08/23(木) 19:32:08.14ID:4Ni+ZJQh
>>210
マルチポストがなぜ駄目かの質問書き込みは私です
あらぬ疑いをかけられた様で申し訳ないです
マルチポストが駄目と言われたそうですが、もし理由があったなら教えてもらえないでしょうか
2018/08/23(木) 19:39:58.78ID:S737Skjm
>>214
Wikipediaの理由ひとつひとつに論理的に反論してみ
2018/08/23(木) 20:05:35.05ID:4Ni+ZJQh
>>215
>>186
217デフォルトの名無しさん
垢版 |
2018/08/23(木) 20:43:16.58ID:n9wdMl+k
実行するSQLをログで履いて、それを
コピーして手動でDBでSQL実行すると
意図通り4件のレコードが取得できるのに、
nodejsで同じSQLを実行するとresultオブジェクトの
行数が0件なのは非同期処理関係ありますか?
因みにresultオブジェクトは正しく取得できて
いてDBのテーブル名やカラム名情報は
取得できているから接続には問題がない。
一応、結果として返されてはいるのに、
何故か手動の時と結果の内容が違う。
2018/08/23(木) 21:33:44.64ID:AuVZlFM/
>>216
ひとつひとつに論理的に反論してみ
2018/08/23(木) 21:36:08.48ID:NMWQFTIr
>>217
件数が異なるのに、なんで「resultオブジェクトは正しく取得出来てる」と思えるの?
正しくないじゃん。

nodeでクエリ投げるユーザと、手動で実行するユーザは同じなの?
そのDBやテーブルでSELECTをGRANTしてないとかそういう話ではないと切り分けしてる?
2018/08/23(木) 21:45:16.98ID:6IqyOKm1
この手の輩は再現する最小コードを絶対に書かない
221デフォルトの名無しさん
垢版 |
2018/08/23(木) 22:48:43.81ID:wvgL9Tt8
1.回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
2.ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
3.その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを峻別しなければならなくなる。
4.他のコミュニティーで付けられた回答を知らずに同内容の回答を付けてしまったり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力が無駄になる。
5.この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。
2018/08/23(木) 22:52:21.73ID:SHqa2C3g
ウィキペディアの内容をコピペするのはマナー違反にならないの?
2018/08/23(木) 23:14:12.19ID:yAx95x6B
マルチポストごときで何を必死になってんだかねえ
2018/08/23(木) 23:17:06.11ID:qUZ5eK5Q
プログラミングと言うよりも、環境構築だろ。
LinuC・データベーススペシャリストなどの資格もいるし、数年以上掛かる

DB なんて、WEB+DB とか、ミックの本を読んだり、何年も勉強する

掌田津耶乃の本
Node.js超入門、2017
Python Django 超入門、2018

ましてや、Node, Django の本などは、ここ1, 2年の話。
一方、Rails なんて何十冊も出てるだろ

Node, Django ができる奴は、英語もできて、自分で問題を解決できる人だけ。
最低でも数言語できて、資格も持っていて、数年以上勉強している人だけ

そもそも簡単な言語の順番は、Ruby, Python, JavaScript の順番。
初心者は、無料のRails チュートリアルで、環境構築もみっちり勉強すべき
2018/08/23(木) 23:34:47.51ID:p0u00SDp
Node.js超入門は読んだけどこれ読んだだけだとNode.jsを使うアドバンテージなんて得られないと思う
素直にPHPかRubyでも使ってた方がいいんじゃないかってレベル

ちゃんと使おうと思うなら実践Node.jsプログラミングくらいを読んだ方がいいと思う
2018/08/23(木) 23:51:23.31ID:AuVZlFM/
.NET Coreが最近快適すぎて
2018/08/23(木) 23:51:55.65ID:GEXgWULo
>>221
2ちゃんねるがこんなに高尚なコミュニティーだとは知らなかった
2018/08/23(木) 23:58:21.87ID:x1LmQtTu
MSの環境に慣れたらもう戻れない
229デフォルトの名無しさん
垢版 |
2018/08/23(木) 23:59:41.31ID:E5h4CmTu
何日くらい回答なかったらマルチポストしていいんだろうかって悩むことはある
2018/08/24(金) 00:17:51.60ID:+eNrM5zE
>>229
そんなもんでいちいち悩まずマルチすりゃあいいんだよ。
ここは罵詈雑言、煽り上等、虚実混交の2ちゃんねるだ。
難癖付けられたら華麗にスル〜
231224
垢版 |
2018/08/24(金) 01:25:32.83ID:ZgK6e0Tb
結局、掌田津耶乃の「Node.js超入門」「Python Django 超入門」を読んでも、触り程度。
本格的な勉強は、Python, JavaScript で、悪戦苦闘していじくりまわすしかない

それならRuby で、Sinatra をいじくりまわす方が簡単。
難しい言語のフレームワークをいじくりまわすのは、時間を損する
2018/08/24(金) 08:00:14.19ID:q0UJEScu
マルチしても良いけど、全部で言い方変えるのと、
全部の回収するのは徹底してほしい。
233デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:05:33.08ID:ZVlysGry
>>224
掌田 ω
Rails ω
2018/08/24(金) 14:45:41.42ID:ZgK6e0Tb
世界中で、すべての主要言語のフレームワーク・ゲームエンジンの本を書いたのは、掌田だけ!
2018/08/24(金) 21:21:20.94ID:FSpmxK6R
昔ニフティーフォーラム会議室ってあったよなあ
マルチポスト探し出して投稿者を糾弾することを生きがいにしてたような奴がいたなあ
2018/08/24(金) 23:42:17.90ID:Y6g05Ur0
Nashorn生まれてすぐ脂肪www
憐れwwwww
2018/08/25(土) 12:44:20.44ID:00w/RGH3
>>217
resultをコールバックの中で取得してるよね?
コンセント刺さってる?レベルの質問で申し訳ないが
2018/08/25(土) 13:24:10.85ID:FL+uDwnj
Japはケチでロクなもんじゃないな
意地悪で陰険
2018/08/25(土) 13:25:10.28ID:00w/RGH3
>>238
急だな
2018/08/29(水) 19:58:20.44ID:tqG09mle
babel-upgradeで楽できるかと思いきやstage-*の中身を個別に書き足さなきゃ行けなくてしんどい
2018/08/30(木) 21:03:45.27ID:1rD3/Svv
Chromeの低速時JavaScript無効化はブラウザ側jsだよな
node.jsへ誘導する為の動き
2018/08/31(金) 02:58:42.50ID:rrTM/UB7
>>241
マルチ乙
2018/08/31(金) 05:29:56.60ID:J05bSyHo
サーバーサイドの意味を全く理解してないなこのマルチ
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で無名関数を使わない処理なんてほぼ無いと言っていいから、
このままだとインスタンスを生成してクラスに処理を委託することができない。
2018/09/09(日) 02:07:58.37ID:ytcgsCFj
ドキュメント嫁
2018/09/09(日) 02:14:44.05ID:rd2vglUK
今北産業
2018/09/09(日) 09:50:06.93ID:4j2Kj4Fd
reqに入れれば次のミドルウエアなりなんなりで読めるっしょ。
249デフォルトの名無しさん
垢版 |
2018/09/09(日) 11:22:54.87ID:kzlGF2pO
メソッドチェーン
2018/09/09(日) 17:30:53.56ID:0ym3cmgA
JavaScript のthis は、文脈依存だからバグる。
jQuery, Haxe では、this を変えてる

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

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

Node.js超入門、掌田津耶乃、2017
2018/09/09(日) 17:57:43.82ID:4SlBIw2j
var that=this
先輩がよく書くこれが何の事か理解するのに半年かかった。
2018/09/09(日) 21:09:26.80ID:4j2Kj4Fd
>>250
またRails語の布教してるの?
次世代言語スレで叩かれて学習しただろう?
2018/09/09(日) 22:13:11.20ID:XVLphpcz
クラスのコンストラクタでasync await使えるようになってほしい
254デフォルトの名無しさん
垢版 |
2018/09/10(月) 11:08:22.30ID:wQh8RVrU
>>252
x Rails語の布教
〇 掌田津耶乃の宣伝
2018/09/10(月) 18:56:16.28ID:xy7pEog1
本人定期
256デフォルトの名無しさん
垢版 |
2018/09/11(火) 13:46:36.75ID:pwo3DQbp
布留川英一の本っていいの?
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
259258
垢版 |
2018/11/09(金) 12:25:11.79ID:fHYOMbmE
スレ違いだったらすんません
2018/11/09(金) 12:41:54.63ID:gpiLPqbS
statSync
2018/11/09(金) 14:55:23.41ID:9TLjX86J
あるいは再帰関数内でasync-await使えばいいんじゃない
どっちによ最初の関数が終了するかpromiseがresolveすればそれが完走判定になる
素直にnpmから同じことをやるモジュール拾って使ったほうがいいと思うけど
262258
垢版 |
2018/11/09(金) 15:04:40.93ID:fHYOMbmE
あざます

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

>>261
なるほどー
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 を除く
2018/11/10(土) 00:00:53.51ID:jxhvzDRc
rubyをすべてのスレで非表示推奨
265デフォルトの名無しさん
垢版 |
2018/11/10(土) 13:44:39.63ID:KutuN/gN
同意せざるを得ない
2018/11/10(土) 22:54:16.36ID:uI2sCS6p
find ./ -name "*.txt"

find なんて、これだけ。
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は自分でダウンロードして
インストールする必要があるの?
2018/11/28(水) 23:24:27.79ID:C4pMtE3c
>>269
もち
2018/11/28(水) 23:42:01.46ID:LGvbReX9
vs17?vscodeじゃなくて?
2018/11/29(木) 00:45:45.96ID:eqpLvbYV
>>271
VS2017でもnode.js開発できるよ
2018/11/29(木) 01:11:01.78ID:rs9fzmaE
日本語通じてない感やばない?

VS2017はインストール時にNodeを一緒にインストールするか選べる
274デフォルトの名無しさん
垢版 |
2018/12/02(日) 18:17:04.36ID:r/YV3Hmh
農奴はオワコン
2018/12/02(日) 19:49:58.35ID:hHHhmr7T
>>258
好きなの使え
https://www.npmjs.com/package/walker
https://www.npmjs.com/package/walkdir
https://www.npmjs.com/package/walk
https://www.npmjs.com/package/fs-walk
2018/12/21(金) 09:51:27.26ID:/0a+/ZiL
グローバル空間に、ネームスペースを付けずに、パッケージに
含まれる関数全部を一度に分割代入を使わずにリクワイヤーするにはどうやりますか?
2018/12/21(金) 11:10:58.92ID:9Mj5/4cf
require('hoge.js');
2018/12/21(金) 11:30:16.23ID:jEzMm4KB
Object.assign(global, require('hoge.js'))
2018/12/21(金) 15:27:30.27ID:/0a+/ZiL
>>277
ありがとうございます。
リファレンスエラーになってできませんでした。
2018/12/23(日) 00:53:23.01ID:RKXbiRtg
2018年になってようやくnpmを理解できた
2018/12/23(日) 04:40:19.41ID:4FLJEAfZ
今年中にわかってよかったな
282デフォルトの名無しさん
垢版 |
2018/12/23(日) 12:40:19.38ID:1CMGQ+zK
npmはオワコン
2018/12/25(火) 22:12:21.78ID:a1VV5QoF
未だに--saveが必要なくなったことに気がついてない人がいる
2018/12/26(水) 01:01:54.88ID:o7c2/aOT
>>283
マジかよ…知らなかった…
2018/12/26(水) 23:32:12.78ID:0rGTuPiX
ホントだ 知らなかったwww
2018/12/27(木) 15:48:56.03ID:5w9WbE4d
あの変更はかえって--no-saveする手間が増えて不便だわ
2018/12/27(木) 15:52:03.62ID:kq41KEy5
cliとしてはyarnの方が使いやすい
2018/12/27(木) 16:20:54.35ID:dG7CRozn
>>287
どうしてそう思うのか書いてもらえないと参考にならない。
海外のブログ読んでると、真っ先にyarn移ったような人たちが最近続々とnpmに戻ってきていて、俺にはなぜyarnに移ったのか、そしてなぜnpmに戻ってきたのかサッパリ分からない。
2018/12/27(木) 16:31:34.16ID:9Wczl2GP
今さら分からない人は分かりたいとも思ってないだろうからどうでもいんじゃね?
npmに戻る人がいるのはnpmがyarnのいいところをどんどん取り入れたからだろう
まともなロックファイル、パフォーマンス、コマンドラインの改善(npx含む)はyarnの後追い
npm独自なのはセキュリティ周りか
2018/12/27(木) 18:00:55.29ID:2IMw5f1U
良くも悪くも、標準だからだと思うけど。
俺も標準だから戻ったよ。
2018/12/27(木) 18:13:43.11ID:00PdR8uN
標準の地位に胡座をかいてシュリンクラップ糞のまま放置してたからyarnに寝首をかかれた
なんでも独占はよくない切磋琢磨が必要
2018/12/27(木) 19:09:40.30ID:cQueOXAg
ラズパイでなんかやろうとしたときに全然うまくいかなくて試しにyarnにしたらうまくいった事はあった
2018/12/27(木) 19:18:59.81ID:dG7CRozn
npmのとこ行っちゃいyarn…
2019/01/16(水) 02:20:59.42ID:r494tM7s
ほとんどAPI同じだけどstatsじゃなくてdirent実装したのは何でなん?
2019/01/21(月) 00:35:01.04ID:DKQzzj98
yarnはパッケージマネージャー界のCoffeeScript
2019/01/21(月) 12:31:54.36ID:yPBr5z/L
それはない
2019/02/27(水) 08:08:28.87ID:OYLvU+sF
node.jsに将来性はあるかなぁ?
2019/02/27(水) 09:26:32.31ID:gzx7LPiY
個人的な感覚だけど組込み関連でもっと伸びるんじゃないかと思う
最近シリアル通信のプログラムよく書いてるよ
2019/02/27(水) 09:53:02.76ID:haTnnqie
あの遅いpythonですら許容されてるもんな。
300デフォルトの名無しさん
垢版 |
2019/04/02(火) 19:47:41.43ID:2j6V1crX
非同期処理できなくて泣きそう
2019/04/02(火) 21:28:46.28ID:3dIjgbOm
node.js は、Ruby on Rails でも必須

Babel, Webpack で、ES2015 を、ES5 へ変換する。
Coffee Script, Type Script は不要

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

Rails プログラマーも、この本を読むのが必須!
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況