※Vistaでも同じレジストリキーで管理されていました。 学校での制作物のために調べたのでメモ。 Vistaではまだ確認していないのでわかりませんが、 XPでは以下のレジストリキーを参照しているようです。 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall」 この中には、それぞれのソフトウェア名及びクラスIDが登録されています。 Terapadなどはそのままのキー名で表示されているのでわかりやすいです。 クラス名の場合は、そのキー内「DisplayName」を参照すると、 そこに「プログラムの追加と削除」時に表示されるソフトウェア名が書かれているので判別できます。 「プログラムの追加と削除」でソフトウェアを削除した際に、 ソフトウェア自体は削除できたのにリストから除外されない場合は、 このキーを削除してあげれば良いようです。
ホーム > アーカイブ > 8月 2009
2009年8月31日月曜日
「プログラムの追加と削除」が参照するレジストリキー
2009年8月30日日曜日
WindowsPCにおけるドライバ不明へのツールまとめ
何度かドライバ関係の投稿を書きましたが、 色々と情報及びツールが出てきているのでまとめておきます。 大体というか、ほぼGIGAZINEさんからの情報ですが。 まず、PCに対してドライバで困る場合が以下のようにあります。
- どのドライバが当てはまるかわからない。 (新しくOSをセッティングする場合や、XP→VistaのようなOS乗り換え時。)
- 今あるドライバを残しておきたい。 (今後OSやHDDに起こりえる問題の為に。)
2009年8月28日金曜日
iPhone BloggerAPI+iUIでBlogger投稿一覧表示
ひとまず表示は出来たのでメモ。 ほるめすメモ帳inBlogger - 投稿一覧 今回はiPhone、PCSafari、Firefoxで表示しました。 IE等はただリストで表示されるだけです。iPhoneで表示した場合です。 上バータイトルがすり切れているのは、ただ単に長すぎるからです。 実際の処理としては、BloggerAPIとiUIを混ぜ合わせただけなのですが、 色々と困ったことがあったのでまとめます。
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>以下のソースです。 ▼続きを読む/たたむ
01.
<div
class
=
"toolbar"
>
02.
<h1 id=
"pageTitle"
></h1>
03.
<a id=
"backButton"
class
=
"button"
href=
"#"
></a>
04.
</div>
05.
06.
<ul selected=
"true"
></ul>
07.
08.
<script type=
"text/javascript"
>
09.
var
bloggerService =
new
google.gdata.blogger.BloggerService(
'GoogleInc-jsguide-1.0'
);
10.
var
feedUri =
'http://holmes21.blogspot.com/atom.xml'
;
11.
12.
var
handleBlogPostFeed =
function
(postsFeedRoot) {
13.
var
posts = postsFeedRoot.feed.getEntries();
14.
15.
// タグ生成生成
16.
var
objul = document.getElementsByTagName(
"ul"
).item(0);
17.
objul.id =
"home"
;
18.
objul.title = postsFeedRoot.feed.getTitle().getText();
19.
20.
// タグ内投稿一覧生成
21.
var
html =
''
;
22.
for
(
var
i = 0, post; post = posts[i]; i++) {
23.
var
postTitle = post.getTitle().getText();
24.
var
postURL = post.getHtmlLink().getHref();
25.
html +=
'<li><a href="'
+ postURL +
'" target="_self">'
26.
+ postTitle +
'</a></li>'
;
27.
}
28.
objul.innerHTML = html;
29.
};
30.
31.
var
handleError =
function
(error) {
32.
// エラー処理
33.
var
objul = document.getElementsByTagName(
"ul"
).item(0);
34.
objul.id =
"home"
;
35.
objul.title =
"表示エラー"
;
36.
objul.innerHTML =
"表示エラーです"
;
37.
};
38.
39.
// ここで実行
40.
bloggerService.getBlogPostFeed(feedUri, handleBlogPostFeed, handleError);
41.
</script>
2009年8月27日木曜日
ある程度iUIを把握しました
まずは現物。 iUIテストページ iPhoneからで無くとも、SafariやFirefoxからもそれっぽいイメージを感じる事が出来ます。トップページはこんな感じ。 この画面に表示されているものが、ソースとして一括りで書かれている感じです。 上バー「iUIテストページ」は、以下のソースを入れておくと自動で生成されます。
上バー以下のソースはこちら。1.
<
div
class
=
"toolbar"
>
2.
<
h1
id
=
"pageTitle"
></
h1
>
3.
<
a
id
=
"backButton"
class
=
"button"
href
=
"#"
></
a
>
4.
</
div
>
1.
<
ul
id
=
"home"
title
=
"iUIテストページ"
selected
=
"true"
>
2.
<
li
class
=
"group"
>テスト中ページ</
li
>
3.
<
li
><
a
href
=
"#pages"
>ページテストまとめ</
a
></
li
>
4.
<
li
class
=
"group"
>その他リンク等々</
li
>
5.
<
li
><
a
href
=
"http://holmes21.blogspot.com/"
target
=
"_self"
>ほるめすメモ帳inBlogger </
a
></
li
>
6.
<
li
><
a
href
=
"index.htm"
target
=
"_self"
>ほるメモいんぶろ - 投稿一覧</
a
></
li
>
7.
<
li
><
a
href
=
"http://google.co.jp/"
target
=
"_self"
>Google</
a
></
li
>
8.
</
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>で書かれます。
同じようにidにはグループ名を用意し、 classには"panel"とすることでパネル表示になります。 画面では背景が途中で切れていますが、iPhone側では全体に表示されます。 あと、ここでは使用していませんが、テキストボックスやON/OFFスイッチも配置できます。 iPhoneやSafari上では遷移されて表示されるものは、 全て1ファイルにまとめて書かないといけないことから、 普通に作成するサイト構成とはだいぶ変わっています。 同iUI内で表示したいモノはページ1つに全て収めないといけないので、 ブログページを作るのであれば初めから全てロードしておく必要があるわけですね。 なるほどなるほど。1.
<
div
id
=
"ppanel"
class
=
"panel"
title
=
"パネル表示"
>
2.
<
h2
><div>を使用する。<
br
>
3.
class="panel"とする。<
br
>
4.
titleはページ名になる。</
h2
>
5.
</
div
>
2009年8月24日月曜日
iPhoneにスケールを合わせる1行
ひとまず、昨日使用出来るようになったusamimi.infoにindexページを作成。 本当にリンクのみですが、ひとまずはこのままで。 さてそのindexページですが、問題が一つ。 iPhoneで覗いて見ると、このように表示されます。ページの余白まで見てしまい、文字が小さく表示されます。 この小ささでは、ピンチイン(2本指で広げる動作)をしてズームしないと、見るのが難しいです。 そこでこの1行。
1.
<
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>内に書くだけで、見やすさがグンと上がります。1.
<
meta
name
=
"viewport"
2.
content="
width
=
device
-width,
3.
initial-scale
=
1
.0,
4.
maximum-scale
=
1
.0,
5.
user-scalable
=
0
6.
"
7.
/>
もうこれだけで、リンク集とかに使えるさっぱりしたページになりますね。
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用サイト作成の為のリンク集
2009年8月21日金曜日
浪花餃子スタジアムに行ってきました
2009年8月18日火曜日
Windows Vistaと7のデュアルブート事情
どうせいずれ(と言うよりももうじき)必要になる情報なので調べてみました。
- Windows Vista と共に Windows 7 をインストールしてデュアル ブート システムを構成する | TechNet
- Windows Vista と、Windows7をデュアルブートにしてみた。
- Core i7 PC に Windows 7 64bit + Vista + XP 32bit マルチブート環境を作ってみた - Nire.Com
2009年8月16日日曜日
iPhone用にOS判別
iUIを使用してページを構成すると、iPhoneからの見栄えが良くても、その他PCからの見栄えは悪くなります。 と言うより、iPhone用のページなのですからそれはそうなのですが。 ですので、iPhoneとそうでないものの判別をします。 以下を参考にしました。 Android携帯でブラウザから緯度経度情報を取得 - PHP,MySQL,Flexな日々+イラストとか そして実際のページ。 ほるメモいんぶろ - OS判別 なるほど、ブラウザの情報からOSの情報を引き出すんですね。PCなどのiPhone以外からアクセスされると、「iPhoneではありません。」と表示され、
iPhoneの場合は、「iPhoneです。」と表示されます。 実際のコードは以下の通り。
01.
<script type=
"text/javascript"
>
02.
//モバイル端末の判定
03.
var
agent = navigator.userAgent;
04.
document.write(
"ユーザエージェント:"
+ agent +
"<br>"
);
05.
if
( agent.search(/iPhone/) != -1 ){
06.
document.write(
"<span style='color:#0000ff;'>iPhoneです。</span>"
);
07.
}
else
{
08.
document.write(
"<span style='color:#ff0000;'>iPhoneではありません。</span>"
);
09.
}
10.
</script>
カテゴリ:
iPhone,
JavaScript,
ソース
2009年8月15日土曜日
まずはBloggerAPIで投稿一覧表示
とりあえずは、元々のソースをほぼ全部コピーで、記事一覧を表示してみました。 ほるめすメモ帳inBlogger - 投稿一覧 レンタルサーバで大々的に広告が表示されていますが、ある程度カタチが出来たらサーバでも借りようかと思っています。 今は練習段階です。 BloggerAPIの使い方は、前のメモにあるリンクに書いてある通りです。4行目でGoogleがホスティングしているファイルを参照し、5~7行目で実際に呼び出しています。 11行目に、JavaScriptで生成したタグを入れるための領域「content」を用意しています。01.
<
head
>
02.
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=shift_jis"
/>
03.
<
title
>ほるめすメモ帳inBlogger - 投稿一覧</
title
>
04.
<
script
type
=
"text/javascript"
src
=
"http://www.google.com/jsapi"
></
script
>
05.
<
script
type
=
"text/javascript"
>
06.
google.load("gdata", "1.s");
07.
</
script
>
08.
</
head
>
09.
10.
<
body
>
11.
<
div
id
=
"content"
></
div
>
ここもほぼ元ソースそのまま。 一覧取得用のサービスを用意して、読みに行っています。 ここで一段落。 ちなみに、iPhoneっぽいページ表示をするためには、「iUI」というのが便利そうです。 iui - Project Hosting on Google Code iPhone 3G用のWebページを作る3 - [JavaScript]All About それ以前に、iPhoneの解像度や特有の設定などがあるようなので、それを調べないといけないのですが。01.
<script type=
"text/javascript"
>
02.
var
content = document.getElementById(
'content'
);
03.
var
bloggerService =
new
google.gdata.blogger.BloggerService(
'GoogleInc-jsguide-1.0'
);
04.
var
feedUri =
'http://holmes21.blogspot.com/feeds/posts/default'
;
05.
06.
var
handleBlogPostFeed =
function
(postsFeedRoot) {
07.
var
posts = postsFeedRoot.feed.getEntries();
08.
var
html =
''
;
09.
10.
html +=
'<dl>'
11.
+
'<dt><strong>Blog:</strong> '
12.
+
'<a href="'
13.
+ postsFeedRoot.feed.getLink(
'alternate'
).getHref()
14.
+
'">'
15.
+ postsFeedRoot.feed.getTitle().getText()
16.
+
'</a></dt>'
;
17.
18.
html +=
'<dd><ul>'
;
19.
for
(
var
i = 0, post; post = posts[i]; i++) {
20.
var
postTitle = post.getTitle().getText();
21.
var
postURL = post.getHtmlLink().getHref();
22.
html +=
'<li><a href="'
+ postURL +
'" target="_blank">'
23.
+ postTitle
24.
+
'</a></li>'
;
25.
}
26.
html +=
'</ul></dd>'
;
27.
28.
content.innerHTML = html;
29.
};
30.
31.
var
handleError =
function
(error) {
32.
content.innerHTML =
'<pre>'
+ error +
'</pre>'
;
33.
};
34.
35.
bloggerService.getBlogPostFeed(feedUri, handleBlogPostFeed, handleError);
36.
</script>
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日水曜日
とりあえず合宿なので
2009年8月9日日曜日
Vista そういえばMySQLが文字化けしていたなぁというお話
だーいぶ前にVistaにインストールしたMySQLですが、この間試験勉強に使用しようとOracleテーブルをエクスポートすると文字化けしていました。 その時には「まぁいいか」と思って放置していましたが、今後使っていくことを考えていくと、早めに対処しないといけないです。 ・・・まぁ、今でも使用していないので今後するかどうかは悩みモノですが。 まだ今から調べるので、以下にまとめていきます。 ユーザ・データベースの作成 よく考えれば、前回はインストールしただけでユーザもデータベースも作っていませんでした。 なので、ユーザ作成からデータベース作成までを軽く流れていきます。 以下を参考にしました。 MySQL コマンドライン・クライアント まずはログイン。 コマンドプロンプトから。データベース作成。1.
mysql -u root -p
ユーザ作成及び、全てのデータベースに対しての全権限付加。 MySQL/ユーザとDB作成 - MinacoWiki1.
create
database
holmesdb
2.
default
character
set
sjis;
この時点で。 SQLの窓からテーブルを作っても文字化け。 コマンドライン側からテーブルを作っても、SQLの窓側で文字化け。 ただ単純に文字コードの設定が合っていないだけのようです。 でも、SQLの窓はShift-JISで処理するはずだったような・・・? んー、また色々調べてみます。1.
GRANT
ALL
PRIVILEGES
ON
*.*
2.
TO
holmes@localhost
3.
IDENTIFIED
BY
'holmes'
4.
WITH
GRANT
OPTION
;
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}」というキーがあるので削除しておきましょう。 これで今回の作業は終了です。