2012年1月31日火曜日

【NBA】超人的なダンク! 【ブレイク・グリフィン】

今シーズンのハイライトはブレイク・グリフィン一色で
いい加減ウンザリしてきたとこだったんですけど、
こんなの見せられたらもう笑うしかない。


昨年(2010-2011)のと比較

[おまけ]ビンス(人間越え)

Access 2007 「定義xmlによるスキーマの確認が失敗しました。XML ドキュメントの行に|にエラーがあります。」

Access 2007 でエクセルやCSVのデータをインポートしようとしたら
定義xmlによるスキーマの確認が失敗しました。XML ドキュメントの行に|にエラーがあります。」
とのエラーが出てインポートができませんでした。

原因はインポート元のファイル名に「ドット」が入っていたことが原因でした。
ファイル名を修正して無事にインポートができました。


以上、メモ。

2012年1月25日水曜日

Google グループ 連続ドットを含むメールアドレスが登録できない

Googleのアカウントを持っていれば「Group」を作成することができます。
そのグループにメンバーのメールアドレスを登録し招待することで
メーリングリストのような機能をもたせることができるのですが、
表題のとおり「連続するドット」を含むメールアドレスにはメンバーになってもらうための
招待メールを送ることができません。

[参考]
http://www.google.com/support/forum/p/groups/thread?tid=28761320be4c19d1&hl=ja

2012年1月20日金曜日

phpのMail関数で送信エラーになる

phpで作成された単純なメール送信フォームからメールを送信しようとしたところ
ある特定の条件で送信エラーになるという現象に悩まされました。

その条件というのは以下の通りです。
・送信フォームの設置されているドメインと同一のドメイン宛のメールのみ送信されない

どういうことかと言うと、例えばメール送信フォームの設置されている
Webサイトのドメインが「sample.com」だったとして、
メールの宛先が「xxx@sample.jp」の場合はちゃんと届くけれど、
「xxx@sample.com」の場合には届かないというものです。

もう少し環境・状況を詳しく説明しますと、
1. WebサーバーはWindows 2003 server IIS 6.0 (恐らくあまり関係ない)
2. PHP 5.12
3. Classic ASP (basp利用) だと同一ドメインでも送信可能
4. WebサーバーのローカルにSMTPサーバーを展開
5. MailサーバーはWebサーバーとは別のサーバー上に設置
調べてみたところ、5(4も?)が原因だったと思われます。

IISのSMTPログを見てみたところPHPから同一ドメイン宛にメールを送信した際には全くログに記録がなく、
どうも
php「xxx@sample.com宛のメール?それなら今ボクの設置されてるサーバの所でしょ。
勝手に送信しておくね。あれ?」
てな具合でDNS参照もせず、ローカルのSMTPも使わずに送信しようとしてエラーになってしまうようです。




似たような現象にあっている人がいたので参考になりました。 
さくらインターネットのPHPでMail関数を使うとInternal Server Errorになってしまう


phpの問題のような気がしますがどうでしょうか。
私はあまり深くは検証していませんが・・・

今回はサブドメインにしても良いとのことだったので宛先を「xxx@zzz.sample.com」に
変更することで回避できました。

2012年1月10日火曜日

ASP.NET Enterキーを無効にする方法

Enterキーを無効にする方法として
以下のようなjavascriptを差し込む方法がよく紹介されていますが、

<SCRIPT LANGUAGE=javascript>
    <!--
    //Enterキー無効処理
    document.onkeypress = enter;
    function enter(){
        if( window.event.keyCode == 13 ){
            if( window.event.srcElement.type == 'text'){
                return false;
            }
        }
    }
    //-->
</SCRIPT>

ASP.NET 3.5、IIS7、マスターページ、AjaxControlToolkit 3.0 という環境でヘッダのContetPlaceHolderに上記javascriptを記述しても動作しませんでした。
(※そもそも alert('test'); は動作するけど alert("test"); は動作しないというおかしな状況で、 なぜ動作しないのか不明です。分かる方がいたら教えていただけますと幸いです。)


今回はダミーボタンを作成することでEnterキーを無効にする方法を紹介いたします。
EnterキーでのPOST動作はform内に記述された最初のsubmitボタンに割り当てられます。
(※詳細な条件は後日手の開いている時にでも調べます)
なので、ボタンが押されても実行されないボタンを用意することで、Enterキーによるポストを無効にできます。

まず、aspxページにボタンコントロールを配置し(その他のボタンより上部に)、
ButtonDummyのような適当な名前を割り当てて、EnableプロパティをFalseにします。
また、このボタンが見えてしまうと見栄えが悪くなるのでスタイルシートで
display:none;
としておきます。
これだけだとなぜかIEでEnterが無効にならなかったのですが、
コードビハインド側で(C#)以下の記述を加えてダミーボタンをデフォルトボタンにすることで動作するようになりました。

this.Form.DefaultButton = this.ButtonDummy.UniqueID;


理解が深くないままの解決ですが、取り急ぎメモまで。