のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,853人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.143 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    201 : Name_Not - 2020/01/29(水) 22:39:06 ID:???.net (+8,-23,-2)
    俺が書いたあるプログラムは全体の行の50%にawaitが付いていた。
    202 : Name_Not - 2020/01/29(水) 23:05:37 ID:???.net (+3,-30,-74)
    キュー=[await処理1,await処理2,await処理3,,,,,,];
    みたいな感じでawait処理が全部終わったら、また同じ順番で再帰しつつ失敗したawait処理はスルーしたいとき
    結局、await処理それぞれの”完了・成功したか否か”を保持しないといけないので、async/await使わずに
    async/awaitっぽく実装した処理にまとめ書いた方が短く書ける、ような気がした
    203 : Name_Not - 2020/01/30(Thu) 06:46:43 ID:???.net (+5,-30,-16)
    >>201

    function foo() {
     async なんたら
     if なんたら
     async なんたら
     for なんたら
     async なんたら
     return
    }

    こんな感じ?
    204 : Name_Not - 2020/01/30(Thu) 07:11:05 ID:???.net (-1,-29,-17)
    >>200
    逐次処理版Promise.allを定義しておけば、使う機会はほぼない
    205 : Name_Not - 2020/01/30(木) 08:26:29.10 ID:???.net (+3,-29,-49)
    >>203
    awaitだけどまぁそんな感じ。
    同期関数のコールツリーの深いところでasyncしかない関数を呼び出す必要が出てきた時
    変更が大変になるから、最初からなるべくasync関数にするようにしたらそうなった。
    206 : Name_Not - 2020/01/30(木) 10:59:04.00 ID:???.net (+57,+25,-12)
    手続き型思考の人はawaitを多用するのだろう
    207 : Name_Not - 2020/01/30(木) 13:06:27.81 ID:???.net (+57,+29,-10)
    使う頻度なんて気にしても仕方ないと思う
    一般解なんてないし、自分の好きにやればいい
    208 : Name_Not - 2020/01/30(木) 13:43:36.95 ID:???.net (+58,-29,-11)
    ところでasyncとawaitの読みって
    えいしんく、あうぇいと、でいいんでしょうか?
    209 : Name_Not - 2020/01/30(木) 14:43:00.27 ID:???.net (+54,+27,-1)
    >>208
    アシンクです
    210 : Name_Not - 2020/01/30(木) 14:48:39.16 ID:???.net (+59,+28,+0)
    >>208
    あわいと
    211 : Name_Not - 2020/01/30(木) 14:51:04.12 ID:???.net (+57,+29,-7)
    投げっぱなし質問ばかりなのは、やる気がないからでしょうか?
    212 : Name_Not - 2020/01/30(木) 16:57:10.80 ID:???.net (+7,-30,+0)
    イベント発生順序について質問です
    【環境】 OS: Windows10, ブラウザ: Google ChromeVersion 79.0.3945.130 (Official Build) (64-bit)
    【何をしたのか】 クリック対象の要素へ4イベントを下記の順番に追加した後、これ自身または子要素をクリックしました
    > addEventListener("click", func1, true)
    > addEventListener("click", func2, false)
    > addEventListener("click", func3, false)
    > addEventListener("click", func4, true)
    【期待する結果】 発生順は常にfunc2,3,1,4 (capture,bubbleの順)
    上記環境下にて、この要素自身をクリックした時はfunc1,2,3,4の順に発生しました
    クリック対象の登録イベントがcapture,bubbleで区別されないのはjavascript共通ですか?それとも環境固有でしょうか
    214 : Name_Not - 2020/01/30(Thu) 18:28:39 ID:???.net (-2,-30,-102)
    そりゃイベント付加した要素、ターゲットがひとつ?だから普通に登録順にイベント発生しただけじゃない?
    > addEventListener("click", func1, true)
    >
    の順番を入れ替えて登録したらその順番で発生しそう
    215 : Name_Not - 2020/01/30(Thu) 18:46:44 ID:???.net (-1,-29,-16)
    216 : 213 - 2020/01/30(木) 20:09:40.17 ID:???0.net (-26,+29,-32)
    >>214-215
    ターゲットフェーズの存在を知りませんでした
    分かりやすいページを教えていただきありがとうございます
    >213は解決しました
    217 : Name_Not - 2020/01/30(木) 21:02:31.02 ID:???.net (-1,-29,-31)
    addEventListenerの第3引数にはオブジェクトを渡しましょう
    218 : Name_Not - 2020/01/30(木) 22:51:04.86 ID:???.net (+39,-29,-11)
    >>206
    じゃあ手続き型思考じゃない人はどうしてるの?

    - await使わずPromise.then()を使う
    - Promise自体使わない
    219 : Name_Not - 2020/01/31(金) 06:20:55.57 ID:???.net (+1,-26,-37)
    awaitは使うけれど、Promise.allを使ったり、より順不同でパラレルに動くようにしようということだろう
    上の話のように完全に順序を守ってawaitしていってるだけなら
    220 : Name_Not - 2020/01/31(金) 09:37:54.08 ID:???.net (+150,+29,-25)
    なんか会社でJS勉強しろって言われてる者なんですけど、効率良い勉強方法ありますか?
    GSUITE入れるからやらないといけないみたいです
    221 : Name_Not - 2020/01/31(金) 12:51:50.92 ID:???.net (+63,+29,-46)
    >>218
    どちらもある
    そもそも、ケースバイケースで使い分けるから一つの方法に固定しない
    「たった一つの冴えたやり方」を探す人がいるが、選択肢を減らすのは悪手だと思う
    222 : Name_Not - 2020/01/31(金) 12:53:52.60 ID:KgBKRxWM.net (+35,+30,-35)
    >>220
    勉強のスケジュールをきつめに立てて
    週一で進捗をチェックして、遅れたら爪を一枚剥がそう

    1週目は怠けてしまうかもしれないけど
    2週目からは痛みと恐怖が嫌でも勉強させてくれるよ
    223 : Name_Not - 2020/01/31(金) 22:28:08.79 ID:???.net (+78,+26,-21)
    await使うかthen使うかなんて手段の話で、思考の違いが表れるほどのものとは思えんけどな。
    224 : Name_Not - 2020/01/31(金) 23:17:30.67 ID:???.net (+48,-29,+0)
    【環境】Android 4.4.2以上
    【条件】以下の現状改善にJS(XHR)でいいのか他の方法がいいのか、道筋をまず導いて欲しい

    現状
    ・クライアントPCよりWEBサーバーにCSVが不定期にアップロードされる(そんな頻繁ではない)
    ・Android端末でWEBサーバーにアクセスし、CSVを元に作成されたページを表示する
    ・ページの作成はPHPで行われている
    ・ページの表示は数秒おき(CSVの内容で多少変動する)にリロードされる
    ・このページを表示するのは1台のAndroid端末のみ
    ・簡単な情報を表示し続けるシステム
    ・質問者はC/C++は分かりますが、PHP,HTML,CSSは超初級、JSを初めて触ります

    改善したい点 三つ
    ・CSVに変動があろうがなかろうがリロードするのが無駄なので止めたい、
     CSVに変動があったときだけリロードしたい
    ・欲を言えば変動があった部分のみ表示を更新したい(突き詰めるとPHP要らないんじゃ・・・)
    ・リロードされる度に、読み込み中の青いバーが画面上に表示されるのを回避したい
     (幸い、リロード時に画面全体が再描画されてチカチカするなどの問題は今のところありません)

    考えていること
    ・まずXHRやfetchを使って必要最小限の「CSVが何時更新されたかどうか」という情報のみを
     読み込み、ブラウザ・JSの変数にて保持しておき、これを定期的に読み込み、何時更新されたという
     情報に差異が出たらリロードすればかなりマシなのでは?

    以上ですが、そもそもこれで可能かどうかすら分からない次第なので、この方向でいいのか
    悪いのかをご指南いただければと思いました

    上記の考えで基本的に可能だとしても改善したい点が単純に全て解決できるとは思っていませんが、
    改善したい点の一つ目だけでも改善できればと思っています

    よろしくお願いします
    225 : Name_Not - 2020/01/31(金) 23:20:45.72 ID:???.net (+77,+30,-103)
    >>220
    言語は勉強するものではない
    使われてるのを見聞きして使って感覚に慣れるものだ
    赤ちゃんが音節を発するように、何事もまずコピペ
    人間の脳の仕組みの大原則として、自分が行えない物事を理解することはできない
    理解できるから行動ができるのではなくて、行動ができるから理解ができるのだと言う科学的事実は知っておくと良い

    まずは意味がわからなくてもそっくり真似をしてどんな要素があるかを感覚で掴むことが大事
    それが苦になるようなら向いていないということ
    真似をして書いて動いているのをみてから、徐々にその仕組みを覚えていく
    そういうイメージでやると良い
    226 : Name_Not - 2020/01/31(金) 23:30:26.86 ID:???.net (+104,+29,-109)
    >>224
    サーバーから通知を送ってもらいたいということで、WebSocketを使うのが賢い
    どうしてもHTTPでやりたければ、なんども通信し直すのは変わらないのだけれど、
    通信をできるだけ切らずに維持してサーバーからの返答を長く待つという古来からの方法があり、
    それを扱いやすくしたSSE(EventSource)APIがあることにはあるが、
    それは今どき川に洗濯に行くようなもので、導入コストは少々かかったとしても
    素直に洗濯機を買ってWebSocketを使うことを強く進める
    227 : Name_Not - 2020/02/01(土) 00:29:11.61 ID:???.net (+76,+30,-187)
    >>226
    レスありがとうございます
    仰るとおり、サーバーからの通知が最善のはずだと、WEB PUSH など用語すら
    分かってない状況でググり倒し、情報が多すぎで判断付かずここに駆け込んできました

    ソケット通信はC/C++でもやってますので何とかなりそうな気はしましたが、
    サーバー側をどうすればいいのか中々分かりませんでした
    PHPでもいいのかな?できるかも?という程度の情報には今たどり着きましたが、、

    質問で書き忘れていましたが使用しているサーバーはXserverでして、
    このサーバーだとちょっと難しいような(ポートの問題がある?)情報を
    見つけてWebSocketを躊躇しているところです

    SSEだとサーバーを問わないのかな?(分かりませんが)
    WebSocketやnode.jsは、ググり倒している間に訳分からないまでも見かけては
    いましたが、SSEは初見でした
    これなら最悪、やりたいことはできそうなのが幸いです
    情報ありがとうございます
    228 : Name_Not - 2020/02/01(土) 00:45:38.05 ID:???.net (+8,-30,-214)
    >>224
    CSV ファイルの更新時刻をどこかに保存しておいて、毎回それと比べれば、
    CSVファイルが更新されたかどうか、判別できる

    Ruby なら、index.html.erb みたいなテンプレートに、内容を埋め込む。
    ERB は、あらゆるファイルに、Rubyの式を、embedded 埋め込める

    <div><%= Rubyの式 %></div>

    または、JavaScript/jQuery のAjax で、動的に内容を変えられる

    本当は、RubyのSinatra などでサーバーを作って、
    CSVファイルの更新時刻をチェックする処理を作ってもらうとか、
    サーバー側に、新しい処理・ルーティングを追加して、

    Android からは、直接サーバー側のファイルを参照しないのが良い!

    0から手を動かして作るRailsチャットアプリ【チュートリアル】
    http://www.youtube.com/watch?v=WCsgcp5dg7M

    Ruby on Rails で、websocket を使った動画
    229 : Name_Not - 2020/02/01(土) 01:15:10.40 ID:???.net (+9,-30,-34)
    >>224
    http://dev.classmethod.jp/cloud/aws/aws-iot-browser-refresh/
    AWS S3にアップロードされたものをLambdaで探知してブラウザリロードすれば?
    230 : Name_Not - 2020/02/01(土) 14:45:21.22 ID:???.net (+46,+13,+0)
    >>223
    設計思想
    231 : Name_Not - 2020/02/03(月) 02:11:47 ID:???.net (+52,-30,-250)
    const fizzBuzz = () => {
    for (var i = 1; i < 101; i++) {
    switch (true) {
    case i % 3 === 0 && i % 5 === 0:
    console.log('FizzBuzz');
    break;
    case i % 5 === 0:
    console.log('Buzz');
    break;
    case i % 3 === 0:
    console.log('Fizz');
    break;
    default:
    console.log(i);

    }
    }
    }
    fizzBuzz();

    fizzbuzzをやろうとして、自分は↑を書いたんですが
    これとくに問題ないですか?
    調べてみると賛否両論(switchのtrueの箇所?)がどうのでてきて不安になり質問しました。
    232 : Name_Not - 2020/02/03(月) 05:10:20.27 ID:???.net (+58,+30,-66)
    賛否両論と知ってるくせにとくに問題ないですか?と聞ける精神が問題だ
    ここはお前の漠然とした不安をケアする場所ではない
    自分の行動くらい自分で責任を持って決めろ
    233 : Name_Not - 2020/02/03(月) 08:27:46 ID:???.net (+78,+30,-64)
    >>200>>220もそうだが、複数の選択肢がある時、彼らは唯一解しか満足しない
    「一概にはいえない」や「前提条件次第」という考えは彼らの頭にはない
    一つの解にして、他を考えるのを止めるのが目的だから、考える過程が増えるのは彼らにとっては本末転倒なのだ
    234 : Name_Not - 2020/02/03(月) 12:41:20 ID:???.net (+89,+30,-53)
    というか適当に質問してるということが丸わかり
    自分で難しい質問をして難しい答えが帰ってきても反応しないんだもの
    実際困ってもいないくせに人の反応を見るために質問したりするイカレポンタンは害悪でしかない
    235 : Name_Not - 2020/02/03(月) 13:02:51 ID:???.net (+91,+29,-44)
    なんで問題ないかわからないんだろお前等
    答えられないんだろ?
    236 : Name_Not - 2020/02/03(月) 13:35:16 ID:???.net (+54,+19,+0)
    >>234
    正解
    237 : Name_Not - 2020/02/03(月) 14:15:28 ID:???.net (+68,+30,-237)
    >>231
    そもそもお前(ら)が何を問題とするかだ

    コーディング規約でswitch(true)禁止等があるチーム開発でそれを無視して使用している、等なら無視している時点で問題になるだろうが、こんな個人のメモ書き程度のFizzBuzzで何を使おうが問題にならんと思うが。

    switch(true)自体の機能に疑問があるという話なら、まずは関数化していろいろな入力を試すなどしてデバッグし、それでも疑問が残ったり問題が顕在化したら他者に協力を仰げ。

    賛否両論がどうの、程度ではなく自分でもっとしっかり読んで理解しろ。
    なんの記事を読んんだのかは知らんが、それすら理解していないお前が、このスレの人間に「問題無い」と断言されたとしてただ鵜呑みにするのか?

    賛否両論であるということを認識した上で、それでもなお利用するのなら、なぜそれを利用する必要があったのか説明できるようにしろ。
    238 : Name_Not - 2020/02/03(月) 22:29:21.31 ID:???.net (+70,+29,-8)
    >>235
    何が問題かを決めるのは他人ではない
    俺たちはお前のオカンやオトンではない
    239 : Name_Not - 2020/02/04(火) 00:39:36 ID:???.net (+57,+29,-20)
    屁理屈ばかりで理由の一つも論理的に言い返してる人いないやんw
    240 : Name_Not - 2020/02/04(火) 01:29:20.77 ID:???.net (+57,+29,-4)
    どいつもこいつもどこから突っ込んでいいのやらw
    241 : Name_Not - 2020/02/04(火) 04:04:27 ID:???.net (+19,-30,+0)
    >>231
    switch ( 式 ) {
    case 値1: // 式の値が「値1」と一致した場合の処理
    break;

    case 値2: // 式の値が「値1」と一致した場合の処理
    break;

    default:
    break;
    }

    普通、式には変数など、変動するものを使う。そして、case の方に定数。
    君のは逆になってるから、変

    それとコーディング規則では、
    後で修正することも考えて、default: にも、break; を付けておく。
    また、意思を明白にするために、fall-through, no-break のコメントも付ける

    switch ( a ) {
    case 10:
    // break; fall-through, no-break
    case 20:
    break;

    default:
    break;
    }
    242 : 241 - 2020/02/04(火) 04:14:10 ID:???.net (+10,-30,-103)
    普通の感覚では、式に、i % 3 なんだが、
    i % 5 の場合もあるから、うまく作れないw

    switch ( i % 3 ) {
    case 0: // 割り切れる
    break;

    default: // 割り切れない
    break;
    }

    switch を使えば、
    >>231
    みたいな書き方になってしまうw
    243 : Name_Not - 2020/02/04(火) 05:40:29 ID:???.net (-1,-29,-17)
    今度はswitch(true)知らないやつが語りだしたかw
    244 : Name_Not - 2020/02/04(火) 08:03:18 ID:???.net (+32,-29,-33)
    switch(true)ってバッドノウハウ感があるよなw
    245 : Name_Not - 2020/02/04(火) 08:16:01 ID:???.net (+57,+29,-49)
    「知らないんだろ?」と煽っても無駄です、のテンプレを復活させてもいい気がしてきた
    煽って回答を集める乞食が多すぎる
    246 : Name_Not - 2020/02/04(火) 09:04:27 ID:???.net (+62,+29,-34)
    >>244
    あれは使わせたくないので使わせないようにしてる

    あんなん使わせるならelse ifの羅列の方がずっとマシ
    247 : Name_Not - 2020/02/04(火) 18:43:06 ID:JDax1bPe.net (-16,-29,-20)
    canvasを使って、ライブラリ無しで3Dゲームは作れると思いますか?
    248 : Name_Not - 2020/02/04(火) 18:57:29 ID:???.net (+59,+25,+0)
    >>247
    はい
    249 : Name_Not - 2020/02/04(火) 19:22:15 ID:???.net (+75,+29,-6)
    >>247
    作れる作れないで言ったら確実に作れるよ
    頑張れ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について