Home > アーカイブ > 2008-08

2008-08

tableタグで画像を描くPHPクラスを作ってみた

  • 2008-08-31 (日)
  • PHP
この記事の所要時間: 045


夏らしい花火画像です。さて左右の画像のうち、どちらがJPEG画像でしょう。

一見どちらもJPEG画像っぽいですが、実は片方はHTMLのtableだけで描画しています。

そんな画像をtableタグで描画するPHPクラスを書いてみました。

インストール

以下のURLからPHPファイルをダウンロードして、任意のディレクトリに設置するだけでokです。

http://www.1×1.jp/blog/download/TableImage.php

使い方

requireして、TableImage::createTag()に画像ファイルパスを与えるだけです。createTag()からは、画像を変換したtableタグが文字列として返ってくるので、それをechoすれば、tableタグで描画していた画像が表示されます。

対応画像

現在のところGIF/JPEG/PNGに対応しています。

画像サイズにTableImageクラスとしての制限はありませんが、ブラウザがtableを描画するのにマシンパワーをかなり喰うので、VGA以上の大きな画像はやめといた方が良いです;-)。

実装の経緯

ネタ以外で、何の役に立つんだ?的なライブラリです。

実は、某デバイスでの開発案件に携わったのですが、外部テキストは読めるのに、外部画像が読み込めないという困った仕様にぶち当たりました。

画像をシリアル化して、imgタグにJavaScriptで読ませるというのも試したのですが、こちらも動作しませんでした。

そんな時に、FirefoxでQRコードを生成するQR Codeに含まれるJavaScriptライブラリ、QRコードのソースを見ました。QRコードをtableタグで表現する手法を見て、まさに「我が意を得たり」な気分でした:-D。

このライブラリを公開されている荒瀬氏にはホント感謝感謝です。

# ただ他の要因があって、案件ではこのクラスは使わない方向です。。。

・使用写真サイト: http://www.linkstyle.co.jp/free/nature_scene/hnb/hnb0041-049.html

携帯電話を無くした時に知っておくこと au編

この記事の所要時間: 434

昨日、携帯電話を無くしました。。。

飛行機で出張から帰ってきたのですが、空港に着いて、空港バスに乗った時に携帯電話が無いことに気づきました。飛行機はチケットレスだったので、乗り込む直前に手元にあったのは間違い無い(携帯でQRコードを表示して、ゲートをくぐったので)のですが、そこからの行方が分かりません。

思い返してみると、普段飛行機を降りるとまず携帯の電源を付けるのですが、それをした記憶が無いですし、なぜかそっちに気が回ってませんでした*1

さて、ここから手続きやらをするわけのですが、結構知らないことが多かったので、メモしておきます。

手続き情報を確認する

まずはauでどういう手続きが取れるかを確認します。

手続きはtelでもWebでも可能なようです。今回はtelで手続きしました。

回線を停止する

拾われた携帯が悪用されないように回線を停止します。ただし後述する遠隔オートロックを利用する場合は、回線を停止する前にオートロックをかける必要があります。

手続きは固定電話から「0077-7-113」にtelにしました。自動応答になっていて、案内どおりに選択していくと、簡単に手続きできました。必要なのは、「携帯電話の電話番号」と「契約時の暗証番号」です。

また、回線を再開する際に必要となる4ケタの数字を入力する必要がありました。これは契約時の暗証番号とは別で、手続き中に入力します。この数字は再開時に必要となるので、忘れないようにしましょう。

遠隔オートロック

今回調べて初めて知ったのがこれ。

あらかじめ設定をしておくと、特定の電話番号から、決めた回数分、携帯電話に電話をかけると、アドレス帳等にロックがかけられるという機能です。「あらかじめ設定」とあるのですが、紛失してからでも設定できるようです。

回線自体は停止できても、アドレス帳など携帯の内容が見られてしまうのはどうしようもありません。(普段からオートロックをかけておけば良いですが。。。)この機能を使えば、遠隔でロックをかけられるというわけです。

ただしこの機能を使うには携帯電話自体が着信可能な状態である必要があります。つまり、上でも触れてますが、この機能を使うなら回線停止に行う必要があります。

今回は飛行機に乗った際に電源を切ったままで、固定電話から何度かけても、通じなかったので、使用しませんでした。。。

機種変更が可能

