2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

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

1 :デフォルトの名無しさん:2018/02/13(火) 22:21:33.91 ID:moEhrPrC.net
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/

750 :デフォルトの名無しさん:2021/12/27(月) 16:21:39.89 ID:U0LFk7o9.net
denoって全然使われてないの?

751 :デフォルトの名無しさん:2021/12/27(月) 16:28:54.26 ID:XkNPDe9x.net
denoは苦戦してるみたいだねー
それでexpressなどnode用のライブラリが動くように互換性を高める方針になった
でもそれならnode使い続ければいいやってなりそう

752 :デフォルトの名無しさん:2022/01/05(水) 00:01:04.66 ID:XksPZRYQ.net
puppeteerを使って投票サイトの投票を自動化したいのだけど、
実行してもエラーを起こさず無反応なんだよね

Headless Recorerを使ってるからHTML部分の間違いはないと思うのだけど、
UserAgent以外で何か対策ないっすかね

753 :デフォルトの名無しさん:2022/01/05(水) 00:22:23.97 ID:n516+jFB.net
いくらでも試すことはあるけど悪事の片棒を担ぎそうで怖いな
一般論として言えるのはpuppeteerでも普通にWebページのコンテキストからDOM APIを叩ける

754 :デフォルトの名無しさん:2022/01/05(水) 00:33:19.61 ID:XksPZRYQ.net
んじゃ、逆にWEBサイトを作る側はどんな対策をしているのでしょうか?

755 :デフォルトの名無しさん:2022/01/05(水) 10:54:49.76 ID:4mwV9n2W.net
reCAPTCHA使ってんじゃない?

756 :デフォルトの名無しさん:2022/01/05(水) 15:02:25.17 ID:XksPZRYQ.net
>>755
使ってるところは諦めてるんだけど、使ってないところはどうやってるのかな〜と思って
UserAgentをガラケーにしてみたり、プレステにしても無反応なんだよね

757 :デフォルトの名無しさん:2022/01/05(水) 15:47:16.38 ID:w42D9Ab/.net
手動で操作した時のリクエストヘッダーの中身を解析して
間違いなく妥当なリクエストが投げられてるのが大前提

あとは“how to detect headless browser”でググるといいよ

758 :デフォルトの名無しさん:2022/01/06(木) 22:16:32.70 ID:vwKSLmqQ.net
npmがぶっ壊れたらどうすればいいですかapt でuninstall installしても治りません

759 :デフォルトの名無しさん:2022/01/10(月) 00:21:58.20 ID:MINWORCd.net
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538

ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた

基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理

Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている

これほど、良い教科書が揃っているフレームワークはない!

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw

日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA

760 :デフォルトの名無しさん:2022/02/19(土) 23:48:14.35 ID:ukL0Abnm.net
for await (const chunk of stream(foo)) {
response.write(chunk);
}
response.end();

↑みたいな感じでレスポンスに直接書いてってるやつって、一旦に変数に入れることって可能?

const chunks;
for await (const chunk of stream(foo)) {
// chunksにchunkを書き込んでいく
}
response.write(chunks);
res.end();

↑こんな感じに書きたくてさ
レスポンスのサイズを減らしたくてzlibのコード見たらレスポンスを直接圧縮するんじゃなくて、オブジェクトを圧縮してそんでレスポンスにパイプって感じに見えたもんで
ただ書き方がよく分からんくてね

761 :デフォルトの名無しさん:2022/02/20(日) 02:19:47.65 ID:flSfy5Gd.net
そんな感じのコードでやれると思うけど
ただ局所的な負荷を避けるStreamの利点が消えちゃうぞ

762 :デフォルトの名無しさん:2022/02/20(日) 02:30:31.20 ID:r6gz02kC.net
> レスポンスにパイプ

stream.pipeline()関数を使えってこった

