マンガ喫茶で仕事をする実験

ノートパソコン一台あればどこでも仕事の出来る身分なので、待ち合わせなんかの時は数時間早く着いて周辺の喫茶店で仕事をしたりします。日によって場所が変わるので、各地の電源のとれる喫茶店を教えてくれるバッテリーオアシスはたいへんありがたく使わせていただいています。

バッテリーオアシス -パソコンの電源が使えるカフェー

が。そうはいってもカフェというのはお茶を飲むためのところで、仕事をするためのところじゃないので、騒がしいお客さんがいたり、電源のある席がすでに占領されていたり、椅子が貧相で長い時間座っていられなかったり、いろいろと苦労がつきまといます。お店からしたら、コーヒー一杯100円で粘られてはたまったもんじゃないでしょうし。

長時間にてほしくないオーラのお店

だったらいっそ、長時間居座ることを前提にしているお店の方がいいんじゃないかな、ということで、マンガ喫茶を試してみました。

MEDIA CAFE お初天神

今回使ったのはMediaCafeというところ。

マンガがあるので、仕事にならんのじゃないかと思っていたのですが、ビジネスシートで個室に入ってしまえばマンガが見えないのであまり気になりません。
最近のマンガ喫茶は寝ることを前提としている^^;せいか、分煙もきっちりしているし、携帯電話すら使用禁止なので、喫茶店よりよほど静かです。
3時間1000円なら、悪くないかもなぁ、と思いました。

余談
 喫茶店やマクドナルドで仕事をした時のコーヒー代を経費につけると、税務署から「それって個人で飲食したお金でしょ?」とクレームがつくのだそうです。個人事業主の立場としては、電源を借りる名目としてコーヒー取ってるのですが、レシートにコーヒーと書いてある以上、電源代だと言ってもあんまり認めてもらえないみたいです。
 で、どうせやるのなら、場所にお金を払うマンガ喫茶の方がまだ経費として認められやすいと聞いたことがあります。そういう意味では、「ビジネスシート」と名のつく席を借りるのはなかなかいいのかも。

スペイン語コメント

pliggというオープンソースツールを最近いじる機会があったのですが。

<img alt="pligg_source.GIF" src="/wp-content/uploads/2009/02/08/pligg_source.GIF" width="598" height="278"

….うわ。でたよ。何語かすら分らないコメント。
#たぶんスペイン語です

何が困るかというと、
・文字コードが分らないので、とりあえずASCIIとかで開いてしまう
・何らかの修正を加える
・コメント部分の文字も(ASCIIにない文字だから)勝手に置き換わってしまう

結果として、パッチがうまく当らなかったり、あたってもコメントが化けてしまう、というようなトラブルを引き起こすわけです。
せめてutf8とかにしてくれたらいいのですけど…

同じことは、他の国の人が日本語のコメントを見た時にも発生します。
国際的に公開するソフトウェアを出す時には意識しておくべきだな、と思いました。

[wordpress]ページ階層をメニューにして出力するプラグイン

wordpressをさわっています。人気が出るだけのことはあって、APIがしっかりしていますね。
ところで、こういうメニューって、企業サイトでよくあるじゃないですか?(「事業」とかにマウスを載せてみてください)