もし携帯が出てこなかった場合です。

コールセンターで聞いたのですが、最悪、携帯が出てこなくても機種変更という形で同じ番号の携帯を買い直すことはできるとのことでした。特に仕事で使っている等で番号を変えられない人には、これは助かりますね。

ただ、端末自体は買い直しになりますし、さらにフルサポートで購入していると別途費用が必要になるようです。

またこの場合、紛失したままの携帯電話のauICカードが悪用されるのでは?という懸念があったのですが、こちらは回線停止をしておけば、使用できないとのことです。つまり紛失携帯・新携帯で同時に同じ番号が使えるということは無いようですね。(まあ当然ですか)

自分は、シンプルプランで購入していたのですが、最悪、買い直せば番号は使えると分かり少し安心しました。。。

auICカード(UIM)のみ再発行?

上の機種変更は、ようはUIMを再発行して、新しい携帯に使うだけだと思うので、これが可能ならUIMの再発行だけもできるような気がします。

これが出来れば、手元にau端末さえあれば、元の番号で利用できるようになります。

実際のところ

バタバタしたのですが、結局↓のように動きました。

  1. 自分の携帯にtel => つながらず(以降合間を見て何度もかけるが、一度もつながらず)
  2. 飛行機を降りた空港・飛行機会社に落とし物の問い合わせ => ナシ
  3. au 手続き情報確認
  4. au 回線停止
  5. au 遠隔オートロックを知る => コールセンターで教えて貰うが、携帯が通じないと使えないとのこと。
  6. 搭乗した空港・飛行機会社へ落とし物問い合わせ => ナシ
  7. 飛行機を降りた空港・飛行機会社に行って、直接問い合わせ => あった!!!
  8. au ショップへ
  9. UIM再発行依頼 => できればそれを前の携帯に入れて使用
  10. 再発行がムリなら、機種変更で購入

で、7で見つかったので、それ以降は行動していませんが、見つからないことも想定していたので、空港に行く際は旧端末と判子を持っていってました:-D

携帯なくすと大変

無くしたと分かった時はかなり焦りました。。。

自分がいかに携帯に依存しているかをあらためて認識しました。普段使っている機能としては、電話やメール、Webなどありますが、その機能自体より、電話帳やアドレスなどの情報の喪失・流出が痛いと感じました。(もちろん端末自体もイタイですが。。。)

バックアップとロックをしっかり行っておかないとダメですね。

とにかく無事に見つかってホントに良かったです:-D

こうやって色々と対応は取れるので、一番大事なのは何より「落ち着く」ことですね。

*1 野球の3位決定戦が気になってました:-D

今見ているURLを手軽に携帯に移せるFirefox拡張-Mobile Barcode-

この記事の所要時間: 156

携帯サイトの開発中にPCで見ているページを携帯で見たい時ってありません?

これまではURLをメールで送ったりしてたのですが、これが意外と面倒だったります。なんとかならんかなあ、と思ってたところで、知ったのがMobile Barcodeです。

Mobile BarcodeでURLのQRコード生成

Mobile Barcodeは名前から想像できるとおり、今アドレスバーに表示されているURLをQRコードで表示してくれる拡張です。

操作も簡単で、ステータスバー右にある「Barcode」の部分にマウスカーソルを当てるだけでQRコードを表示してくれます。あとはQRコードを携帯のバーコードリーダーで読めばokです。

最近の携帯のバーコードリーダーは精度も上がっていて、瞬時に認識してくれるので楽チンですね。

QRコード生成は外部サイトを利用

ただ1つ気をつけないといけないのが、この拡張は自身でQRコードを生成しているのではなく、mobilecodes.nokia.comのQRコード作成サービスを利用している点です。

つまり一度このサイトにURLが送られることになるので、外部に出すとマズいURLには使わない方が安全かと。(悪用されることは無いかもしれませんが)

# 中の人もそこが気になっているようで、addon単体でQRコードを生成する方法があれば、教えて欲しいとの事です。

その場でURLを共有したい時に便利

先日も携帯サイトの打ち合わせ時にPC上で開発サイトを見ながら話を進めていました。ただやはり実機で確認するのが一番という事でQRコードを表示して、各自の携帯で読んで貰いました。こういう場合メールだと各自のアドレスを知る必要がありますが、QRコード読み取りならそういった情報を知る必要がありません。

