よくあるやつ 日までのみ対応 「前」は自分でつけてね

/**
 * 日時1から日時2がどれだけ過去かを文字列で表現して返す
 * 10秒前までなら "今"、10秒前なら "10秒前"、61秒前なら "1分前" みたいに
 * @param {Date} dt1 未来
 * @param {Date} dt2 過去
 * @return {String} 秒>分>時間>日 のうち最小単位
 */
const getOffsetString = (dt1, dt2) => {
  const offsetTs = dt1.getTime() - dt2.getTime();

  if (offsetTs < 10000) {
    return '今';
  } else if (offsetTs < 60000) {
    return `${Math.floor(offsetTs / 1000)}秒前`;
  } else if (offsetTs < 3600000) {
    return `${Math.floor(offsetTs / 60000)}分前`;
  } else if (offsetTs < 86400000) {
    return `${Math.floor(offsetTs / 3600000)}時間前`;
  } else {
    return `${Math.floor(offsetTs / 86400000)}日前`;
  }
};

Webpack + Babel + React やってるとき、データの取得に async/await を使ったら以下のエラーが出た。

Uncaught ReferenceError: regeneratorRuntime is not defined

[ webpack 4.41.2 | @babel/code 7.7.2 | @babel/plugin-transform-runtime 7.10.4 ]

マウスオーバー時はすぐに色が変わって、離れた時はゆっくり色が戻るみたいな

非同期処理を一気に投げて全部成功したら続行する必要があり、Promise.all() 使ってみた。

CSSに自動でベンダープレフィックスを付与してくれるAutoprefixer。今更ながら、WebpackでLessと連携させてみた。

[ webpack 4.43.0 / autoprefixer 9.8.0 ]

KeyConditionExpression でソートキーを範囲指定 (>= など) してる時に、ExclusiveStartKey で指定した開始位置が、範囲指定のスタート位置より外側である場合に発生する。

※静的なファイルでのみ使用できます。ユーザーが入力したテキストのエスケープ目的では使えません。

クラスコンポーネントから乗り換えてみたいので勉強中。

[ webpack 4.39.2 / react 16.13.1 / react-dom 16.13.1 / redux 4.0.5 / react-redux 7.2.0 ]

自分用 今んとこUbuntuのことしか書いてない

String.repeat() がES6なのでIE11では動きまてん

右埋め
const padRight = (str, padchar, len) => {
  const padstr = padchar.repeat(len);
  return `${str}${padstr}`.slice(0, len);
};
左埋め
const padLeft = (str, padchar, len) => {
  const padstr = padchar.repeat(len);
  return `${padstr}${str}`.slice(-len);
};
中央寄せ
const padSide = (str, padchar, len) => {
  const lPadstr = padchar.repeat(Math.floor(len / 2));
  const rPadstr = padchar.repeat(Math.ceil(len / 2));
  const padded = `${lPadstr}${str}${rPadstr}`;
  const start = Math.floor((padded.length - len) / 2);
  return padded.slice(start, start + len);
};