2009年8月31日月曜日

「プログラムの追加と削除」が参照するレジストリキー

※Vistaでも同じレジストリキーで管理されていました。
学校での制作物のために調べたのでメモ。
Vistaではまだ確認していないのでわかりませんが、
XPでは以下のレジストリキーを参照しているようです。
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall」

この中には、それぞれのソフトウェア名及びクラスIDが登録されています。
Terapadなどはそのままのキー名で表示されているのでわかりやすいです。
クラス名の場合は、そのキー内「DisplayName」を参照すると、
そこに「プログラムの追加と削除」時に表示されるソフトウェア名が書かれているので判別できます。

「プログラムの追加と削除」でソフトウェアを削除した際に、
ソフトウェア自体は削除できたのにリストから除外されない場合は、
このキーを削除してあげれば良いようです。

2009年8月30日日曜日

WindowsPCにおけるドライバ不明へのツールまとめ

何度かドライバ関係の投稿を書きましたが、
色々と情報及びツールが出てきているのでまとめておきます。
大体というか、ほぼGIGAZINEさんからの情報ですが。

まず、PCに対してドライバで困る場合が以下のようにあります。
  • どのドライバが当てはまるかわからない。 (新しくOSをセッティングする場合や、XP→VistaのようなOS乗り換え時。)
  • 今あるドライバを残しておきたい。 (今後OSやHDDに起こりえる問題の為に。)
1つ目の問題に対しては、「ドライバが分からない」場合に非常に困ってしまいます。 グラフィックボードなどは導入しているモノの型番を元に調べれば終わりますが、 イーサネットなどは、具体的な型番などヒントとなるモノが少なく難しいのです。 デバイスマネージャ上で「?」となっているドライバだけを得たい場合にはこちら。 Unknown Device Identifier デバイスマネージャでハテナマークがついたドライバを探し出すフリーソフト「Unknown Device Identifier」 - GIGAZINE また、「?」が複数ある場合、 ドライバの最新版のチェックがしたい場合にはこちら。 Uniblue Driver Scanner 最新版に更新すべきドライバがどれなのかスキャンし、ドライバのバックアップと復元も可能な「Uniblue Driver Scanner」 - GIGAZINE 2つ目の問題に対しては、以前の投稿の通り。 以下のようなツールがあります。 DriverMax どのツールも、XP/Vista共に使用可能です。 中には試用版として制限されているツールもありますが、 「どのドライバか?」を調べる、またドライバをバックアップするという、 必要最低限の作業は出来る程度です。 さらに備えるのであれば、必要なドライバを全て集めた後、 全てバックアップしておくのがベストだと思います。

2009年8月28日金曜日

iPhone BloggerAPI+iUIでBlogger投稿一覧表示

ひとまず表示は出来たのでメモ。

ほるめすメモ帳inBlogger - 投稿一覧
今回はiPhone、PCSafari、Firefoxで表示しました。
IE等はただリストで表示されるだけです。


iPhoneで表示した場合です。
上バータイトルがすり切れているのは、ただ単に長すぎるからです。

実際の処理としては、BloggerAPIiUIを混ぜ合わせただけなのですが、
色々と困ったことがあったのでまとめます。
document.createElementから、 必要なタグを生成して差し込もうとしましたが、 <ul>を差し込む場合、selected="true"が追加されませんでした。 objul:ulタグとすると、objul.selected="true";では処理がされなかったワケです。 原因はおそらく、ulタグにselectedが標準でない(iUI用に勝手に作成した)ためです。 仕方がないので<ul selected="true"></ul>とだけ元から作成しておき、 document.getElementsByTagName("ul").item(0)で呼び出しました。
これはPCSafariで表示した図。 なぜか上バータイトルが表示されません。 これはFirefox。 下の方に表示されているのは「Firebug」と言われるデバッグツールですね。 今回JSで処理したので、実際に処理が通っているのか、 表示がきちんとされているのかをチェックするために使用しました。 投稿の一覧表示自体は出来ましたが、これを今度各投稿を表示しないといけないですね。 以前に試してみましたが、途中でエラーが発生してそのまま停止してました。 諸々起こりそうな問題としては、かなりロードに時間がかかるかもしれないこと。 当然今回と同じようにJSで投稿を「同htm内」にロードしないといけないので、 今回表示する際(iPhoneでは10秒ほど)以上に時間がかかります。 さらに僕はiPhone3Gなので、メモリを大量消費した際の他の動作も気になります。 と言うような感じで、実は思ったよりiPhoneへの負担の大きいページが完成しそうです。 以下が今回の<body>以下のソースです。 ▼続きを読む/たたむ

