【node.js】サーバサイドjavascript 5【Nashorn】
- : [] 2018/02/13(火) 22:21:33.91:moEhrPrC
- pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。
node.js - googleが開発したV8エンジン上で実行できる処理系
ttp://jump.5ch.net/?http://nodejs.org/
ayo.js - node.js 互換で Rod の影響からの脱却を目指す処理系
ttp://jump.5ch.net/?https://github.com/ayojs/ayo
Nashorn - Java8 からRhinoに代わって同梱されているJavaScriptエンジン
ttp://jump.5ch.net/?http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-JA17-Nashorn.pdf
ayo.js の経緯
ttp://jump.5ch.net/?https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310
javascriptはrubyと比較してもかなり速い
ttp://jump.5ch.net/?http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv
基礎から学ぶNode.js
ttp://jump.5ch.net/?http://gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
ttp://jump.5ch.net/?http://gihyo.jp/dev/serial/01/realtimeweb/0002
前スレ
【node.js】サーバサイドjavascript 4【io.js】
ttp://mevius.5ch.net/test/read.cgi/tech/1460359714/
【node.js】サーバサイドjavascript 3【io.js】
ttp://echo.2ch.net/test/read.cgi/tech/1419673207/
【node.js】サーバサイドjavascript 2【Rhino】
ttp://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
ttp://toro.2ch.net/test/read.cgi/tech/1310087535/ - : [sage] 2018/02/13(火) 22:45:24.68:dgfWGlMV
- スレ立てとテンプレ更新乙
- : [sage] 2018/02/13(火) 23:16:03.20:RZh6bj8U
- 乙
- : [sage] 2018/02/14(水) 07:27:19.83:QhkCr6hZ
- ={乙}
- : [sage] 2018/02/14(水) 12:47:30.67:QhkCr6hZ
- じゃぁ聞くけどjavaで作るよりnode.jsの方がいい利点はなに?
- : [sage] 2018/02/14(水) 12:51:28.06:Dh0Ktwjh
- じゃあ?
- : [] 2018/02/14(水) 13:32:00.27:eUHthdqL
-
サーバサイドとクライアントサイドでコードの共有化ができるくらいかな。
俺はTypeScript大好きっ子だからjsに型がないという弱点も克服したし。 - : [sage] 2018/02/14(水) 14:53:00.89:GP+9iuzv
- javascriptは言語仕様も実装も活発に更新されてる生きた言語だけどjavaは……
去年はjava9とjava ee 8が出たけど内容は乏しくて死につつある言語
cobolのように現役で使われてはいるけど見向きもされない言語にまっしぐら - : [sage] 2018/02/14(水) 16:25:13.94:H2gVyVCN
-
そのくせ昔のが動かなくならないようにとバックワードコンパチビリティがキチガイみたいに徹底してるのが好き。
rubyとかpythonとかphpとかとてもやってられない。 - : [sage] 2018/02/14(水) 16:34:15.53:I0RXr+6s
- Javaはこれからの言語じゃなくてこれまでの言語ということだな
未来より過去が大事 - : [sage] 2018/02/14(水) 16:41:30.19:X6WT15xX
- 大体Oracleが悪い
- : [sage] 2018/02/14(水) 16:59:02.39:OvGNKU5V
- 「そのくせ」の使い方を間違えている
活発に更新されている言語なのに(逆接)互換性命なら「そのくせ」でいいけど - : [sage] 2018/02/14(水) 17:52:07.97:X6WT15xX
- ネガティブに対してポジティブだから逆接であってる
- : [sage] 2018/02/14(水) 17:57:48.03:QhkCr6hZ
- javaの本は今でもたくさんあるのに、node.jsの本はちょっとしかなく、前より減ってるけど
それでも未来はあるの? - : [sage] 2018/02/14(水) 18:07:53.31:0/UN9UNj
- それは視点ないし評価の反転であって主従ないし因果関係としては順接だろう
「そのくせ」よりも「だからこそ」の方が適切だと思う - : [sage] 2018/02/14(水) 18:08:56.46:0/UN9UNj
-
プログラミングの本には未来がないだろうね - : [sage] 2018/02/14(水) 18:14:23.49:Dh0Ktwjh
-
お前は日本語以前の問題とみた - : [sage] 2018/02/14(水) 18:15:48.39:tUoPyiUs
-
バレたか - : [sage] 2018/02/14(水) 18:38:00.97:eUHthdqL
-
前スレで言ってたように言語仕様が毎年更新されるから出しづらいのかも。
と言うか皆買わないんじゃないかな。
本なくても使えるし。 - : [sage] 2018/02/14(水) 18:44:00.97:eUHthdqL
- javaはjavaでjava vmの部分で生き残るんじゃないの
kotlinがあるから最新トレンドの言語仕様が使えるし。
最近はASTとかを駆使してコードの変換も個人でかけるようになったし気にせずいろんな言語で書いて最悪トランスレータをかけばいいよw - : [sage] 2018/02/14(水) 19:09:33.80:nJ8XQB9a
- kotlinはnativeもやってるからjvmなくても生きていける可能性がある
そこら辺はandroid次第 - : [sage] 2018/02/14(水) 19:32:54.87:H2gVyVCN
- だけどjavascriptのこと書いたんだけどjavaと勘違いしてる人がいるみたいで…
言葉足らずだったわゴメンゴメン - : [sage] 2018/02/14(水) 21:24:49.82:zjyx6XTj
- ブラウザではともかくnode.jsでは後方互換性が徹底されてるとは感じない
- : [sage] 2018/02/14(水) 23:05:01.77:1QOtYRN6
-
つまりAPIの破壊的変更が多いってことかね?あんまし使ったことがないから知らんかった。どの辺の話? - : [sage] 2018/02/14(水) 23:28:14.70:itb3AbpA
- v0.12まではほとんどどこでも壊れてたイメージ
streamから何から
v4以降はネイティブアドオンでなければ深刻じゃないかな
細かい非互換性は日本語のブログなんかでもまとめられてる
今はsemverだからメジャーバージョンアップは後方非互換なんでLTSでも年に一回は動かなくなる可能性がある - : [sage] 2018/02/14(水) 23:32:27.00:4HiMoKqx
- なーんだ、結局rubyやpythonやphpとおんなじじゃん。ガッカリ
- : [sage] 2018/02/14(水) 23:49:34.96:X6WT15xX
-
active期間が終わってから1年間のmaintenance期間があるわけだからその間に移行しろってことでしょ
メジャーバージョンアップが頻繁だってのは分かるけど - : [sage] 2018/02/15(木) 00:44:38.71:xvxGqpCI
- Meteor.jsを結構前にチュートリアルを一通りやったときは
バックエンドとクライアントでコードを共有できる喜びは感じたかな。
ただ惜しむらくはDBがmongoDB固定だったこと。
今は変わっただろうか?
仕組み上他のDBにしづらいフレームワークで色々ロックインしちゃうんだけど
当時からなんだかとってもPWAって感じだった。 - : [sage] 2018/02/15(木) 07:48:47.58:0lPDoa5Y
- 今jsしてないんだけどフロント周りはまだ暴風雨状態なの?
- : [sage] 2018/02/15(木) 08:00:29.63:SuVvVuMr
- うん
- : [sage] 2018/02/15(木) 13:45:36.01:ungn8NGW
- React選んだ人は3年くらい無風じゃね
あれこれ手を出してる人もいるだろつけど - : [sage] 2018/02/15(木) 13:52:45.80:J0hKQiJo
- reactはreduxとか, 本体より周辺が暴風雨なイメージ
- : [sage] 2018/02/15(木) 14:53:55.86:Z5nyO2py
- 非同期はいいぞーって言われても、処理終了まで待ちたい場合は、プログレスバーとか出せばいいの?
- : [sage] 2018/02/15(木) 14:54:13.33:YSj3CECL
- react無風か?今やv16だぞ何年前のライブラリだっけ?
+reduxでreactと同等のことができるhyperappがスンバらしい。300行しかないのにコードが読みやすい。 - : [sage] 2018/02/15(木) 15:04:03.11:2TdTJC2z
- reactはv0.14→v15→v16だから落ち着いたものだよ
非互換な変更はまず警告が出るバージョンがリリースされて次のバージョンで変更とかだし移行のためのツールも提供されるし - : [sage] 2018/02/15(木) 15:25:42.03:Z5nyO2py
- Electronってやつと同じことはjavaじゃできないんですか
- : [sage] 2018/02/15(木) 16:02:18.16:Y2MAEGuu
- vscode→electronベースのide
webstorm→javaベースのide
同じようなアプリを作れるかって意味ならできるんじゃね? - : [sage] 2018/02/15(木) 16:14:19.77:Z5nyO2py
- これから業務用アプリもスマホ化してきますやんかー、
そうしたらHTML5とかで作るって話になりますやんかー
javaには無理?node.jsじゃないとだめ? - : [sage] 2018/02/15(木) 16:30:14.63:1CgTZOOO
- wasmにコンパイルすれば?
- : [sage] 2018/02/15(木) 16:32:27.60:x1xC6fNl
- クライアントとサーバの区別は出来てるか?
- : [sage] 2018/02/15(木) 16:38:36.43:Z5nyO2py
- wasmなんかよさげなこと書いてますね、unityもいけるのか
- : [sage] 2018/02/15(木) 19:06:28.24:IXv90w8V
- wasmよくわからんかった
ためしにunityの何かを入れてみたけど、ぜんぜん動かない - : [sage] 2018/02/15(木) 21:04:19.20:soH0s4OR
- JavaScriptがwasmにコンパイル出来たらいいんだがなぁ。
動的な部分が多いからコンパイル自体がそもそも難しいか。 - : [sage] 2018/02/15(木) 21:40:37.57:wm9Pntzw
- jsのサブセットともいえるasm.jsからwasmならできる
むしろ一番最初にwasm出てきた時やってたのがそれだろ - : [sage] 2018/02/15(木) 21:49:32.52:soH0s4OR
- そりゃasm.jsじゃなくてAssemblyScriptのことだろ。
- : [sage] 2018/02/15(木) 21:57:55.53:Z5nyO2py
- wasmでできることのサンプルでいいのないですか
- : [sage] 2018/02/15(木) 22:26:17.03:LVCrmyEJ
-
AssemblyScriptが中で使ってるBinaryenがasm.js→wasmサポートしてるじゃん
そいつってTS→asm.jsしてBinaryen呼び出してるだけだったりしてね?
俺が44で書いたのは元々wasmがasm.jsベースで実装始まったって見た気がしたからでそんなライブラリとは関係ないけど - : [sage] 2018/02/15(木) 22:56:54.50:soH0s4OR
- あぁ、サブセットってところに引っかかっただけだ。
話を戻すと、RPythonに対するPyPyみたいなものがあればいいんだがなぁ。 - : [sage] 2018/02/16(金) 07:32:01.09:9ipJLmm1
- wasm調べてたらrustってのに行き着いたのだけど
rustっていいの? - : [sage] 2018/02/16(金) 07:38:32.94:WQE4iPFk
- うんにゃ
- : [sage] 2018/02/16(金) 07:48:59.59:N1s5Hdgd
- websocketをやらねば!!
↓
node.js!!
↓
なんか使いづらい、ぐっさくね?
↓
java!!
↓
もう老人
↓
wasm!!からの~
↓
なに? - : [sage] 2018/02/19(月) 10:37:50.14:TKHdwdGa
- .Net
- : [sage] 2018/02/19(月) 20:06:38.18:S3U39YpB
- ナイスジョークw
- : [sage] 2018/02/19(月) 20:23:50.11:lRCoRBcw
- なんでnodeはwebsocket使いにくいの?
煽りじゃなく、ほんとなら個人的に対策立てたいので。 - : [sage] 2018/02/19(月) 20:45:16.99:pKIDPIGb
- NodeでWebSocket使おうと思ってるところなんだけど, どのライブラリを使うのがいいか分からん
統計だけ見ればwsかな?
Nodeとブラウザで同じコードで動くようにするにはisomorphic-ws使えばいいのかな?
使ってる人おせーて - : [sage] 2018/02/20(火) 07:23:49.73:GgzKQl9s
- ぐっさいからWebAssemblyができたんでしょ
答え出てるやん - : [] 2018/02/20(火) 15:51:09.84:8AxQ9YzH
- ワイ「firebase 」
- : [] 2018/02/21(水) 19:31:38.94:O384HGBH
- nodeでAPI作ったらテストツールはfrisbyしかないの?
- : [] 2018/02/22(木) 20:46:37.90:c2upgmLY
- sqlite3で、serialize関数の中に書くのと直に書くのの違いは何ですか?
- : [sage] 2018/02/22(木) 20:55:18.66:4xFkIfES
-
質問の仕方とAPIリファレンスを調べる方法を学んでくれ
ttp://jump.5ch.net/?https://github.com/mapbox/node-sqlite3/wiki/Control-Flow - : [] 2018/02/22(木) 21:40:09.49:c2upgmLY
- データベース読み取り完了後に処理するには直に並べて書いてもいいのでしょうか
- : [] 2018/02/22(木) 21:45:11.82:c2upgmLY
- コールバックの引数からしか結果を取得できないので無理でした
- : [] 2018/02/22(木) 21:53:52.78:c2upgmLY
- db.run(...)でクエリを実行
↓
DBとは無関係の普通のjsの式を実行
serializeの中にこの2行を書いたらクエリの実行が完了してから2行目が実行されるのでしょか。 - : [sage] 2018/02/27(火) 21:30:09.82:lFj/dPwY
- サーバーサイドとクライアントで共通に使うモジュールでlog4jsを使いたいんですが、サーバー側は
npmのlog4js-node、クライアント側はオリジナルのlog4jsを使うようなことってできないでしょうか。
それぞれwebpackでバンドルしてますのでwebpack.configで差し替えるような方法でもよいです。 - : [] 2018/02/28(水) 17:29:15.91:F8/eMdWm
- できますよ
- : [sage] 2018/02/28(水) 17:32:46.76:nrJj4j7P
- yes/noクエスチョンして撃沈するやつ大杉www
- : [sage] 2018/03/17(土) 01:02:44.52:rslrcUh9
- FreeBSDで
$node -e "console.log('Hello world');"
を入力すると
illegal instruction (core dumped)
と表示されるます
解決方法を教えてください
ちなみにgdbコマンドでcoreファイルを調べても
#0 0x086bed17 in ?? ()
と表示されますが詳細が分かりません
osはi386-marcel-freebsdです - : [sage] 2018/03/17(土) 03:03:42.72:T/uji2Bj
-
back trace確認した?
バグか環境の問題だろうから新しい環境とか
違うバージョンのnodeやosで試して切り分けするといいかもね
あとコアダンプ見るのはllnode使うと捗る
ttp://jump.5ch.net/?https://github.com/nodejs/llnode - : [sage] 2018/03/17(土) 05:25:55.91:rslrcUh9
- backtraceでは#0~3が全部in ⁇ ()としか表示されません
またnpmもコアダンプするのでllnodeはインストールできませんでした
nodeのバージョンは最新の9.3.0の他に8.9.3、6.12.2、4.8.7を試したのですが全てコアダンプしました
インストーラーにはpkgを使いました - : [sage] 2018/03/17(土) 13:29:27.27:T/uji2Bj
- おおーそんなことってあるのか
FreeBSDの環境構築含めて最小限の再現手順を添えてIssueに上げたら?
ちなみに今のバージョンって8.10.0と9.8.0だよ - : [sage] 2018/03/28(水) 22:23:21.10:Ik/iQCHb
- Node.jsを使ってwindowsでmp3を再生するにはどうすればいいのでしょうか?
とりあえずググって出てきたplay-soundというのとplayerというのを使ってみたのですが
何故かうまくいきません
play-soundは外部プレイヤーを呼び出してるだけっぽいですし - : [sage] 2018/03/29(木) 01:33:12.81:DnMaJisN
-
simplayerってのが気になってたから代わりに試して報告レスを書く権利をやろう - : [sage] 2018/03/29(木) 10:13:09.28:fj69X1D3
-
ありがとうございます
それも見たのですが、コマンドを呼び出してるだけですよね
アプリを入れなくてもいいのはいいのですが、
windowsではwavしか再生できないというのが困ります
まぁwindowsがイケてないのですが・・ - : [] 2018/03/29(木) 12:32:32.82:90vctbdp
- 鯖側だけで音が鳴ってても困る
- : [sage] 2018/03/29(木) 12:33:22.32:fj69X1D3
- Electronのメインプロセスでサウンドが鳴らせないことが問題だったのですが
非表示のレンダラプロセスを起動しておいてそこで鳴らせばいいと気づきました
mp3を鳴らすモジュールもElectronを使うようにすれば実現できるでしょうね
メモリ使用量的に富豪的ですが - : [sage] 2018/03/29(木) 20:14:37.76:0KWZ/AkQ
- Pixi.js ベースのゲームエンジン、Phaser とか使わないとできないのかも
- : [sage] 2018/03/31(土) 16:03:54.94:Sn+gu03Z
- CommonJSのやつをESモジュールに書き換える際に依存モジュールってどうしてる?
ブラウザ用にバンドル出力すると.mjsじゃなくなっちゃうし - : [] 2018/04/03(火) 18:21:34.47:DyW1PQoq
- axiosでdatファイルやsubjectファイルを取得するソフトを作っているのですが、文字化けしてしまいます。
jconvやiconv-liteなどのパッケージを使ったり、環境もDigitalOceanのドロップレットを使ったり
ローカルのWindows10で動かしたり色々しているのですが、どうしても文字化けが治りません。
どなたか、ご教示いただけませんでしょうか。 - : [sage] 2018/04/04(水) 02:04:22.96:dci/EUEW
- dat ファイルって、5ch の?
HTML に、文字コードを付けていないのだろ。
どうせ、CP932 だろ
強制変換すれば? - : [] 2018/04/04(水) 02:30:53.74:h2UR4/YM
- ほんそれ
- : [] 2018/04/04(水) 02:37:45.24:RW7X0/F+
-
ご回答ありがとうございます。
axiosで取得した時にSHIFT_JISのコードをaxiosが勝手にutf-8扱いしてデコードしていたために
おかしくなっていただけでした。 - : [] 2018/04/04(水) 02:52:05.21:h2UR4/YM
- >axiosが勝手にutf-8扱いしてデコード
そうか?
鯖がUA観て送信塩湖変えてる可能性は? - : [sage] 2018/04/04(水) 02:55:41.91:dci/EUEW
- スクレイピングなら、Ruby で、Selenium WebDriver, Mechanize の方が簡単
JavaScript, Node は、面倒くさい。
まだ、Electron の方がマシ - : [sage] 2018/04/04(水) 09:11:36.38:jx2XXyxV
- electronてnodeじゃんwwwww
- : [sage] 2018/04/04(水) 14:38:08.10:dci/EUEW
- 参考までに。
Ruby で、Selenium WebDriver で、Chrome のHeadless mode で、
5ch をスクレイピングしたら、文字化けもせずに、テキストが取得できた
ブラウザが、CP932 を自動的に、UTF-8 に変換しているのかな?
driver.navigate.to "ttps://mao.5ch.net/test/read.cgi/linux/1479499953/8-9"
element = driver.find_element(:css, 'div[data-id="8"] > div.message > span')
puts "内容 :#{element.text}" - : [sage] 2018/04/04(水) 14:45:50.99:YO5zcEko
- 以前ならnodeでスクレイプはjsdomとjqueryが定番だったイメージ
最近は知らんけど - : [sage] 2018/04/04(水) 15:49:11.75:jx2XXyxV
- 最近はヘッドレスChrome使う。(puppeteerなどのラッパーを使って)
seleniumと比べて挟むレイヤーが少なくて同じ以上の事ができる。
他のブラウザでやんなきゃならないときはSeleniumだね。セットアップが非常にめんどくさいけど。 - : [] 2018/04/04(水) 16:43:05.55:s/NBnuXV
- Windows環境でもpuppeteerのヘッドレスChrome動くようになった?
- : [sage] 2018/04/04(水) 17:14:10.26:jx2XXyxV
- MBPだから分からん。
- : [sage] 2018/04/04(水) 17:22:12.84:hx9HkNum
-
MBPでもWindowsは動くから分からない理由にならん - : [sage] 2018/04/04(水) 18:31:27.93:JZ99J8cJ
- macOSだからわからん
- : [] 2018/04/05(木) 17:30:27.50:PWNYpPzv
-
MBPだから(いちいちwindows環境用意するのは面倒、従って)分からん - : [sage] 2018/04/05(木) 18:15:24.72:rXLddpo5
- MBPだから面倒とはよく分からんな
AT互換機やVMと大してWindowsセットアップの手間は変わらんのに - : [sage] 2018/04/05(木) 18:38:12.24:xSbyKHuy
- それ面倒って言ってるのと同じ
- : [sage] 2018/04/15(日) 11:55:39.33:GDtrufJB
- Node.jsではグローバル変数はglobalの属性にすると知りました
jsファイルにグローバル変数のように書いてる変数はグローバル変数ではなかったのでしょうか? - : [sage] 2018/04/15(日) 12:03:17.21:GDtrufJB
- エントリーポイントのjsファイルも、
実際にはモジュールのように独自の名前空間に閉じ込められていたということなのでしょうか - : [sage] 2018/04/15(日) 12:30:34.93:ZEcSoj1Y
-
グローバル変数がグローバルオブジェクトのプロパティだというのはNode固有の話ではない。
ブラウザだとwindow、Nodeだとglobalでそのグローバルオブジェクトにアクセスできるというだけ。
仮に閉じ込められているとしても、その「外」が無ければどっちと捉えても同じ。 - : [] 2018/05/23(水) 19:55:38.17:Au5e7VGg
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
AY2FW - : [sage] 2018/05/24(木) 11:04:01.98:cPlRxlDn
- AY2FW
- : [] 2018/06/06(水) 12:49:05.94:1yp8yW1B
- fs.createReadStream()のstart, endの値ってuintの範囲に制限されてるっぽくて困った
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら。