【node.js】サーバサイドjavascript 5【Nashorn】
実行するSQLをログで履いて、それを
コピーして手動でDBでSQL実行すると
意図通り4件のレコードが取得できるのに、
nodejsで同じSQLを実行するとresultオブジェクトの
行数が0件なのは非同期処理関係ありますか?
因みにresultオブジェクトは正しく取得できて
いてDBのテーブル名やカラム名情報は
取得できているから接続には問題がない。
一応、結果として返されてはいるのに、
何故か手動の時と結果の内容が違う。 >>217
件数が異なるのに、なんで「resultオブジェクトは正しく取得出来てる」と思えるの?
正しくないじゃん。
nodeでクエリ投げるユーザと、手動で実行するユーザは同じなの?
そのDBやテーブルでSELECTをGRANTしてないとかそういう話ではないと切り分けしてる? 1.回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
2.ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
3.その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを峻別しなければならなくなる。
4.他のコミュニティーで付けられた回答を知らずに同内容の回答を付けてしまったり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力が無駄になる。
5.この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。 ウィキペディアの内容をコピペするのはマナー違反にならないの? プログラミングと言うよりも、環境構築だろ。
LinuC・データベーススペシャリストなどの資格もいるし、数年以上掛かる
DB なんて、WEB+DB とか、ミックの本を読んだり、何年も勉強する
掌田津耶乃の本
Node.js超入門、2017
Python Django 超入門、2018
ましてや、Node, Django の本などは、ここ1, 2年の話。
一方、Rails なんて何十冊も出てるだろ
Node, Django ができる奴は、英語もできて、自分で問題を解決できる人だけ。
最低でも数言語できて、資格も持っていて、数年以上勉強している人だけ
そもそも簡単な言語の順番は、Ruby, Python, JavaScript の順番。
初心者は、無料のRails チュートリアルで、環境構築もみっちり勉強すべき Node.js超入門は読んだけどこれ読んだだけだとNode.jsを使うアドバンテージなんて得られないと思う
素直にPHPかRubyでも使ってた方がいいんじゃないかってレベル
ちゃんと使おうと思うなら実践Node.jsプログラミングくらいを読んだ方がいいと思う >>221
2ちゃんねるがこんなに高尚なコミュニティーだとは知らなかった 何日くらい回答なかったらマルチポストしていいんだろうかって悩むことはある >>229
そんなもんでいちいち悩まずマルチすりゃあいいんだよ。
ここは罵詈雑言、煽り上等、虚実混交の2ちゃんねるだ。
難癖付けられたら華麗にスル〜 結局、掌田津耶乃の「Node.js超入門」「Python Django 超入門」を読んでも、触り程度。
本格的な勉強は、Python, JavaScript で、悪戦苦闘していじくりまわすしかない
それならRuby で、Sinatra をいじくりまわす方が簡単。
難しい言語のフレームワークをいじくりまわすのは、時間を損する マルチしても良いけど、全部で言い方変えるのと、
全部の回収するのは徹底してほしい。 世界中で、すべての主要言語のフレームワーク・ゲームエンジンの本を書いたのは、掌田だけ! 昔ニフティーフォーラム会議室ってあったよなあ
マルチポスト探し出して投稿者を糾弾することを生きがいにしてたような奴がいたなあ Nashorn生まれてすぐ脂肪www
憐れwwwww >>217
resultをコールバックの中で取得してるよね?
コンセント刺さってる?レベルの質問で申し訳ないが babel-upgradeで楽できるかと思いきやstage-*の中身を個別に書き足さなきゃ行けなくてしんどい Chromeの低速時JavaScript無効化はブラウザ側jsだよな
node.jsへ誘導する為の動き サーバーサイドの意味を全く理解してないなこのマルチ 無名関数の req, res, に続く3番目の「next」ってなんなんですか?
「next()」を実行すると、次の処理が行われるって言うけど
「次の処理」が何なのかわからないかからよくわかりません。
nextで次に何が呼ばれるか確かめる方法ってありますか?
あとexpressには routesとviewのフォルダしか無いけど、
モデルクラスの定義ってどうやるの?
クラスを定義してオブジェクト指向をやろうとすると、
メンバ変数への値の格納や参照に「this」を使うけど、
JavaScriptの「this」って無名関数のなかだと違う意味になるし、
非同期処理だかthisに格納した値を生成したインスタンスから取り出そうと
思っても格納されていない。
無名関数内でメンバ変数に格納するという作業が後回しになって、
インスタンスからメンバにアクセスして値を取得するコードが
先に実行されてるからだと思う。
Promiseとか使ったけどこのメンバ変数への格納だけはうまく行かなかった。
というのはインスタンスのnewが関数実行じゃないから、
コンストラクタは返り値としてオブジェクトをreturnするわけじゃないだろ?
通常の関数のreturnが非同期でうまくいかない問題はPromiseで
解決できたけど、インスタンスのnewを非同期で成功させる方法がわからない。
node jsで無名関数を使わない処理なんてほぼ無いと言っていいから、
このままだとインスタンスを生成してクラスに処理を委託することができない。 reqに入れれば次のミドルウエアなりなんなりで読めるっしょ。 JavaScript のthis は、文脈依存だからバグる。
jQuery, Haxe では、this を変えてる
だから事前に、this を取っておく。
変数 = this
フレームワークは最初に、無料のRails チュートリアルをやった方が、わかりやすい
Node.js超入門、掌田津耶乃、2017 var that=this
先輩がよく書くこれが何の事か理解するのに半年かかった。 >>250
またRails語の布教してるの?
次世代言語スレで叩かれて学習しただろう? クラスのコンストラクタでasync await使えるようになってほしい >>252
x Rails語の布教
〇 掌田津耶乃の宣伝 Promiseの再帰について質問です
やりたいことは、フォルダの中を再帰的に掘って見つけたファイルを配列に入れて返す、です
フォルダの深さやファイル数は不確定です
1フォルダの中身をループでひとつずつ見ていって
ファイル・フォルダか判定し
ファイルなら返す配列に入れる
フォルダなら再帰
返った配列を、返す配列にconcat
とする再帰関数を作れば良いと考えたのですが
この再帰関数自体と、ファイル・フォルダ判定が非同期なので、全部堀り終わったかわかりません
そこでループの中身をまるっとPromiseにして、仮配列に貯めておき
最後にPromise.allで実行する、としているのですが、なんか回りくどい気がします
考え方は正しいでしょうか?
https://jsbin.com/rocebihipo/edit?js あるいは再帰関数内でasync-await使えばいいんじゃない
どっちによ最初の関数が終了するかpromiseがresolveすればそれが完走判定になる
素直にnpmから同じことをやるモジュール拾って使ったほうがいいと思うけど あざます
>>260
同期ならふつうの再帰関数になるので
数が少ないうちはそれでも良いかなと考えてます
>>261
なるほどー files = [ ]
Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する
files.push full_path
end
puts files
Ruby なんて、これだけ。
glob に、** で再帰する。glob star
ただし、. で始まる、directory, file を除く find ./ -name "*.txt"
find なんて、これだけ。 ウインドーズ環境でnode.jsでcon.拡張子 みたいなファイル作ったら消せなくなるな。
いろいろ調べてやってみたが全部のほうほうで消せなかった。
消せなくなる勇気があればやってみてほしい。 管理者でコマンドプロンプト開いて
rd /s "\\?\フォルダ名" visual studio 2017ってnode.jsは自分でダウンロードして
インストールする必要があるの? >>271
VS2017でもnode.js開発できるよ 日本語通じてない感やばない?
VS2017はインストール時にNodeを一緒にインストールするか選べる グローバル空間に、ネームスペースを付けずに、パッケージに
含まれる関数全部を一度に分割代入を使わずにリクワイヤーするにはどうやりますか? Object.assign(global, require('hoge.js')) >>277
ありがとうございます。
リファレンスエラーになってできませんでした。 未だに--saveが必要なくなったことに気がついてない人がいる あの変更はかえって--no-saveする手間が増えて不便だわ >>287
どうしてそう思うのか書いてもらえないと参考にならない。
海外のブログ読んでると、真っ先にyarn移ったような人たちが最近続々とnpmに戻ってきていて、俺にはなぜyarnに移ったのか、そしてなぜnpmに戻ってきたのかサッパリ分からない。 今さら分からない人は分かりたいとも思ってないだろうからどうでもいんじゃね?
npmに戻る人がいるのはnpmがyarnのいいところをどんどん取り入れたからだろう
まともなロックファイル、パフォーマンス、コマンドラインの改善(npx含む)はyarnの後追い
npm独自なのはセキュリティ周りか 良くも悪くも、標準だからだと思うけど。
俺も標準だから戻ったよ。 標準の地位に胡座をかいてシュリンクラップ糞のまま放置してたからyarnに寝首をかかれた
なんでも独占はよくない切磋琢磨が必要 ラズパイでなんかやろうとしたときに全然うまくいかなくて試しにyarnにしたらうまくいった事はあった ほとんどAPI同じだけどstatsじゃなくてdirent実装したのは何でなん? yarnはパッケージマネージャー界のCoffeeScript 個人的な感覚だけど組込み関連でもっと伸びるんじゃないかと思う
最近シリアル通信のプログラムよく書いてるよ node.js は、Ruby on Rails でも必須
Babel, Webpack で、ES2015 を、ES5 へ変換する。
Coffee Script, Type Script は不要
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
Rails プログラマーも、この本を読むのが必須! jsはフロントエンドで排他的な地位を築いてるわけだがwasmで変わるかどうか class使うと冗長的でイヤだな〜
JAVAの人以外に使う人いるのか?
PHPもclass文化が入ってきてから長ったらしくて見にくくなった 昔はReactはclass必須だったけど最近はconstしか使わなくなったな https://electronjs.org/releases/stable
electron のバージョンを確認すると.6.4.1と出るんですが、最新と違います
なにか間違っているでしょうか
npm electron -v
こうやってます >>309
それじゃnpmのバージョンが表示されてるだけ
npm outdated electronとか
npm list electron 仕事じゃなければclass使う機会ないんじゃないの?
もともと第一級言語だし。
JAVAはいちいち面倒なことしてるなって思う。 去年までのreactではライフサイクル扱うのに必須だったからそれなりにclass使ってた
今はhooksで不要になったけど
vuejsでclass使わないのはvuejsのclassサポートの出来が悪いから
webcomponentsではclass使う おっとwebcomponentsではssrしてないからスレチか ちょっと実装の依存関係について質問。
deps配下って、
依存モジュール構築時、node.jsそれ自体に依存しているけど、どうやってビルドしているの?
https://github.com/nodejs/node