のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,491,641人
昨日: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 (+43,-18,-22)
結局時間かかるのはIOかEvent待ちのネイティブの部分だからステップ処理は意味ない。
503 : Name_Not - 2017/10/17(火) 11:44:57.97 ID:???.net (+9,-18,-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,-31)
>>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,+29,-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,-55)
[^緑] は「緑以外の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 (+55,+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,-53)
自前で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 (+65,+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,+3,-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,+25,-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 スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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