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