邪魔にはならないので入れておくと便利ですよ:-D

Mobile Barcoder

2008/08/21 追記:
vectorさん情報で、外部サイト通信を行わない、QR Code という拡張があるようです。
こちらはURLが漏れるリスクが無いですし生成も早いので、かなりいけてます!

これに含まれている、JavaScriptでQRコードを生成するライブラリが気になります。:-D

Winノートに入れてるアプリ19個をあらためて並べてみた

この記事の所要時間: 519

from: Macに入れているアプリ19個+拡張10個を本気だして列挙してみた : ロケスタ社長日記

前エントリに書いたようにちょうど一ヶ月前にWinノートを購入したので、その時インストールしたアプリを並べてみます。

基本

 FireFox

なにはともあれブラウザです。ごてごて拡張を足してます。

 Launchy

キーボードで操作できるランチャーです。アプリケーションの登録も楽なので、かなりいけてます。慣れるとこれ無しではやっていけません。どのPCでもアプリケーションを立ち上げる時は、ついつい[Alt]+[SPACE]を押してしまいます;-)

 Atok

これも慣れていると手放せません。変換がいけてるのもありますが、辞書との連携で語句の用例・意味が分かるのも見逃せません。

 nod32

アンチウィルスソフト。動作が軽いので使ってます。

開発系

 gvim

いわずとしれたvimです。開発だけでなく、メモや打ち合わせの議事録を書くときにも使ってます。この中で作業できてる時は快適です。

日本語対応を盛り込んでいるKaoriya.netで配布されているバイナリを入れています。

 Peggy Pro

開発に特化したエディッタです。vimの前はこれをメインに開発していました。ただのエディッタだけではなく、ファイル群をプロジェクトとして扱う機能やCVSやctagsとの連携などがあり、プログラマにはかゆいところに手が届くツールです。またEclipseよりも動作が軽いことも魅力です。

今はvimメインなので、これで開発することはほとんど無いですが、様々なファイルを開いたり、ブラウザのソースを見るエディッタに指定していたり、とまだまだ活躍しています。

VisualStudio

Windowsアプリケーションを作る案件がたまにあるので入れてます。IDEとしては良くできています。

 VMware Player

仮想マシンですね。仮想アプライアンスにはubuntuを使っています。

はじめはwww.ubuntulinux.jpで配布されている仮想アプライアンスを利用していたのですが、自分の環境では、仮想マシンのサスペンドできないなどの問題がありました。試しにvmware.comにある仮想アプライアンスを使ってみたところ、この問題は解消されました。

日本語表記に関しても、単にOSの言語設定を「日本語」に変えればokでした。

LAPPな環境はこの中に構築していて、作業する時はSSHでログインしています。

 Cygwin

はい、Cygwinです。ほとんどfind/grepのために入れてます。

通信系

 Putty

定番ですね。SSHクライアントに使ってます。無くてはなりません。最近になって「パティー」と読むことを知りました。。。;-D

メニューなどが日本語されている「ごった煮版」を使っています。

 Poderosa

タブ型のSSHクライアントです。こちらもPutty同様にかなり使っています。

タブを上下に分けて、上下で違うログをtail -fしておくとか、サーバ間で設定ファイルをコピペするなど、便利です。また一度接続するとアプリケーションを終了するまで接続情報(アカウントやパスワード)を保持しておく機能があるので、タブを増やして新たな接続を行うときもショートカットキー一発でできます。

あとCygwinとの連携もでき、他のSSHサーバに接続するのと同様にCygwin内を操作できます。

vim立ち上げてバリバリ開発するにはPuttyを、その他のログ表示やファイル操作などはPoderosaを使ったりしています。

 WinSCP

これも定番です。SCPクライアントです。エクスプローラライクな操作感でSCPができます。

ちなみに既存のFTPクライアントが使えていれば、これを使うのは何ら難しくありませんので、SCPもどんどん使っていきましょう。

 FFFTP

FTPクライアントです。特にこだわりも無く、以前から使っていたという理由だけで使用しています。

サイトを見ると最新版でもディレクトリトラバーサルな問題があるようなのです。信頼されていないサーバへこれで接続することは無いのですが、タイミングを見て変えようと思います。

おすすめがあれば教えて下さい。:-D

 Becky!