2009年8月27日木曜日

ある程度iUIを把握しました

まずは現物。
iUIテストページ
iPhoneからで無くとも、SafariやFirefoxからもそれっぽいイメージを感じる事が出来ます。

トップページはこんな感じ。
この画面に表示されているものが、ソースとして一括りで書かれている感じです。
上バー「iUIテストページ」は、以下のソースを入れておくと自動で生成されます。
<div class="toolbar">
 <h1 id="pageTitle"></h1>
 <a id="backButton" class="button" href="#"></a>
</div>
上バー以下のソースはこちら。
<ul id="home" title="iUIテストページ" selected="true">
 <li class="group">テスト中ページ</li>
 <li><a href="#pages">ページテストまとめ</a></li>
 <li class="group">その他リンク等々</li>
 <li><a href="http://holmes21.blogspot.com/" target="_self">ほるめすメモ帳inBlogger </a></li>
 <li><a href="index.htm" target="_self">ほるメモいんぶろ - 投稿一覧</a></li>
 <li><a href="http://google.co.jp/" target="_self">Google</a></li>
</ul>
根本はリスト表示で、CSSでの整形のおかげでiPhoneらしいUIが表示されているのです。 <ul>にselected="true"を宣言しているものが、トップページ表示となります。 <li class="group"></li>が区切り(仕切り?セパレータ?)となり、 文章を含むことが出来ます。 リンクは2種類、ページ内部とそれ以外があります。 <li><a href="#pages"></a></li>  →これが同htm内の他のグループへ遷移するための表示方法。 <li><a href="index.htm" target="_self"></a></li>  →これがそれ以外、別htmや外部サイトへ遷移するための表示方法。   target="_selfが重要で、無いと何も起こりません。 中に<a>を含まないことで、普通の表示も出来ます。
ここで説明を終えたので、以下はせっかく撮ったスクリーンショットを。 このパネル表示は上と違い、<div>で書かれます。
<div id="ppanel" class="panel" title="パネル表示">
 <h2>&lt;div&gt;を使用する。<br>
 class="panel"とする。<br>
 titleはページ名になる。</h2>
</div>
同じようにidにはグループ名を用意し、 classには"panel"とすることでパネル表示になります。 画面では背景が途中で切れていますが、iPhone側では全体に表示されます。 あと、ここでは使用していませんが、テキストボックスやON/OFFスイッチも配置できます。 iPhoneやSafari上では遷移されて表示されるものは、 全て1ファイルにまとめて書かないといけないことから、 普通に作成するサイト構成とはだいぶ変わっています。 同iUI内で表示したいモノはページ1つに全て収めないといけないので、 ブログページを作るのであれば初めから全てロードしておく必要があるわけですね。 なるほどなるほど。

2009年8月24日月曜日

iPhoneにスケールを合わせる1行

ひとまず、昨日使用出来るようになったusamimi.infoにindexページを作成。
本当にリンクのみですが、ひとまずはこのままで。

さてそのindexページですが、問題が一つ。
iPhoneで覗いて見ると、このように表示されます。

ページの余白まで見てしまい、文字が小さく表示されます。
この小ささでは、ピンチイン(2本指で広げる動作)をしてズームしないと、見るのが難しいです。

そこでこの1行。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta name="viewport"
 content="width=device-width,
  initial-scale=1.0,
  maximum-scale=1.0,
  user-scalable=0
 "