763 :デフォルトの名無しさん:2022/02/20(日) 03:59:37.87 ID:Y4d5gioW.net
>>760
chunksに貯め込んでからzlib.gunzip()やzlib.inflate()を呼んでいたらメモリの無駄遣い
そこでzlib.createGunzip()やzlib.createInflate()で変換用streamを作って使う
それも昔はinput_stream.pipe(transform_stream).pipe(ourput_stream)と多段に繋げていたが
しかし速度差がある時のバッファリング問題もあるため一気に協調させることになり
今はpipeline(input_stream, transform_stream, ourput_stream, cb) と好きなだけ並べて書く

764 :デフォルトの名無しさん:2022/02/20(日) 13:07:52.69 ID:G2bzmeXG.net
758 759 760
ありがとう
pipelineってやつ使うとよいみたいやね
調べてみますわ

765 :デフォルトの名無しさん:2022/05/08(日) 08:50:47 ID:Hc0pjWMa.net
なんでchildprocessのイベントにはSIGINTが実装されてないんだろ
それでいて親から伝搬はするからdetached入れて切り離さないと落ちちまう
親同様にリスナー付けてexitを止められるようにするべきだと思うんだが

766 :デフォルトの名無しさん:2022/10/10(月) 18:43:55.67 ID:MKhHDYOQ.net
相対パスでローカルモジュールをnpm iするとdependencieではfile:から始まる相対パスになるけど
実際これは完全に無視されて同時に作成されるnode_modules以下のsymlinkが読み込まれるんだな
なんでこんな実装になってんだ

767 :デフォルトの名無しさん:2022/10/10(月) 18:53:57.82 ID:MKhHDYOQ.net
いや更新時の参照用ならこれでいいのか
nodeのrequire/importとnpmのinstall/updateを混同してたわ

768 :デフォルトの名無しさん:[ここ壊れてます] .net
バックエンドnode.jsだけで食っていけますか

769 :デフォルトの名無しさん:2022/10/12(水) 13:50:41.51 ID:PMp24lyt.net
nodejs単体というよりOODBの管理ととトランザクションいじれるようになるのが一番じゃね?

770 :デフォルトの名無しさん:2022/10/20(木) 13:26:50.96 ID:qyQuWblL.net
>>768
可能と言えば可能だけど無理と言えば無理
結局何作って金稼ぐかに帰ってくる

PHPerがCRUDをLaravelで作って納品してるような事はNode.jsでも出来るけど
人口多いPHPでやれば良くないっすか?で詰む

改めてNode.jsを使う意味に戻ってくる

771 :デフォルトの名無しさん:2022/10/21(金) 14:23:53.93 ID:QgmICw4I.net
この業界ってnodeよりphpのほうが多いの?

772 :デフォルトの名無しさん:2022/10/21(金) 17:27:25.06 ID:yOIwuGST.net
nodeはhttpサーバ目指してんのか
クロスプラットフォームのコマンドツール群目指してんのか
立ち位置が分かりにくくなってきてるなぁ。

773 :デフォルトの名無しさん:2022/10/21(金) 17:37:31.50 ID:gaBKDdgt.net
>>772
その辺はわりと初期から迷走してるでしょ
フロントエンド用ライブラリ郡も全てnpmで管理してるし

774 :デフォルトの名無しさん:2022/10/21(金) 20:11:01.49 ID:ho0gY/No.net
立ち位置としては単なるJSのランタイムだから別に迷走はしてない
あれもこれもできている現状は目標が達成できている状態だな

775 :デフォルトの名無しさん:2022/10/21(金) 20:53:45.43 ID:r+LUs0oF.net
自分が作りたいものを実現できるならそれでいいし

776 :デフォルトの名無しさん:2022/10/22(土) 10:24:29.33 ID:nOyTQUKy.net
またnpmとbowerに分かれるのか

777 :デフォルトの名無しさん:2022/10/22(土) 12:20:56.88 ID:J0WzfMNr.net
>>773
そもそもフロントエンドの実行環境はnodeじゃないしな。
そこで動くライブラリもnpmにしたのはライブラリ開発者側の意思だろ。

