imgの画像が取得できなかった場合に別の画像を表示する
imgの画像が取得できなかった場合に別の画像を表示するのはonerrorを使うといいらしい、というのはWebで散見できました。
このときonerrorで指定する画像がさらに取得できなかった場合は永久ループするので、ループしないように仕込む必要があるとのこと。
これについてもonerrorの処理を一回だけにするような解決方法があるようなのですが、
昨今のほとんどのクライアント環境でHTML5が使えるのならこの別の画像自体をCanvasで作ったほうがいいんじゃないかと思って試作。
imgである必要さえないのでは?とも思いましたがHTMLやCSSの構成上画像のほうが都合がいいこともある(はず?)
Canvasを用意
function createCanvas() { var canvas = document.createElement('canvas'); canvas.width = 150; canvas.height = 150; var context = canvas.getContext( "2d" ) ; var text = 'Not Found'; context.textAlign="center"; context.fillText(text,75,75); context.rect(0,0,150,150); context.stroke(); return canvas; }
imgで指定された画像が取得できない(onerrorが発生)場合の処理
document.addEventListener('DOMContentLoaded', function() { var elements = document.querySelectorAll('img'); for (var i=0; i<elements.length; i++) { elements[i].addEventListener('error', function() { var canvas = createCanvas(); this.src = canvas.toDataURL(); }); } });
imgで指定された画像が取得できない(onerrorが発生)場合の処理(jquery版)
$(function(){ $('img').error(function(){ var canvas = createCanvas(); $(this).attr('src', canvas.toDataURL()); }); });
sudo で 「sudo: must be setuid root」と怒られる
visudoでちゃんと設定したにもかかわらず怒られる
sudo: must be setuid root
「/usr/bin/sudo」の権限の問題らしい
以下のコマンドで解決
# chmod 4511 /usr/bin/sudo
qmailインストールメモ
本体+ライブラリ+パッチ
qmail-1.03.tar.gz | http://www.emaillab.org/djb/qmail-vida/software/qmail-1.03.tar.gz |
---|---|
qmail-glibc.patch | http://www.stackasterisk.jp/tech/systemConstruction/qmail01/qmail-glibc.patch |
qmail-date-localtime.patch | http://www.ksknet.net/sample/qmail-date-localtime.patch |
qmail-smtpd-auth-0.31.tar.gz | http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz |
qmail-smtpd-relay-reject | http://www.qmail.org/qmail-smtpd-relay-reject |
checkpassword-0.90.tar.gz | http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz |
checkpassword-glibc.patch | http://www.stackasterisk.jp/tech/systemConstruction/qmail01/checkpassword-glibc.patch |
ucspi-tcp-0.88.tar.gz | http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz |
ucspi-tcp-glibc.patch | http://www.stackasterisk.jp/tech/systemConstruction/qmail01/ucspi-tcp-glibc.patch |
Railsにてscaffoldしてmigrationしたのにデータベースにcreateされるテーブルのカラムが足りない
Rails2.xにて、scaffold のオプションにてカラムの型を指定しますが、これには大文字小文字の区別がある。誤って大文字を設定してmigrationを実行してしまうと、そのカラムは設定されない。このとき、何もエラーらしきものが発生しないのも注意!(※RadRails上、そう見えるだけなのかもしれない?)
誤ってStringと型指定してしまう
> scaffold user name:String
生成されるマイグレーションファイル
class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.String :name # 正しくは t.string :name t.timestamps end end def self.down drop_table :users end end
migration実行
> rake migration
コンソール上にも、特にエラーもなにも起こらない
生成されたテーブル
name カラムが生成されない
mysql> desc users; +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | created_at | datetime | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+ 7 rows in set (0.02 sec)
Apache+OpenSSLのインストーラにopenssl.cnfがない
Download - The Apache HTTP Server Project より Win版の apache_2.2.14-win32-x86-openssl-0.9.8k.msi をダウンロードしてインストール
Apacheのインストールディレクトリ内をgrepしてもopenssl.cnfが見当たらないのはそういうモンなんだろうか?
それでも以下のコマンドで公開鍵(server.csr)が作成できてしまう不思議
openssl.exe req -new -key ../conf/server.key -out ../conf/server.csr -config ../conf/openssl.cnf
ちなみに「-config」オプションがないと怒られます
これまた不思議…