Information

日記

 G-ZONEのメインコンテンツとは関係のない日々を綴ったX-Virusの日記です。メインコンテンツが更新されていない時、X-Virus が何をしているか、ここを読んでもらえれば分かるように・・・というより、自分が何をしようと目論んでいるかといった備忘録として使う予定です。
< 2009 / 1 >




1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最近の日記

通販ショップ紹介ポリシー 2008-11-14

ポリシーと謳うほどのものではありませんが、商品の紹介先にどのようなショップのリンクを張るのかは、結構な悩みどころになるものです。全てのショップにリンクできれば言うことなしなのかもしれませんが、そんなことは不可能です。なので、ショップへのリンクは限定的にしています。

ということで、Amazonに加えこれまでずっと気になっていたDMMとアフリエイト契約を結びました。

Amazonは世界的に大手でクレームにはとても気を遣ってくれる上に、当初、ここぐらいしか推薦できるショップが無かったこともありました。実際アソシエイト契約が存在しない時から、商品の入手参考として商品ページへの直接のリンクを張っていました。

最近、電子書籍やレンタルのネットショップが増えていますが、そうしたサービスへの展開はAmazonでは期待できそうにないと考えて、リサーチを続けていました。そんな中でDMMが有用ではないかと思い、システムを改造してDMMへの対応を行っていましたが、ようやくそれが完成しました。

購入とは別の選択肢としてDMMが利用できれば、もっと手軽に作品を鑑賞できるのではないかと思っています。

接続が一時的にできなかった理由 2008-10-21

まず、接続ができなかった方へお詫びいたします、

本日21日、一時的に接続できなくなりました。接続ができなかった理由は、ドメインの利用料金の支払い忘れで、ドメイン名「come-up.to」が使えなくなったことにありました。支払い手続きは直ちに終了したのですが、ドメインの利用再開に時間がかかってしまいました。

その間、アクセスできなくなってしまった方も多かったと思います。

ドメインの使用料は、この際10年分を支払いましたので、当面この問題とは関係のないことと思います。

本当に申し訳ありませんでした。

.DS_Store ファイルの作成を抑制する方法 2008-10-06

Macからファイルサーバにafpなどで接続した時に、フォルダに「.DS_Store」というファイルが勝手に作成されてしまうことがあります。無くても問題はないし、一方、他のOSからサーバのフォルダをアクセスした時に .DS_Store ファイルは鬱陶しいものでしかない。

実はFinderに対して、この.DS_Storeファイルの作成を抑制する設定をすることができます。ターミナルから次のコマンドを打ち込んで設定できます。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

元のデフォルトにする時には・・・

defaults write com.apple.desktopservices DSDontWriteNetworkStores false

これでOKです。

参考:
http://support.apple.com/kb/HT1629?viewlocale=ja_JP&locale=ja_JP

Macで作成したZIPファイルをWindowsで開けない理由 2008-09-10

Macで作成したZIPファイルが、全くWindowsで開けない訳ではありません。フォルダを圧縮した時にWindowsで開けなくなることがあるのです。

Macで圧縮したZIPファイルの中身を見てみると、/で終わるフォルダがリストされることに気がつきます。テストで作成したZIPの中身をコンソールからZIPコマンドで確認してみると・・・

zip -v folder.zip (←これだけ打ち込む)
(結果表示)
zip info: local extra (16 bytes) != central extra (12 bytes): folder/
zip info: local extra (16 bytes) != central extra (12 bytes): folder/.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/._.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): folder/file1
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/folder/
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/folder/._.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file2
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file3

/で終わるフォルダがZIPファイルの中にあるとWindowsでは、フォルダが生成される代わりにファイルが生成されてしまい肝心のフォルダが生成できなくなってしまうのです。

そこでその解消方法を備忘録的にメモしておくことにします。

上記の例の場合、コンソールから次のようにコマンドを打ち込みます。

zip -d folder.zip folder/
zip -d folder.zip __MACOSX/
zip -d folder.zip __MACOSX/folder/
zip -d folder.zip folder/folder/
zip -d folder.zip __MACOSX/folder/folder/

・・・といった具合に/で終わるファイル(フォルダ)を削除してしまいます。フォルダが存在しなくても、解凍するときには必要なフォルダは普通生成されるので、これで問題ありません。改めてZIPファイルの中身をコンソールからZIPコマンドを打ち込んでリストすると・・・