/>
こちらのサイトを参考にしました。 meta の viewport - ZeBeVogue別館 <meta>タグでname「viewport」を宣言すると、iPhone専用になります。 widthで宣言している「device-width」は、携帯端末用に用意された値らしく、iPhoneでは320pxになります。 300など、普通の数値を割り当てても良いですが、ここでは手っ取り早くしています。 「initial-scale」は初期拡大率で、これもそれ以外でもOKです。 「maximum-scale」は最大拡大率、その反対の「minimum-scale」もありますが、 拡大を許可する「user-scalable」が0なので、拡大縮小が出来ません。 この1行を<head>内に書くだけで、見やすさがグンと上がります。 もうこれだけで、リンク集とかに使えるさっぱりしたページになりますね。

2009年8月23日日曜日

広告無しのレンタルサーバ「usamimi.info」

※追記:http://holmes21.usamimi.info/でもいけるようになりました。
iPhone用のページを作成する段階で、広告表示が無いレンタルサーバが欲しかったので探してみると、「usamimi.info」というサーバを発見。
昨日のうちにアカウント申請しておきました。

usamimi.info
usamimi.info servers - PukiWiki

CGI/PHP、MySQLも申請すれば使用出来ます。
Wikiにはアカウント登録に1~3日掛かると書いてありましたが、申請から1時間程度で完了メールが届いていました。
素早い連絡で、むしろ今確認したこちらの方が申し訳ない気分になりました。

ユーザを「holmes21」で作成したので、ページアドレスはhttp://www.usamimi.info/~holmes21/となります。
まだトップページを作成していないので、「工事中」です。
まずはさっぱりして見やすいトップページを作成しますね(と言うよりかは、それしか作れないので)。

モリサワフォントで遊ぶ「FONTPARK 2.0」

モリサワフォントとは、株式会社モリサワから発売されている手描きフォントです。
1年ぐらい前から存在は知っていたのですが、学校でモリサワフォントの張り紙を見て、思い出したのでメモ。

FONTPARK 2.0 | MORISAWA

このサイトでは、モリサワフォントでの文字を「パーツ」として扱い、パーツから文字や絵を自由に描き上げることが出来ます。
表示して最初の画面では、他の人が描いたもののギャラリーが表示されます。
お遊び程度で終えている作品から、「どう考えてもその道の人だろ」と思ってしまうような作品まであります。
当然自分でも描くことが可能で、描いた作品へのリンクを作成することも可能。
画面下に並んでいる文字以外にも、自分で入力した文字もパーツとして使用可能。
さらに、範囲選択でまとめて移動することも可能。

作成したモノにはそれぞれリンクが作成され、直接見に行くことができます。


この作品へのリンク
さらには、みんなのギャラリーを取得し表示するスクリーンセーバーまであります。
この時代のモニターは、もう液晶なので不要なこともありますが、良い作品が出れば出るほど味のあるスクリーンセーバーになるので、家ではともかく学校などで表示したままでもおもしろいかもしれません。

2009年8月22日土曜日

iPhone用サイト作成の為のリンク集

さくっと調べたページまとめ。
元々はこのwikiからの派生です。
iphone向けwebページ作成 - iphone wiki


以下はiUIのためのリンク。
Yahoo!画像検索流 iPhone用ページの作成方法 - Yahoo!検索 スタッフブログ

2009年8月21日金曜日

浪花餃子スタジアムに行ってきました

本当は、阪神百貨店で行われている忘れ物市に行ってきたのですが、その後の流れで餃子を食べることに。
浪花餃子スタジアム

浪花餃子スタジアムは、大阪梅田の「ナムコタウン」の3階にあり、日本全国から選りすぐられた餃子専門店が店を並べ競い合う、一種のテーマパークです。
6つの店が、それぞれ自慢する餃子を提供し、お客様にNo.1を決めてもらう「大阪餃子王決定戦」が、現在行われているようです。
以下が食べた餃子+小籠包です。
実際に食べてみて下さい。






2009年8月18日火曜日

Windows Vistaと7のデュアルブート事情

どうせいずれ(と言うよりももうじき)必要になる情報なので調べてみました。


