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

    私的良スレ書庫

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

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    501 : Name_Not - 2017/10/17(火) 11:29:31.14 ID:???.net (+63,+30,+0)
    502 : Name_Not - 2017/10/17(火) 11:44:57.69 ID:???.net (+42,-19,-22)
    結局時間かかるのはIOかEvent待ちのネイティブの部分だからステップ処理は意味ない。
    503 : Name_Not - 2017/10/17(火) 11:44:57.97 ID:???.net (+8,-19,-22)
    結局時間かかるのはIOかEvent待ちのネイティブの部分だからステップ処理は意味ない。
    504 : Name_Not - 2017/10/17(火) 12:14:43.92 ID:???.net (+67,+29,-17)
    >>502
    >>499の目的である「動作確認」は可能だと思うが、どういう理屈で意味がない?
    505 : Name_Not - 2017/10/17(火) 12:56:43.77 ID:aQueuU1T.net (+24,+29,-22)
    継続して動いてるか確認したいんじゃないの?
    506 : Name_Not - 2017/10/17(火) 13:39:59.38 ID:???.net (+102,+29,-77)
    そもそも確認したい動機が分からん
    エラーハンドリングをあえてすっぽかしてない限り
    棄却が伝わってこないと言うことは正常動作中ということで心配する必要ないだろう

    パッチ処理とかで本当に10分とかかかるものなら
    大本にProgressイベントが用意されていないのなら>>500のような感じになるだろうな
    508 : Name_Not - 2017/10/17(火) 22:11:32.36 ID:???.net (+53,-30,-15)
    >>507
    その種の複数置換は結局
    replace(/[黄緑]+/g, function(match){ … })
    が簡単
    509 : Name_Not - 2017/10/17(火) 22:11:33.55 ID:???.net (+39,+21,+0)
    ?!
    510 : Name_Not - 2017/10/17(火) 22:13:50.71 ID:???.net (-6,-29,-16)
    CSS colorでググれ
    511 : Name_Not - 2017/10/17(火) 22:24:13.19 ID:???.net (+108,+29,-32)
    >>508 でmatchで条件分岐がおすすめだけど超簡単にするなら「黄緑」を一旦「青」とかにしてから最後に戻すとかでもいいよ
    ほほえましくてよきよき
    512 : Name_Not - 2017/10/17(火) 22:26:20.78 ID:ayamnkyL.net (+12,-30,-69)
    >>507

    str='黄と黄緑と緑'
    .replace(/黄緑/g, '<span style="color:greenyellow">$&<\/span>')
    .replace(/黄[^緑]/g, '<span style="color:yellow">$&<\/span>')
    .replace(/[^黄]緑/g, '<span style="color:green">$&<\/span>')

    >>508-510
    正規表現ぐらいもうちょい頑張れwwwww
    ぐぐりながらやってみたけど30分でできたぞwwwww

    >>511
    最悪の回答wwwwww
    513 : Name_Not - 2017/10/17(火) 22:32:26.09 ID:???.net (+33,+17,+0)
    >>512
    あほか
    514 : Name_Not - 2017/10/17(火) 22:50:06.29 ID:???.net (+133,+29,-6)
    >>511は思いついても考え直さないもんなのか
    515 : Name_Not - 2017/10/17(火) 22:50:06.31 ID:???.net (+54,+28,-16)
    >>512
    正規表現知らなさすぎるだろwww
    516 : Name_Not - 2017/10/17(火) 22:51:56.76 ID:???.net (+71,+29,-16)
    >>514
    だからほほえましくていいって書いたんだけどw
    517 : Name_Not - 2017/10/17(火) 22:54:21.53 ID:???.net (+75,+29,-17)
    >>514
    あ、一旦「青」にするってのが、よくわからずやってた頃を思い出してほほえましくていいって意味です
    518 : Name_Not - 2017/10/17(火) 23:46:40.52 ID:???.net (+60,+29,-2)
    >>512
    どう見ても>>508の足元にも及ばない
    519 : Name_Not - 2017/10/17(火) 23:50:17.19 ID:???.net (+52,+29,+0)
    及ばないどころか間違えてるからね
    520 : Name_Not - 2017/10/18(水) 07:14:47.67 ID:???.net (+57,+29,-22)
    間違えてるのか?正常に動いてるように見える
    正規表現ほとんど使わないからわからんわ
    521 : Name_Not - 2017/10/18(水) 09:17:27.29 ID:???.net (+60,-30,-56)
    [^緑] は「緑以外の1文字」だから /黄[^緑]/ だと「黄と」がヒットする
    /[^黄]緑/ も同じ
    なので結果は
    <span style="color:yellow">黄と</span><span style="color:greenyellow">黄緑</span><span style="color:green">と緑</span>
    ってなるはず
    522 : Name_Not - 2017/10/18(水) 09:24:18.76 ID:???.net (+57,+29,-48)
    jqueryでは
    セレクタに要素を複数並べて要素の子孫の要素を選択することが出来ますが
    このように要素を選択する方法は何というのでしょうか?
    523 : Name_Not - 2017/10/18(水) 09:45:20.65 ID:???.net (+53,+25,-12)
    セレクタ検索
    それ以上でもそれ以下でもない
    524 : Name_Not - 2017/10/18(水) 11:21:24.13 ID:???.net (+56,+18,-35)
    >>521
    しかも文頭の緑と文末の黄にはマッチしないしな
    ECMAScriptだと後読み出来たっけか
    525 : Name_Not - 2017/10/18(水) 13:12:20.54 ID:???.net (+80,+29,-47)
    >>506
    おー。ありがとうございます
    Progressイベントなんてあるんですね。
    独自の処理にもそう言うの用意できるんですかね。
    526 : Name_Not - 2017/10/18(水) 13:13:56.51 ID:???.net (-1,-29,-65)
    自前でonProgressプロパティに関数があれば呼び出してもいいし
    EventEmitterみたいなモジュール使ってもいいし
    DOMのカスタムイベント使ってもいいし
    527 : Name_Not - 2017/10/18(水) 13:45:25.52 ID:???.net (+13,-30,-49)
    >>524
    後読みはES2018になりそう
    現在モダンブラウザは要フラグ

    >>525
    async-awaitと組み合わせるのは工夫がいるよ
    できればasync-generatorを使ってトランスパイルする
    528 : Name_Not - 2017/10/18(水) 15:18:12.29 ID:???.net (+62,+27,-2)
    >>508
    ありがとうございます
    その方法で出来ました
    529 : Name_Not - 2017/10/18(水) 15:52:59.55 ID:???.net (+67,+29,-107)
    ド素人ですみません
    膨大なデータをJSONで書き出す処理をしようとしてます

    大体1MBくらいで一区切りして、fs.writeFileで書き出して、for構文で繰り返す…
    というような方法を取っています。

    例えば10回繰り返すような設定をすると、処理が終わる度に1ファイル追加されるのですが
    10回すべての処理が終わるまでファイルに何も書き込まれず、空っぽのままになります。
    すべての処理が終わって初めて全てのファイルにデータが書き込まれる感じです

    これが10ファイルくらいならいいのですが、大量に処理するときに困るので
    毎処理ごとにデータが書き込まれるようにしたいです。

    なにか方法があれば、お教えいただけると助かります
    530 : Name_Not - 2017/10/18(水) 15:59:24.41 ID:???.net (+36,+18,-2)
    閉じれば?
    531 : Name_Not - 2017/10/18(水) 16:12:44.08 ID:???.net (+57,+29,-12)
    書き込み終わるの待ってから次の処理始めれば?
    532 : Name_Not - 2017/10/18(水) 17:28:33.27 ID:???.net (+6,-29,-46)
    >>529
    fs.writeFile に渡す callback の中で
    書き込みの続きを継続するようにすれば期待する動作が得られるかも?
    533 : Name_Not - 2017/10/18(水) 18:52:49.70 ID:???.net (+7,-30,-78)
    みんなありがとう
    ファイルへの書き込みが完了するまでループを一時停止する・・・と言う処理は可能でしょうか?
    今はこんな感じです

      var ループ回数 = 10;
      for(var i=0 ; i > ループ回数; i++){
         var データ = 膨大なデータを生成する関数();
         fs.writeFile(ループ回数 + '.json', JSON.stringify(データ,'',' ') , function (err) {});
      }
    534 : Name_Not - 2017/10/18(水) 19:09:13.90 ID:???.net (+66,+29,-14)
    >>521
    トンクス
    上手く行ってるように見えてたわ
    535 : Name_Not - 2017/10/18(水) 19:17:44.67 ID:???.net (-1,-30,-32)
    >>533
    同期版のfs.writeFileSyncを使うかasync/await使うか
    536 : Name_Not - 2017/10/18(水) 21:32:50.86 ID:???.net (-1,-29,-8)
    fs-extraがpromise返すようになったから使っとけ
    537 : Name_Not - 2017/10/18(水) 21:40:29.84 ID:???.net (+57,+29,-9)
    IOは内部で並列度が抽象化され、タイミングが最適化されてるから完全な制御は無理
    538 : Name_Not - 2017/10/18(水) 23:05:14.43 ID:???.net (-1,-29,-10)
    ファイルの読み込みでも、4つのファイルを、並列に読み込む
    539 : Name_Not - 2017/10/19(木) 11:52:44.31 ID:???.net (+11,-11,+1)
    ありがとうm(__)m
    540 : Name_Not - 2017/10/20(金) 20:50:24.54 ID:???.net (+48,-29,-7)
    for in使うとeslintに怒られるんですがなんか理由があるんですか?
    541 : Name_Not - 2017/10/20(金) 23:05:29.50 ID:???.net (-1,-29,-24)
    そういうのは積極的に調べていって言語に詳しくなるチャンスにすべきだと思うよ
    結論から言うとfor of Object.keys()を使う
    542 : Name_Not - 2017/10/21(土) 12:36:49.64 ID:???.net (+40,+4,-61)
    >>511
    元々の文字列に「青」があったら破綻するのでは
    バックスラッシュのエスケープシーケンスのように、構文規則を作っておかないと破綻する

    >>540
    配列に for-in を使っているのでは
    543 : Name_Not - 2017/10/21(土) 12:39:54.80 ID:???.net (+48,+14,+1)
    544 : Name_Not - 2017/10/21(土) 12:55:52.81 ID:???.net (+55,+24,-53)
    >>507>>511
    自分もこれでやるけど、翫とか見たことないような漢字にしとけばいいよ
    正規表現だとノット条件がないから[^翫]で近いことが出来るようになるし、これが早くて楽だった
    545 : Name_Not - 2017/10/21(土) 13:20:57.67 ID:???.net (+52,+29,-4)
    バッドノウハウからは早く卒業しよう
    546 : Name_Not - 2017/10/21(土) 13:21:43.46 ID:???.net (+8,-29,-15)
    asyc-awaitつかってると使いたいところで使えないのが凄くもどかしい。
    たとえばclassのコンストラクタで非同期処理を入れる方法ないかな。
    547 : Name_Not - 2017/10/21(土) 14:51:05.52 ID:???.net (-1,-29,-3)
    >>546
    ファクトリをasyncにしろ
    548 : Name_Not - 2017/10/21(土) 15:17:35.06 ID:???.net (+9,-29,-44)
    プログラミングを初めて、

    配列を知った人は、これ便利と配列ばっかり使いだします。
    連想配列を知った人は、これ便利と連想配列をばっかり使いだします。
    クラスを知った人は、これ便利とクラスばっかり使いだします。

    asyc-awaitを知った人は、これ便利とasyc-awaitばっかり使いだします。
    549 : Name_Not - 2017/10/21(土) 15:36:34.65 ID:???.net (+52,+29,-7)
    朝起きたら顔を洗って歯を磨きます。
    550 : Name_Not - 2017/10/21(土) 15:46:30.58 ID:???.net (+4,-29,-95)
    >>546
    async関数はpromiseを返す関数だから
    クラスのインスタンスを返すコンストラクタとは相容れない
    まあ色々方法はあるけど、newして非同期にそれを改変するasync関数を用意するのが良いと思う

    >>548
    async-awaitばかりというのは悪くないと思うよ
    ある特定の関数が開発していく途中でasyncにする必要が出てきたり必要が無くなったりもするしさ
    そういうときawaitで受けてれば問題ないからね
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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