zip -v folder.zip
(結果表示)
zip info: local extra (16 bytes) != central extra (12 bytes): folder/.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/._.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): folder/file1
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): __MACOSX/folder/folder/._.DS_Store
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file2
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file3

これで問題なくWindowsで解凍できるようになるのですが、もう少し丁寧にリソースファイルも削除してしまう方が良いでしょう。リソースファイルはMac特有のファイルでMacでは非表示になっているファイルですが、Windowsでは表示されてしまう上に活用方法が無い全くの邪魔な存在なので、削除してしまった方がWindowsの人たちには親切というものです。

ということで次のようにコンソールで打ち込みます。

zip -d folder.zip *.DS_Store

これでリソースファイルは無くなり、必要なファイルだけになりました。確認すると・・・

zip -v folder.zip
(結果表示)
zip info: local extra (16 bytes) != central extra (12 bytes): folder/file1
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file2
zip info: local extra (16 bytes) != central extra (12 bytes): folder/folder/file3

完璧です。これでWindowsの人にも扱えるZIPファイルの出来上がりです。

検索機能の強化 2008-08-27

G's Mallの検索機能において、複合検索ができるようにしました。

例えば「巨人 女」と検索キーワードに入れて検索ボタンを押すと、スペースで区切って「巨人」と「女」の2つの単語に分解し、両方の単語を含むタイトルや解説を検索することができました。その結果、「巨人の女」や「女巨人」などが解説等に記述されている作品がヒットします。

残念ながらスペースを含んだ文字列検索はできません。それでも絞り込み検索などが行えるので、探している作品を見つけやすくなったかと思います。

すでにライブラリでは、単純複合検索に対応していました。こうした複合検索機能がG's Mallにも欲しかったのですが、なかなか実装できずにいました。それもようやく実装できました。単純ですが、複数の単語で検索できるのは便利です。言い換えれば、これまでがとても不便でした。同じ実装方法でBBSにも実装できそうですが、いつになることやら。

カラス?ではない・・・よね 2008-08-15

今日、30分ほどネットワークが途切れてしまった。ルーターのログを見ると、ネットワークの契約形態に関係があるのかもしれない。

-----ログ抜粋-----
08/15/2008 10:33:22 PPPoE get IP:220.157.184.148
08/15/2008 10:33:22 Username and Password: OK
08/15/2008 10:33:20 PPPoE start PPP
08/15/2008 10:33:20 PPPoE receive PADS
08/15/2008 10:33:20 PPPoE send PADR
08/15/2008 10:33:20 PPPoE receive PADO
08/15/2008 10:33:20 PPPoE send PADI
08/15/2008 10:33:15 PPPoE send PADI
  ・
  ・
  ・
08/15/2008 10:24:09 PPPoE send PADI
08/15/2008 10:24:04 PPPoE send PADI
08/15/2008 10:24:03 PPPoE stop
08/15/2008 10:24:03 PPPoE stop PPP

PPPoEを使ってインターネット接続している。ホストからPPPを切断されたのが10:24:03。その1秒後にルーターが慌てて再接続にいった様子がログに残っている。PADI(PPPoE能動ディスカバリ開始パケット)というのは、ネットワーク上に接続可能な集線装置があるか探すためにブロードキャストパケットを流すことだ。ダイビングのライセンスとは関係ない。

ルーターは真面目にもPADIを5秒ごとに送信している。言ってみれば「おーい。誰かいませんか〜!」と騒いでいるようなもの。このPADIに集線装置が応答したのが10:33:20のこと。PADO(PPPoE能動ディスカバリオファー)というのは「今ならオイラが接続できるよ」とPADIの呼びかけに答えたパケットのこと。その直後ルーターが放ったPADRは(PPPoE能動ディスカバリ要求)は「お願いします!」という返事。そして集線装置から「じゃあオイラが受け持つよ」と快くPADS(PPPoE有働ディスカバリセッション確認)が送られてきて、とりあえず予約完了。あとは契約したユーザ名やらパスワードやらを送って手続きが完了したなら、いつものIPアドレスでネットワーク接続が行えるようになったのが10:33:22のこと。メデタシ。

このログが示すのは、ネットワークを維持していたISPかネットワーク業者(ウチの場合はNTT東日本)のどちらかの装置がPPP接続を切った後、ルーターが代わりの集線装置を見つけられるまで30分の時間が掛かったということ。契約は商用ではないので、長い時間、一つのラインを占有していると一旦切られるのかも知れない。その後、直ぐに空いている集線装置が見つかれば事なきを得るが、見つからないと見つかるまでは世界から切りはなれた状態に置かれるということになるのではないだろうか。

