読書の記録:魂と体、脳 計算機とドゥルーズで考える心身問題 第二章

読書の記録:魂と体、脳 計算機とドゥルーズで考える心身問題 第二章 - Togetter

本の自炊問題について

本の自炊問題について - Togetter

Eclipse (Helios)のGoogle Plugin上でScalaを使うためのメモ

  • プロジェクトの作成
    • Scalaプロジェクトで新規作成した上でプロジェクトのプロパティ > Google > App Engineから「Use Google App Engine」にチェック
    • web.xml、appengine-web.xml、logging.properties、src/META-INFは別に作成したWeb Application Projectからコピー
  • コード補完
    • 環境設定のJava > Editor > Content Assist から「Use static imports」のチェックを外す

SharePoint DesignerでNewForm.aspxやEditForm.aspxをカスタマイズすると添付ファイルがアップできなくなる

カスタマイズしたフォームでファイルを添付しようとすると「This form was customized not working with attachment.」というエラーメッセージが出て、ファイルを添付することができない。

これについてはでhotfixが出ている。

現在のMOSSのバージョンを確認したところ、今利用しているサーバのバージョンは12.0.0.6421。
http://shanqiai.weblogs.jp/sharepoint_technical_note/2009/10/sharepoint-0e79.htmlによれば、Service Pack2まで当たっている。
ただし、KB番号から見て、今回の問題はSP2以降にfixされているようだ。

Deploy software updates for SharePoint Foundation 2010 | Microsoft Docsによれば

Recommended installation sequence for updates

Although Microsoft does not enforce the update installation sequence, we recommend that you install the post-RTM updates for WSS that you require in the following sequence:

1. Service Pack 2 for Windows SharePoint Services 3.0 (KB 953338)

2. The October CU for Windows SharePoint Services 3.0 (KB 975002)

とのことなので、をあててみたら直った。

Nintex Workflowによるワークフローを含むSharePointサイトの移行

エクスポート

NWAdmin -o PrepareSiteForExport -siteUrl <エクスポート元のURL>
stsadm -o export -url <エクスポート元のURL> -filename <ファイル名>

インポート

stsadm -o import -url <インポート先のURL> -filename <ファイル名>
NWAdmin -o FixSiteAfterImport -siteUrl <インポート先のURL>

バックアップスクリプト

set DT=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set ORG_URL=http://************
set BACK_URL=http://***************l%DT%

"C:\Program Files (x86)\Nintex\Nintex Workflow 2007"\NWAdmin.exe -o PrepareSiteForExport -siteUrl %ORG_URL%
stsadm -o export -url %ORG_URL% -filename DesignMail.cmp

stsadm -o import -url %BACK_URL% -filename DesignMail.cmp
NWAdmin -o FixSiteAfterImport -siteUrl %BACK_URL%

アジャイルな見積りと計画づくり

デブサミで触れられていた本を要約してみた。
アジャイルな見積りと計画づくり by Hisanaga MAKINO on Prezi


この本は、具体的な方法を記述してあり、ケーススタディもあるため分かりやすい。
要約はかなりはしょっているので、興味があったら本にもあたった方がよい。
なかなかおすすめ。

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

本当にすぐ使える、メールをどこにも送らずmbox形式で保存するテスト用SMTPサーバ

上記2つを元に、全てのアドレス宛てのメールを、どこにも送らず、ローカルの1つのアカウントにまとめてmbox形式で保存するサーバを書いてみた。mbox形式で保存するので、普通のpop3サーバやimapサーバ経由で送信された全てのメールを読むことができる。
dovecotで試してみたところ、ファイルのオーナーさえちゃんとそのメールボックスのユーザにしておけば問題なさそう。

ソース(/etc/init.d/dummysmtp)

#!/bin/bash
#
# chkconfig: 2345 80 30
# description: dummy smtp server

LOGFILE=/var/mail/testmail
BIND_ADDRESS=127.0.0.1
BIND_PORT=25

getpid(){
        netstat -nlp | grep $BIND_ADDRESS:$BIND_PORT | awk '{print $7}' | sed 's/[^0-9].*$//'
}

start() {
        cat <<__PYTHON__ | (python -u > $LOGFILE) &> /dev/null & 
import asyncore
import smtpd
from email import message_from_string
from time import time

class MySMTPServer(smtpd.SMTPServer):
    def process_message(self, peer, mailfrom, rcpttos, data):
        msg = message_from_string(data)
        print msg.as_string(True)

if __name__ == '__main__':
    MySMTPServer(('$BIND_ADDRESS', $BIND_PORT), None)
    asyncore.loop()
__PYTHON__
}

stop() {
    PID=`getpid`
    /bin/kill $PID
    until [ -z `getpid` ]; do :; done
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        pid=`getpid`
        if [ -n "$pid" ]; then
            echo "dummysmtp (pid $pid) is running..."
        else
            echo "dummysmtp is not running"
        fi
        ;;
    *)
        echo "Usage: dummysmtp {start|stop|restart|status}"
        exit 1
esac

exit $?

設定

上記のソースを/etc/init.d/dummysmtpに置く。
LOGFILEを確認用に使いたいメールボックスへのパスに、BIND_ADDRESSにメールサーバのIPアドレスFQDNだと終了に失敗するかも)、
BIND_PORTにSMTPで使いたいポートを設定。

起動

/etc/init.d/dummysmtp start

終了

/etc/init.d/dummysmtp stop

自動起動

chkconfig --add dummysmtp