作曲する時、編曲する時、耳コピする時。みなさんも譜面を書くときには五線譜を使いますね。私も便利に使っています。
市販の五線譜は便利ですが、しかし大抵の五線譜は小節線が入っていません。リードシートを書く時は等間隔で小節線が入っていた方が便利ですよね。私の場合はコピー時の裏写りが怖いため、せっかく市販品は両面印刷されているのですが結局片面しか使わないのでややもったいなくも感じていました。
コピー配布して使うなら立派な紙でなくても良い、そう気付きプリンターで手軽に五線譜が出せないかとブランク五線譜を作ってみました。この五線譜の特徴は...
- 自宅のプリンターで簡単に出せる!
- 最初から小節線が入っている!
- ト音記号が最初から入っている!
A4用紙で出した時に綺麗に出るように調整しました。PDFをダウンロードしてプリントアウトすれば今すぐに使うことができます。
リードシート等に最適!誰もが望んだ16小節x4という非常に汎用性の高い全64小節を実現しました!
16段じゃきつい場合、B5で出したい場合、歌詞も入れたい場合、ご安心ください。マージンにも余裕の12段をご用意しました!
qmailとsmtp-authとSSLの自分用メモ。stunnelをインストールし、SMTP-AUTHしてみように従って設定、ただしvmailmgrdは使わずにvpopmailの認証を使います。
tcpserver -R -u qmaild -g nofiles -x /var/qmail/tcpserver/local.smtp.cdb 0 465 \ /usr/sbin/stunnel /usr/local/etc/stunnel/smtp.conf &
cert = /usr/local/etc/stunnel/hutcraft.pem exec = /var/qmail/bin/qmail-smtpd-auth execargs = /var/qmail/bin/qmail-smtpd-auth hutcraft.jp /home/vpopmail/bin/vchkpw /bin/true
PemファイルはSSLのKeyファイルとCRTファイルを連結するとよいようです。
cat keyfile > /usr/local/etc/stunnel/hutcraft.pem cat crtfile >> /usr/local/etc/stunnel/hutcraft.pem chmod 600 /usr/local/etc/stunnel/hutcraft.pem cat /usr/local/etc/stunnel/hutcraft.pem -----BEGIN RSA PRIVATE KEY----- .. ... 略 .. -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- .. ... 略 .. -----END CERTIFICATE-----
qmailはコンパクトすぎて、POP-Before-SMTPやバーチャルドメインやSMTP-AUTH、SSLなどをやろうとすると外部プログラムやらパッチやらでぐっちゃぐちゃになりがち。qmailである必要があって移行はできてませんが、ゼロから構築するならpostfixの方がいいですね。
機会があり、All of meのスキャットライン考えてみました。よろしければセッションとかで歌ってみてくださいませ。
Aフラットなので女性キーとしては少し高いかもです。特にライン2はHi-Fはでるだろうか。
WordPressのコメントスパム対策をしてから1週間がたちました。
スパム投稿は今まで2〜5通/日だったところ、この1週間では0通でした。効果覿面です。^p^
ローリングアップグレードの手段としてセッションレプリケーションを試してみます。レプリケーションができていればWARの更新時にワーカーを順番に再起動してもサービスは無停止でアップグレードできるはずです。
ローカルに2台のTomcatを立ち上げ、1台のApacheから割り振る方法をやってみます。
ProxyPass /scone/ balancer://workergroup/ <Proxy balancer://workergroup> BalancerMember ajp://localhost:8009/scone/ ping=500ms retry=10 BalancerMember ajp://localhost:18009/scone/ ping=500ms retry=10 ProxySet lbmethod=bybusyness </Proxy>
<Context path="/scone" reloadable="false" distributable="true">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="localhost" port="5000" selectorTimeout="100" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> </Cluster>
Managerで設定したDeltaManagerはAll-to-Allのレプリケーションになるそうです。他にBackupManagerという1台に複製を送信するマネージャーがあるそうです。
今回はレプリケーションするTomcat2台ともローカルホストなので、Receiverで使うポートが2台で競合しないようにします。
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="localhost" port="5001" selectorTimeout="100" maxThreads="6"/>
Apache、Tomcat2台を立ち上げ、ブラウザで接続してみます。ワーカーを1台止めても、即座に切り替わる様子が実験できました。再び落としたワーカーを立ち上げ、別の方を止めても大丈夫。これはすごい!これならジオンはあと10年は戦える。
最近Wordpressをちょっとずつ使っているのですが、コメントスパムが大盛況!なのでボットの投稿を弾いてみます。
やり方は簡単。投稿フォームにJavascriptでHiddenフィールドを書き出し、POST先でそのHiddenフィールドが含まれているかを判断する。Javascript実行環境のみ投稿可能な仕組み。Javascript実行不能ブラウザからは投稿できないけど切り捨てていいかなという判断。
効果の程や如何に。
#gist(6378921);
発進シーンとか変身シーンのようなかっこいいBGM作りました。聞いてねヾ( ゚д゚)ノ゛
1台のサーバーと1つのIPアドレスで複数のドメインをSSLで運用するにはSNIを使うと実現できます。Apache2+OpenSSLでSNIメモ
CentOSのyumはApache2.2.3までしか対応していないようなので自力インストールが必要でしたのでhttpd-2.2.25をインストール。
# apachectl configtest Syntax error on line 437 of /usr/local/apache2/conf/httpd.conf: SSLStrictSNIVHostCheck failed; OpenSSL is not built with support for TLS extensions and SNI indication. Refer to the documentation, and build a compatible version of OpenSSL.
OpenSSLもYumでは0.9.8eまでしか入らない。SNIには0.9.8f以上が必要らしいのでこれも最新を自力インストールしました。
openssl-1.0.1e # ./config shared
apache2を再コンパイル
./configure --prefix=/usr/local/apache2 --enable-dav --enable-proxy --enable-ssl --enable-suexec --enable-rewrite --with-included-apr --enable-so --with-ssl=/usr/local/ssl
起動してみると今度はこんなエラーが。
/usr/local/apache2/bin/apachectl configtest /usr/local/apache2/bin/httpd: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
仮対処としてリンクだけ貼って逃げました。
# cd /usr/local/apache2/lib # ln -s /usr/local/ssl/lib/libssl.so.1.0.0 # ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0
apache2起動、失敗。まだエラー
error_log Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
SNIを使う場合、SSLのデフォルト値は効かない模様。これが出たら全てのバーチャルホストにSSLEngine行が入っているかチェックしましょう。
最終的にこんな風になって、無事に証明書の切替が実現できました。
Include conf/extra/httpd-ssl.conf SSLStrictSNIVHostCheck off NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot <path> ServerName <domain A> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile <crt A> SSLCertificateKeyFile <key A> SSLCACertificateFile <intermediate.crt> </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot <path> ServerName <domain B> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile <crt B> SSLCertificateKeyFile <key B> SSLCACertificateFile <intermediate.crt> </VirtualHost>
七つの子をアレンジして弾きました^0^
テクノっぽいサンプル用BGM2つ作ったよ。ミキシングがんばりました。こういう曲も作ります。聞いてねヾ( ゚д゚)ノ゛