定番のメーラーですね。長年使っているので特に移行する気も無く、使い続けています。

その他

 WinShot

画面をキャプチャするツールです。基本機能は網羅されており、便利に使えてます。

 Free Mind

マインドマップを描くツールです。実装のアイデアやタスク・文書等々、整理して考えたい事柄はこれを使ってマインドマップに書き出すようにしています。

出来上がった図をどうこうするよりも、思考を洗い出して整理する方にメリットを感じています。自分の場合は、出来上がった図は単なるメモ書きに近いですね;-)

Microsoft Office – Visio

いわずと知れたOfficeです。OpenOfficeなどもありますが、やはり使いやすさや過去バージョンのファイル互換性などは当然ながら本家に分があります。

特にVisioに関しては、代替できるフリーソフトが見あたりません。これだけのために買っているところもあります。システム構成図、ER図、UMLなどなど、ドキュメント作成には欠かせませんね。

 iTunes

iPod Touchを買うまでは、これで音楽を聴いていました。touchを購入してからは、単なる母艦です。

以前はデスクトップPCをiPod touchの母艦にしていたのですが、自宅ではノートなので、こちらを母艦にしました。

 IconStars

アイコン抽出ソフトです。元エントリを参考に、このエントリを描くためにインストールしました。

Drag&Dropで.exeを投げるとicoを抽出できます。pngやjpeg変換や色数・画像サイズ変換もあり、なかなか良いです。

並べてみて

結構大変ですね。。。

こうして見ると定番なツールが多いです。定番なツールをyum installが如くごっそりインストールできるパッケージがあると助かりますね。

他に良いツールがあれば教えて下さい。:-D

Let’s note T4からFMV LOOX R/A70Nに変えました

この記事の所要時間: 732
LOOX R/A70N

モバイルノートを3年近く使っていたCF-T4からLOOX R/A70Nに変えました。

事務所内では自作PCをメインに使っているのですが、出張や打ち合わせに外出する際、カフェで開発する際、自宅での作業など使用頻度はかなり高いです。

購入して1ヶ月経ったのですが、多少クセはありつつも、なかなか良い感じで使えています。

LOOX R/A70Nを選んだ

ちょうどCF-T4のパフォーマンスに不満が出てきたころ、「半角/全角」キーのキートップが取れてしまいました(正確に言うと一度取ったらツメが折れて付かなくなった)。そろそろ買い換えの時期かなと思い、買い換え候補を色々と探しました。

候補は以下。

・Let’s note W7

とりあえず一番候補。レッツの質実剛健ぷりは気にいっていたので、順当に考えるとこれでした。

ただ実物を見に行くと、解像度がXGA、メモリが2Gまで、そしてCF-T4にも増して色気の無いデザインがいまいちでした。あとキーボードがCF-T4よりパチパチ系になっていて、そこもマイナスでした。

・MacBook Air

以前からMacを所有したいなあという漠然とした思いはあり、発売当初から気になっていたので、また候補にあがりました。

しかし軽くなったとはいえ、Winノートに比べると大きいですね。またOS Xでメモリが2Gまでというのが、どうなのかなという思いもあり、今回も見送りました。

・LOOX R/A70N

本命2つがイマイチだったので、他にどれにしようかな、と考えていたところ急浮上してきたのが、LOOX Rでした。

LOOXがモバイルノートとして良いという話は聞いていたのですが、FMVデスクトップ機が実家にあったとこもあり、家庭用PCのイメージから、避けてきました。(あとレッツの完成度の高さからWinノートを買うならレッツのみという固定観念があったのもあります。;-))

LOOX Rを気に入った理由は、メモリが4Gまで可、解像度がWXGA、キーボードが意外としっかりしていて打ちやすかった、といったところです。あとWebでの直販なら天板変更ができる(好きな色があった)のもポイント高かったです。

で、結局はLOOX Rを選ぶわけですが、圧倒的にレッツに感じていたメリット(重量・コンパクトさ・バッテリの持ち)が実用では他のノートでも十分だということが分かったのが大きいです。

レッツを選んでも損は無いし、実用上は全く問題と思うのですが、面白みに欠けるというところで触手が動きませんでした。

LOOX R/A70NをWeb直販で注文

Web直販サイトであるWEB MARTでカスタマイズして注文しました。

