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:moEhrPrC734デフォルトの名無しさん
2021/12/27(月) 09:41:04.48ID:VqPkBZyA735デフォルトの名無しさん
2021/12/27(月) 10:22:30.58ID:5b2Vj92V >>732
> 近年の言語はサードパーティーのツール含めたエコシステム全体で生産性をいかに高めるかという観点で設計されることも多いと思うのですが
「多い」というのならまず具体的に名前を複数挙げてみろ。
出来なければそれは君の妄想だね。
> また、あなたの言う実行エンジンとは静的解析器の意味で実際にJSをevalするものではないということですね?
違うぞ。それは今の話に関係ない。(どっちでもいい)
> 意図してたのはintellisenseのような意味解析が必要な機能です
だから何?これも君の考えが間違ってる。
flycheckのやり方でも原理的にインテリセンスは出来るんだよ。
インテリセンスで出なかったキーワードだとコンパイルエラーになるのなら、
仮にコンパイラが無限に速ければ、ソース内の全キーワードで試せば、コンパイルが通るキーワードのリストは得られる。
実際こんな事をしてる物はないと思うが、構文解釈で100%絞る必要なんて無くて、
候補が数個程度なら全部試してエラーが出なかった物を出す程度でも十分実用的なんだよ。
今時emacsでもインテリセンスするようだから、そんなにIDEが気になるのなら、彼等のアプローチを確認してみるといいよ。
全言語向けに自前でやってる事なんてないと思うよ。
プロトタイプを自分で追うのが技術的に無理なら、evalさせてgetPrototypeOfやinstanceofを使って追えばいいだけ。
自前の構文解釈器でソースからデータツリー構築をする気だからおかしくなる。
それはevalすれば実行エンジン内に構築されるものでしかないのだから、完全に再開発だろ。
eval出来る環境があり、それが一番近道なら、やればいいだけ。
君は多分「生産性」を勘違いしてる。
むしろ再開発しすぎてるし。
現状どうなってるのか知らないのだけど、メジャーなIDE、
例えばVSCodeとかだとクラスベースならインテリセンス出来るが、プロトタイプベースだと無理とかなのか?
誰か使ってたら教えてくれ。
> 近年の言語はサードパーティーのツール含めたエコシステム全体で生産性をいかに高めるかという観点で設計されることも多いと思うのですが
「多い」というのならまず具体的に名前を複数挙げてみろ。
出来なければそれは君の妄想だね。
> また、あなたの言う実行エンジンとは静的解析器の意味で実際にJSをevalするものではないということですね?
違うぞ。それは今の話に関係ない。(どっちでもいい)
> 意図してたのはintellisenseのような意味解析が必要な機能です
だから何?これも君の考えが間違ってる。
flycheckのやり方でも原理的にインテリセンスは出来るんだよ。
インテリセンスで出なかったキーワードだとコンパイルエラーになるのなら、
仮にコンパイラが無限に速ければ、ソース内の全キーワードで試せば、コンパイルが通るキーワードのリストは得られる。
実際こんな事をしてる物はないと思うが、構文解釈で100%絞る必要なんて無くて、
候補が数個程度なら全部試してエラーが出なかった物を出す程度でも十分実用的なんだよ。
今時emacsでもインテリセンスするようだから、そんなにIDEが気になるのなら、彼等のアプローチを確認してみるといいよ。
全言語向けに自前でやってる事なんてないと思うよ。
プロトタイプを自分で追うのが技術的に無理なら、evalさせてgetPrototypeOfやinstanceofを使って追えばいいだけ。
自前の構文解釈器でソースからデータツリー構築をする気だからおかしくなる。
それはevalすれば実行エンジン内に構築されるものでしかないのだから、完全に再開発だろ。
eval出来る環境があり、それが一番近道なら、やればいいだけ。
君は多分「生産性」を勘違いしてる。
むしろ再開発しすぎてるし。
現状どうなってるのか知らないのだけど、メジャーなIDE、
例えばVSCodeとかだとクラスベースならインテリセンス出来るが、プロトタイプベースだと無理とかなのか?
誰か使ってたら教えてくれ。
736デフォルトの名無しさん
2021/12/27(月) 10:51:32.02ID:gEDfakwV ×クラスベース
○クラス構文
クラス構文で書いてもプロトタイプベースなのは変わらん
○クラス構文
クラス構文で書いてもプロトタイプベースなのは変わらん
737デフォルトの名無しさん
2021/12/27(月) 11:21:14.15ID:mFj7RPUl738デフォルトの名無しさん
2021/12/27(月) 11:22:05.04ID:lxgQYw9b 言語仕様も分かってないIDEも使ってない部外者の素人同士が長文レスバって地獄だな
739デフォルトの名無しさん
2021/12/27(月) 11:54:45.10ID:Btn3kp2t >>735
> 「多い」というのならまず具体的に名前を複数挙げてみろ。
例えばgolangやrustはコアチームがツール開発に積極的ですね
ツールのチームがコア言語に対してフィードバックしていたりする
> eval出来る環境があり、それが一番近道なら、やればいいだけ。
"構文解釈機" という言葉を使っているから静的解析を意図してるのかと思ったけど動的解析も含んで言っていたのね
それで実用に耐えうる速度と精度が実現できるならそういうアプローチもありかもね
それから別にIDEが自前で静的解析器を開発すべきなんて主張はしてないから藁人形論法はやめてくれ
>>737
オブジェクト指向というか継承が忌避されてる気はする
> 「多い」というのならまず具体的に名前を複数挙げてみろ。
例えばgolangやrustはコアチームがツール開発に積極的ですね
ツールのチームがコア言語に対してフィードバックしていたりする
> eval出来る環境があり、それが一番近道なら、やればいいだけ。
"構文解釈機" という言葉を使っているから静的解析を意図してるのかと思ったけど動的解析も含んで言っていたのね
それで実用に耐えうる速度と精度が実現できるならそういうアプローチもありかもね
それから別にIDEが自前で静的解析器を開発すべきなんて主張はしてないから藁人形論法はやめてくれ
>>737
オブジェクト指向というか継承が忌避されてる気はする
740デフォルトの名無しさん
2021/12/27(月) 12:21:31.31ID:VwNgBMvN オブジェクト指向ならではの筆頭が継承だから継承が忌避されてる=オブジェクト指向が忌避されてるってことよ
OOPLが提供していた継承以外の特性の多く(カプセル化など)は抽象データ型から来ていてそれは時代遅れになってないし忌避されてもいない
OOPLが提供していた継承以外の特性の多く(カプセル化など)は抽象データ型から来ていてそれは時代遅れになってないし忌避されてもいない
741デフォルトの名無しさん
2021/12/27(月) 13:11:44.45ID:+2NyFcdP クラスの定義だけど、
classとfunctionを混在した書き方でも問題ないの?
classとfunctionを混在した書き方でも問題ないの?
742デフォルトの名無しさん
2021/12/27(月) 13:40:18.86ID:Uq9DqbRx >>741
混在した書き方っての次第だが
class A {}
A.prototype.x = () => {}
a = new A()
a.x()
こんなのは当たり前に動くぞ
つかまずは自分で試せよw
JSなんかブラウザあれば動かせるんだからさー
混在した書き方っての次第だが
class A {}
A.prototype.x = () => {}
a = new A()
a.x()
こんなのは当たり前に動くぞ
つかまずは自分で試せよw
JSなんかブラウザあれば動かせるんだからさー
743デフォルトの名無しさん
2021/12/27(月) 15:00:45.57ID:5b2Vj92V >>739
> 例えばgolangやrustはコアチームがツール開発に積極的ですね
それで、それらの言語のどの仕様がIDEの都合で採用されたものなの?
> 藁人形論法はやめてくれ
なら最初から分かるように主張しろ。
何が言いたいか分からないからエスパーして複数挙げてみただけ。
馬鹿は無視してきっちり自分の意見を書ききれ。
3行しか読めない馬鹿はプログラミングなんてどうやっても出来ない。
MDNその他のリファレンス見りゃ分かるが、そんな世界じゃない。
5ch程度の文にすら手こずるようではどだい無理だよ。
解釈が動的か静的かは意味無い。
出来るだけ早い段階でエラーを検出して修正したいだけであって、それが出来れば何だっていいんだよ。
その手段の一つが静的解析でソース作成時にエラーを表示する事であって。
でも、エラー表示だけなら、コンパイラやevalにぶち込めば出来るし、それをやってるっぽいのがflycheck。
構文解釈器を自前で作るとしても、クラス構文でもプロトタイプ構文でも、大して難易度は変わらない気もするが。
実際に問題になるのは、構文解釈そのもの、具体的にはJS的な様々な書き方でも問題なく動くパーサの構成だろ。
構文解釈後の親class/プロトタイプ追跡なんて辿ればいいだけだからアホでも出来る。
それで今時のIDEで実際どうなのか聞いたんだよ。
もしプロトタイプ構文ではインテリセンスが動かないのなら、何か理由はあるのだろうけど。
継承が忌避されてるのは、JAVAでは関数ポインタが使えず、同様の事をするためには継承をこねくり回すしかなくて、
それの残骸がデザインパターンなのだが、
結果、継承すべきでない局面での継承で酷い事になってるからだよ。
でも、継承すべき場所では継承した方がよくて、全部捨ててるGoはいちいち全部書かないといけないのが糞。
あれは1周目はまだしも、2周目以降でそのコピペされたソースにメンテコストがかかるから、先すぼみになると予想してる。
Rustはやってないから知らん。
> 例えばgolangやrustはコアチームがツール開発に積極的ですね
それで、それらの言語のどの仕様がIDEの都合で採用されたものなの?
> 藁人形論法はやめてくれ
なら最初から分かるように主張しろ。
何が言いたいか分からないからエスパーして複数挙げてみただけ。
馬鹿は無視してきっちり自分の意見を書ききれ。
3行しか読めない馬鹿はプログラミングなんてどうやっても出来ない。
MDNその他のリファレンス見りゃ分かるが、そんな世界じゃない。
5ch程度の文にすら手こずるようではどだい無理だよ。
解釈が動的か静的かは意味無い。
出来るだけ早い段階でエラーを検出して修正したいだけであって、それが出来れば何だっていいんだよ。
その手段の一つが静的解析でソース作成時にエラーを表示する事であって。
でも、エラー表示だけなら、コンパイラやevalにぶち込めば出来るし、それをやってるっぽいのがflycheck。
構文解釈器を自前で作るとしても、クラス構文でもプロトタイプ構文でも、大して難易度は変わらない気もするが。
実際に問題になるのは、構文解釈そのもの、具体的にはJS的な様々な書き方でも問題なく動くパーサの構成だろ。
構文解釈後の親class/プロトタイプ追跡なんて辿ればいいだけだからアホでも出来る。
それで今時のIDEで実際どうなのか聞いたんだよ。
もしプロトタイプ構文ではインテリセンスが動かないのなら、何か理由はあるのだろうけど。
継承が忌避されてるのは、JAVAでは関数ポインタが使えず、同様の事をするためには継承をこねくり回すしかなくて、
それの残骸がデザインパターンなのだが、
結果、継承すべきでない局面での継承で酷い事になってるからだよ。
でも、継承すべき場所では継承した方がよくて、全部捨ててるGoはいちいち全部書かないといけないのが糞。
あれは1周目はまだしも、2周目以降でそのコピペされたソースにメンテコストがかかるから、先すぼみになると予想してる。
Rustはやってないから知らん。
744デフォルトの名無しさん
2021/12/27(月) 15:36:34.22ID:KDGmbGA4 何言ってるか分からない相手にエスパーして反論って藁人形そのもので完全に異常者
745デフォルトの名無しさん
2021/12/27(月) 15:55:56.69ID:h2/Ma5NI いい加減スレチだから他所でやってもらえんかね
このスレ伸ばすにしてもnodeにScheduling APIが入ったとか普通にネタあるだろ
このスレ伸ばすにしてもnodeにScheduling APIが入ったとか普通にネタあるだろ
746デフォルトの名無しさん
2021/12/27(月) 16:04:01.18ID:XkNPDe9x 最近アツいサーバサイドJSはnodeよりもdenoよりもCloudflare Workers
747デフォルトの名無しさん
2021/12/27(月) 16:21:39.89ID:U0LFk7o9 denoって全然使われてないの?
748デフォルトの名無しさん
2021/12/27(月) 16:28:54.26ID:XkNPDe9x denoは苦戦してるみたいだねー
それでexpressなどnode用のライブラリが動くように互換性を高める方針になった
でもそれならnode使い続ければいいやってなりそう
それでexpressなどnode用のライブラリが動くように互換性を高める方針になった
でもそれならnode使い続ければいいやってなりそう
749デフォルトの名無しさん
2022/01/05(水) 00:01:04.66ID:XksPZRYQ puppeteerを使って投票サイトの投票を自動化したいのだけど、
実行してもエラーを起こさず無反応なんだよね
Headless Recorerを使ってるからHTML部分の間違いはないと思うのだけど、
UserAgent以外で何か対策ないっすかね
実行してもエラーを起こさず無反応なんだよね
Headless Recorerを使ってるからHTML部分の間違いはないと思うのだけど、
UserAgent以外で何か対策ないっすかね
750デフォルトの名無しさん
2022/01/05(水) 00:22:23.97ID:n516+jFB いくらでも試すことはあるけど悪事の片棒を担ぎそうで怖いな
一般論として言えるのはpuppeteerでも普通にWebページのコンテキストからDOM APIを叩ける
一般論として言えるのはpuppeteerでも普通にWebページのコンテキストからDOM APIを叩ける
751デフォルトの名無しさん
2022/01/05(水) 00:33:19.61ID:XksPZRYQ んじゃ、逆にWEBサイトを作る側はどんな対策をしているのでしょうか?
752デフォルトの名無しさん
2022/01/05(水) 10:54:49.76ID:4mwV9n2W reCAPTCHA使ってんじゃない?
753デフォルトの名無しさん
2022/01/05(水) 15:02:25.17ID:XksPZRYQ754デフォルトの名無しさん
2022/01/05(水) 15:47:16.38ID:w42D9Ab/ 手動で操作した時のリクエストヘッダーの中身を解析して
間違いなく妥当なリクエストが投げられてるのが大前提
あとは“how to detect headless browser”でググるといいよ
間違いなく妥当なリクエストが投げられてるのが大前提
あとは“how to detect headless browser”でググるといいよ
755デフォルトの名無しさん
2022/01/06(木) 22:16:32.70ID:vwKSLmqQ npmがぶっ壊れたらどうすればいいですかapt でuninstall installしても治りません
756デフォルトの名無しさん
2022/01/10(月) 00:21:58.20ID:MINWORCd スレ立てるまでもない質問はここで 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
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
757デフォルトの名無しさん
2022/02/19(土) 23:48:14.35ID:ukL0Abnm 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のコード見たらレスポンスを直接圧縮するんじゃなくて、オブジェクトを圧縮してそんでレスポンスにパイプって感じに見えたもんで
ただ書き方がよく分からんくてね
response.write(chunk);
}
response.end();
↑みたいな感じでレスポンスに直接書いてってるやつって、一旦に変数に入れることって可能?
const chunks;
for await (const chunk of stream(foo)) {
// chunksにchunkを書き込んでいく
}
response.write(chunks);
res.end();
↑こんな感じに書きたくてさ
レスポンスのサイズを減らしたくてzlibのコード見たらレスポンスを直接圧縮するんじゃなくて、オブジェクトを圧縮してそんでレスポンスにパイプって感じに見えたもんで
ただ書き方がよく分からんくてね
758デフォルトの名無しさん
2022/02/20(日) 02:19:47.65ID:flSfy5Gd そんな感じのコードでやれると思うけど
ただ局所的な負荷を避けるStreamの利点が消えちゃうぞ
ただ局所的な負荷を避けるStreamの利点が消えちゃうぞ
759デフォルトの名無しさん
2022/02/20(日) 02:30:31.20ID:r6gz02kC > レスポンスにパイプ
stream.pipeline()関数を使えってこった
stream.pipeline()関数を使えってこった
760デフォルトの名無しさん
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内蔵する意味がわからん
暇なのか
暇なのか
レスを投稿する
ニュース
- 【芸能】「加害の歴史を直視しない政治家が国の顔に」 宍戸開の批判に議論勃! 高市発言で揺れる芸能界… [冬月記者★]
- 【日中対立】在日本中国大使館、サンフランシスコ講和条約「不法かつ無効な文書」とSNSに投稿 高市首相が党首討論で引用 ★2 [ぐれ★]
- 拳銃24丁を中国から日本国内に輸入した疑い 中国人の46歳の男逮捕 1丁約3000円で販売 [七波羅探題★]
- 糖尿病疑い全国で1100万人、8年で100万人増…厚労省推計 [蚤の市★]
- 【文春】AKB48『紅白歌合戦』出場へ! 前田敦子&大島優子が限定復活! 『ヘビロテ』など黄金期メドレー披露 神7の多くが出場 [冬月記者★]
- 【芸能】落合博満氏、『もし今の時代の選手だったらメジャーで活躍したか?』の質問に即答 会場どよめき [冬月記者★]
- 4:44:44.444
- 【緊急】12月3日4時56分に>>78をゲットするスレ
- 【悲報】日本政府、フランスに「習近平をG7に呼ばないで」と懇願していたwww [237216734]
- 高市を逐一擁護していたJSF、さすがに高市の「戦艦」発言に耐えきれず批判 ネトウヨ発狂へ [165981677]
- 雪はまだか?
- 【悲報】人気VTuberの天音かなたさん、ホロライブ卒業★5 [485689427]
