今日書いたシェルスクリプト
#!/bin/sh if [ $# -ne 2 ]; then echo "指定された引数は$#個です。" 1>&2 echo "実行するには3個の引数が必要です。" 1>&2 exit 1 fi INFILE=$1 PATTERNS=$2 while read line; do cat $INFILE | grep "$line" done < $PATTERNS
jquery と ajax と deferred と promise とかとにかく非同期処理 (書きかけ)
'deferred'という単語が苦手です。
音で覚える事が多いため「デファード」⇒「defferd」とか、毎回誤変換して真実がわからなくなる次第です。
あと全般的に「コールバック」というやつが好きでなく、javascriptにおける落第者というコンプレックスです。コンプリケーティッドです。
- jQuery.Deferred
- 非同期処理をうまく扱うための(標準)モジュールである。
- 非同期処理を連結する際に、コールバック処理の多用を行わずに済むようになる。
- 非同期処理の直列化・並列化。
- エラー処理の記述が綺麗に行える。
- 非同期処理を関数化し再利用性を高められる。
- $.ajax()
- $.getJSON()
- $.Deferred, Deferredオブジェクト
- $.Deferred()でDeferredオブジェクトを作る
- 非同期処理が終わったら、作ったDeferredオブジェクトの状態を変更するように設定しつつ、処理を開始。
- Deferredオブジェクトが持っているPromiseオブジェクトを即座にreturnする
- .promise(), Promiseオブジェクト
- DeferredオブジェクトにはPromiseオブジェクトが内包されている。
- DeferredとPromiseは必ず1:1の対応で存在する。
- 「Promiseを返す」
- .done()
- jquery1.8以降では、.success()を使わず.done()なのだ。
- .fail()
- jquery1.8以降では、.error()を使わず.fail()なのだ。
- .always()
- jquery1.8以降では、.complete()を使わず.always()なのだ。
- .resolve()
- .reject()
- .then()
- .when()
techblog.yahoo.co.jp
qiita.com
jQuery.DeferredでJavaScriptの非同期処理を綺麗に書く - Symfoware
ぜんぜん爆速でわからず辛い。
SpamAssassin
$ vi local.cf $ spamassassin --lint $ sa-compile $ /etc/rc.d/ini/spamd restart
memo
IoT、メンテ、誰が?
Dovecot: Sieve - リダイレクトの上限数設定 とか。
デフォルトのリダイレクト数上限は小さい値になっているので要注意という話である。
In conf.d/90-sieve.conf we have: # The maximum number of redirect actions that can be performed during # a single script execution. #sieve_max_redirects = 4 sieve_max_redirects = 25
[Dovecot] redirect actions exceeds policy limit
sieveで転送(リダイレクト)すると、転送のログがmaillogにもユーザディレクトリ内のログにも残らないような…