【node.js】サーバサイドjavascript 5【Nashorn】
それは視点ないし評価の反転であって主従ないし因果関係としては順接だろう
「そのくせ」よりも「だからこそ」の方が適切だと思う >>14
プログラミングの本には未来がないだろうね >>14
前スレで言ってたように言語仕様が毎年更新されるから出しづらいのかも。
と言うか皆買わないんじゃないかな。
本なくても使えるし。 javaはjavaでjava vmの部分で生き残るんじゃないの
kotlinがあるから最新トレンドの言語仕様が使えるし。
最近はASTとかを駆使してコードの変換も個人でかけるようになったし気にせずいろんな言語で書いて最悪トランスレータをかけばいいよw kotlinはnativeもやってるからjvmなくても生きていける可能性がある
そこら辺はandroid次第 >>9だけどjavascriptのこと書いたんだけどjavaと勘違いしてる人がいるみたいで…
言葉足らずだったわゴメンゴメン ブラウザではともかくnode.jsでは後方互換性が徹底されてるとは感じない >>23
つまりAPIの破壊的変更が多いってことかね?あんまし使ったことがないから知らんかった。どの辺の話? v0.12まではほとんどどこでも壊れてたイメージ
streamから何から
v4以降はネイティブアドオンでなければ深刻じゃないかな
細かい非互換性は日本語のブログなんかでもまとめられてる
今はsemverだからメジャーバージョンアップは後方非互換なんでLTSでも年に一回は動かなくなる可能性がある なーんだ、結局rubyやpythonやphpとおんなじじゃん。ガッカリ >>25
active期間が終わってから1年間のmaintenance期間があるわけだからその間に移行しろってことでしょ
メジャーバージョンアップが頻繁だってのは分かるけど Meteor.jsを結構前にチュートリアルを一通りやったときは
バックエンドとクライアントでコードを共有できる喜びは感じたかな。
ただ惜しむらくはDBがmongoDB固定だったこと。
今は変わっただろうか?
仕組み上他のDBにしづらいフレームワークで色々ロックインしちゃうんだけど
当時からなんだかとってもPWAって感じだった。 今jsしてないんだけどフロント周りはまだ暴風雨状態なの? React選んだ人は3年くらい無風じゃね
あれこれ手を出してる人もいるだろつけど reactはreduxとか, 本体より周辺が暴風雨なイメージ 非同期はいいぞーって言われても、処理終了まで待ちたい場合は、プログレスバーとか出せばいいの? react無風か?今やv16だぞ何年前のライブラリだっけ?
+reduxでreactと同等のことができるhyperappがスンバらしい。300行しかないのにコードが読みやすい。 reactはv0.14→v15→v16だから落ち着いたものだよ
非互換な変更はまず警告が出るバージョンがリリースされて次のバージョンで変更とかだし移行のためのツールも提供されるし Electronってやつと同じことはjavaじゃできないんですか vscode→electronベースのide
webstorm→javaベースのide
同じようなアプリを作れるかって意味ならできるんじゃね? これから業務用アプリもスマホ化してきますやんかー、
そうしたらHTML5とかで作るって話になりますやんかー
javaには無理?node.jsじゃないとだめ? wasmなんかよさげなこと書いてますね、unityもいけるのか wasmよくわからんかった
ためしにunityの何かを入れてみたけど、ぜんぜん動かない JavaScriptがwasmにコンパイル出来たらいいんだがなぁ。
動的な部分が多いからコンパイル自体がそもそも難しいか。 jsのサブセットともいえるasm.jsからwasmならできる
むしろ一番最初にwasm出てきた時やってたのがそれだろ そりゃasm.jsじゃなくてAssemblyScriptのことだろ。 >>45
AssemblyScriptが中で使ってるBinaryenがasm.js→wasmサポートしてるじゃん
そいつってTS→asm.jsしてBinaryen呼び出してるだけだったりしてね?
俺が44で書いたのは元々wasmがasm.jsベースで実装始まったって見た気がしたからでそんなライブラリとは関係ないけど あぁ、サブセットってところに引っかかっただけだ。
話を戻すと、RPythonに対するPyPyみたいなものがあればいいんだがなぁ。 wasm調べてたらrustってのに行き着いたのだけど
rustっていいの? websocketをやらねば!!
↓
node.js!!
↓
なんか使いづらい、ぐっさくね?
↓
java!!
↓
もう老人
↓
wasm!!からの〜
↓
なに? なんでnodeはwebsocket使いにくいの?
煽りじゃなく、ほんとなら個人的に対策立てたいので。 NodeでWebSocket使おうと思ってるところなんだけど, どのライブラリを使うのがいいか分からん
統計だけ見ればwsかな?
Nodeとブラウザで同じコードで動くようにするにはisomorphic-ws使えばいいのかな?
使ってる人おせーて ぐっさいからWebAssemblyができたんでしょ
答え出てるやん nodeでAPI作ったらテストツールはfrisbyしかないの? sqlite3で、serialize関数の中に書くのと直に書くのの違いは何ですか? データベース読み取り完了後に処理するには直に並べて書いてもいいのでしょうか コールバックの引数からしか結果を取得できないので無理でした db.run(...)でクエリを実行
↓
DBとは無関係の普通のjsの式を実行
serializeの中にこの2行を書いたらクエリの実行が完了してから2行目が実行されるのでしょか。 サーバーサイドとクライアントで共通に使うモジュールでlog4jsを使いたいんですが、サーバー側は
npmのlog4js-node、クライアント側はオリジナルのlog4jsを使うようなことってできないでしょうか。
それぞれwebpackでバンドルしてますのでwebpack.configで差し替えるような方法でもよいです。 yes/noクエスチョンして撃沈するやつ大杉www FreeBSDで
$node -e "console.log('Hello world');"
を入力すると
illegal instruction (core dumped)
と表示されるます
解決方法を教えてください
ちなみにgdbコマンドでcoreファイルを調べても
#0 0x086bed17 in ?? ()
と表示されますが詳細が分かりません
osはi386-marcel-freebsdです >>67
back trace確認した?
バグか環境の問題だろうから新しい環境とか
違うバージョンのnodeやosで試して切り分けするといいかもね
あとコアダンプ見るのはllnode使うと捗る
https://github.com/nodejs/llnode backtraceでは#0〜3が全部in ⁇ ()としか表示されません
またnpmもコアダンプするのでllnodeはインストールできませんでした
nodeのバージョンは最新の9.3.0の他に8.9.3、6.12.2、4.8.7を試したのですが全てコアダンプしました
インストーラーにはpkgを使いました おおーそんなことってあるのか
FreeBSDの環境構築含めて最小限の再現手順を添えてIssueに上げたら?
ちなみに今のバージョンって8.10.0と9.8.0だよ Node.jsを使ってwindowsでmp3を再生するにはどうすればいいのでしょうか?
とりあえずググって出てきたplay-soundというのとplayerというのを使ってみたのですが
何故かうまくいきません
play-soundは外部プレイヤーを呼び出してるだけっぽいですし >>71
simplayerってのが気になってたから代わりに試して報告レスを書く権利をやろう >>72
ありがとうございます
それも見たのですが、コマンドを呼び出してるだけですよね
アプリを入れなくてもいいのはいいのですが、
windowsではwavしか再生できないというのが困ります
まぁwindowsがイケてないのですが・・ Electronのメインプロセスでサウンドが鳴らせないことが問題だったのですが
非表示のレンダラプロセスを起動しておいてそこで鳴らせばいいと気づきました
mp3を鳴らすモジュールもElectronを使うようにすれば実現できるでしょうね
メモリ使用量的に富豪的ですが Pixi.js ベースのゲームエンジン、Phaser とか使わないとできないのかも CommonJSのやつをESモジュールに書き換える際に依存モジュールってどうしてる?
ブラウザ用にバンドル出力すると.mjsじゃなくなっちゃうし axiosでdatファイルやsubjectファイルを取得するソフトを作っているのですが、文字化けしてしまいます。
jconvやiconv-liteなどのパッケージを使ったり、環境もDigitalOceanのドロップレットを使ったり
ローカルのWindows10で動かしたり色々しているのですが、どうしても文字化けが治りません。
どなたか、ご教示いただけませんでしょうか。 dat ファイルって、5ch の?
HTML に、文字コードを付けていないのだろ。
どうせ、CP932 だろ
強制変換すれば? >>79
ご回答ありがとうございます。
axiosで取得した時にSHIFT_JISのコードをaxiosが勝手にutf-8扱いしてデコードしていたために
おかしくなっていただけでした。 >axiosが勝手にutf-8扱いしてデコード
そうか?
鯖がUA観て送信塩湖変えてる可能性は? スクレイピングなら、Ruby で、Selenium WebDriver, Mechanize の方が簡単
JavaScript, Node は、面倒くさい。
まだ、Electron の方がマシ 参考までに。
Ruby で、Selenium WebDriver で、Chrome のHeadless mode で、
5ch をスクレイピングしたら、文字化けもせずに、テキストが取得できた
ブラウザが、CP932 を自動的に、UTF-8 に変換しているのかな?
driver.navigate.to "https://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}" 以前ならnodeでスクレイプはjsdomとjqueryが定番だったイメージ
最近は知らんけど 最近はヘッドレスChrome使う。(puppeteerなどのラッパーを使って)
seleniumと比べて挟むレイヤーが少なくて同じ以上の事ができる。
他のブラウザでやんなきゃならないときはSeleniumだね。セットアップが非常にめんどくさいけど。 Windows環境でもpuppeteerのヘッドレスChrome動くようになった? >>89
MBPでもWindowsは動くから分からない理由にならん >>90
MBPだから(いちいちwindows環境用意するのは面倒、従って)分からん MBPだから面倒とはよく分からんな
AT互換機やVMと大してWindowsセットアップの手間は変わらんのに Node.jsではグローバル変数はglobalの属性にすると知りました
jsファイルにグローバル変数のように書いてる変数はグローバル変数ではなかったのでしょうか? エントリーポイントのjsファイルも、
実際にはモジュールのように独自の名前空間に閉じ込められていたということなのでしょうか >>95
グローバル変数がグローバルオブジェクトのプロパティだというのはNode固有の話ではない。
ブラウザだとwindow、Nodeだとglobalでそのグローバルオブジェクトにアクセスできるというだけ。
>>96
仮に閉じ込められているとしても、その「外」が無ければどっちと捉えても同じ。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
AY2FW fs.createReadStream()のstart, endの値ってuintの範囲に制限されてるっぽくて困った GitHub見たら10.3.0で修正されてると見て試したら問題なかった 良かった スレタイに入ってるNashornオワタ/(^o^)\
JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM
https://www.publickey1.jp/m/blog/18/javajavascriptnashornecmascriptgraalvm.html それよりはzip slipの方が余程大事じゃねえの 標準のZIP展開は並列処理されず遅いので皆自分で書いたりして試したことがあると思うが
パスをそのまま信用しちゃまずいことあるだろうなってことは99.99%の作者が気づく
それをケアしていないのはバグではなく、素朴な実装を目指しただけ
つまり問題と責任は利用者側にある 実際のファイルへの書き込みはライブラリ外の場合も多いだろうし
特に標準が用意されていない環境でそういったライブラリを選ぶときは
きちんと知識を持った上で中身を確認して利用しろというだけのことでしかない GAEの無料枠で動くようになったけど今となっては遊び場にも微妙だな GAEこそ真のPaaS
そんなふうに考えていた時期が俺にもありました >>110
俺はだめだとは思わないけどdatastore周りとかじゃないかな。 nodistをインストールしたら、node7.2.1がインストールされました
このバージョンはどのような基準で決まるのでしょうか? 最新のLTSは8.9.0のようです
それが入るなら分かりますが・・