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

2022/02/20(日) 02:30:31.20ID:r6gz02kC
> レスポンスにパイプ

stream.pipeline()関数を使えってこった
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) と好きなだけ並べて書く
2022/02/20(日) 13:07:52.69ID:G2bzmeXG
758 759 760
ありがとう
pipelineってやつ使うとよいみたいやね
調べてみますわ
2022/05/08(日) 08:50:47.73ID:Hc0pjWMa
なんでchildprocessのイベントにはSIGINTが実装されてないんだろ
それでいて親から伝搬はするからdetached入れて切り離さないと落ちちまう
親同様にリスナー付けてexitを止められるようにするべきだと思うんだが
2022/10/10(月) 18:43:55.67ID:MKhHDYOQ
相対パスでローカルモジュールをnpm iするとdependencieではfile:から始まる相対パスになるけど
実際これは完全に無視されて同時に作成されるnode_modules以下のsymlinkが読み込まれるんだな
なんでこんな実装になってんだ
2022/10/10(月) 18:53:57.82ID:MKhHDYOQ
いや更新時の参照用ならこれでいいのか
nodeのrequire/importとnpmのinstall/updateを混同してたわ
765デフォルトの名無しさん
垢版 |
2022/10/12(水) 13:25:20.11ID:pFlsWqq0
バックエンドnode.jsだけで食っていけますか
2022/10/12(水) 13:50:41.51ID:PMp24lyt
nodejs単体というよりOODBの管理ととトランザクションいじれるようになるのが一番じゃね?
2022/10/20(木) 13:26:50.96ID:qyQuWblL
>>765
可能と言えば可能だけど無理と言えば無理
結局何作って金稼ぐかに帰ってくる

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

改めてNode.jsを使う意味に戻ってくる
2022/10/21(金) 14:23:53.93ID:QgmICw4I
この業界ってnodeよりphpのほうが多いの?
2022/10/21(金) 17:27:25.06ID:yOIwuGST
nodeはhttpサーバ目指してんのか
クロスプラットフォームのコマンドツール群目指してんのか
立ち位置が分かりにくくなってきてるなぁ。
2022/10/21(金) 17:37:31.50ID:gaBKDdgt
>>769
その辺はわりと初期から迷走してるでしょ
フロントエンド用ライブラリ郡も全てnpmで管理してるし
2022/10/21(金) 20:11:01.49ID:ho0gY/No
立ち位置としては単なるJSのランタイムだから別に迷走はしてない
あれもこれもできている現状は目標が達成できている状態だな
2022/10/21(金) 20:53:45.43ID:r+LUs0oF
自分が作りたいものを実現できるならそれでいいし
2022/10/22(土) 10:24:29.33ID:nOyTQUKy
またnpmとbowerに分かれるのか
2022/10/22(土) 12:20:56.88ID:J0WzfMNr
>>770
そもそもフロントエンドの実行環境はnodeじゃないしな。
そこで動くライブラリもnpmにしたのはライブラリ開発者側の意思だろ。
2022/12/01(木) 15:22:36.40ID:gR9AoUvr
npm@9にしたらupdate時にinstall済みのローカルモジュールがsymlinkから実ファイルコピーに書き換えられた
--install-linksの挙動変更だけじゃなかったのか
2023/01/09(月) 13:40:55.90ID:pkwz3DCl
substackがGithubリポジトリごと全部消してるけど何かあったのか
npmは基本消せないから今のところは支障ないけど
2023/01/09(月) 15:20:15.81ID:QAUxwh3d
スマホ持ってないのに2段階認証押し付けられて嫌気がしたからとか見かけたな
2023/01/09(月) 19:48:04.21ID:pkwz3DCl
思ったよりしょうもなかったがバイク事故とかじゃなくてよかったわ
2023/01/26(木) 12:54:12.49ID:O11XvwYM
TSのバックエンドでファイル処理つったらstreamでいいのかな
BufferとかBlobは要らん子?pipeってのもあるらしくて混乱中
2023/01/26(木) 13:13:59.54ID:f8HqO3bH
最初はfs.writeFileとfs.readFileを使え
streamは小刻みにデータを処理する方法でpipeはその際の繋ぎ役
BufferやBlobはデータをメモリ上で扱う際の形式の一つ
TS以前にJSの基礎が怪しいから入門サイトなぞったほうがいいぞ
2023/01/26(木) 13:26:12.10ID:O11XvwYM
>>780
どうも
BufferとBlobは役割同じに思えるけどなんで分けてるん?
2023/01/26(木) 14:46:29.69ID:gEyoKRRe
BufferはNode固有のAPI
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある
2023/01/26(木) 15:24:22.66ID:G0G6dXL8
>>782
どうも
JSごちゃごちゃしてて難しいっすね
でも大体わかったわ
2023/02/10(金) 08:27:38.73ID:WC55EdF2
今ってORMはPrisma一択?
2023/02/10(金) 10:01:03.33ID:9VW44qMw
勢いでは完全に負けてるが一応TypeORMもあるんじゃね
2023/03/01(水) 14:51:23.19ID:dWfTEqUX
util.aborted()が生えたけど用途がわからん
2023/07/27(木) 23:08:16.03ID:nxFTW9tq
nodejsでDBマネージャーとかログマネージャーとか、可能な限り同一インスタンスを維持したいインスタンスって一般的にどうしてますでしょうか。

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

毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか
2023/07/28(金) 01:56:41.01ID:HsfaqfZ/
常に引数で外部注入して生成するけど
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな
2023/07/28(金) 03:31:39.50ID:H/mKlItN
>>788
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…

とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。
2023/07/28(金) 09:58:33.60ID:Za7BrkqV
ファイル(モジュール)のトップレベルで

export const instance = new Xxx();

で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ
2023/07/28(金) 10:36:22.85ID:HsfaqfZ/
singletonならそれでいいね
2023/07/28(金) 12:39:37.08ID:Zbfe02RK
>>787
> 同一インスタンスを維持したい

シングルトンの話だな
2023/08/18(金) 15:34:38.37ID:ccv6NoZV
やめてっ!そこはビンカンなの!
2023/10/13(金) 21:17:44.43ID:uv+WVTr3
おぉ(゚ロ゚屮)屮
795デフォルトの名無しさん
垢版 |
2024/06/07(金) 19:13:05.87ID:pMHNGLdE
Prismaが快適すぎて最近はこれ使いたいがためにnode使ってるまであるわ
たまにEloquentとか使うとやりたいことができなさすぎて発狂しそうになる
2024/07/22(月) 05:05:01.65ID:lDVL1NiC
わざわざランタイム側でsqlite内蔵する意味がわからん
暇なのか
レスを投稿する

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