G-ZONEにたまに繋がらないなあ、と思われた方は、こうした瞬間に出会ってるということかもしれないので、気長に回復するまで待ってやってください。

↓カラスが原因なら、もっと回復に時間が掛かるだろうけど・・・
http://slashdot.jp/article.pl?sid=06/06/14/017205

iPhoneとWebデザイン 2008-06-11

Appleが3G対応のiPhoneを発表した。

Apple


価格は安い機種で200ドルを切る。全世界で同じ値段で販売するという。

ある雑誌でのアンケートでは、日本では2万円台なら買うと支持した人たちが70%を超えるという結果がある。どれほどの人がiPhoneを手にするかは現時点で予想できないが、無視できない存在になることは間違いなさそうだ。そうなると携帯向けのサイトデザインにも影響を与えるかも知れない。

iPhoneのブラウザはSafari。これまで多くのデザイナに無視されてきた存在だ。G-ZONEのブラウザ別利用者の割合で、一割を超えていたこともあるが現在は3%弱。この数値に影響があるかどうか。仮にデザインをiPhone向けに見直すとして、どのようにすれば良いのだろうか。PC向けのデザインで問題なさそうだけれど、Safariへの対応を行わなければならない。ちなみにG-ZONEのデザインはSafariでチェック済み。たぶんiPhoneからでも問題ないだろう。一度iPhoneでどのように見えるのか試してみたいと思うし、iPhoneが欲しいと思っている。

現在でもiPodからのアクセスがある。この統計にiPhoneが現れる日は遠くないようだ。

プリインストール版Windowsには気をつけろ! 2008-06-03

Windowsのライブラリが壊れてることがありますね。

なぜか通常のアプリケーションを使っている分には気がつかないのですが、プログラムを造り込んで行くと問題が具象化することがあります。しかも自分のプログラムが原因のように見えるので、本当の原因にたどり着くまでに時間を費やすことになります。

プリインストール版Windowsをもし業務に使うなら・・・

プリインストール版Windowsは壊れていると思って、常に「リカバリーディスクを使ってリカバリー」した後が吉

・・・ということですね。

この問題は同じロットのプリンストール版Windowsが搭載されたマシンで発生したので突き止められましたが、こんなに大量にWindowsマシンを購入することは滅多にないので、おそらく気がつかないままに悩むプログラマやシステム管理者は多いと思います。メーカーにも問い合わせましたが、そういったケースは稀にあると認めました。また、他の技術者にも問い合わせた結果、複数のメーカーで同様の問題に遭遇していることも判りました。

プリインストール版Windowsを信用してはいけません。

不正リレー対策(その3) 2008-05-12

そういえば、メールアドレスの偽装をテストしていなかったので、テストしてしてみました。

テストはtelnetコマンドで25番ポートに接続して、smtpコマンドを直接手入力して行いました。まあ↓こんな感じです。

telnet come-up.to 25 ・・・(telnetコマンドで25番ポートに接続)
Trying 220.157.184.148...
Connected to come-up.to.
Escape character is '^]'.
220 eva.come-up.to ESMTP Sendmail; Sun, 11 May 2008 12:17:39 +0900

HELO come-up.to ・・・(come-up.toからの送信の準備)
250 eva.come-up.to Hello 123-123-123-123.xxx.jp [123.123.123.123], pleased to meet you

MAIL FROM: xvirus@come-up.to ・・・(xvirusからの送信を偽装)
250 2.1.0 xvirus@come-up.to... Sender ok

RCPT TO: xxx@xxx.com ・・・(知り合いのアドレスを入力)
550 5.7.1 xxx@xxx.com... Relaying denied. Proper authentication required.

QUIT ・・・(エラーになったのでテスト終了)
221 2.0.0 come-up.to closing connection
Connection closed by foreign host.

結果としては、偽装は失敗。サーバ側から550エラーが返りました。そして例のごとくログをみると、かように↓報告されていました。

**Unmatched Entries**
ruleset=check_rcpt, arg1=xxx@xxx.com, relay=s184148.ppp.asahi-net.or.jp [220.157.184.148], reject=550 5.7.1 xxx@xxx.com... Relaying denied. Proper authentication required.: 1 Time(s)
118-168-132-41.dynamic.hinet.net [118.168.132.41]: probable open proxy: command=CONNECT mx2.mail2000.com.tw:25 HTTP/1.0\r: 1 Time(s)

