Note to Self

自分用のメモ置き場

jQuery UIのDatepickerで日付を連動して変更する

jQuery UIのDatepickerで日付を連動して変更する

jQuery UIのDatepickerで日付の範囲検索の場合に 片方の値を変更した際に、もう一方も連動して変更する方法

以下の例では、「fromDate」を変更すると「toDate」も連動して変更されるが、「toDate」を変更しても「fromDate」は変更されない

$(function () {
  $.datepicker.setDefaults($.datepicker.regional['ja']);
  $('.datepicker').each(function() {
    $(this).datepicker({
      dateFormat: 'yy/mm/dd',
      changeMonth: true,
      changeYear: true,
      onSelect: function (date, obj) {
        if (obj.id == 'fromDate') {
          $('#toDate').val(date);
        }
      }
    });
  });
});

Gitでマージ済みブランチを一括削除する

削除する前に必ず対象ファイルを確認する
grep部分で対象を制限できる

マージ済みのリモートブランチ一覧を一括削除する

git branch --remote --merged | grep -vE '^\*|master$' | tr -d 'origin/' | xargs -I % git push --delete origin %


マージ済みのローカルブランチ一覧を一括削除する

git branch --merged | grep -vE '^\*|master$' | xargs -I % git branch -d %

個人的環境構築メモ

随時更新予定

エディター

開発環境

データベース管理

ターミナルソフト

バージョン管理システム

コミュニケーション

開発支援

その他

JavaScriptで数字を0埋めする

JavaScriptで数字を0埋めする

slice()メソッドを使用して0を含めて文字列を作成する

function zeroPadding(num, length)  {
  return ('0000000000' + num).slice(-length);
}

console.log(zeroPadding(1, 2));  // 01
console.log(zeroPadding(98, 3)); // 098

PHPのmkdir() 関数でエラーが発生した原因と対応方法

PHPのmkdir() 関数でエラーが発生した原因と対応方法

PHPのmkdir() 関数を使ってディレクトリを作成しようとした所、以下のようなエラーが発生した

<?php

mkdir($directoryPath, 0777, true);

PHP Warning:  mkdir(): Permission denied in ~

?>


作成したいディレクトリの親ディレクトリに、PHP を実行している httpd の実行権限がなかったのが原因
権限を付与すると正常に動作した

MySQLで半角カタカナを全角に変換する

MySQLで半角カタカナを全角に変換する

便利な関数は無いため、ストアドファンクションを作成し対応

DROP FUNCTION IF EXISTS kanaToKANA;

DELIMITER //

CREATE FUNCTION kanaToKANA (data TEXT) RETURNS TEXT DETERMINISTIC
BEGIN
  DECLARE kana1_len, kana2_len INT;
  DECLARE kana1_h VARCHAR(62) DEFAULT 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンッャュョァィゥェォ ー。「」、・';
  DECLARE kana1_z VARCHAR(62) DEFAULT 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンッャュョァィゥェォ ー。「」、・';
  DECLARE kana2_h VARCHAR(52) DEFAULT 'ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポヴ';
  DECLARE kana2_z VARCHAR(26) DEFAULT 'ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポヴ';

  SET kana1_len = CHAR_LENGTH(kana1_z);
  SET kana2_len = CHAR_LENGTH(kana2_z);

  WHILE kana2_len > 0 DO
    SET data = REPLACE(data, SUBSTRING(kana2_h, kana2_len * 2 - 1, 2), SUBSTRING(kana2_z, kana2_len, 1));
    SET kana2_len = kana2_len - 1;
  END WHILE;

  WHILE kana1_len > 0 DO
    SET data = REPLACE(data, SUBSTRING(kana1_h, kana1_len, 1), SUBSTRING(kana1_z, kana1_len, 1));
    SET kana1_len = kana1_len - 1;
  END WHILE;

  RETURN data;
END;
//
DELIMITER ;


-- 正しく変換できるか確認
SELECT hogeKanaName, kanaToKANA(hogeKanaName) FROM t_hoge;

-- 対象レコードを更新
UPDATE t_hoge SET hogeKanaName = kanaToKANA(hogeKanaName);