カスタマイズしたのは以下。

  • ワイドノングレア液晶
  • XPダウングレード権
  • メモリ: 4G
  • HDD: 160GB
  • CD/DVD: スーパーマルチ
  • 天板: クリムゾン

バッテリが標準バッテリ

Web直販ではまったのがここ。小売店で販売している一般モデルの標準添付バッテリは、駆動時間が10.9時間(JEITA測定法1.0)となっていました。この値がそのまま実際の駆動時間だとは思わないですが、この値を参考に実用上は問題無いであろうと判断していました。

実は、この駆動時間は「内蔵バッテリパック(L)」でのもので、「内蔵バッテリパック」では駆動時間6.7時間となっています。ようは一般モデルでは「内蔵バッテリパック(L)」が標準添付となっているわけです。

なぜかWeb直販では駆動時間が短い「内蔵バッテリパック」が標準添付とされており、「内蔵バッテリパック(L)」はオプションとなっていました。

キチンと確認しなかった自分が悪いのですが、カスタムモデルは一般モデル+αを選択するイメージだったので、「内蔵バッテリパック」を注文してしまいました。できれば、ここは一般モデルと同じ「内蔵バッテリパック(L)」をデフォルトとして欲しかったところです。

# 結局、デフォルトバッテリ(「内蔵バッテリパック」)ではフル充電でも、3時間弱しかもたなかったので、追加で「内蔵バッテリパック(L)」を注文しました。。。

XPへのダウングレード

仕事で使うソフトがXPでしか動作しないものがあり、またVistaにするメリットが見えなかったので、XPダウングレード権を付けました。

ダウングレードの方法については丁寧なマニュアルも付いており、何の問題も無くXPにすることができました。

XP環境で1ヶ月使っていますが、大きな問題も無く動作しています。

残ったメモリをRamdiskに

メモリ4G搭載LOOX Rを購入した大きな理由の一つがこれ。:-D

XP自体は3.24Gまでしかメモリを認識しないのですが、残りをRamdiskに使うことにより、パフォーマンスを上げようというわけです。

Gavotte Ramdiskを使って756MをRamdiskにして、TEMPフォルダをここに割り当てています。

ニコニコ動画やYoutubeを見るときは早くなったのを体感できます。またZIPファイルをダウンロードしてブラウザでそのまま開く時は、一時ファイルであるZIPファイル自体がメモリ(Ramdisk)にあるので、そこからファイルを取り出すのはかなり早いです。

初期設定さえ行えば、日頃は意識することなく動作しているので、これは中々良いですよ。

インストール等は以下が参考になります。
[RAMディスク]Gavotte Ramdiskを導入してみた。 (KUMA TYPE)

1ヶ月使ってみてCF-T4との比較

CF-T4と比較しての印象をつらつらと。

・バッテリ

LOOX Rでは内蔵バッテリパック(L)を搭載していますが、やはりバッテリの持ちではCF-T4に分があります。

もちろんバッテリは持てば持つほど良いですが、新大阪->東京の新幹線+1hくらい持てば実用上は問題無いので、LOOX Rでもokです。あと80%充電もレッツ同様に可能で、XPダウングレードしても動作します。

・重量

CF-T4より若干重くなりましたが、LOOXも1.29Kg程度なので、すぐに慣れました。

・パームレスト

CF-T4(というかレッツ)ではお馴染みのパームレストの熱さですが、これが一切無くなりました!背面ファンからは熱気が出てきますが、ひざ置きでもそれほど気になりませんでした。特に夏場はこれは有り難いです。

・デザイン

レッツに飽きたのが大きいですが:-P 、天板カラーや筐体の形はLOOX Rを気に入っています。

ただパームレストなどプラスチックの部分は、おもちゃっぽくて安っぽい印象はあります。

・キーボード

ノートにしてはわりとしっかりしていて、打刻感を感じます。(ThinkPadと比べるとアレでしょうが)CF-T4ののペタペタしたノートらしいキーボードも悪くないですが、LOOXの方が入力しているリズムが良いです。

望むならレッツにある「ローマ字すっきりキーボード」や英字配列があると嬉しいですね。

・CD/DVDドライブ

CF-T4はCD/DVDドライブ無しでした。USB接続のドライブは持っているのですが、やはり標準で搭載している方が接続する手間もなく便利です。今では搭載してもそれほど重量が増えるわけでは無いので付けといた方が良いですね。