ログの2行目は、テストとは無関係のエラーですが、例のごとく面白いのでそのまま掲載。

ユーザインターフェースの十か条 2008-05-11

今はプログラマーの仕事はしていないので、Webサイトがプログラマー魂を発揮できる場所になってしまった。ところで、最近のWebデザイナーは甘チャンが多い上に、なんだかポリシーもヘンテコだ。というと、ちょっと偉そうだけど、実際頭に来るサイトは数多い。

今でも守っているユーザインターフェースの十か条がある。この十か条はアジソンウエスレイが出版した「Inside Macintosh Part1」に書かれていたものだ。20年ほど前の本なので今では全く役に立たないが、それでもこの十か条は輝いている。

引用:Inside Macintosh, Volume VI (日本語版) Part1 by Apple Computer, Inc. 第2章「ユーザインターフェースの原則」より抜粋

現実世界からのメタファ;
本では音に関しても記述されているが、Webではどれがリンクなのか判るように作ることで信条を守っているつもり。G-ZONEは、あまりアイコンを使っていませんが、例えばアイコンやリンクの表記は、非常に重要だということ。

直感的な操作:
リンクを押した先に、期待した(内容は別として)情報が書かれているページに移動することで信条を守っているつもり。工事中やリンク切れはもっての他。

見て指し示す:
ユーザの認知について本は語っています。BBSなどは意見を言おうと思ったときに、直ぐに使えないとね。使い方を思い出すのに時間が掛かるようなインターフェースはボツ。

一貫性:
これは多くのサイトが添っています。ま、たまに添っていないところもあるけどね。要するに一貫した操作性を得られるようにしなさいということ。ページ毎にユーザインターフェースが違うのはやめてくれってこと。でも多くのサイトが添っている理由を考えるに、大量のページをデザインするときにドリームなんたらとかゴーなんたらを使ったら、たまたまそのようになってしまった・・・だけなんじゃないかと。

WYSIWYG:
WebではWYSIWYGは印刷なので関係ないかもしれないが、どの環境でも、どのブラウザでも同じように見えるという所で信条としているつもり。実は、これが非常に大変。Windowsだけでも98(ログを見ると今でもいる)やらXPやらVistaやら色々とあるしね。もちろんMacもね。それとWYSIWYGは、もう通用しないと言っている人の多くは、WYSIWYGという概念を表面的に捕らえすぎているように思える。プレビューはWYSIWYGユーザインターフェースを持たないアプリケーションが唯一WYSIWYGを表現している所とも言えるかもしれない。

ユーザコントロール;
ユーザに何か仕組みを提供するという考えは、ユーザに操作の主導権を与えることに等しいよ、ということ。この意味の判らん人はWebデザイナの資格なしってこと。

フィードバックおよびダイアログ
特にエラーメッセージ。これは自分も駄目だなあと思う所。一番大切なのはエラーに導かないことなんだけど。例えば入力した値をできる限りプログラム側で処理するというのが理想なんだけど、でもどうしても判らない値は、ユーザに聞くしか無い。電話だったら「すみませんが、良く聞き取れなかったので、お手数ですがもう一度おっしゃっていただけますか」と聞き取れない所を一回でフォローするような感じ。何度も聞き返すのは失礼だし、嫌になっちゃうね。住所を入力しろとか電話が抜けているとか・・・

融通性:
これもエラーが起きたときに、最初からやり直しさせるな!ということ。ユーザの労力を無駄にするなということ。この辺は、まだまだオイラも青いケツをさらしているな。

安定性が感じられること:
デザインを不規則に替えるなということ。これは他の信条のおさらい。他の信条を守っていれば、自ずと導かれる。あと、運用とも関係してくるね。Webのデザインを一新することは、新しいユーザを掘り起こせるかもしれないけど、以前からのユーザが混乱するリスクを伴うということ。この点は、近江商人十訓に通じる(笑)

美的な整合性:
美的を追求するのはデザイナの常。で整合性もね。でも他の信条がなければ、システムとしてはクソなんだよ。と本では直接言ってはいないが、結局そういうこと。美しくてユーザが好感を持てるものを提供しなければならない。

ところで、近江商人十訓もWebデザインでは参考になる。営業魂がWebデザインでは重要だからね。一番好きなのは・・・
「無理に売るな、客の好むものも売るな、客の為になるものを売れ。」
ま、商売している訳ではありませんが、何か情報を提供する時の信条として心がけるようにしてます。

G-ZONE