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/
【node.js】サーバサイドjavascript 5【Nashorn】
1デフォルトの名無しさん
2018/02/13(火) 22:21:33.91ID:moEhrPrC760デフォルトの名無しさん
2022/02/20(日) 03:59:37.87ID:Y4d5gioW >>757
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) と好きなだけ並べて書く
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) と好きなだけ並べて書く
761デフォルトの名無しさん
2022/02/20(日) 13:07:52.69ID:G2bzmeXG 758 759 760
ありがとう
pipelineってやつ使うとよいみたいやね
調べてみますわ
ありがとう
pipelineってやつ使うとよいみたいやね
調べてみますわ
762デフォルトの名無しさん
2022/05/08(日) 08:50:47.73ID:Hc0pjWMa なんでchildprocessのイベントにはSIGINTが実装されてないんだろ
それでいて親から伝搬はするからdetached入れて切り離さないと落ちちまう
親同様にリスナー付けてexitを止められるようにするべきだと思うんだが
それでいて親から伝搬はするからdetached入れて切り離さないと落ちちまう
親同様にリスナー付けてexitを止められるようにするべきだと思うんだが
763デフォルトの名無しさん
2022/10/10(月) 18:43:55.67ID:MKhHDYOQ 相対パスでローカルモジュールをnpm iするとdependencieではfile:から始まる相対パスになるけど
実際これは完全に無視されて同時に作成されるnode_modules以下のsymlinkが読み込まれるんだな
なんでこんな実装になってんだ
実際これは完全に無視されて同時に作成されるnode_modules以下のsymlinkが読み込まれるんだな
なんでこんな実装になってんだ
764デフォルトの名無しさん
2022/10/10(月) 18:53:57.82ID:MKhHDYOQ いや更新時の参照用ならこれでいいのか
nodeのrequire/importとnpmのinstall/updateを混同してたわ
nodeのrequire/importとnpmのinstall/updateを混同してたわ
765デフォルトの名無しさん
2022/10/12(水) 13:25:20.11ID:pFlsWqq0 バックエンドnode.jsだけで食っていけますか
766デフォルトの名無しさん
2022/10/12(水) 13:50:41.51ID:PMp24lyt nodejs単体というよりOODBの管理ととトランザクションいじれるようになるのが一番じゃね?
767デフォルトの名無しさん
2022/10/20(木) 13:26:50.96ID:qyQuWblL >>765
可能と言えば可能だけど無理と言えば無理
結局何作って金稼ぐかに帰ってくる
PHPerがCRUDをLaravelで作って納品してるような事はNode.jsでも出来るけど
人口多いPHPでやれば良くないっすか?で詰む
改めてNode.jsを使う意味に戻ってくる
可能と言えば可能だけど無理と言えば無理
結局何作って金稼ぐかに帰ってくる
PHPerがCRUDをLaravelで作って納品してるような事はNode.jsでも出来るけど
人口多いPHPでやれば良くないっすか?で詰む
改めてNode.jsを使う意味に戻ってくる
768デフォルトの名無しさん
2022/10/21(金) 14:23:53.93ID:QgmICw4I この業界ってnodeよりphpのほうが多いの?
769デフォルトの名無しさん
2022/10/21(金) 17:27:25.06ID:yOIwuGST nodeはhttpサーバ目指してんのか
クロスプラットフォームのコマンドツール群目指してんのか
立ち位置が分かりにくくなってきてるなぁ。
クロスプラットフォームのコマンドツール群目指してんのか
立ち位置が分かりにくくなってきてるなぁ。
770デフォルトの名無しさん
2022/10/21(金) 17:37:31.50ID:gaBKDdgt771デフォルトの名無しさん
2022/10/21(金) 20:11:01.49ID:ho0gY/No 立ち位置としては単なるJSのランタイムだから別に迷走はしてない
あれもこれもできている現状は目標が達成できている状態だな
あれもこれもできている現状は目標が達成できている状態だな
772デフォルトの名無しさん
2022/10/21(金) 20:53:45.43ID:r+LUs0oF 自分が作りたいものを実現できるならそれでいいし
773デフォルトの名無しさん
2022/10/22(土) 10:24:29.33ID:nOyTQUKy またnpmとbowerに分かれるのか
774デフォルトの名無しさん
2022/10/22(土) 12:20:56.88ID:J0WzfMNr775デフォルトの名無しさん
2022/12/01(木) 15:22:36.40ID:gR9AoUvr npm@9にしたらupdate時にinstall済みのローカルモジュールがsymlinkから実ファイルコピーに書き換えられた
--install-linksの挙動変更だけじゃなかったのか
--install-linksの挙動変更だけじゃなかったのか
776デフォルトの名無しさん
2023/01/09(月) 13:40:55.90ID:pkwz3DCl substackがGithubリポジトリごと全部消してるけど何かあったのか
npmは基本消せないから今のところは支障ないけど
npmは基本消せないから今のところは支障ないけど
777デフォルトの名無しさん
2023/01/09(月) 15:20:15.81ID:QAUxwh3d スマホ持ってないのに2段階認証押し付けられて嫌気がしたからとか見かけたな
778デフォルトの名無しさん
2023/01/09(月) 19:48:04.21ID:pkwz3DCl 思ったよりしょうもなかったがバイク事故とかじゃなくてよかったわ
779デフォルトの名無しさん
2023/01/26(木) 12:54:12.49ID:O11XvwYM TSのバックエンドでファイル処理つったらstreamでいいのかな
BufferとかBlobは要らん子?pipeってのもあるらしくて混乱中
BufferとかBlobは要らん子?pipeってのもあるらしくて混乱中
780デフォルトの名無しさん
2023/01/26(木) 13:13:59.54ID:f8HqO3bH 最初はfs.writeFileとfs.readFileを使え
streamは小刻みにデータを処理する方法でpipeはその際の繋ぎ役
BufferやBlobはデータをメモリ上で扱う際の形式の一つ
TS以前にJSの基礎が怪しいから入門サイトなぞったほうがいいぞ
streamは小刻みにデータを処理する方法でpipeはその際の繋ぎ役
BufferやBlobはデータをメモリ上で扱う際の形式の一つ
TS以前にJSの基礎が怪しいから入門サイトなぞったほうがいいぞ
781デフォルトの名無しさん
2023/01/26(木) 13:26:12.10ID:O11XvwYM782デフォルトの名無しさん
2023/01/26(木) 14:46:29.69ID:gEyoKRRe BufferはNode固有のAPI
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある
783デフォルトの名無しさん
2023/01/26(木) 15:24:22.66ID:G0G6dXL8784デフォルトの名無しさん
2023/02/10(金) 08:27:38.73ID:WC55EdF2 今ってORMはPrisma一択?
785デフォルトの名無しさん
2023/02/10(金) 10:01:03.33ID:9VW44qMw 勢いでは完全に負けてるが一応TypeORMもあるんじゃね
786デフォルトの名無しさん
2023/03/01(水) 14:51:23.19ID:dWfTEqUX util.aborted()が生えたけど用途がわからん
787デフォルトの名無しさん
2023/07/27(木) 23:08:16.03ID:nxFTW9tq nodejsでDBマネージャーとかログマネージャーとか、可能な限り同一インスタンスを維持したいインスタンスって一般的にどうしてますでしょうか。
class DbManager{
private constructor(){}
static instance = new DbManager();
}
staticクラスを使うなら上記の書き方でしょうが、一般的にstaticクラスは良くないとされています。
他の硬い言語ならDIを使うのですが、nodejsというか、javascriptだとDIライブラリはあまり使われていないように見える。
毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか
class DbManager{
private constructor(){}
static instance = new DbManager();
}
staticクラスを使うなら上記の書き方でしょうが、一般的にstaticクラスは良くないとされています。
他の硬い言語ならDIを使うのですが、nodejsというか、javascriptだとDIライブラリはあまり使われていないように見える。
毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか
788デフォルトの名無しさん
2023/07/28(金) 01:56:41.01ID:HsfaqfZ/ 常に引数で外部注入して生成するけど
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな
789デフォルトの名無しさん
2023/07/28(金) 03:31:39.50ID:H/mKlItN >>788
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…
とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…
とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。
790デフォルトの名無しさん
2023/07/28(金) 09:58:33.60ID:Za7BrkqV ファイル(モジュール)のトップレベルで
export const instance = new Xxx();
で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ
export const instance = new Xxx();
で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ
791デフォルトの名無しさん
2023/07/28(金) 10:36:22.85ID:HsfaqfZ/ singletonならそれでいいね
792デフォルトの名無しさん
2023/07/28(金) 12:39:37.08ID:Zbfe02RK793デフォルトの名無しさん
2023/08/18(金) 15:34:38.37ID:ccv6NoZV やめてっ!そこはビンカンなの!
794デフォルトの名無しさん
2023/10/13(金) 21:17:44.43ID:uv+WVTr3 おぉ(゚ロ゚屮)屮
795デフォルトの名無しさん
2024/06/07(金) 19:13:05.87ID:pMHNGLdE Prismaが快適すぎて最近はこれ使いたいがためにnode使ってるまであるわ
たまにEloquentとか使うとやりたいことができなさすぎて発狂しそうになる
たまにEloquentとか使うとやりたいことができなさすぎて発狂しそうになる
796デフォルトの名無しさん
2024/07/22(月) 05:05:01.65ID:lDVL1NiC わざわざランタイム側でsqlite内蔵する意味がわからん
暇なのか
暇なのか
レスを投稿する
