goo blog サービス終了のお知らせ 

おばらっち亭(マカナイ付き)

こちらが、本家には載せられない当店自慢の裏メニューでございます

CMって面白いね

2004-12-11 00:32:46 | ほぼ日記
UPSを設置するために部屋の模様替えが必要で、8時間ぐらいやってました。
もう、くたくたで、呼吸するのもだるいです。
近年まれに見る、ハート様状態です。

いいかげん疲れちゃったので、ボケ~っとニュース見てました。
(最近買ったLCDにTVチューナーが付いてたので、そのテストも兼ねて)

思えば、三年ぶりぐらいに自分の意志でTV見てますよ。
CM大賞2004と世界のCM大賞が流れてますが、
TVもまだまだ捨てたもんじゃないですね。

またドット欠けつかんじゃったよ

2004-12-07 20:43:52 | ほぼ日記
三菱製のモニターMDT153Eを購入し、今日届きました。
んで、画面の中央下に常時点灯ドット(青x1)を発見。ぐは。

これで、今まで自分用に購入したモニター(iiyama, samsung, mitsubishi)は、全てドット欠けがあったことは内緒です。

お客様用に購入すると大丈夫なんですけど、自分用だとダメみたいです。
どーして?

多分初仕事

2004-12-05 05:44:50 | ほぼ日記
なぜか12月なのに、PCオアシスの仕事が来ちゃいました。

どうやら一部地域では、タウンページを早く配布するらしく、
12/3日の昼頃に電話で、「パソコンが動かないんです。タウンページを見て…」
と第一報が。

初のお客様です。
当方の準備もまだまだで、何より名刺も作ってないし。

まぁ、いっか。
よ~いドンで新年スタートと共に開業しようと、フライングで開業しようと大差ない気がしますし。

んで、PCを引き取っ来て分解掃除。
中を見たら基盤が焼けちゃってるし2001年モデルだから、
メーカーに修理に出すより、買ったほうがはるかに安いなぁこのケースだと。

というわけで、2.5inch⇒3.5inch変換コネクタと、接点復活剤を購入し、
データのレスキューと、端子の汚れをごにょごにょしてみますか。

携帯電話バグ対応: バグが絶対ありえない、なんてことはありえない。

2004-11-27 23:30:05 | ほぼ日記
えーと、サイトビルダー作ってます。HTMLを生成します。色々と。

んで私の持ってる携帯がAU の A5301T です。
しばらく前から気が付いていたんですが、

<textarea>
 <div>.............
</textarea>

とかするとですね

<textarea>
 
</textarea>
となり
< だけが表示され、それ以降のtextareaの文字列が欠けてしまう(実体参照使うとそれ以降が表示されなくなるというか存在しなくなる)現象にぶち当たってました、ここ数ヶ月間。

もちろん見えないだけではなく、データ自体が存在しないので、
このままサーバに送信すると、< だけが送信され、文字列がごっそりと欠け落ちます。

条件としては、エミュレーターや他の携帯では正常に動作するHTMLを、
A5301Tの実機に食わせると発生します。

調べましたよ~、そりゃいろいろと。
こんな基本的な部分にバグがあるなんてありえない!! 絶対自前で生成しているHTMLに間違いがあるはず!! と信じて。

はい結論。携帯のバグでした。
確実っぽい情報ソースを今日見つけました。

EZweb用XHTMLタグリファレンス

はいはい、携帯電話の型番みてますから、ライブラリ内部で回避できますが、
一般の人(もといHTMLコーダー)はどーしてるんだろうね。
このバグ致命的だべ。データが欠損するんだから。
いまさらだが、プログラム改修してもらえないだべが。


# 情報ソース元が消えると困るので重要な部分のみ引用させていただきます。
# 引用ここから

■ EZweb用XHTMLタグリファレンス <textarea>

入力フォーム内で、複数行のテキスト入力フィールドを作成します。
<textarea>~</textarea>の範囲に記述した文字列は、このフィールドにあらかじめ入力された状態で表示されます。

