Archives by date

You are browsing the site archives by date.

【CentOS】Crontabの設定メモ。

いつも調べてしまうけれど、下記ファイルにかなりわかりやすい説明が書いてあることを知ったのでメモ。

/etc/crontab

vimなどで閲覧すると下記のようになっている。

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

これは相当わかりやすいね。覚えておくと幸せになれそう。

 

【jQuery】jquery.min.mapってなんぞ。

chromeでエラーになっていたのできになって調べた所、jQuery1.9以降でデバッガーを拡張するためのやーつーらしい。
解決策は2つあってjQueryをgoogleなどのホスティングサービスからもってくるか、ローカルにjquery.min.mapを持つかのいずれか。
ホスティングサービスを利用すると、同一階層にmapファイルを配置しておいてくれているのでエラーがでなくなる。

まぁおとなしくホスティングサービス使っとけってこった。

 

【AngularJS】ng-ifとng-show、ng-hideの違い。

要素の操作をしていて気づいたのでメモ。

■ng-if
要素そのものが削除されたり、生成されたりする。

■ng-show、ng-hide
要素は出力されているままで、スタイルのみで表示、非表示が切り替えられる。

要素そのものに動作を割り当てたい時(draggableなど)とかは使い分けが必要。

 

【AngularJS】文字列を全くエスケープさせずに表示する。

Angular1.2まではng-bind-html-unsafeがあったけど1.3からは削除されているので、$sceを用いて出力を行う。

// $sceサービスが注入されているのは前提
var text = '<hr>';
$scope.text = $sce.trustAsHtml(text);

これでOK。

 

【AngularJS】文字列中のURLをリンクに置換するフィルターを作った。

stackさんの回答とかを参考に自分が使いやすく。

coreApp.filter('parseUrl', function($sce) {
    var urlPattern = /(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?/gi;
    return function(text, target, style) {
        style = style || null;
        angular.forEach(text.match(urlPattern), function(url) {
            if (style) {
                text = text.replace(url, '<a target="' + target + '" href='+ url + ' style="' + style + '">' + url + '</a>');
            } else {
                text = text.replace(url, '<a target="' + target + '" href='+ url + '>' + url + '</a>');
            }
        });
        return $sce.trustAsHtml(text);
    };
});

使い方は引数を見てもらえれば一目瞭然だよね。

 

【AngularJS】ngClickはngDisabledを効かせたaタグの場合動作する。

ので注意が必要。

<a ng-click="hoge()" ng-disabled="true">ほげ</a>

これ、反応しちゃうよん。
おとなしくbuttonタグで実装するのが吉。

 

【AngularJS】ngStyleでstyle要素を動的に変更する。

スタイル要素を条件で分岐させたい時にとても有効。
使い方はngClassと同様、expressionかオブジェクトを渡せばOK。

// Editモードかそうでないかで要素の高さを分岐させたいと想定するとこうなる。
<div ng-style="{height: isEdit ? '300px' : '600px'}">ほげほげ</div>

ngStyleやngClass内のオブジェクトには三項演算子を渡せるので非常に便利。

 

【AngularJS】$watchでオブジェクト内の1階層分だけを監視したい時。

$watchCollectionを用いる。

$watchCollectionは$watchと引数が多少ことなり、第1引数はオブジェクトか文字列を受け取る。

// scope内の変数であれば文字列で指定可能
$scope.$watchCollection('user', function() {
    // 処理
});

// オブジェクトを渡せばそれを監視してくれる
$scope.$watchCollection(obj, function() {
    // 処理
});

階層が深い巨大なオブジェクトを監視させたい場合にとても有効。