hiromasa.zone : o)

2007/6/10 Sunday 投稿時の月齢:24.5  月名:二十五日月  潮汐:長潮 Moon:24.5[二十五日月]今日の心技体 : 低調期低調期好調期

オブジェクト指向と RDBMS このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴時々曇 ひろまさ @ 7:05

オブジェクト指向と RDBMS のインピーダンスミスマッチの件についてはもういろんなところで書き尽くされていて、ここで書くようなことでもないのですが、後で「あのころは若かった」とか思えるので自分用にメモしてみる。 

オブジェクト指向というのは、クラスと呼ばれるくくりの中に、データとそれについての処理をパックして記述できるプログラム言語仕様のひとつです。 PHP でも一部実装されています。

この設計の根底にある思想は “それに関する処理は同一箇所に書こう” だと思います。 オブジェクト指向を使うと、手続き型では実現できない部分まで “それに関する処理は同一箇所に” まとめて書くことができます。

趣味でやっていると、手続き型は分かるけどオブジェクト指向は分からないという人も結構いると思いますが、まずは使いどころをこの “それに関する処理は同一箇所に書ける構文” として考えればスッと入れるです。 よく”果物”基底クラスをつくって、それを継承して、”りんご”クラスと”すいか”クラスをつくる、、とかって解説がありますが、あれは分かっている人しか分からない説明…。 そんなプログラムつくらんって(笑

ブログシステムのオブジェクト構成

これならきっと分かる。

たとえば、サイト管理者が入力するエントリと、読者が入力するコメントを例に。 両方ともいろいろデータ要素はありますが、それぞれ似たような情報を持ちます。 名前、入力日付、等々基本的なものはいっしょ。 逆に差異を考えると、たとえばエントリにはタイトルがあったりカテゴリがあったり。 

じゃー共通部分を”基底”クラスにしよう。 いっしょなんだし。 で、クラスはデータだけじゃなくて処理も一緒に書けるので、投稿のタグのチェックとか今の日付の取得いれちゃえ。 そんなの一カ所にしか書きたくない。 クラスの名前は BlogDocument クラスだ。

  1.  class BlogDocument {
  2.      // データ
  3.      var $content;
  4.      var $date;
  5.      var $auther;
  6.      // 処理
  7.      function setContent($content) {
  8.          $this->content = タグ処理しろ($content);
  9.      }
  10.      function setDate() {
  11.          $this->date = 今の時間();
  12.      }
  13.      ...略
  14.  }

とこんな感じに。 で、実際のエントリクラスとコメントクラスを BlogDocument から”継承”します。 差分があれば追加。

  1.  class BlogEntry extends BlogDocument {
  2.      // データ
  3.      var $title;
  4.      var $category;
  5.      // 処理
  6.      ...略
  7.  }
  8.  
  9.  class BlogComment extends BlogDocument {
  10.      // BlogDocument と同じだからからっぽ
  11.  }

とか、ね。

似たような性質を持つものの処理を分散することなく記述できるのがオブジェクト指向の強みです。 で、これらのオブジェクトを必要な数だけ(エントリとかコメント数ぶん)実体化(インスタンスをつくる)してあげれば、ブログの内部構造はできて、これに入出力をしてあげれば動き出します。

もうちょっと書くと、処理で2つのクラスの差分を意識しなくていい場合はそれぞれは基底クラスとして処理ができる。 要は見た目違うものなのに、同じループで BlogEntry も BlogComment も BlogDocument として処理できるというトリックも使えます。(ならではの格好いいトリックは他にもまだまだあるです)

上はあくまでイメージで、たとえば BlogDocument には親子関係を持たせないと、どれがどのコメントかわからんとかいろいろでてきます。 じゃー、BlogDocument の中にさらに子になる BlogDocument もたせちゃお、とか。 クラス設計していると結構楽しいのですが・・・。(ちなみに WP は、エントリとコメントは別扱いです)

こんなことをやっていると、ひとつの大きな壁が立ちはだかります。

RDBMS

リレーショナルデータベース。 WP なら MySQL。

プログラムで作られたオブジェクトというのは、メモリ空間に存在します。 ということで、プログラムが終わったらぜんぶ、ぱー。

PHP/Web 環境は、アプリケーションコンテナを持たないので、Web アクセス終了と同時にオブジェクトは破棄。消失。 せっかくシステムが動いたのに、ひとっつもエントリを保存できないで終わります。 とほほ。

Java 環境とかだと、アプリケーションコンテナが使えるのでアプリは起動しっぱなしにできる。 なので、起動している間は覚えておけますが、それでも終わらせればなくなってしまいます。

どちらにしろ、なにかしら保存する手段が必要ってことで、RDBMS が登場してきます。

つくったオブジェクトをそのまんま RDBMS に保存(永続化)できればいいのですが、データベースはご存じの通り2次元のテーブル構成。 書き込む処理系は SQL。

オブジェクトは、継承ができたり、その中にさらにオブジェクトを持てたりしてツリー的なときもあって、そもそも2次元にそのまんまはいらないし、そうでないときもわざわざ SQL を生成して RDBMS のテーブル構成に合わせて保存処理をかかなきゃいけません。 これが、インピーダンスミスマッチ。 異なるものの対応処理をしなければならないのです。

ぼく的には、オブジェクトの管理はメモリでやっとけ。 足りなくなったらいい感じに仮想メモリつかえ。 アプリ落ちるときは、適当にシリアライズして保存しとけ。 起動するときは元に戻せよ。 みたいになってくれると嬉しいのですが、まぁまぁそうもいかない事情があります。

というわけで、保存処理を簡略化しようという動きが O/R マッピングツールというやつです。 有名なのは hibernate とか。

@IT:Hibernateで理解するO/Rマッピング(1)

O/Rマッピング(=Object / Relational Mappingの略称でORMと略されることもあります)とは、オブジェクト指向言語で扱う「オブジェクト」と「リレーショナルデータベース(RDB)のレコード」をマッピング(対応付け)することです。アプリケーションにO/Rマッピングを導入することで、オブジェクトへのデータ取得やオブジェクトデータの永続化といった処理を透過的に行うことができるようになります。またO/Rマッピングはプログラミングでのデータベース操作にかかわる煩雑な作業を軽減し、拡張性・柔軟性を持ったアプリケーションの構築をサポートします。

データベースには SQL を発行せず、いくつかのマッピングを書くことで永続化が可能。 データ検索も、(みため)オブジェクトに対して HQL とよばれる SQL に似た検索クエリーをなげると、ちゃんとオブジェクトに返ってきます。

弱点は、マッピングを作らなければいけないことと、やっぱりなにより RDBMS の制約、2次元を意識しなければいけないので、データベースよりのオブジェクト設計を強いられることです。 自由には行かない。

ってことで、ちょっと前に流行りかけたのがオブジェクトデータベース。 RDBMS じゃ無理だから、オブジェクトそのまんま永続化してあげるよってのがコンセプト。 まだちゃんと開発が進んでいるのに、db4o というのがあるようです。

IBM 多忙な Java 開発者のための db4o ガイド: 紹介と概要 – Japan

しかし、たとえ Hibernate (あるいは JPA や JDO、Castor JDO、Toplink あるいはどのような ORM ツール) を使ったとしても、マッピングの問題がなくなることはなく、単に構成ファイルの中に問題が移動するだけです。しかも、不適切なツールを無理やり使っているという感覚が避けられません。例えば、適切に階層化された継承モデルを作成しようとする場合、そのモデルを 1 つあるいは一連の表にマップするためには、どれも醜悪な選択肢を比較検討して 1 つを選ばなければなりません。クエリーのパフォーマンスと通常のフォームに違反することのどちらを重視するかをめぐって、どこかの時点で DBA と開発者が戦う羽目になります。

IBM のこの手の記事は読んでいておもしろいですね。 🙂

で、これを使えばハッピーになれるかというと、やったことないけど、方式的な不具合がない限りはそのアプリケーションにとってはハッピーなんだと思う。

ただ、ぱっと思いつくのがそのアプリ以外のインターフェースを使った検索やデータの修正がある場合。 そして、これはよくあるケース。

やっぱり、2次元の RDBMS は管理しやすいじゃないかなとか。 データのパッチとかいくらでもできるし、SQL からの検索は枯れたものだし、直感的です。

うーむ。

なんて考えている時間が案外好きだったりするんですが、、 うわ、なげっ。 って朝だ。 😛

2007/6/9 Saturday 投稿時の月齢:23.2  月名:真夜中の月  潮汐:小潮 Moon:23.2[真夜中の月]今日の心技体 : 低調期低調期好調期

壊れた Microsoft Excel ファイルの修復方法 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴時々曇(22/14) ひろまさ @ 1:06

世界にただ一つしかない、大事な Excel のファイルが壊れてしまった! せまりくる納期、もう取り戻せない時間…!

エクセルなどのオフィスファイルをダブルクリックした瞬間、ソフトが「エラーログを作成しています」とか「不正な処理で終了しました」などで落ちてしまい、ファイルはあるのに開けないといった悲劇が起きる場合があります。 そんな時、もしかしたら復旧できるかもしれない方法を書いておきます。

まずは、Microsoft にもあるオフィシャルな方法。

Excel ファイルを開くことができなくなった場合の対処方法

この資料では、Excel ファイルを正常に開けなくなった場合に、データの復旧を試みる方法について説明します。

要は、他のブックをつくって参照で壊れたファイルを参照してデータを吸い出す。 という方法です。 この場合、値や少しの書式は吸い出すことができますが、画像や吹き出しなどは絶望的です。 そんなブックじゃない場合は、お試しを。

画像や吹き出しも復旧したい…。 そんな時の話。

基本的には一度データ破損等でエラーがでてしまうと、そのエクセルでは開くことができません。 というわけで、もし上位バージョンのエクセルがあればそれで試してみるのも手でしょう。 で、なかなか上位バージョンなんかないわけで…

ぴこん!

ja: Japanese Native language Project/OpenOffice.org日本ユーザー会

# ワープロや表計算、プレゼンテーションがまとまって入っている
# 無料で入手できて、自由に利用できる
# Microsoft Officeと高い互換性がある

Microsoft Office 形式のファイルが読める、オープンソース、OpenOffice。 これで読んでみましょう。

エラーの状態によっては、読めると思います。 エクセルよりエラーハンドリングがまともなのか、無視できるのか、それともその情報をそもそも読まないのか。 要因はいろいろあると思いますが、経験的に読める可能性が高いです。

で、なんとか読めたら、すぐ、「openoffice 形式」で保存します。 そのまま .xls で保存しなおしちゃうと、エラー情報が残ったままになるのでダメです。 で、保存した openoffice 形式で再度読み込み .xls に変換しなおします。 運が良ければ、これで大部分は直ると思います。

もちろん、互換がない部分や、そもそもファイルが破損している部分は壊れてしまっているかもしれませんが、背に腹は代えられません。 消失してしまうよりずっとましです。

OpenOffice はエクセルだけでなく、ワードとか(やったことないけど)パワーポイントとかも読めるハズなので、エクセル以外のファイルが破損したときも同様な方法でいけるかもしれません。

Microsoft にはこんなことは書けませんね。 以上、マメ知識でした。 🙂

2007/6/8 Friday 投稿時の月齢:22.3  月名:弓張月(下弦)  潮汐:小潮 Moon:22.3[弓張月(下弦)]今日の心技体 : 低調期低調期好調前不安定期

PHP で遊ぼう(8) – 真剣な間違え このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴れ(22/13) ひろまさ @ 3:33

ソフトウェアをつくる現場は、ほんの些細なワンミスが命取りになる繊細な場所。 そんな緊張感の中、真剣にやってるからこそ、みんなが大笑いしてしまうミス、2つ書いてみます。 🙂

たいていのプログラム言語には、変数の値の比較をする if という構文が備わっています。 たとえばこんなの。 (PHP ~ ってエントリ名でなぜか Java、、まぁ同じようなもんです :-)

  1.  if(hoge > 10)

変数、hoge が 10 より大きかったら、ですね。

if でつかう比較演算子にはいろいろありますが、ちょっと特殊なのに ! というのがあります。 これはその後ろの式が否だったらという意味になり、、よく使われるのは「hoge は 5 以上かつ10以下”じゃなかったら”」なんて if を書きたいとき。

まず、「hoge は 5 以上かつ10以下のとき」の場合は

  1.  if(hoge >= 5 && hoge <= 10)

となります。 両方を満たす必要があるので、AND を表す && で式を2つ書きます。

ふまえて「hoge は 5 以上かつ10以下”じゃなかったら”」 を普通に if で書こうとすると、「hoge は 4 以下”もしくは”11以上のとき」 となります。

  1.  if(hoge <= 4 || hoge >= 11)

“もしくは” になるので、OR を表す || を使います。

で、面倒じゃないですか。 やりたいことは「hoge は 5 以上かつ10以下じゃないとき」なのにソースに 4 とか 11 とかよく分からん数字がでてきてしまう上に、AND を OR に逆転しなければいけません。 まちがえそーー。

ってわけで、ものぐさなプログラマは ! を使うのです。(←ものぐさじゃなくても使う

  1.  if(!(hoge >= 5 && hoge <= 10))

! で後ろを否定するので、まさに “じゃなかったら”。 明確。 ソースコードは詩のように。 🙂

よく使う技法ですが、ここに笑いの神がぼくにおりてきました。

  1.  if(!!(hoge >= 5 && hoge <= 10))

…。 なぜか ! をミスタイプしてふたつに。 そのまま、なぜか動作確認が通り試験に。

たなかさん、なんか動きおかしいですよ?。

またー、と思ってソースをみるひろまさ。

  1.  if(!!(hoge >= 5 && hoge <= 10))

ぴこん!!

ゆうてる場合じゃない。 orz

こ、これは強い否定です!!

…第一話、完。

たいていのプログラム言語には、変数の値の比較をする if という構文が備わっています。 たとえばこんなの。

  1.  if(hoge == 10)

hoge が 10 だったら。 多くのプログラム言語では数学的な代入は = 、比較のイコールは == と使い分けます。 変数に値を入れたい場合は、 = を使います。

たなかさん、なんか動きおかしいですよ?。

またー、と思ってソースをみるひろまさ。

  1.  hoge == 10;

ぬこ==

ゆうてる場合じゃない。 orz

こ、これは強い代入です!!

…第二話、完。

どっちも構文的には正解。 上の !! は否定の否定で肯定になります(もちろんバグ)。 3つ書いたらほんとに強い否定(笑)

下も、別にエラーにならず、比較だけされて素通り、値は入りません(もちろんバグ)

やぁ hiromasa.zone は勉強になりますねぇ。。(←おまえが勉強しろ

2007/6/4 Monday 投稿時の月齢:18.3  月名:寝待月  潮汐:中潮 Moon:18.3[寝待月]今日の心技体 : 低調前不安定期低調期低調期

WordPress2.2でつくる!最強のブログサイトでます。 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴時々曇(23/11) ひろまさ @ 2:24

WordPress 2.2 に対応した「WordPress2.2でつくる!最強のブログサイト!」書籍がでます。 現在、まずは 7&Y 経由で予約ができるようになりました。

WordPress Japan DB ≫ WordPress2.2でつくる!最強のブログサイト

WordPress2.2でつくる!最強のブログサイトWordPress2.2でつくる!最強のブログサイト
発売日:2007/06/19
著者:乙彼三太郎田中広将

出版社:ソーテック社 / ISBN:978-4-88166-578-7
定価:2,709円(本体2,580円)/ 頁数:320ページ・1色・B5変形

前著の内容を踏襲し、WordPressの導入・管理・運営までを徹底解説。テーマのカスタマイズやテンプレートタグの使用方法など、具体例を挙げて分かりやすく紹介しています。

内容の方ですが、前回基本の 2.0 ベースに対して、 WordPress 2.1 / 2.2 で変わっている部分についてのアップデート。 スクリーンショットなどは最新のものになり、また、紹介させていただいているプラグインは刷新。 今はやり、みなさんが興味がありそうなものになっています。

ローカル環境構築は XAMPP バージョンアップに伴い前回より簡単に分かりやすく、よくご連絡頂いていたトラブルなどの内容も吸収したものになっています。

流れが速い WordPress ですので、なるべく応用がきくように書かせて頂いているつもりです。 PHP はよくわからないけど、WordPress をうまく使いこなしたいという方は是非読んで頂ければと思います。

またいつもの(?)、Otsukare 節、ひろまさ節ですので、十六夜、hiromasa.zone で慣れている方は親しみやすい、、ハズです。 🙂 (もちろん大真面目です、、念のため…)

第一版の最強をお持ちの方、あれからもう1年になるんですね。 すでに WordPress に長けている方でしょう。 書店でご覧の上、あーあの事象のことだ!、と変更点でニヤリとしていただければ!

公私(公公?)ともにハードスケジュールでしたが、なんとかできました。 好きじゃないとできないことの一つです。 そんなメッセージも感じ取って頂けたらこれ以上ありません。

「WordPress は待っちゃくれない」という表現は少々大げさですが、まずは、これからのスタンダードの一部を担う素晴らしいツールを楽しむことから始めましょう。 この場をお借りし、ネット上での活動を含めた様々なシーンで私たちを助けてくださる皆さんに感謝します。 そして再び、このフレーズで皆さんをお迎えできることたいへん嬉しく思っています。

ようこそ WordPress の世界へ。

2007年5月吉日
乙彼三太郎

2007/6/3 Sunday 投稿時の月齢:17.3  月名:居待月  潮汐:中潮 Moon:17.3[居待月]今日の心技体 : 好調期低調期低調期

quote:なんてことだ。俺は仮想世界でも再び日本人から車を買うハメになるというのか! このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴時々曇(21/10) ひろまさ @ 2:13

Xbox 360 の Forza 2 というリアルタイプレーシングゲームで大変なことが起きているようです。 いろんな方から教えてもらいました、、このゲームに搭載されている車ペイント機能で Japanese が恐るべき仕事をしている模様です。 🙂

TECHSIDE.blog.BETA: Xbo360「Forza 2 」の開発チーム、日本職人によるペイントカーに感涙。ガリガリ君から痛車、ソニーモデルまで

本作のペイント機能では、 さまざまな形のデカールを1台につき4100枚重ねて貼ることが可能。 これらを匠に使い日本語やキャラクターを描いている模様。 そのクオリティが素晴らしい!そしてForza 2の開発チームからも 「とても感銘をうけました!」 「頭文字Dのハチロクのレプリカを見たい!」と日本の公式ブログにメッセージが届くほど。

ゲーム中に出てくる車に対して、オリジナルの単色デカールを張るという機能があり、このデカールが 4100枚はれることに目をつけた人たちが、もはや単色の域を超えた”ペインティング”をしているらしいです。

Forza Motorsports 2 画像うp

このオリジナルカーは Xbox Live のネットワークでゲーム内のお金でオークションとして世界に向けて出品できて、

なんてことだ。俺は仮想世界でも再び日本人から車を買うハメになるというのか!

ということになっているということみたい。

日本人ってこういった、制約の中で最高の技術を発揮することに長けていますよね。

というわけで、WordPress というフレームワーク制約があるプラグインコンテストも始まりました。 🙂

WordPress プラグインコンペ 2.0 ≪ :: plasticdreams ::

2005年にも開催したプラグインのコンペをまたやろうという事だそうです。

ぼくも何か思いつけば。 🙂

2007/6/1 Friday 投稿時の月齢:15.3  月名:満月  潮汐:大潮 Moon:15.3[満月]今日の心技体 : 好調期低調期低調期

hiromasa.zone アンダーグラウンド化 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴れ(20/11) ひろまさ @ 3:09

なんだか WordPress 2.2 にしてからアクセスの傾向が変わったなーって思ったんです(えらい減った)。 ちょっと忙しくてよくみていなかったのですが、今日なんとなく調べたら、なんと Google のインデックスから落ちたようで、hiromasa.zone は知る人ぞ知るアンダーグラウンドサイトになりました。 🙂

昔、インターネットアンダーグラウンドが全盛期だった頃、危ないネタ(?)はそう簡単に見つからないように robot.txt の設置とか、 .htaccess で検索クローラはじいたりとか検索ロボットよけをいろいろやっていました。 逆 SEO ? で、そうそう見つからないようなサイトをみつけたりすると、うれしかったりしたわけですが、いまじゃー猫も杓子も SEO。 つまんね~って。(笑)

というわけで、WordPress アンダーグラウンド hiromasa.zone に。 かっちょいい。。 ここを知っている方は今後ともよろしく…。 :-P

なんて、実はインデックス落ちの原因はわかっていて、WP の設定のプライバシーの部分を何かの加減で、

no robot にしてた

というあほなオチでした。(ブログだけ綺麗にインデックス落ちていたので気がついた)

結構効くんですね、これ。 yes robot に戻してみましたが、どれくらいで戻るんだろうか。 まぁ、戻らなくてもアンダーグラウンドでカッコイイし、誰もあんまりやらないであろうその実験も兼ねれるのでネタとしては良かったのではないでしょうか。 🙂

せっかく Google のインデックスおちたので、書きたいことかいちゃおう。(笑)

今の Web って Google をはじめとした検索エンジンに支配されているみたいな風潮があって、まぁ Google はいまは優しい支配者なので文句もでないのでしょうが、正直どうも気に入らない。

SEO のために、文字画像を使うなとか、フルフラッシュはやばいとか、valid な XHTML がいいとか。 なんだかインターネットは検索エンジンに媚びている。

そんなもん、文字コードと XHTML のメタ情報をくわせないと内容を解釈できないサーチエンジンの技術力不足につきあわされているだけで、人間的には画像だって文字、字を赤くしたら重要、真ん中ならタイトル、頭に数字をかいたら箇条書きなわけで、なんでわざわざあほなコンピュータのために余丁なメタ情報を追加しなきゃいかんのだ、とぼくは思うのです。

現在の使われ方として XHTML などの文書マークアップはコンピュータ処理のためにあります。 人間のためじゃない。

人間の言語に対するメタマークアップなんてものは、将来なくなる”べき”技術だと思うんです。(XHTML はこういった用途ではなく、文書のフレームワークには良いものだと思います)

どうも、W3C の HTML + CSS。 文書構造と表現の分離という技術から SEO にも発展し、ちまたではこれが良い技術のように思われている風潮がありますが、、いまの技術では最高の方式でも、向かう方向は違うと思う。

文書構造と表現の分離ができてよろこぶのは技術者だけです。 プログラマは文書構造を出力して、デザイナーが CSS をかいて綺麗に整形する。 CSS いじればサイトがいっきに変更できる。 ぼくら的にはすばらしい。 でも、一般的にそれを”分離する”という考え方には違和感を抱くのが普通だと思います。

格好いいフォントでロゴをつくって、それをわざわざ意味と表現とに分離する作業をすることに、人間的になんの意味があるんでしょう。 検索エンジン?音声ブラウザ? 全てコンピュータが処理しやすいようにしているだけです。

ぼくは技術的に向かうべきは、なにかしらをレンダリングした結果画像からの、メタ情報不要な、意味解析、文脈分析だと思います。 技術者はともかく、人間がコンピュータに媚びたら嘘でしょ。 🙂

もう内部ではやってるかもだけど、Google が simpleAPI みたいなサービスをはじめたらきっとその兆候です。 同じ内容でもへんなデザインのサイトより、美しいサイトのほうが上位にでるのなら Web デザイナーさんの株もあがるってもんです。

ぼくは母親が視覚障害者の方のために朗読をやっている関係で、音声ブラウザについても知っていますが、こういった技術を使えば音声ブラウザだってもっと良くなる。

でもさー、あんまり解析が発展して

Google なんか嫌い

とか書いて、インデックス落とされてもやだよね、なんて(笑)

イラストレータで描いたサイトがそのままパブリッシュできたらどんなにいいことか。 hackish な HTML とCSS を書くことが障壁になっている Web 業界に新しい風が吹くと思います。

技術は技術者のためにあるわけではなく、人のために。 ぼくはそういつも肝に銘じるのです。 もちろん、今の Web には XHTML しかないのはわかっているし、嫌いじゃないし、うまく使おうと考えます。

でも、将来は変わらなきゃいけない、そう思うのです。

2007/5/30 Wednesday 投稿時の月齢:13.4  月名:待宵月  潮汐:大潮 Moon:13.4[待宵月]今日の心技体 : 好調期低調期低調期

テキストエディタとマウスと。 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 曇り(17/11) ひろまさ @ 3:59

よくよく観察しているとわかるのですが、ぼくたちみたいなソフトウェア開発関連の人間は基本的にあんまりマウスを使いません。 マウスをつかうときは、マウスでしか操作できないようなソフトを使う場合か、マウスをつかったほうが大幅に効率がいいときだけです。 GUI を使っていてもほとんどの操作をキーボードショートカットですませます。 これは操作の内容が圧倒的に、キーボードをうつ時間の方が長く、なるべくキーから手を離したくないという心理が働くためです。

もっというとカーソルキーもあんまり使いたくなくて、テキストエディタでは各種カーソルジャンプや増分検索機能をつかってカーソルを”とばし”て使います。 カーソルの移動時間すらおしいわけですね。 なので、ブラウザのテキストボックスってやつはつかえんのです。 こういった機能があんまり使えないのできないのでやきもきします…。

UNIX 系のひとで vi を使う方がこの傾向が端的に表れて、vi じゃなきゃいやだ! というのは、この手のカーソルジャンプが身に付いてしまっているからです。 vi はもともと低速回線の telnet で使うことを想定しているエディタなので、ほかのエディタよりもカーソル移動機能が充実しているのです。 遅い回線ではカーソル動かすだけで結構な時間ですから!

とはいえ、ぼくは半分くらい GUI 世代。 vi を使いこなすほどの技術はないので、ポインティングデバイスも使います。 ってことで、ぼくの中で一番心地よいのはトラックポイントです。

トラックポイントとは – はてなダイアリー

ポインティングデバイスの一種。

キーボードの中央に設けられた突起状のボタンで、ホームポジションから手を離さずにマウスカーソルの操作ができるのが特徴。

IBM のノートPC(いまはIBMじゃないか)についているアレです。 キーボードから手は離さなくていいし、親指ボタン押しっぱなしの上下移動でホイール相当のスクロールはできるしで、キーボード+トラックポイントの環境はぼくが操作する Windows / PC で一番速く操作できるのではないかと思います。 テキストエディタも、カーソルとばすより、トラックポイントでとばしたほうが、とばし先の条件によっては速いときあるんですよね~。

さて、トラックポイントは良いのですが、どーも常にキーボードに手を置いているだけあってこれを使っていると仕事風。 帰ってからくらいのんびりしたいってことで、おうちではマウスです。

で、おそらく5年くらい使っていた Microsoft InteliMouse Pro のくるくるホイールがついに壊れてしまいました。 なんだか マウスに Office 2000 とかってロゴもはいっているので、実はもっと長く使っているかも。。 よくいままで壊れずに、、長い間お疲れ様でした。 (出入りの Microsoft さんが会社の忘年会のビンゴ用の商品に提供してくれたもので、ぼくがめでたく bingo! していただいたものでした)

やっぱり Apple にしても Microsoft にしても、ソフト屋さんのつくるハードっていいですよね。 なにか使う人のことがよく考えられている気がします。

てなわけで、せっかくだからということで、ふんぱつして新マウス。 Microsoft Natural Wireless Laser Mouse 6000、奇抜なデザインのエルゴノミクスマウスです。

Microsoft Natural Wireless Laser Mouse 6000 | ホーム

エルゴノミクス (人間工学) デザインを採用したレーザー方式 5 ボタン ワイヤレス マウス

エルゴノミクス (人間工学) デザインを採用したレーザー方式 5 ボタン ワイヤレスマウスです。従来のようにマウスに手を載せるのではなく、横から軽く手を添えて使う設計により、手首への負担を軽減させました。作業中のファイルをワンクリックで一度に呼び出すインスタント ビューア機能などにより、これまでの作業効率が格段にアップします。

かなり大きめのマウスで、手をひねらなくてもマウスにおけるように傾斜がついています。 ちなみに、キーボードはMicrosoft Comfort Curve Keyboard 2000 です。 これもキーが斜めになっていて押しやすくなっています。(このキーボードは安くて使いやすくてお勧め)

Microsoft Natural Wireless Laser Mouse 6000

実際に握るとこーんな感じになります。(ぼくは手が大きいので対比物をいろいろおいてみた(←一部対比になっていない)

Microsoft Natural Wireless Laser Mouse 6000

で、このマウスの使いでですが慣れるまでちょっと時間がかかります。 逆に言えば、最初はやばいくらいうまくつかえません。 でも、しだいに、、しだいに良くなってきます。 山を乗り越えるまでがかなり大変なので、買ってからすぐ効果を求める人にはまったくお勧めできません。 🙂

あと、中ボタンが押しづらい(堅い)ので多用する人は代替え手段を用意した方がいいかも。 ぼくは、ブラウザ使用中に中ボタンでタブを開くのを常用していたので、Firefox にマウスジェッシャーをいれ代替えしました。

とりあえず、ワイアレスっていいですね。 Xbox 360 のコントローラのときもおもいましたが、自由な場所で操作できるというのがこんなにいいものとは。

というわけで、仕事から帰ったら部屋を暗くして、ちょっとPCから離れてこのマウスを使い、Web をみながらぴこぴこ音楽を再生したりして遊ぶのでした。 ああ、今日も疲れた。

2007/5/28 Monday 投稿時の月齢:11.2  月名:十二日月  潮汐:中潮 Moon:11.2[十二日月]今日の心技体 : 好調期低調前不安定期低調期

wp-tegaki – 複数ページにまたがるエントリでの出力不具合修正 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴れ(18/7) ひろまさ @ 0:10

WordPress プラグイン wp-tegaki で、複数ページにまたがるエントリ内で tegaki タグを使うと、画像の出力で別な画像をひっぱってきてしまうという不具合がありましたので、修正版をリリースしました。

WordPress のエントリでは <— nextpage —> と入力すると、エントリ内で複数のページをつくることができますが、この2ページ以降で tegaki を使うと、1ページ目の画像をもってきてしまうという不具合です。 もし、この現象にさいなまれている方がいらっしゃいましたらバージョンアップしてみてください。

WordPress Plugins/JSeries ≫ wp-tegaki

投稿エントリ内のタグで指定した文字列を指定の TrueType フォントで出力する WordPress 用プラグインです。

イメタグ用の画像出力 php (wp-tegaki-img.php) でのエントリコンテンツ取得処理に、ページの考慮が抜けていました。。

すいません。。

自分で普段使わない機能だと、こういったところがなかなか気がつきにくいです。

とても丁寧な検証の上ご指摘くださいました、ともかめさん、どうもありがとうございました。

今後ともよろしくお願いいたします。 🙂

2007/5/27 Sunday 投稿時の月齢:10.3  月名:十日余の月  潮汐:若潮 Moon:10.3[十日余の月]今日の心技体 : 好調期低調前不安定期低調前不安定期

ロロロロロシアン回転寿司 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 曇り(15/10) ひろまさ @ 2:22

ひっさりぶりに回転寿司に行ってきました。 で、若い頃(?)にちょっと流行っていたロシアン回転寿司という遊びを思い出しました。 🙂

回転寿司

遊び方は簡単。 まずは複数人で回転寿司にいきます。 でもって、じゃんけんかなにかで順番を決め、次の人にここから25皿目を食べる!とかってとるお皿の指定を、20以上の数字でランダムにお皿の回転をみないでします…。

ご存じの通り、回転寿司には子供などを想定したお寿司以外のオブジェクトが…。

いきなりケーキかYO!

といった事態になるという、おそるべきロシアンルーレット寿司。

そして、よく行っていたお店にはなんと、お刺身用の

ワサビオンリーの皿

があるという、ひどい仕打ちが。。 お店側もねらっていれてるんじゃないかと、、泣きながら思います。。

今日行ったのは、札幌ステラプレイス(デパート)内の回転寿司。 これが人気があるらしく、30分まちとかになっていました。 ロシアンはやってないYO! ごちそうさまでした。:-)

夜ご飯だったのですが、日中はお買い物。 北海道の玄関、新千歳空港でおなじみ千歳市のアウトレットモール、Rera。 札幌から高速で40分くらい?

レラ

服を買いに行ったのですが、なかなかないねー。 体重がないうえに、腕が異常にながいという特殊な体型ゆえ、基本的にサイズがない。。 スーツの Yシャツなんかでは、同じような体型の人と争奪戦になったことも。 首まわり 38cm の腕 86cm なんか2枚あればいいほう。 😛

基本的に無地、原色を好み、あと細身というと、昔だったらアニエスベーかコムサデモードで安定でしたが、30すぎるとだんだん無理が(笑)

てなわけで、若い頃のことばかり思い出す本日でした。 🙂

2007/5/25 Friday 投稿時の月齢:8.2  月名:九日月  潮汐:小潮 Moon:8.2[九日月]今日の心技体 : 好調期低調前不安定期好調期

最強の動画メディアプレイヤー このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - 晴のち雨(16/11) ひろまさ @ 1:09

PC 上で動画を再生するソフトというと、Windows Media Player とかが有名ですが、どうも最近、巨大化して不要な機能がいろいろついていたり、また商用のメディアプレイヤーはちょっと商売っけがありすぎたりで、今一歩好きになれません。

てなわけで、いままでは Linux ではおなじみのオープンソース ffmpeg / mplayer ベースのソフトを Windows でも使っていたのですが、Vista にかえてからまだインストールしてなかった…で、ひさしぶりに mplayer 本家をみてみると…。

本家で Windows に対応!

しているという重大な事実に気がつきました。 ぼくが知っている頃はGUI フロントエンドは本家からは提供されていなかったのです。 いつからだろー。 🙂

MPlayer – The Movie Player

Here are some screenshots of MPlayer and its many different features, ports and output drivers in action. If you can make a screenshot of a port not yet listed here or know how to showcase a particular feature or simply have made a very cool looking shot, please send it to us. Please bear in mind that we already have a lot of screenshots. To get accepted it has to be truly special.

Linux / UNIX 系はもちろん、Mac OS X、Windows で動作します。 再生できるファイルは、mpeg4 系、wmf から quicktime、real から flv までおおよそ考えられる種類のファイルはたいていこれ一本で再生できると思います。

本体(MPlayer 1.0rc1 Windows GUI)Codec に分かれていますのでそれぞれダウンロードして、適宜フォルダにファイルを格納します。 スキンもあるです。

mplayer

で、まぁまぁあんまり関係ないんですが、本日 XBOX 360 でナムコの名作ゼビウスが配信になっているという情報をききつけ、早速 XBOX 360 でダウンロード。 いやぁ、無料では2面までしか遊べませんがなかなか楽しい。 🙂

ってなことをおもって、PC の前に戻ってみたら、Windows Vista からみなれぬメッセージが。。

360

うわ、ネットワーク越しで XBOX 360 を認識している!! びつくり。

Windows Vista + XBOX 360 は標準で、メディアの共有ができる機能がONになっていて、PC のファイルを 360 で再生できるようになっています。 これはまえに、ちょっと XP でもソフト入れてやったことがあるんですが、これがまた

つかえない。。

大量のファイルを 360 で探すインターフェースに難があり、これまたどうも…。

こちらは、初代 XBOX でうごく XBMC。 こちらのほうが 256倍つかえます。 というか最強かもしれません。 これも ffmpeg ベースのソフトです。

…おしまい。(←オチを考える元気がなかった

このサイトについて

このブログは引っ越しを行いコンテンツはフリーズしています。hiromasa.anotherへどうぞ。

Powerd By WordPress

We (Heart) WordPress

WordPressME Logo
WordPress Plugins

ブログ内検索

Todays Popular

WordPress Ring

はてなリング - WordPress -

情報

19 queries. 0.128 seconds.

このページの先頭へ