結論から言うならば「大丈夫」。
これらはRC版なので、製品版と異なる可能性がありますが、まぁ差はないでしょう。
僕のマシンは、以前Vista→XPをインストールして大変な目に遭いました・・・。
上リンクでの3つ目、「Nire.Com」さんで述べられている通り、「コツは古いOSから」が重要です。
新→旧と行うと、旧に合わせたブートローダの書き換えが行われ、(場合によっては)新の起動が出来なくなってしまうのです。

これに関しては、以下のサイトが事細かく解説されています。
VistaとXP・デュアルブート

まぁ、いけるようで何よりですね。

2009年8月16日日曜日

iPhone用にOS判別

iUIを使用してページを構成すると、iPhoneからの見栄えが良くても、その他PCからの見栄えは悪くなります。
と言うより、iPhone用のページなのですからそれはそうなのですが。

ですので、iPhoneとそうでないものの判別をします。
以下を参考にしました。
Android携帯でブラウザから緯度経度情報を取得
 - PHP,MySQL,Flexな日々+イラストとか
そして実際のページ。
ほるメモいんぶろ - OS判別

なるほど、ブラウザの情報からOSの情報を引き出すんですね。

PCなどのiPhone以外からアクセスされると、「iPhoneではありません。」と表示され、

iPhoneの場合は、「iPhoneです。」と表示されます。

実際のコードは以下の通り。
<script type="text/javascript">
 //モバイル端末の判定
 var agent = navigator.userAgent;
 document.write( "ユーザエージェント:" + agent + "<br>" );
 if( agent.search(/iPhone/) != -1 ){
  document.write( "<span style='color:#0000ff;'>iPhoneです。</span>" );
 }else{
  document.write( "<span style='color:#ff0000;'>iPhoneではありません。</span>" );
 }
</script>

2009年8月15日土曜日

まずはBloggerAPIで投稿一覧表示

とりあえずは、元々のソースをほぼ全部コピーで、記事一覧を表示してみました。
ほるめすメモ帳inBlogger - 投稿一覧
レンタルサーバで大々的に広告が表示されていますが、ある程度カタチが出来たらサーバでも借りようかと思っています。
今は練習段階です。

BloggerAPIの使い方は、前のメモにあるリンクに書いてある通りです。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>ほるめすメモ帳inBlogger - 投稿一覧</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
 google.load("gdata", "1.s"); 
</script>
</head>

<body>
<div id="content"></div>
4行目でGoogleがホスティングしているファイルを参照し、5~7行目で実際に呼び出しています。 11行目に、JavaScriptで生成したタグを入れるための領域「content」を用意しています。
<script type="text/javascript">
 var content = document.getElementById('content');
 var bloggerService = new google.gdata.blogger.BloggerService('GoogleInc-jsguide-1.0');
 var feedUri = 'http://holmes21.blogspot.com/feeds/posts/default';

 var handleBlogPostFeed = function(postsFeedRoot) {
   var posts = postsFeedRoot.feed.getEntries();
   var html = '';
   
   html += '<dl>'
        + '<dt><strong>Blog:</strong> '
        + '<a href="'
        + postsFeedRoot.feed.getLink('alternate').getHref()
        + '">'
        + postsFeedRoot.feed.getTitle().getText()
        + '</a></dt>';
   
   html += '<dd><ul>';
   for (var i = 0, post; post = posts[i]; i++) {
     var postTitle = post.getTitle().getText();
     var postURL = post.getHtmlLink().getHref();
     html += '<li><a href="' + postURL + '" target="_blank">'
               + postTitle
               + '</a></li>';
   }
   html += '</ul></dd>';
   
   content.innerHTML = html;
 };

 var handleError = function(error) {
   content.innerHTML = '<pre>' + error + '</pre>';
 };

 bloggerService.getBlogPostFeed(feedUri, handleBlogPostFeed, handleError);
</script>
ここもほぼ元ソースそのまま。 一覧取得用のサービスを用意して、読みに行っています。 ここで一段落。 ちなみに、iPhoneっぽいページ表示をするためには、「iUI」というのが便利そうです。 iui - Project Hosting on Google Code iPhone 3G用のWebページを作る3 - [JavaScript]All About それ以前に、iPhoneの解像度や特有の設定などがあるようなので、それを調べないといけないのですが。