778 :デフォルトの名無しさん:2022/11/02(水) 16:05:58.82 ID:IF6ghKjX+
テ口リス├の敵は味方、金正恩を支持しよう!
都心まて゛数珠つなき゛で私有地上空を侵犯するJΑLだのÅNАだのクソアヰヌドゥた゛のクサヰマークた゛のコ゛キブリフラヰヤ一だの
女風呂のそ゛きながら威カ業務妨害騒音ヘリグルク゛儿飛は゛して住民イラヰラ犯罪惹起してる猥褻犯罪逮捕者た゛らけのクソポリ公た゛の
国土破壊省だの都心まて゛数珠つなぎで騒音に温室効果ガスにコ口ナにとまき散らして,氣候変動させて海水温上昇させて,
地球破壞して土砂崩れに洪水.暴風、干は゛つ.森林火災にと災害連発させて、静音が生命線の知的産業を根絶やしにして儲けてる
この殺人テ□リストどもこそか゛安全保障にとって重大て゛差し迫った脅威であり.國際社會全体にとって明白で深刻な脅威だろ
ウケルのは大気圏外を飛んて゛るミサヰ儿か゛上空を通過しただのほさ゛いて國民を煽って電車まで止めて号外まで出すキチカ゛イっふ゜りな
人類に涌いた害虫税金泥棒公務員ってのはこういう白々しいネタまて゛作り上げてバカ騙して利権倍増させて私腹を肥やしてるわけよ

創価学會員は.何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を
池田センセ━か゛囗をきけて容認するとか本氣で思ってるとしたら侮辱にもほどか゛あるぞ!
htTPs://i,imgur、cοm/hnli1ga.jpeg

779 :デフォルトの名無しさん:2022/12/01(木) 15:22:36.40 ID:gR9AoUvr.net
npm@9にしたらupdate時にinstall済みのローカルモジュールがsymlinkから実ファイルコピーに書き換えられた
--install-linksの挙動変更だけじゃなかったのか

780 :デフォルトの名無しさん:2023/01/09(月) 13:40:55.90 ID:pkwz3DCl.net
substackがGithubリポジトリごと全部消してるけど何かあったのか
npmは基本消せないから今のところは支障ないけど

781 :デフォルトの名無しさん:2023/01/09(月) 15:20:15.81 ID:QAUxwh3d.net
スマホ持ってないのに2段階認証押し付けられて嫌気がしたからとか見かけたな

782 :デフォルトの名無しさん:2023/01/09(月) 19:48:04.21 ID:pkwz3DCl.net
思ったよりしょうもなかったがバイク事故とかじゃなくてよかったわ

783 :デフォルトの名無しさん:2023/01/26(木) 12:54:12.49 ID:O11XvwYM.net
TSのバックエンドでファイル処理つったらstreamでいいのかな
BufferとかBlobは要らん子?pipeってのもあるらしくて混乱中

784 :デフォルトの名無しさん:2023/01/26(木) 13:13:59.54 ID:f8HqO3bH.net
最初はfs.writeFileとfs.readFileを使え
streamは小刻みにデータを処理する方法でpipeはその際の繋ぎ役
BufferやBlobはデータをメモリ上で扱う際の形式の一つ
TS以前にJSの基礎が怪しいから入門サイトなぞったほうがいいぞ

785 :デフォルトの名無しさん:2023/01/26(木) 13:26:12.10 ID:O11XvwYM.net
>>784
どうも
BufferとBlobは役割同じに思えるけどなんで分けてるん?

786 :デフォルトの名無しさん:2023/01/26(木) 14:46:29.69 ID:gEyoKRRe.net
BufferはNode固有のAPI
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある

787 :デフォルトの名無しさん:2023/01/26(木) 15:24:22.66 ID:G0G6dXL8.net
>>786
どうも
JSごちゃごちゃしてて難しいっすね
でも大体わかったわ

