こぶたのラッパ » 12月 2010

Monthly Archives: 12月 2010

ソフトウェアidea

idea#8: ガラス越しのタッチパネル操作

Published by:

touchwall

タッチパネルのPCやタブレットではなくても、後付けでタッチパネル化出来る製品が幾つかあります。
透明なシート状になっており、ディスプレイに貼るような製品です。

↓こういうの

今日見たニュースでは、

普通の液晶モニターがマルチタッチディスプレイになるパネルが登場、マウス無しで操作可能に(via Gigazine)

ディスプレイをタッチするだけで操作できる機能がスマートフォンやタブレット端末などを中心に人気を博していますが、「普通の液晶モニターがマルチタッチディスプレイになる」というパネルが登場しました。

画面にタッチするだけでマウスを使わずとも操作できるようになるため、より直感的な操作が可能となるかもしれません。

もちろん普通のPCにこれをつけても良いとは思いますが、商店などでの店頭設置PC用にも使えるのかなと思いました。
例えば、不動産屋さんが不動産情報検索ができるパソコンを店頭に設置した場合、PCはお店の中に置いたまま、シートだけをガラスの外に貼り付けることが出来れば、PCを外に設置することのリスクをかけずに、見込み客が自由にパソコンを操作できるかもしれません。

タッチパネル・ディスプレイ(amazonの商品一覧)

CMS プログラミング

WordPressなどのソース一式をzip圧縮してダウンロードする方法

Published by:

レンタルサーバーでWordPressなどのCMSを動かしている方は数多くいるかと思いますが、sshやtelnetアクセスができないサーバーも意外に多くあります。
その場合、FTPで時間をかけて何百、何千というファイルをアップロード、ダウンロードしなければいけません。

アップロードについてはすでに「unzip.zip」という素晴らしいツールがありますので、みなさまそちらを使いましょう。

今回ここで紹介するのは、zipで圧縮してまとめてダウンロードする方法です。

zipdownload.zip

上のプログラムをGET&解凍して出て来るzipdownload.phpを、まとめてダウンロードしたいディレクトリの中にアップロードします。
WordPressの場合は、wp-contentとか、wp-config.phpなどのファイルがあるところにアップすればよいかと思います。

ここまで出来れば、後はブラウザで http://xxx/zipdownload.php のようにリクエストしてください!
download.zipという名前でダウンロードが開始されます。

ダウンロードが終わった後に zipdownload.php を必ず削除してくださいねー

ソフトウェアidea

idea#7: イラストの3D化アプリ

Published by:

すでにありそうですが・・・。特にマンガを対象とした3D化アプリ。
構成としてはコアツールと、作者(もしくは画風)ごとに用意したプラグイン形式。ジョジョプラグインとか、こち亀プラグインとか。

ソフトウェア名称・・・Manga-Raising
工数見積もり・・・2.0人月

ソフトウェアidea

idea#6: FamLinesの機能追加2

Published by:

まだ基本の機能ばかりのFamLinesですが、これ作んないとというものを書いておきます。
要するにTODOリストです・・・ってそういえば一回書いたなこれ。

  • ゲストモード・・・誰でもログインなしにフル機能を使えるモード。ゲストアカウントは好きにつくって、みんなで共有できる。
  • スクロールバーを左に切り替えスイッチ・・・マウスがないときに便利。

ソフトウェア名称・・・FamLines
工数見積もり・・・1.5人日

プログラミング

「PHP使いはもう正規表現をblogに書くな」のメールアドレスチェック用正規表現をPHP用に書きなおす

Published by:

メールアドレスをチェックする機能を作るときに、これまで2度「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ / 404 Blog Not Foundを参考にさせていただきましたが、何故か(よっぽどお怒りだったのか?)PHPでは直接使えない記述になっていましたので、毎回自分で修正して使っていました。
今後も使いたい正規表現ですので、PHPでの実装コードと、JavaScript版の実装コードをメモします。

小飼 弾さんの作られたオリジナル正規表現

/^(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))$/

PHP用の実装コード

if (!preg_match('/^(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&\'*+\/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&\'*+\/=?\^{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&\'*+\/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&\'*+\/=?\^{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))$/', $email)) {
    $error = '正しいメールアドレスを入力してください。';
}

ereg関数を使えばオリジナル正規表現のままでよいのですが、preg*の方が一般的だと思います。
ここでは「’」と「/」をエスケープしています。

JavaScript用の実装コード

if (!email.match(/^(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+\/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+\/=?\^{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+\/=?\^{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+\/=?\^{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))$/)) {
    error = "正しいメールアドレスを入力してください。";
}

JavaScriptは正規表現リテラルが使えますので、「/」のみをエスケープしています。

ただ、この正規表現では「da.me..@docomo.ne.jp」といったRF2822非準拠の携帯メールアドレスがエラーで弾かれるんですよね。
これをdocomoの変メールへの対応バージョンは・・・次の人にまかせた!