BloggerAPIメモ

参考にするべきであろうリンク等々まとめますね。
Developer's Guide: JavaScript - Blogger APIs - Google Code
リファレンス google.gdata.blogger

GoogleAPI試用ページ AJAX APIs Playground

前の記事の後に少し検索してみると、こんな記事を発見。
ASCII.jp:Google APIがブラウザーで試し放題!

なんとも、Google自身がAPIを試用するためのページを作っているというのです。
AJAX APIs Playground

少しだけ試してみました。

ページを開いて左上「Pick Sample」の中の「Blogger API」を選択。
さらにその内部「Blogs / List Blogs」で、Bloggerの記事一覧サンプルを開きます。
ページ下「Output」、右上「Edit Code」の内容が切り替わるので、実際に書き換えてみます。

「Edit Code」内17行目に、Bloggerのフィードのアドレスの変数が定義されているようなので、このブログのフィードである「http://holmes21.blogspot.com/feeds/posts/default」と入れ替えて「Output」右の「RunCode」で実行します。

すると、「Output」でこのブログの記事一覧が表示されます。

これを活用すれば何とはなしに出来る気がしてきました。
流石Google、いい仕事してますね。

Blogger用APIがあるらしい

iPhoneにBlogPressというBlogger用アプリがあることから、薄々は感づいてはいたのですが、本当にあったんですね。
Blogger Data API - Google Code
GoogleCodeの一環にあるものですが、日本語でのサンプルやリファレンスが作られていないので、使うには至難の業かも。

そもそも探してみた理由は、iPhone用のこのブログのページを作りたいため。
iPhoneで表示すると、記事一覧が表示され閲覧できる、そんなページが作りたいのです。
iPhoneから覗く時に、JS処理が多い記事(SyntaxHighlighter表示)や画像が大量にある記事などは、CPU処理が追いつかず、仕舞いにはSafariがダウンするのです。

どうせiPhoneを使っているのだから、iPhone使用者に還元されることをしてみたいものです。

2009年8月12日水曜日

とりあえず合宿なので




今日(昨日から)は、学校のお仕事している組織の合宿です。 ただ単に飲み食いワイワイするだけなのですが、まともな合宿なんて5年ぶりなので盛り上がりました。 1泊2日なのでまだ終わってないのですが。 毎年していない花火もしましたし、個人的にはかなり満足です。 --iPhone--

2009年8月9日日曜日

Vista そういえばMySQLが文字化けしていたなぁというお話

だーいぶ前にVistaにインストールしたMySQLですが、この間試験勉強に使用しようとOracleテーブルをエクスポートすると文字化けしていました。
その時には「まぁいいか」と思って放置していましたが、今後使っていくことを考えていくと、早めに対処しないといけないです。
・・・まぁ、今でも使用していないので今後するかどうかは悩みモノですが。

まだ今から調べるので、以下にまとめていきます。

ユーザ・データベースの作成
よく考えれば、前回はインストールしただけでユーザもデータベースも作っていませんでした。
なので、ユーザ作成からデータベース作成までを軽く流れていきます。

以下を参考にしました。
MySQL コマンドライン・クライアント

まずはログイン。
コマンドプロンプトから。
mysql -u root -p
データベース作成。
create database holmesdb
 default character set sjis;
ユーザ作成及び、全てのデータベースに対しての全権限付加。 MySQL/ユーザとDB作成 - MinacoWiki
GRANT ALL PRIVILEGES ON *.*
 TO holmes@localhost
 IDENTIFIED BY 'holmes'
 WITH GRANT OPTION;
この時点で。 SQLの窓からテーブルを作っても文字化け。 コマンドライン側からテーブルを作っても、SQLの窓側で文字化け。 ただ単純に文字コードの設定が合っていないだけのようです。 でも、SQLの窓はShift-JISで処理するはずだったような・・・? んー、また色々調べてみます。

2009年8月6日木曜日

マク度ケンテー 挑戦しました