@import url(http://blog.mogya.com/2009/01/25/style.css);


wordpressのページ機能を使って上のような階層を作ったら、そこからメニュー用のHTMLを生成してくれるプラグインというのを作ってみました。
mogya_menu_plugin-0.1.zip

インストール

他のプラグインと同様に、ダウンロードして解凍して、pluginsディレクトリに配置すればOKです。

使い方

 テンプレートの中で、

<div class="horizontal_menu">
<?php insert_mogya_navigationMenu(""); ?>
</div>

と書くと、その部分にメニュー用のHTMLが出力されます。

style.cssの内容をご自分のテンプレートのstyle.cssに追記してあげると、上であげたようなメニューができあがります。

機能

メニューの並び順については、wordpressでの指定が尊重されます。つまり、wordpressページの編集画面で「属性-順序」の数値を変えることで、自由に並べ替えることが出来ます。

文字列だけでなく、メニューに画像を使うことも可能です。

ページの編集機能で、「navigationMenu_title」というプロパティを作成すると、メニューのタイトル部分に設定されます。たとえば、navigationMenu_titleに

<img src="/images/icon1.gif" alt="ホーム" width="83" height="18" />

と言うように記述すれば、タイトル部分にimgタグが出力されるので、文字列の代わりに画像を使ったメニューを実現できるようになります。

また、リンク先を置き換えることも出来ます。最初のサンプルで、「ホーム」というメニューがありますが、これは、navigationMenu_linkというカスタムフィールドに「/」を設定することで実現できます。もちろん、普通のWEBサイトのURLを記述すれば、そのURLへのリンクになります。

全部のページをメニューに出すのではなくて、特定のページより下だけをメニューにすることも出来ます。たとえば、「menu」というページを作ってそれより下だけ出力したい時は、

<div class="horizontal_menu">
<?php insert_mogya_navigationMenu("menu"); ?>
</div>

というふうにします。

カスタマイズ

出力されるHTMLでは、dropdown,dropdown_parent,dropdown_childというクラスが使われています。それぞれ

  • dropdown_parent:親メニュー(上の例で言うなら、「会社概要」の部分)です
  • dropdown_child:子メニュー(上の例で言うなら、「アクセス」「ご挨拶」の部分)です
  • dropdown:dropdown_parentとdropdown_childを含むひとかたまりです

となっています。style.cssに、メニューを縦に並べる例と横に並べる例を記述してあるので、参考にしてください。

制限

ページ階層は2段階までしか対応していません。これ以上深い階層をサポートしても実用的でないような気がするので、対応する予定もありません。

まとめ

こういうのがなくて固定でHTMLを出力してしまうと、お客さんに納品した後、お客さん自身がメニューを変更できないのでとっても不便なことになります。このプラグインを使うことで、お客さんが自分でページを追加してもメニューに反映されるようになるので、なかなかいけるんじゃ無かろうか、と思うのですけど、いかがでしょう?

wordpressのプラグインは初めてなので、感想を聞かせていただけると嬉しいです。

Expression WebをつかってWindows上でPHP開発

 前回紹介したExpression Web2に、PHPを扱う機能がついているそうなので、これもついでにやってみました。

結論から言うと、ApacheとかIISをインストールすることなしに、Windows上でPHPをデバッグ/実行する環境が作れるので、WindowsでPHP使う人は多少便利かも。

Expression Webのインストール

試用版をインストール。




途中、製品キーを要求されるので、「オンラインで製品キーを入手するにはここをクリックします」をクリックしてWebサイトへ。
メールアドレスも名前も不要で、CAPTCHA文字列だけ入れたら製品キーをもらうことが出来ます。



もらった製品キーを入力してインストールを続行。

バックグラウンドでダウンロードしながらインストールするので、ちょっと時間がかかります。


これでExpressionWebのインストールは完了です。

PHPのインストール

 日本PHPユーザー会のサイトからリンクをたどって、Windows版PHPをインストールします。

そのときに、php-cgi.exeをインストールしてもらう必要があるので、


cgiサーバを聞かれた時に、「Other CGI」を選ぶのがいいみたいです。

Expression Webの設定




 ここに、php-cgi.exeのパスを入力。普通に入れたら、「C:\Program Files\PHP\php-cgi.exe」になるかと思います。

作成

「新規作成→PHP」でphpファイルを作成します。

開いたファイルはデザインをいじるためのビューになっているので、コードビューに切り替えて、

なんか適当にPHPのコードを入力。ちなみにctrl+spaceでコード補完が利きます。

入力できたら、おもむろにF12をポチッとなすると…

PHPのコードが実行されて表示されます。
前回書いたとおり、IE以外のブラウザも起動することが可能です。



「Microsoft Expression 開発サーバー」という独自WEBサーバを持っているらしくて、これがphp-cgi.exeを呼び出して実行結果をブラウザに引き渡しているみたい。
この方式だと、ポート番号が毎回異なるので、このままインターネットに公開することは困難ですが、その代わり、外部から攻撃することも難しいので、VertrigoServとか、XAMPPより安全ですね。

そのほかやってみて思ったこと

[Think IT] 第2回:Expression Studioは開発に使えるのか? (3/3)
をみると、文字コードShift-JISで保存してしまうので使い物にならない、といわれていますが、ExpressionWeb2では、utf-8で保存してくれるし、変更も可能です。たぶんこれ、ExpressionWeb1の情報ですね。

ブレークポイントを貼ったり、変数ウォッチしたり出来るわけじゃないので、VisualStudioみたいな環境を期待していると物足りないかもしれません。どっちかというと、デザイナさんがちょっとページに埋め込んだPHPをデバッグしたり、HTML部分との調和を確認するための機能なのかもしれませんね。

Microsoft Expression Web

注:Expression といっても、エクスプレッションエンジンとは全然関係のない、マイクロソフトさんのツールの話です。


Webteko第四回で、wanichanという方と名刺交換させていただきました。マイクロソフト製品にめちゃめちゃ詳しい人に与えられるMVPの持ち主です。

で、そのwanichanさんから、マイクロソフト製のWEBページ製作ツール「<a href="“>Expression Web」というのを紹介していただきました。
わかりやすくいうと、ワードみたいな操作でちゃんとした(W3C規格に準拠した)HTMLとCSSを出力してくれるソフトウェアです。

マイクロソフトさんのHTMLというと、エクセルが出力するとんでもないHTMLが有名ですが、ExpressionWeb2は、もっと普通のHTMLとCSSを出力してくれます。
ExpressionWeb2が出力したHTML
styleタグは使っていますが、思った以上にマトモでしょ?もちろんstyleタグの部分はあとでスタイルシートに直すことが可能です。

“Microsoft Expression Web” の続きを読む

PHPでメール送信(webteko第四回)

 ウェブテコ第4回で、PHPで作るメールフォームという話をさせていただきました。
プレゼンとソースを公開します。

メールフォームを作る

View SlideShare presentation or Upload your own. (tags: webteko)

ソース:sendmail.lzh

あと、メールアドレスのミスを指摘してくれる入力フォームもよかったらご覧くださいませ。

2009-01-19 10:03:23
ソースがダウンロードできなかったので、圧縮した物を上げ直しました。lzhで圧縮してあるので、解凍してご覧くださいませ。

2009-01-19 19:51:28
Tempa Playground – ウェブテコ第4回終了が公開されていますね。すでに記事あげた方は、トラックバックするといいんじゃないかと思います。

crontab の恐怖

 今日やった失敗。

linuxにはcronという、決まった時間になったら○○をしてね、と登録できるシステムがあって。crontab -e と入力すると、編集画面が起動するようになっています。
あるタスクを追加しようとして、
$ crontab -r

あ、間違えた。

$ crontab -e
no crontab for daisuke – using an empty one

・・・・using an empty one?空っぽのファイルをつかいます???

あーっ!

crontab -eと一文字違いのcrontab -rは、crontabの設定ファイルを消去するコマンドです。

となりのキーにそんな危険なコマンド当てるなよ….確認もなしにファイルを消すなよ…

こういう時のために作業ログが取られているので、そこから古いファイルの内容を拾ってきて復元できたわけですが。
これは心臓に悪いなぁ。

空メール処理の難しさ

携帯向けのサービスなんかでよく、「~(メールアドレス)まで空メールを送ってね!」というサービスがあります。

たいていこういうサービスは、メールを受け取ったら、中身がなんであろうと気にせずに決まった内容を返信するように作られていて。だから、「~(メールアドレス)まで空メールを送ってね!」というメールアドレスに「俺は返信してほしくないぜ!」という内容のメールを送っても、たぶん自動的に返信が帰ってきます。

そうじゃなくて、メールの本文を見て、内容が空だった時だけ特別な処理をしようとすると、これは意外と難しいです。

なぜかというと、ユーザーさんに「空メールを送ってね!」といっても、ユーザーさんが空メールを送ってくるとは限らなくて。

ありがちな例
・「入会希望」
・「資料送って」
・「よろしくお願いします」
・ —–
KEIKO ゜★・。・。☆・゜・。 …

最後のは、携帯電話の設定で自動的にフッタがつくようになっていて、そのままメールを送ってしまったパターン。

こういうのを空メールじゃないといってしまうと、初心者の方に優しくないサービスになってしまうので、どうにかして救済しようと思うと、けっきょく、届いたメールの中身がなんであろうと空メール扱いするしか無くて。

何が言いたいかというと、メールアプリケーションで、空メールの時だけ○○、それ以外の時は○○、という処理の分け方は難しいので、そんな仕様は作らない方がいいです、という話です。

レッツノート・クリニックをうけてみた

 年末に、購入後一年目の「レッツノート・クリニック」いかがですか、という案内をいただいたので、お願いしてみました。
レッツノート・クリニック | マイレッツ倶楽部 – パナソニック モバイルパソコン レッツノート直販サイト | My MALL | CLUB Panasonic

1/4の朝、日通の人が取りに来て、今朝1/7に戻ってきました。

PCカードスロット蓋の修理

 発送した翌日、携帯電話に電話がかかってきて、「PCカードスロットの蓋がないけど、お気づきでしたか?」との事。
気づいていなかったのですが、実際無かったそうなので、修理していただくことに。保険適応ということで、ユーザー負担なしで修理していただけました。

トラックパッドのボタンの交換

 こんな感じで痛んでいたのですが。交換していただいたみたいです。
交換前
交換後

細かい傷とか、どこまで直してくれるのかなぁ、と思っていたのですが、大体これくらいみたい。
キーボードのはげてきたのとか、小さな傷はそのままになっていました。
キーボードは直してくれなかった
#言ったら直してくれたのかもしれない。
そのほか、内部のホコリの掃除とか、ウイルスチェックとか、バッテリの容量チェックとか、そんなことをしていただきました。
中二日で帰ってきたということは、たぶん専任の人が待っていて、受け取ったら即メンテナンス、できあがったら出荷、みたいな体制になっているのでしょう。予約制だったし。
本人も気づいていなかったPCカードスロットの件で電話してくれたり、たいへん丁寧なサービスだと思います。
相応のコストは本体価格に含まれているわけで、えらい贅沢だなぁ、という気もするのですけどね^^;
あとこれ、一台につき一回しか受けられないサービスだったらしい。しまった。それなら二年目にやってもらうべきだったな。

[メイドめーる]複数カレンダーに対応

Googleカレンダーで複数のカレンダーを使いわけていた場合、これまでのメイドめーるはデフォルトのカレンダーの予定しかお知らせできなかったのですが、今朝からバージョンアップして、全てのカレンダーを見ることが出来るようになりました。

toomuchevent.JPG
本当に全部のカレンダーの予定をお知らせすると、左のようなちょっと気の利かないメイドさんになってしまうので、朝のメールには、Googleカレンダーで普段から表示するように設定されているカレンダーの予定だけをお知らせするようになっています。