タグ

2020年9月18日のブックマーク (3件)

  • lodash の debounce や throttle で簡単に負荷対策

    JavaScript を使っているなら lodash は大変便利なのですが、関数が多すぎてどれ使ったらいいのか解りづらいのが難点です。 ここではその中でも連続する呼び出しを無視してくれる debounce と throttle という負荷対策用の関数を紹介します。また、この2つの似た関数がどう違うのかも説明します。 連続する呼び出しを無視したい、とはどういうことか たとえば、mouse move イベントはマウスの座標が動くたびにすごい頻度で発生します。これに応じて画面を同期させたり、サーバに問い合わせしてしまうと大変なので一般的には0.2秒とかマウスが止まったら同期や問い合わせが走るように実装するかと思います。 別の例でいえば、textbox のインクリメンタルサーチ実装で、文字打つたびにサーバ問い合わせしたら大変なので、入力がある程度止まった時点で問い合わせするのが一般的です。 この処

    lodash の debounce や throttle で簡単に負荷対策
    saken
    saken 2020/09/18
  • urijs

    URI.js About Understanding URIs Documentation jQuery URI Plugin Author Changelog IMPORTANT: You may not need URI.js anymore! Modern browsers provide the URL and URLSearchParams interfaces. NOTE: The npm package name changed to urijs I always want to shoot myself in the head when looking at code like the following: var url = "http://example.org/foo?bar=baz"; var separator = url.indexOf('?') > -1 ?

    urijs
  • JavaScript dayjsはMoment.jsの代替になるか? | nansystem

    JavaScriptの日付操作には罠が多く、業務では日付操作を簡単かつ安全に操作するライブラリが使われる。日付操作のライブラリの中でもMoment.js (opens new window)(Star数40,601)はよく知られているが、ファイルサイズが大きくパフォーマンス改善の妨げになることがある。 そこでこの記事ではより軽量でMoment.jsの代替となるdayjs (opens new window)(Star数19,872)を紹介する。 # dayjsとは dayjsとは、日付操作を簡単にするJavaScriptのライブラリだ。Moment.jsのAPIと広く互換があり、gzip圧縮されたサイズは2.71KBと軽量なのが特徴だ。 # インストール dayjsが十分Moment.jsの代わりになり得るのか確認していく。 まずはインストールして、業務で使われる日付操作をみていく。