【node.js】サーバサイドjavascript 5【Nashorn】
>>342 ありがとうございます! CodePageを65001にしても変わらずrun.js実行で文字化けの結果が返ってきます・・・ あ、CodePageじゃなくてchcpです。レジストリからいじってやりました・・・ >>339 process.stdout.write(buffer); >>345 ありがとうございました!最後の行を置き換えたら文字化けせずに表示されました ずっとハマってたのでちゃんとできて泣きそう聞いてよかった クリップボード内の複数行文字列の、各行の先頭・末尾から、 連続する空白類を除去して、クリップボードに入れる CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0 WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ? 例えば上なら、powershell というコマンド名 コマンドプロンプトで、where node と入力すると、パスが通っているだろ? C:\Program Files\nodejs\node.exe クリップボード内の複数行文字列の、各行の先頭・末尾から、 連続する空白類を除去して、クリップボードに入れる CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0 WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ? 例えば上なら、powershell というコマンド名 コマンドプロンプトで、where node と入力すると、パスが通っているだろ? C:\Program Files\nodejs\node.exe そのやり取り見てふと探してみたけどNodeから扱えるクリップボード監視APIorモジュールってないんだな 単なるコピペなら見つかったけど node.jsでローカルのクリップボード操作ってどうしてる? java使ったりFlash使ったりは見つかるけどいまいち npm startをしたところ Something is already running on port 3000. Probably: Would you like to run the app on another port instead? と表示されNoを選択したところローカルで立ち上がりませんでした。 (先にport3000を閉じたくてNoを選んだのですが) 既にport3000が立ち上がっているのが原因かと思うのですが port3000のローカルを閉じるにはどうすればいいのでしょうか? 通常ですとctrl cで閉じれると思うのですが、 気づいたらそのフォルダごと消えていて、でもport3000は更新しても立ち上がったままになっていまして。 フォルダの方は練習用だったので消えても良いのですが 今後のためにport3000を閉じるコマンドを教えて頂けないでしょうか netstat -a -n | grep 3000 >>355 こういったコマンドがあったのですね・・・ 関連コマンドも調べてみて勉強になりました ありがとうございます! prompt系モジュールでtimeout実装したのって無いの? 探したけどinguirerがプラグインで追加できるくらいしか見つからなかった >>358 Promise.race()でタイマーと組み合わせればいい 全く初心者です。 Node.js と nuxt.jsってどうちがうの? Node.js は、Electron, Ruby on Rails でも使う、すべてのweb 系の基礎。 絶対に、インストールして使うもの パッケージマネージャーのnpm/yarn も使う。 Webpack, Babel なども Nuxt.js は、Vue.js をより効果的に使うためのライブラリ JavaScript のサーバー側は、Node.js で、 クライアント側は、jQuery, Vue.js, React など 初めてwebpackでサンプルをビルドした新参ですが、node moduleからbrowser.jsっていうのが組み込まれているようです これって何をするものなんでしょうか? browser.js は、babelで変換せずに、ES6で書いたJSを、ブラウザで実行する Not intended for serious use Compiling in the browser has a fairly limited use case... まあ、実験用 詳しくは「browser.js」で検索して! >>366 有り難うございます ES6で書かなければ必要ないものが組み込まれちゃうって事なんでしょうか? 自分のコードが大丈夫でも使用したmoduleがES6の可能性あるとかなのかな とりあえず気にしない事にします VSCode では、普通にES6 でも動くから、気にした事がない それが他人のプロジェクトなら、その設定ファイルに書いてあるのだろう サーバにphpとDBおいてフロントサイドをjsで運用しているんですが web-dev-serverでこういった環境をローカルに作る事って可能でしょうか? それともnode.jsを使う以上サーバサイドもjsにしてしまうべきなんでしょうか? PHPのbuilt-inのweb server使え >>370 有り難うございます 今までxammpっていうのを使っていたのでそれに流せばいいのでしょうか? ちょっと試してみます >>371 流す? projectのrootディレクトリで $ php -S localhost:8080 ってやれば http://localhost:8080/foobar.php でアクセス可能 Ruby なら、PowerShell から、1-liner で、 Rubyで作られた遅いウェブサーバー、WEBrick が起動する ruby -run -e httpd . -p 8080 そのフォルダに、index.html があれば、 何も考えなくても、これでブラウザからアクセスできる http://localhost:8080 これで遊んだ後は、Routing, O/R マッパーなどを備えた、Sinatra, Rails などのフレームワークを使う。 Rails のコピーが、CakePHP, Spring Boot 最終的な構成で、考えれば? フロントエンドをサーバーサイドと一緒に配布する(ただの静的ファイル扱い)だけなら、同じサーバでいいけど、 そうでないなら、フロントエンド側も初めから別のサーバにしておく方がいい(CORS対応は必須)。 dev-serverだから開発用途のでしょ たぶんwebpack-dev-serverだろうけどそれならhot module replacementとか使えるからサーバが何だろうと開発時は使うべき サーバがnode以外の時はproxyの形で使える >>376 有り難うございます proxyの概念自体がよく解ってないんですが、そういう仲立ち的な使い方も出来るという事ですね ちょっとnpmだけでも覚える事が多すぎるのでゆっくり慣れていく所存です… Node.js のnpm, yarn, PHP のComposer とか、Ruby のBundler のコピーだろ。 別に、覚えることなんてない global/local のインストールの区別と、本番用/開発用の区別だけ。 それと、設定ファイル たぶんnpmレジストリで公開されてるパッケージ群の総称としてnpmと言ってんじゃね npmのパッケージ全部覚えるとか Cの野良ライブラリ覚えるのとか githubのレポジトリ全部覚えるのとか 苦行以外の何物でもない node.jsはjavaにおけるjvmみたいなもの? electronを使ったデスクトップアプリは今後普及するでしょうか? >>382 web開発で培った技術がパソコン・携帯端末でもさらに活かせるようになったら嬉しい。 VSCode は、Electron 製 マルチプラットフォームは、 React Native + Expo アシアルのMonaca(Cordova/PhoneGap) + Onsen UI Mono を使っている、Unity, Xamarin やっぱり漏れは、サーバー側は、Node.js よりも、Ruby を使うけど Ruby使うセンスはわからんな。 今どきRailsとか? あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。 >>385 >あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。 流石にそれはないww >>386 Railsがそれぐらいあり得ない悪手だよ、今どき。 案件の数的にはphp, laravelってのが多いな。 PHPも7以降はプリミティブにもタイプヒンティング使えるからそれを積極的に使うとrailsより良かったりする。 PHPはフレームワーク使わずに、きちんとバリデーションして信頼境界線を意識して使うと、すごく便利よ。 歯を磨くには歯ブラシだなって思う。 Ruby は、JIT で速いから、web サイトの最高速度は未だに、Rails。 世界を驚嘆させた、dev.to もそう 表示速度が“異常な”Webサイト「dev.to」とか https://dev.to/ 元乃木坂46 の川後陽菜のWebサイト、SKIYAKI とか https://kawagopro.com/ でも、PHP も、次からは、JIT を搭載するらしい Electronで作られたソフトってVSCode以外に何がある? >>392 Slack Fiddler Everywhere Skype、Discord、Atom、Wordpress、WhatsAppのそれぞれデスクトップ版はElectronらしい HomebrewのインストーラがBashに置き換えられた GitHub、パッケージ管理システム「npm」をメンテナンスするnpm, Inc.を買収 ttp://forest.watch.impress.co.jp/docs/news/1241272.html どっちにpublishすればいいねん問題は杞憂に終わったか でも一強他弱の構図ってあんまりろくなことにならないんだよなぁ やーんはcliだから今の話とはちょっと… リポジトリ/レジストリがms/github一強過ぎて他の選択肢がーってことよね eventsモジュールにいつの間にか生えてるonceメソッド ずっと前にこのスレで誰かが欲しがってたやつだな Deno出てきたけどコアモジュールの互換性がないのはきつい 両対応のための中間モジュールが必要になって太る結果にならないといいけど 勉強を始めるならそれでもいいがプロダクションで使うのはまだしばらくnode一択だな Deno普通に良さそうだな。 地味に名前で喧嘩売ってるのも嫌いじゃない。 deno、typescriptネイティブに使えるのが良いな セキュリティ機能は、早々にalias切って無効化して使いそう。 あと、モジュール読み込みがgolangぽくURIなのは構わんけど、deno.landの信頼性が未知数だ モジュールがURIなのはgoと同じ轍を踏みそうで気にはなるな。 みんなちゃんと互換性に注意して作って、最初からRESTなAPIのようにv1とかv2とかパスに含めるかな?みたいな猜疑心はある。 ただ、Denoでよくやったと思うのは、バンドラーを積んだ事だと思ってるけど、みんなどう思う? 今までnodeで作ったサーバモジュールをインターネットが繋がってない環境にデプロイするの、結構めんどくなかった? bundleは素晴らしいと思う。 モジュールURIはversion含められるみたいよ armまだなのか。ラズパイで動けばホントに言うことなかったんだけどな。 やっぱbundle前提か。 しかし、deps.tsは言われてみるとなんと言うことはないんだけど、賢いな。 こいつがっつり使ってみようかな。 Nodeと併用できないと趣味以外で使う人いないだろうな node.jsなしでESLintが動かないなら難しい あとlanguage protocol serverが実装されないと難しい 開発ツールとしてのポジションとなるのは難しいね linterはdenoが公式に内蔵する可能性高い formatterはすでに入ってる nodeにもTLA着たけどREPLじゃ動かんな 仕様ではESM限定だった気がするけどDevTools辺りではできてなかったっけ こんな感じのコードでresolveは実行されてもpromiseが伝達しないケースがあるんだけど 内部的にはどういう理屈でそうなってるの? new Promise(function(resolve,reject){ eventemitter.on('hoge', function(){ this.removeAllListeners(); resolve(); }); }); >>427 伝達されないケースの具体例を出さないとわからんよ 実際にはlistenerがasync関数で後から発火した他の同期listener内で先にresolve実行してた そりゃ伝達しないわ… Web API実装の流れでNodeにEventTargetが来たけど使う人いる? 逆なら欲しかったけど データベースからデータオブジェクトを returnする関数をあたかも同期関数のように ただ実行するだけで戻り値を得られるように作りたいです。 DB情報取得関数定義内でasync await promise を使ってみましたが 戻り値がpromiseのpendingになってしまったので 仕方なく実行側でもpromiseを生成してラップして then()を使ってようやく戻り値を得られました。 しかし本来は実行側でpromiseとthenを使うことなく 戻り値を得たかったです どうすれば良いか教えてください。 あと関数定義内でresolveの実行とreturnがどう違うのか がわかりません。 頼むからコードで説明してくれ 似た質問多いけど非同期を同期にすることは不可能 やるなら呼出側の文脈をまるごと非同期にしてawait まるごとも今ならTopLevelAwaitがあるから楽だね callbackに渡されるresolveはpromiseを解決させるためのスイッチであってreturnではない Promiseに対する理解が曖昧なままDB扱う処理を書くのは危ないと思う ライブラリっつーのか? Passportやexpress-sessionってどうやって見つけてきてるの? github express middleware やりたいことの英語 でググる cryptoで公開鍵ファイルつかって 暗号化したんですが 同じデータが毎回違う暗号になってしまいます。 原因を教えてください たぶん、時刻とか、何かランダムな要素を使っているのだろう 今後は大規模システム以外は全てJavaScriptだけで書ける夢のような未来が来るね。 非同期処理って普通に バグと脆弱性の温床になるよね? read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる