2014/10/23

preprosの動作が遅い場合の対処法

preprosは動作がすごく遅くなる場合がある
自分の経験だとscssファイルを分割しすぎると遅くなるように感じる

そこは制作方法なので、どうしようもないけどprepros側でできる対応

チェックするサイトを減らす
プロジェクト一覧の横の緑の○をクリックすると機能をon / offできる

チェックするフォルダを減らす
プロジェクトを選択

下の歯車ボタン(Project Settings)をクリック

「Project Filters」をチェック

チェックしなくていいフォルダをカンマ区切りで記入
※フォルダ構成にもよるが、自分はcss, js, sass以外は除外する
※逆に特定のフォルダだけをチェックするってできたらいいけど。もしかしたら正規表現なども使えるのかも

2014/10/17

jQuery.dataとhtml5のdata-でどちらが速いか試してみた

状態や何かしらの値を要素と関連づいた状態で保存したい時がある。
例えばアコーディオンUIで今開いてる状態か閉じてる状態か…など。
(アコーディオンの場合はクラス名で良さそうだけど)

思いついたのはjQueryのdataメソッドを使う方法とhtml5のdata-**を使う方法
どっちが速いのか試してみた
それぞれ1000回、値を入れた後、取得するというやり方でやってみた。
/jQueryのdataの場合
$(要素).data('名前', 値);
//7ms

//html5のdata-の場合
$(要素).attr('data-名前', 値);
//11ms

※chromeで測定
測ってみたらdataを使う方が若干早かったけど、気にしなくてもいい程度だった。
html5の方がhtmlを変更する分、ずっと遅いのかと思っていたがそんなことなかった。

2014/10/02

[smarty] テンプレート側で連想配列をアサインするプラグイン

Smarty使ってると、テンプレート側で配列を作りたくなる時がある。
連想配列をアサインするプラグインを作った。
https://github.com/satussy/smarty-assignArr ダウンロードしてsmartyのプラグインフォルダに入れれば使えます
//使い方:テンプレートで下のように書く(改行は必要ない。見やすくしてるだけ)
{assignArr
        valName="hensuumei"
        test1="テスト1"
        test2="テスト2"
    }

//中身を見てみると
{$hensuumei|debug_print_var}

array{
  test1 => "テスト1",
  test2 => "テスト2"
}

//というふうに変数が使えるようになる
連想配列じゃない、ただの配列をアサインするやつも作ろう