788 :デフォルトの名無しさん:2023/02/10(金) 08:27:38.73 ID:WC55EdF2.net
今ってORMはPrisma一択?

789 :デフォルトの名無しさん:2023/02/10(金) 10:01:03.33 ID:9VW44qMw.net
勢いでは完全に負けてるが一応TypeORMもあるんじゃね

790 :デフォルトの名無しさん:2023/03/01(水) 14:51:23.19 ID:dWfTEqUX.net
util.aborted()が生えたけど用途がわからん

791 :デフォルトの名無しさん:2023/07/27(木) 23:08:16.03 ID:nxFTW9tq.net
nodejsでDBマネージャーとかログマネージャーとか、可能な限り同一インスタンスを維持したいインスタンスって一般的にどうしてますでしょうか。

class DbManager{
private constructor(){}
static instance = new DbManager();
}
staticクラスを使うなら上記の書き方でしょうが、一般的にstaticクラスは良くないとされています。
他の硬い言語ならDIを使うのですが、nodejsというか、javascriptだとDIライブラリはあまり使われていないように見える。

毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか

792 :デフォルトの名無しさん:2023/07/28(金) 01:56:41.01 ID:HsfaqfZ/.net
常に引数で外部注入して生成するけど
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな

793 :デフォルトの名無しさん:2023/07/28(金) 03:31:39.50 ID:H/mKlItN.net
>>792
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…

とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。

794 :デフォルトの名無しさん:2023/07/28(金) 09:58:33.60 ID:Za7BrkqV.net
ファイル(モジュール)のトップレベルで

export const instance = new Xxx();

で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ

795 :デフォルトの名無しさん:2023/07/28(金) 10:36:22.85 ID:HsfaqfZ/.net
singletonならそれでいいね

796 :デフォルトの名無しさん:2023/07/28(金) 12:39:37.08 ID:Zbfe02RK.net
>>791
> 同一インスタンスを維持したい

シングルトンの話だな

797 :デフォルトの名無しさん:2023/08/18(金) 15:34:38.37 ID:ccv6NoZV.net
やめてっ!そこはビンカンなの!

798 :デフォルトの名無しさん:2023/10/13(金) 21:17:44.43 ID:uv+WVTr3.net
おぉ(゚ロ゚屮)屮

799 :デフォルトの名無しさん:2024/03/15(金) 01:14:12.53 ID:XS+9mG1WC
税金泥棒だらけの日本の茶番政治家と違って日本に原爆落とした世界最惡のならす゛者国家の国会は政治やってるよな
何しろ「やんのかコラ」「よろこんで」「じゃあ立てよ」「お前が立てよ」とか言い合ってるくらいた゛しな
岸田異次元増税憲法ガン無視地球破壊覇権主義経済音痴文雄にそのくらい言い放とうものならお前ら間違いなく投票するよな
クビにされた税理士神田憲次財務副大臣は徴税システ厶ぶっ壞すために財務副大臣になったんだくらい言えは゛どんでん返しだったろうに
天下り賄賂癒着して航空騒音による威力業務妨害までしてるだけの害虫公務員に高額なタダメシ食わしてやるデタラメ許してるせいで
賃金が上がらず物価上昇という白々しい結果になってんた゛から片っ端から税金という名目の強盗システ厶をぶっ壊してやんよとか
誰か言ってみせろっつのな.税金不払い運動とかやらないのは日本くらいなものた゛から俺も俺もと汚職まみれの世界最悪の腐敗天國に
なったわけだが税金滞納して督促くらってもと゛うということはないと税理士副大臣がバラしちまったし俺も俺もと誰も払わなくなればいいよな
(ref.) tΤps://www.call4.jp/info.Ρhp?tуρe=iТems&id=I0000062
ttps://haneda-project.jimdofrеe.com/ , tтρs://flight-rouTe.Сom/
Τtps://n-souonhigaisosyoudan.amebaownd.com/

213 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★