[memo]uuidv4生成クラス[メモ]

連日投稿でっす。
某Apiでuuidv4を推奨ってことで、uuidv4の生成クラスをメモっておきます。

class Uuid
{
    public static function v4() {
        return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
            // 32 bits for "time_low"
            mt_rand(0, 0xffff), mt_rand(0, 0xffff),

            // 16 bits for "time_mid"
            mt_rand(0, 0xffff),

            // 16 bits for "time_hi_and_version",
            // four most significant bits holds version number 4
            mt_rand(0, 0x0fff) | 0x4000,

            // 16 bits, 8 bits for "clk_seq_hi_res",
            // 8 bits for "clk_seq_low",
            // two most significant bits holds zero and one for variant DCE1.1
            mt_rand(0, 0x3fff) | 0x8000,

            // 48 bits for "node"
            mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
        );
    }
}

何気にこちらの記述のメソッドを500万回ループし重複しないか配列にいれて確認したところ。。
1.6秒くらいで実行がおわりました。
メモリ使用量は1.8G
結局重複はしなかったです。

他にも上記以外の書き方をしている方のコードで100万ループしてみましたが
53秒くらいかかり
メモリは100Mくらいだったと思います。
こちらも重複はしなかったです。
※500万やろうと思ったけど実行時間考えてもういいかなって思ってやらなかった。。

スポンサーリンク

[覚えない]mod_rewiteでGET,POSTデータを渡す[忘れがち]

久しぶりの投稿です。
何気に、mod_rewiteをたまに使う場合があって再度調べなおすの面倒なので・・・

以下のような感じで「QSA」を付ける
RewriteRule hoge/fuga /hoge/fuga.php [L,QSA]

スポンサーリンク

[覚書]PHPプログラムでSSIにPHPを設定[php]

とりあえず、タイトル通り・・・

PHPでssiを使用し、PHPを読み込むと8kバイト以上出力する場合に該当のssiの記述の内容が取得できないというのがあるります。

これは8kバイト以内であれば問題なく動くので、ajaxなどでデータの取得や出力をすると問題ないです。 続きを読む

スポンサーリンク

[メモ]PHP7.2.xインストール[memo]

おはこんちは
そろそろ、PHP7.2.x系を入れようかなと思ってから一月くらい・・・
※かなりハマりまくった・・・orz

 

 

EPELレポジトリの追加

rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

remiレポジトリの追加

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

libzipインストール
yum –enablerepo=remi install libzip-last-devel
競合している場合、一旦yum remove libzip libzip-develを実行 続きを読む
スポンサーリンク

[覚書]イベント伝搬キャンセル[jquery]

たまにしか使わないので、メモ・・・・

■preventDefault()
リンクの遷移などのイベントが無効になる

■stopPropagation()
イベント伝播がキャンセルになる。
但し、リンク遷移は有効のまま。

スポンサーリンク