公式にありました。
マク度ケンテー | ファン&キッズ | McDonald's Japan

全部で10問で、6,7問正解した気がしますが、それでも1級なんですね。
全問正解したらどうなるんでしょう、段とか師範とかあるのかなぁ。

2009年8月5日水曜日

Vista 「コンピュータ」のドライブを非表示

最近はUSBの利便性から対応機器も増えてきて、XPで言う「マイコンピュータ」に多くのドライブが表示されるようになりました。

ですがしかし、これを見てもらえればわかるのですが、「あっても使わないドライブ」も環境によっては表示されるのです。
僕の環境の場合は、マシンを買った時からカードリーダー(スロット)が標準で付いていましたが、正直使わないドライブもあります。

今回は、そういった「不要なドライブ」を表示しないようにします。
例によってレジストリ本の内容を参考にしています。

まずは対象のキーです。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer」内に、「NoDrives」という「バイナリ値」を新規作成します。
ここで非表示にしたいドライブに対応した値を入力します。

この図が各ドライブに対応した16進数です。
ここに書いてある通り、複数のドライブを非表示にしたい場合には、その値を加算する必要があります。


値を入力し保存した後、再ログオンすると、「コンピュータ」から指定したドライブが非表示になっているはずです。
これで完了です。
今までは1ウィンドウ内で収まっていなかったので、非常にスッキリしました。

なお、この場合はあくまでも「コンピュータ」に表示しないようにしただけですので、アドレスバーや「ファイルを指定して実行」からはドライブ内を参照することが可能です。

2009年8月4日火曜日

Vista 右クリックメニュー NVIDIAコンパネを削除

なんだかんだで、夏休みが来ました。
といっても、暴飲暴食 飲み会1日目を書いた日にすでに終業式。
授業日が延びたのは流行警戒宣言のおかげです。

とまぁ夏休みの話は放って置いて、Vistaのお話。
この間購入したレジストリ本から、自分の環境で触れておいたらいいなぁと思うものがあり、実際に変更をしたのでメモ。


デスクトップ上で右クリックした際の、「NVIDIA コントロール パネル」を非表示にする方法です。
なお、これはNVIDIA系のグラフィックボードを使用している環境にしか表示されません。
ATI系やIntel系オンボードの場合も似たような方法で出来るので後述。

毎回右クリックした際に表示されるのは、わずかながらも処理をしますし、そもそも多用しない上Windowsのコントロールパネルからいつも開いているので不要です。

まずは対象のレジストリから。
「HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers」がデスクトップ上で右クリックした際のメニュー内容が格納されている場所です。
その中に「NvCplDesktopContent」があるはずです、これが
NVIDIAのキーになるので削除します。

すると、デスクトップ右クリックでの「NVIDIA コントロール パネル」が表示されていないはずなので、これでひとまず終了です。

この作業を、ATI系ならば「ACE」、Intel系オンボードなら「igfxcui」で行うと同様に削除されます。

さて、NVIDIA系の場合はもうひと手間。
先ほど消したキーの(既定)に「{A70C977A-BF00-412C-90B7-034C51DA2439}」が設定されていましたが、これはインストールしたソフトウェアなどに一意的に付けられるクラスIDです。
このクラスIDでの呼び出しは、先ほど消したキー以外では使用されていないので、置いておいても良いのですが不要です。
HKEY_CLASSES_ROOT\CLSID」に「{A70C977A-BF00-412C-90B7-034C51DA2439}」というキーがあるので削除しておきましょう。

これで今回の作業は終了です。

2009年8月2日日曜日

暴飲暴食 飲み会3日目

今日でやっと最終日です。

成り行きでお友達たちと焼き肉食べ飲み放題です。
値段は少々張りますが、やはりそれだけの価値はあり、お肉もお酒もおいしい良い店でした。

それにしても、この3日間で食べて飲んでと自由にしてきましたが、結構体には負担がないようです。
寝る時にはベッドの上で寝返りをずっとしているようで、グルグル動き回っていたのは憶えていますが、それだけで済んで自由に動き回れるのはすごい。
まだまだ体が若いってことなのでしょうね。