2003/08/02加筆
EZwebの<textarea>要素には、A3012CA, C5001T, C3003P, A5301Tで確認済みのバグがあります。
<textarea>~</textarea>内の文字列中に<などのHTMLエスケープ文字列があると、それ以降の文字が表示されなくなるというものです(最初がHTMLエスケープ文字だとその1文字だけが表示される)。
解決策としては、

1. <textarea>***</textarea>をinput type="text" value="***" />で代用する。
2. 仕様外であるが、<textarea value="***"></textarea>とする。

以上の2通りがありますが、1.の方法を推奨します。

# 引用ここまで。



どこかの誰かのために、この情報が役立ちますように。
検索キーワードをしこたま書いてみます。
SEOちっくに<b>で囲むか、<h1>で囲むってのはどうでしょう。ブログだからいいよね別に。


EZweb WAP2.0 XHTMLBasicau KDDI 携帯電話textareaが textareaの テキスト テキストエリア文字列が欠ける 文字列が欠けてしまう 文字列が切れる 文字列が切れてしまうバグ 不具合 表示されない 動作しない 動作不良 見えない 見えなくなる 消える 消えてしまう実体参照 エスケープ

瞬電むごい

2004-11-27 22:59:13 | ほぼ日記
今朝方(といっても、AM3:00~AM4:30)の話なんですが、

強風の中、馬車馬のように作業中していると、突然停電発生。
しかもその後も、30秒~5分の間隔で停電。

こんなの初めてだったから、
東北電力に「どういうトラブルなの? 復旧するの?」と電話しようかと思ったぐらい。
でも、
・電話帳を開いたとたんに停電。
・めげずに探しても、番号プッシュ中にまた停電。

onz... めげました。電話するの止めました。


仕事も再開できないし、トイレ行って、コーヒーでも入れようかなと思い、

・階段を下りている途中に停電。(恐えっつーの)
・トイレに入って停電。(狭いっつーの、暗いっつーの)
・給湯器使ってると停電。ぬるま湯がジョボジョボと…

AM5:00頃に供給が安定したようですが、
家中のタイマーというタイマーが全滅。ルータ2台は内部時計の異常を示す赤点滅。
作業中のデータの一部が揮発。

あー、UPS(無停電電源)必須だなこりゃ。三万ぐらいで購入決定だね。
30回ぐらいは停電したんではないだろうか?

祝Firefox1.0リリース。げふんげふん

2004-11-15 17:48:37 | ほぼ日記
あぁ…体調わりぃ…
もらい風邪で3日ぐらい仕事にならず。
丈夫だけがとりえ(?)なんですが、今年初めて風邪ひきました。

寝込んでいる間に、
ついに、Firefox1.0がリリースされていました。
いやーえがったえがった。ほんと長かった。

現時点で既にIEを超えているこのブラウザの良さを沢山の人に知ってもらえると、
みんなが幸せになれる気がします。MSの戦略やバグに振り回されることもなくなりますし。
特に開発者やHTMLコーダーの皆様にはとても有用な機能が沢山備わってますから。

以下firefoxのサイトから引用

開発者の良き友
Firefox には、JavaScript や CSS のエラー・警告を表示するパワフルなコンソール、通常知ることのできないページの内容を詳しく解析できるドキュメントインスペクタ (オプション) といった、標準的な開発者向けツールが付属しています。


さらに、プラグインモジュールとして、JavaScriptデバッガである
Venkmanもあります。
Venkmanすばらしいっす。

常時firefoxでサイトを開発して、たまにIEやOperaで動作確認をする。外出中は携帯端末から動作確認。
これが私の最近のパターンです。お勧め。

残念: Vodafoneが配布するウェブコンテンツヴューア

2004-11-08 07:19:24 | ほぼ日記
Vodafoneが提供する一般向けのウェブコンテンツヴューア
というものを使ってみました。

使い始めて一分ほど…
なぜか、機種判別に失敗します。

あれれれれ~?
と不思議に思い、HTTPのログを見ると、

