9/15/2009

Dashcode の気になる点

私は html / css / javascript / php を Dashcode でコーディングを行っているのだが、基本的には使いやすくて良い。補完もしてくれるし、function ごとにジャンプできる機能がついている(メニューバーにセレクトメニューがあり、そこに function 名が入っていて、選択すると該当の function にジャンプしてくれる)のは、意外と重宝している。また、Apple 純正なので落ちることはないし。

ただ、その補完だが、日本語まで一度記述した語句や文章で悉く補完しようとするので、やめてほしい。変数とか色々、英数文字ベースの語句であれば、何度も記述するのは普通にあるが、日本語はそうとは限らないので。

あと、widget を作成するときなどは、Dashcode として 1 つのウィンドウとなり、全てのファイルが画面に散らばることはないのだが、Finder からファイルを Dashcode へドラッグして開くと、全て別々のウィンドウになるので、画面に散らばってしまい、大変。5 ファイル以上を扱うことが多いので、ウィンドウが多いとその分使いづらい。

それを考えると、EmEditor は優れていた。もう Windows を使っていないので、長い間会っていないが、たまに EmEditor が恋しくなることもある。Snow Leopard で Dashcode の話は見てないが、どうなっているのだろうか。進化しているのだろうか。もう我が家には Snow Leopard をインストールできるマシンはない。Apple が PowerPC と完全に決別したことは、とてもとても悲しいことだ。

9/14/2009

javascript で値が入っているかのチェック

例えば、お問い合わせフォームやら CMS やらのチェックで、a という変数に値が入っているかをチェックしたい場合、普通は以下のようにすると思う。

if (a == "") {
// a に値が入っていないとき
}

もしくは

if (a != "") {
// a に値が入っているとき
}

if のあとの () では、true なのか false なのかだけでなく、値が入っているかどうかも判断してくれる。それを利用すると、少しスクリプトを短くすることができる。

if (!a) {
// a に値が入っていないとき
}

もしくは

if (a) {
// a に値が入っているとき
}

で最初のと同様の処理になる。もちろん変数に限らず、フォーム部品等の中身チェックでも使える。

9/12/2009

Javascript(DOM) で入力チェックをし、php にデータを送る

私はお問い合わせフォームやら自作 CMS やらで、javascript(DOM) で入力チェックを行うようにしている。php でやると画面遷移が必要になるし、作るのも正直手間がかかる。その点 DOM でやってしまうと簡単にできるし、画面遷移も発生しない。

さらに、チェック済みのデータを php に送って、お問い合わせフォームならメールを送信したり、CMS ならデータをファイルに書き込むという流れにしている。その際に iframe を使うのだが、直接 iframe の src に php の url を書き、? 以降にデータを持たせ、php ではそれを $_GET で受け取ることもできるが、スマートではないし、CMS となると渡すデータが多いため、url の最大長も気になるところ。

なので、以下のようにしている。

◆html 側
<form id="sendForm" action="javascript:return false;" onsubmit="javascript:saveThis();" method="post" target="php">
  input や select などのフォーム部品を書く
  <iframe src="" name="php" width="1" height="1"></iframe>
  <input type="submit" value="保存" />
</form>


◆javascript 側
saveThis() {
// チェックの処理を書く
// チェックをパスした場合に下記を実行
  document.getElementById("sendForm").action = "php の url";
}


これで、見た目上画面遷移なく、DOM で入力チェックをし、php で処理を実行できる。php の最後にアラートでも出せば判りやすいのではないだろうか。form の action に予め php の url を書いてしまうと、チェック結果がなんであろうと送信してしまうので、初期値は javascript:return false; にしておく。

echo "<script type='text/javascript'>";
echo "alert('処理が終了しました。');";
echo "</script>";

9/11/2009

iTunes 9 のホームシェアリング機能 - G3 マシンでもできた

iTunes 9 ホームシェアリング機能

これはいい。うちの 2 台の Mac にはそれぞれに音楽が入っているので、聴きたい曲が別の Mac であるときにいちいちイヤホンを差し直さなければならなかった。まぁすぐ隣にあるのでさしたるものではないのだが。ただ、この機能でそんな手間が一切いらなくなる。うん、これはいい。

ただ、なんと悲しいことに、G3 のマシンでは iTunes 9 がソフトウェアアップデートに出てこない。うむむ!と思って ダウンロードページ に行ってみると、ハードウェア条件に G3 がなかった。。。

といって諦めるのは簡単なので、ダウンロードページのボタンを押してダウンロードを実行してみる。おや、ダウンロードできた。ならばインストールしてみる。おや、インストールできた。インストール途中のプロセスで、ハードウェア条件を確認してると思いきや、してないらしい。ということで、再起動し、iTunes を立ち上げてみる。おや、立ち上がった。大丈夫じゃないか。

ということで、早速ホームシェアリングを有効にしてみる。今書いている G4 での iTunes Store Account と同じアカウントでサインインすればいいらしい。ホームシェアリングを利用するには、この G3 マシンを認証しないといけない。そこで、メニューの「Store」から「このコンピュータを認証」を選び、認証させる。そして、ようやくホームシェアリングを有効に。

できた。これでどちらのマシンに入っている曲も聴くことができる。非常に便利だ。

MySpace が重い。。。

趣味柄、MySpace を使っているのだが、これがまた重い。何年前の回線かと疑いたくなるほど重い。以前いくつかサイトを見て、MySpace の日本語版は遅くて糞だ、英語版の方がいい、というような記事があり、私も英語版なのだが、それでも重い。相手のページが Flash やらデカ過ぎる画像やらをベタベタ貼ったりして、相乗効果的にめちゃめちゃ重い。管理画面まで、広告で時間がかかったりしてかなり厳しい。
昔、MySpace に問い合わせたことがあったが、利用には Firefox を使ってくれという無慈悲な回答。別に FF が悪いわけではないのだが、javascript の解析が遅いため、本当は Safari か Opera を使いたいところなのだが。。。

なんとかならんか。

気が向いたらページの解析でもしてみるか。向かないと思うけど。

9/10/2009

ソフトバンクモバイル、メールの誤配信について公表 〜 約4000件が識別ミス

メールサービスで発生した事象について | ソフトバンクモバイル株式会社

公表すりゃ済まされると思っているのか?電気通信事業法 にはとにかく「秘密を守れ」とある。守らなければ業務改善命令だぞとも書いてある。軽く済ませるようだが、そんな程度の話ではない。しかし 10 日ほど経ってからとは・・・体質が知れるな。そもそも 4,000 件だけか?

ソフトバンクユーザのみなさん。あなたのメールが誰かに読まれているかもしれない。

代表にVSドイツ、VSスペインが浮上

代表にVSドイツ、VSスペインが浮上

もう何年も前から、スペインとやってほしいと思っていた。もちろん今のままでは勝てる相手ではないと思うが、来年の 5 月らしいので、それまでになんとか・・・監督を岡田から替えてもらえれば。

今日の試合を見て思った。やっぱり長谷部より稲本。