ちと困っていること

おおむね問題無いですが、少し困っていること。

  • USBメモリを認識しなくなる時がある
  • emobile(PCカード)を認識しなくなる時がある
  • VMware Playerが固まる

主にスタンバイ状態復帰後になることが多いです。またVMware Playerにubuntuを入れてるのですが、これとの相性なのか、USBメモリを認識しなくなったり、emobileカードを認識しなくなったりすることがあります。

日頃はスタンバイ前にはVMware Playerを落とすようにしています。またデバイスを認識しなくなった時は素直に再起動しています。(まあ再起動も早いのでそれほど大きなストレスでは無いですが)

これらはLOOXの問題というより、VMware Playerの問題かもしれません。

Winノートはレッツだけじゃない

以前はレッツの完成度の高さに満足していたので、「仕事でWinノートならレッツ」と決め込んでいたところがありました。実際数年前は、仕事で使うモバイルノートという意味では、持ち運び易すさやバッテリの持ち、添付ソフト・設定の簡素さから、レッツは一歩抜きん出ていた印象でした。

しかし昨今では他メーカーノートでもこれらの熟成が進んでおり、以前ほどレッツの優位性が感じられなくなりました。LOOX Rもそうですし、先日発売されたVAIO typeZも中々良さ気です。

専らレッツ派の方も次のノートを探す際は先入観を捨てて他メーカーノートも見てみてはいかがでしょうか。

# 次買う時はSSDノートですね。;-)

[Twitter検索] public_timeline APIの仕様が変わっている件

この記事の所要時間: 229

8/7の10:00頃からTwitterのpublic_timeline APIの仕様が変わったようです。

この影響を受けてTwitter検索にてアイコン表示・ユーザIDが表示できない状況です。

出力項目を削減?

実はこれまでも突然APIの出力が変わり、データが取得できない事が何度かありました。そういった場合、APIの仕様変更の場合もあるのですが、そのほとんどはメンテナンス等(?)で出力されるデータが壊れていたり、APIが正常に動作していないことがほとんどでした。

そういったケースでは数時間様子を見ていると回復していたので、今回も静観していたのですが、1 日様子を見たところでも変化はなく、仕様変更と見るのが良いかもしれません。

現在データとして取れなくなったのは、↓です。

  • screen_name – ユーザID?コード? (twitter.com/shin1x1 の shin1x1 の部分です)
  • location
  • profile_image_url – アイコンURL

と、ここまで書いたところで調べていると、上記のデータは復活したようです。ここを見るとチケットが上がっていたようで、復活したようです。

キャッシュの強化?

さてこれで一安心と思いきや、そうでも無くて、これよりも大きな影響があるのが、キャッシュが強化されてそうなことです。

以前からpublic_timeline APIにはキャッシュが適用され、全てのPostを取得するのが難しい状況になっていました。

今回の変更以降ではこのキャッシュがさらに強化(されたのか、適用が甘かったのを厳密に適用するようになったか分かりませんが。。。)したようで、1分あたり40件程度のPostしか収集できなくなっています。

それも時間帯も決まっていて、N分15秒~N分30秒に投稿されたもののみが出力されています。(毎分15秒あたりにキャッシュ再生成?)

実際に取得できているPost量にも大きく違いがあり、8/6(変更前)と8/7(変更後)を比べると、Post量が1/3程度になっていました。(Twitter検索のトップを見ると、各Postが見事にN分15秒~N分30秒になっています;-))

できれば、くまなく検索対象としたいところですが、こういった状況なのでかなり取りこぼしが発生する事になり、なかなか難しいのが現状です。

今後の対応

キャッシュの件もいつものように一時的なものであれば良いのですが、恒久的にこうなるのであれば、そもそもTwitter検索の意味が無くなるのではないか、と感じています。

取得の方法としては他にもアプローチは考えられるのですが、公式検索サイトも存在する今となっては、あれこれ対応して続ける意味があるのかなーと思案したりもします。

# まあ公式は日本語の検索がイマイチですが。。。

というわけで、しばらくはご不便をおかけしますが、よろしくお願いします。:-D

Home > アーカイブ > 2008-08

検索
フィード
メタ情報

Return to page top