GET / HTTP/1.1
Cache-Control: no-cache
Pragma: no-cache
Accept: */*
Host: www.example.com

たったこれだけです。

エミュレータの設定を見ても、ヘルプを見ても HTTP_USER_AGENT とか ユーザエージェントとか一切なし。
つまり、開発現場が渇望する機能
機種判別と振り分けのテスト
といった用途には全く使えない代物でした。



ここでちょっと考えてみましょう。

このアプリは技術資料一覧というカテゴリにあり、開発者に必要な情報を開示・サポートを行っていますよ。と意思表示しているにも関わらず、その実は、最も必要な情報である、HTTP_USER_AGENTを隠す必然性があったわけです。

ウェブコンテンツヴューアには、端末の切り替え機能があります。
しかし、端末を切り替えても、一切 HTTP_USER_AGENT は送られません。
  • 一切名乗らないエミュレータにする必然性は?
  • 他のキャリアは無料で開発に使えるエミュレータを公表していますが、Vodafoneだけはそうではないんですね?
  • 開発者に植え付けられる(かも知れない)、ネガティブなイメージの影響は無視ですか?
  • それとも企業の姿勢なのでしょうか?

バージョンアップしたらどうなるかしりませんが、
他のサイトにも書かれていた様に、
現時点では、非常に Vodafone 「らしい」 ツールだと私も思います。


ウェブコンテンツヴューア自体は、ヘルプを読む限り沢山の機能を持っていそうなんですが、
私にはそのような機能はもったいないので、
即アンインストールさせていただきました。



補足:
vodafoneのサイトには、
ボーダフォンソリューションプロバイダー(VSP)。申し込みをすればより多くの情報を無料で提供します と言った内容がかかれていますが…

条件として、
・設立から三年以上経過した法人であること
・部署単位で申し込みをすること
・1年以内に商売を開始する予定があること
・商売内容を具体的に明示すること
・審査します
とあります。

察するに、
個人とか中小・ベンチャーには、Vodafoneの機種向けのコンテンツを提供するサイトを作って欲しくない。
んで、開発に必要な機能を持つエミュレータは大企業だけが入手できると。

どーしても欲しいわけではないので、そういう事ならもういいです。

暴言: C++とPHPの速度は、666倍違うらしい + ハートマン軍曹

2004-11-01 21:28:13 | ほぼ日記
このサイトみてみたら、
http://feconi.azo.to/csharp/compare02.php

小数点演算を多用するとあるソースコードでは、
C++とPHP4系では処理速度が約666倍違う。


と読み取れました。666は悪魔の数字だ…

今書いているシステムも、
PHPでプロトを書いてから、
遅い処理から優先的にC++で書き直したいなぁと思っているので、
PHPからC++に変換する意義は十分にあるなと。

Javaの経験も欲しいんだが、遅い言語ってだけで気乗りしないんだよなぁ…
仕組み上のことだからしょうがないんだけど、
同じ処理をするのにCPUやメモリを無駄に使う別解。という見方で何年もそのまま。

実行速度の犠牲を補って余りあるメリットがあれば良いのだけど、
最終的にはどんなに最適化を施しても、

 JavaのコードはC++のコードに勝てない ≒ 遅い

ということだけでも、
私にとっては致命的な訳で。

C++でテンプレートを使用したクロスなコードを書ける人から見たら、Javaは魅力が今ひとつなんだよね。

携帯電話のように

ハートマン軍曹:
「今回も、栄光ある我がNヨC部隊が作る携帯は機能が盛りだくさんだ!! 前機種のバグも引き継げ! お前ら分かったか! 」

小隊長:
「軍曹殿! 作戦遂行のためには、兵隊が100人規模で必要と思われますが、JavaかC++を使いこなせて経験3年以上といった、新兵は全く集まってきません!」
「このままでは、また前回のように発売直後に回収騒ぎになってしまうかと思われます!兵隊を沢山集めるためにはどうすればいいでありますか?」

ハートマン軍曹:「誰でもいいからしょっぴいてこい。偽装派遣や派遣に募集掛ければす~ぐに集まるだろうさ。このグズが!」

グズ小隊長:
「軍曹殿!集まった兵隊の技術レベルがマチマチであります。日本語を正しく使えない輩まで居ます。」

ハートマン軍曹:
「よーし、お前らは豚だ! 今から豚と呼ぶ!」
「言語はCだ! メモリの確保はグローバル変数だけ使用しろ。malloc/freeは禁止だ! わかったか! 分かったら返事をしろ!」

豚:
「Sir, Yes Sir!」

という、プログラマーの地位低下に勤しむ(愚弄する)世界もあるようだがな。

携帯電話の仕事はいやナリね~。

フルメタルジャケットのハートマン軍曹を知らない方は、Google先生に聞くか、
ここをみてくだちい。
軍曹語録

ほぼ日記: 多くのシステムで妥当なデリミタは(=と=)ではないかと新説をでっち上げてみるテスト2

2004-10-28 05:32:00 | ほぼ日記
作成中のシステム(サイトビルダー)に最適なデリミタを考えてみる。

ここで言うデリミタの定義は…
「システムで予約された特別な文字(列)です。
デリミタは文字列の中に埋め込まれて使用されます。
パーサがデリミタに反応し特別な処理を行います。」

デリミタは、/のように一文字で表されることもありますが、
<と>のように左右対でも有効です。

例えば、
・HTMLのデリミタは、<と> です。
・CSVのデリミタは、"と" や TAB や , などです。





今回考えなければいけないデリミタの条件は以下の通りです。
ちょっと条件大盛な気がしますが、順を追って考えてみます。

※ 一部の記号がBLOG上でサニタイズ(消去)されないように全角にしています。


条件1. キーボードから入力可能でプリンタブルな文字列
条件2. SJISとUTF-8で相互変換しても安全な文字列
条件3. デリミタは二文字の文字列。
条件4. 文字列の中に埋め込んで使用するため、左右で対となる文字列
条件5. サニタイズ対象とならない文字列。実体参照が定義されていない文字列。
条件6. 入力ミスが発生しづらい、つまり判りやすい文字列であること。
条件7. 一般的な文書やソースコードで見かけない文字列であること。
条件8. 経験上もソースコード内に記述した組み合わせは避けること。
条件9. Google先生に審査してもらうこと。



■条件1から有効な文字列要素は、

!”#$%&’()*+,-./:;<=>?@[¥]^_‘{|} ̄
と 数字と英字 となります。



■ 条件2と3から有効な文字(列)要素は、
  デリミタの一文字目は、
  SJISの二バイト目に現れる文字列(つまり0x40~0x7E)はダメ。
  
  UNICODEのコードマップの違いを考慮すると、
  全角化⇔半角化を繰り返した場合に誤変換される可能性の高い
  ~と- は使用できない文字となります。
  さらに、一文字目からは英数字を除外します。

  適当な組み合わせは、


一文字目に使用可能な文字列:
!”#$%&’()*+,./:;<=>?

二文字目に使用可能な文字列
!”#$%&’()*+,./:;<=>?@[¥]^_‘{|}

となります。


■ 条件4で、文字列に埋め込んで使用する左右対の文字列である必要があるため
  ダブルクォートとシングルクォートといったクォート用の文字、
  またエスケープシーケンスに使用される文字(¥)は除外する必要があります。
  さらに、一文字目から対にならない記号を除外します。

  適当な組み合わせは、


一文字目に使用可能な文字列:
()<>

二文字目に使用可能な文字列
!#$%&()*+,./:;<=>?@[]^_{|}

となります。

■ 条件5で、サニタイズ対象とならない文字列と
  実体参照が定義されていない文字列(^~”’<>&は定義済み)とありますので、

  適当な組み合わせは、


一文字目に使用可能な文字列:
()

二文字目に使用可能な文字列
!#$%()*+,./:;=?@[]_{|}

となります。


■ 条件6で、入力ミスが発生しづらい、つまり判りやすい文字列であること、
  とありますので、フォント依存で変形しやすい文字(l10o)や、
  見間違えやすい文字(,._-|:;)は除外します。
  文字化けした場合に特定環境で表示されることのある?も除外します。
  英数字も対象外とします。

  適当な組み合わせは、


一文字目に使用可能な文字列:
()

二文字目に使用可能な文字列
!#$%()*+/=@[]{}

となります。

ここまでに残った文字で、総当りを作ってみます。


BEGIN END
(! !)
(# #)
($ $)
(% %)
(( ()
() ))
(* *)
(+ +)
(/ /)
(= =)
(@ @)
([ [)
(] ])
({ {)
(} })


# なんか顔文字みたいになってますが…


■条件7で、一般的な文書やソースコードで見かけない文字列であること、
  とありますので、ソースコードで多用されるフレーズは除外します。
  パッと思いつくフレーズとしてはこんな感じです。

   数式: z = ((a + b) * c) / 10; ⇒ (( はダメ
   ソースコード: if(!var) ⇒ (! はダメ
   ソースコード: (var[i]) ⇒ ]) はダメ
   PHPのソースコード: if($var) ⇒ ($ はダメ
   PHPのソースコード: if(@func()) ⇒ (@ はダメ
   正規表現のメタキャラ: ($1) ⇒ ($ はダメ
   正規表現のメタキャラ: (?) ⇒ (? はダメ
   正規表現のメタキャラ: (*) ⇒ (* はダメ
   正規表現のメタキャラ: (+) ⇒ (+ はダメ
   正規表現のメタキャラ: (.) ⇒ (. はダメ
   正規表現のメタキャラ: (+{1}) ⇒ }) はダメ
   「今年のxxは120%(昨年は100%)」 といった文章に登場しそうな ⇒ %) はダメ

残る適当な組み合わせは、



(# と #)
(/ と /)
(= と =)


■ 条件8. 経験上もソースコード内に記述した組み合わせは避けること。
  扱ったことのある言語(XHTML,C,C++,Delphi,Peal,Javascript,VB,PHP,ASP,SQL)で
  これらの文字列の組み合わせは登場しませんでしたが、

#) が次の行の先頭に現れた場合に、スクリプト等でコメント行として扱われる懸念があるため除外します。
/) は URLなどのパス関係で使用すると、まずそうですので除外します。

残る適当な組み合わせは、


(= と =)


となります。
(= =) はドラえもんやキティの顔文字で多用【?】されるようですが、
顔文字やAAを考慮すると全ての記号が使えないことになりますし、
一般的なビジネス文書では顔文字は登場しませんので除外対象としません。


■ 条件9で、Google先生に審査してもらうこと、とありますので、
  Google先生に (= =) を聞いて回ります。

その結果は、(が正規表現のORに該当する文字のため、
全てゼロ件ヒット…というか検索が実行されない。



三時間ほど(BLOGを書く時間込み)熟考の結果…

(= =) を使用しても、まぁ問題は無いでしょうと。

ということで、今回のシステムでは、
(= と =) を使用することにします。


ほぼ日記: 二ヶ月ぶりにふとんで寝ます。

2004-10-25 18:09:01 | ほぼ日記
内職のしすぎで左眼がドライアイ気味で、眼球に痛みを感じてしまいます。
一日中ディスプレイに向かってカチャカチャキーボード叩いてるので、
体が休めと教えてくれているようです。

なんかつられて、頭も痛くなってきました。
ということで、今日は久しぶりに布団で寝てみることにします。

# 基本的に体調がおかしくなってきたら布団で寝るようにしています。
# この前は8月頃だったはず。

>> いつもは何処で寝てるんですか?

1人がけの椅子(ソファーかな?)で寝ています。
ファーストクラスのようにオットマンが付いててリクライニングできるので、
睡魔が襲ってくる直前までモニターに向かって仕事ができます。
ワーカーホリック仕様の椅子ですね。

-------------
結局今日は一日中寝てました。
目が痛くてどうしようもなく。仕事のし過ぎですかね。