以下の内容はhttp://blog.livedoor.jp/splus_r/archives/2011-01.htmlより取得しました。


最近、CSSとかHTMLをいろいろ読み書きできるようになったので、ブログをカスタマイズしてみることにしました。手始めにはてなブックマークボタンツイートボタンをブログにつけてみます。

はてなもTwitterもよくできた公式ボタンを最近リリースしています。もちろんこういった機能を実現するプログラムは以前にもたくさんあったのですが、やっぱり公式ボタンが信頼できますね。まずはツイートボタンから。このサイトでコードを自動生成できるのですが、ちょっとコツがあります。

Twitter公式ツイートボタン

1の「ツイート内テキスト」で<$ArticleTitle ESCAPE$>、「URL」に<$ArticlePermalink$>を入れましょう。2で自分のアカウントをいれておくと、ツイートするときに"via @kazu_fujisawa"みたいに出してくれます。
次のようなコードが自動生成されるはずです。

<a href="http://twitter.com/share" class="twitter-share-button" data-url="<$ArticlePermalink$>" data-text="<$ArticleTitle ESCAPE$>" data-count="horizontal" data-via="kazu_fujisawa" data-lang="ja">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

ライブドアブログでは<$ArticleTitle ESCAPE$>がエントリーのタイトルを自動的に返すタグです。また<$ArticlePermalink$>がそのURLを返します。これらのタグはそれぞれのブログベンダーで違いますから、自分で調べてみてください。data-urlでエントリーのURLを指定します。data-textでどういうテキストを最初に表示させるか指定します。この場合はエントリーのタイトルになっていますね。ブログ名も入れたかったら<$BlogTitle ESCAPE$>も加えるといいでしょう。data-text="<$BlogTitle ESCAPE$> : <$ArticleTitle ESCAPE$>"のように書きます。

次ははてなブックマークボタンのコードを生成しましょう。次のサイトで同じように生成できます。



1のところにライブドアブログのタグを入れても、「<」と「>」がHTMLの実体参照に置き換わってしまいうまくいきませんでした。直接テキスト・エディタで編集した方がいいようです。

<a href="http://b.hatena.ne.jp/entry/<$ArticlePermalink$>" class="hatena-bookmark-button" data-hatena-bookmark-title="<$ArticleTitle ESCAPE$> - <$BlogTitle ESCAPE$>" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

<$ArticlePermalink$>と<$ArticleTitle ESCAPE$>と<$BlogTitle ESCAPE$>のところが自分で書かないといけないところです。

以上ではてなブックマークボタンツイートボタンの準備は完了です。あとはこれを好きなところに貼るだけです。

僕は次のところに貼りつけました。ライブドアブログの「デザインのカスタマイズ」で「トップページ」、「個別記事ページ」、「カテゴリアーカイブ」、「月別アーカイブ」で次の場所にコピペします。

・・・icleCategory1$></a>&nbsp;</IfArticleCategory1><IfArticleCategory2>|&nbsp;<a href="<$ArticleCategory2Url$>"><$ArticleCategory2$></a></IfArticleCategory2></div>
<Div Align="right"><a href="http://twitter.com/share" class="twitter-share-button" data-url="<$ArticlePermalink$>" data-text="金融日記テクニカル <$ArticleTitle ESCAPE$>" data-count="horizontal" data-via="kazu_fujisawa" data-lang="ja">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<a href="http://b.hatena.ne.jp/entry/<$ArticlePermalink$>" class="hatena-bookmark-button" data-hatena-bookmark-title="<$ArticleTitle ESCAPE$> - <$BlogTitle ESCAPE$>" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script></Div>

<IfFirstArticle><$Advertise$></IfFirstArticle>
</div>
<div class="blogbodybottom・・・


これでめでたくはてなブックマークボタンツイートボタンがついたはずです。たしかめてみましょう。

GoogleはApp Engineという無料で使えるクラウド・システムを提供しています。最近までPythonしか使えませんでしたが、Javaもサポートするようになりました。サーブレットやJSPが動くので非常に便利なクラウドです。月間500万ページビュー程度までは無料でいけるようです。さらにリソースが必要だったり、パフォーマンスを上げたい場合は課金設定をしてGoogleに多少お金を払う仕組みです。いずれにしても個人営業のサイトだと、無料の範囲でほぼ問題なさそうです。

しかしこんな夢のようなシステムですが、現在稼動しているJavaのWebアプリケーションをそのまま使えるかというとそうは問屋が卸しません。次のような大きな制約があります。

1. SQLデータベースが使えない。
2. ファイルが書き出せない。
3. SwingやAWTなどのJavaのグラフィック関連のクラスが全滅。

1のSQLデータベースがそのまま使えないというのは、多くの業務用Webアプリケーションにとってそうとう痛いでしょう。これはBigtableというNon-SQLデータベースに置き換わります。これだけのクラウド・リソースを不特定多数のユーザーに無料で提供するには、やはりSQLデータベースは制限せざるを得ないようです。僕はまだあまり詳しくありませんが、BigtableはGoogleの様々なアプリケーションに応用されている高速データベースです。要はSQLデータベースで作ったものはそのままでは動かないということです。

2もセキュリティーの問題から制限せざるを得なかったようです。ファイルはもちろんアップロードできるのですが、App Engine上のプログラムからファイルを作ることはできません。データを動的にストアする必要があればBigtableを使うことになります。

3ですが、これはけっこう痛かったりします。というのも、JavaにはJFreeChartのようにフリーのグラフを作ったりするライブラリがたくさんあって、それらが全く使えなくなるからです。GoogleはSwingやAWTの代わりのクラス・ライブラリを提供していますが、長年使い込まれてきたライブラリが使えないのは痛いでしょう。その他にもグラフィックがなくても実はSwingやAWTのクラスを使っているライブラリはいろいろあって、ほぼ全滅状態です。

しかし、これらの制約を回避できるならば、Google App Engine for Javaは極めてパワフルなクラウド環境を無料、もしくは非常に安価に提供してくれます。個人で面白サイトを作ったりする場合なんかは非常にいいサービスですね。ただJavaの業務用アプリケーションを移植するのは結構大変そうです。

ここでは僕の備忘録も兼ねて、Google App Engineのはじめかたを簡単にまとめておきます。

I. Google App Engineのアカウント登録

とりあえずGmailアカウントが必ず必要なのでひとつ用意してください。それからGoogleサイトにわかりやすい説明があるのでひと通り読みます。

Google App Engine スタート ガイド

読み終わったらいよいよ登録しましょう。しかしここで携帯電話のメルアドがひとつ必要になります。ロボットによる大量アカウント取得を避けるために携帯電話のメルアドにパスワードを送って認証しています。Googleにまたひとつ個人情報を取られるわけですが、しょうがないので登録しましょう。あとは指示に従っていけば簡単にアカウントを作れます。ここでアプリケーションの名前を決めますが、URLは次のようになります。

    http://アプリケーション名.appspot.com

このアプリケーション名は10個までひとつのアカウントで作れますし、それぞれのアプリケーションが複数のバージョンを持つことができます。リリースするときは普通ドメインを取るでしょうから、これだけたくさん使えれば十分でしょう。もちろん独自ドメインを使うこともできます。

II. GoogleプラグインをEclipseにインストール

これもGoogleのサイトにわかりやすく書いてあります。

Google Plugin for Eclipse の使用

ツールバーの[Help]の[Install New Software...]にいって、"http://dl.google.com/eclipse/plugin/3.6"を[Add...]します。最後の数字がEclipseのバージョンに対応しています。僕は最新の3.6を使っているのでこのようになります。[Google App Engine Java SDK]と[Google Web Toolkit SDK]を選択してあとは指示に従っていけばインストールできます。

III. Google App Engineで"Hello World!"

それではいよいよ最初のプログラムをデプロイ(deploy)してみましょう。ちなみにWebプログラミングの世界ではプログラムをサーバーに上げることをデプロイといいます。もともとは英語の戦争用語で部隊を配備するというような意味です。

Eclipseのツールバーの[File]の[New]で[Web Application Project]を選択します。プロジェクト名とパッケージ名を決めましょう。それからUse Google Web Toolkitのチェックを外します。

Google App Engine のプロジェクトを作る


このプロジェクトにアプリケーション名を教えてやる必要があります。Project Explorerのプロジェクトの上で右クリックして[Properties]を選択します。[Google] > [App Engine]のApplication IDのところで最初に登録したアプリケーション名をいれてください。

それではデプロイしてみましょう。デプロイは飛行機ボタンです。ここでGoogle App Engineを登録したGmailアドレスとパスワードが必要になります。どうですか? うまくいきましたか? ブラウザで"http://xxx.appspot.com/"を見てみましょう。"Hello App Engine!"と出てくれば成功です。

これでJavaのサーブレットやJSPが動くようになりましたね。JSPで注意しないといけないのは、Google App EngineはコンパイラにJDKを指定しないとうまく動かないことです。Project ExplorerのJRE System Libraryを右クリックしてAlternate JREで最新のJDKを選択してください。JDKが登録されていなかったら登録してしてください。なぜかJSPはJDKじゃないとうまくコンパイルできませんでした。

以下に使えそうな参考書をリストしておきます。





Macを使ってみて、とても気に入ったのがキーボードのスペースキーの左横についている「英数」ボタンと、右横についている「かな」ボタンです。「英数」ボタンを押すと半角英数文字で直接入力に切り替わります。「かな」ボタンを押すと日本語入力に切り替わります。ちょうどスペースの横にこれらのボタンがあり、これがなんともいいのです。そこでWindowsキーボードにも「無変換」「変換」ボタンが同じ場所にありますから、これをMac風にしてみましょう。

ちなみにマイクロソフトの日本語入力(MS-IME)ははっきりいってしょぼいので、Googleの日本語入力を使っています。これからの設定もこれが前提になるのでインストールしておきましょう。インストールは次のサイトにいってボタンを押すだけでできます。

Google日本語入力

さて、それではMac風の「英数」「カナ」ボタンを実装しましょう。

まず、Google日本語入力バーのバールをクリックして「プロパティ」を選びます。
次に「一般」の「キー設定の選択」を「カスタム」にして、横の「編集」をクリックします。
この「編集」の中の左下の「編集」から「定義済みのキーマップからインポート」で「MS-IME」を選びます。
さて、ここからが本番です。
「編集」で「新しいエントリー」を選択して、次のふたつを設定します。
(一番下の2行です)

WindowsキーボードにMac風「英数」「かな」ボタンをつける


「モード」と「コマンド」は選択肢の中から選ぶだけですけど、「入力キー」はセルをアクティブにして実際にキーボードのボタンを押せば自動的に入力してくれます。

以上です。

Google日本語入力と、このMac風の「英数」「かな」ボタンでWindowsの日本語入力環境は劇的に改善されますよ。

Subversionというのはバージョン管理ツールの定番です。バージョン管理というと、ファイル名をhogehoge.java.bakとかにして古いコードのバックアップをとっていったり、フォルダごとコピーしておいたりする方法が最も原始的で簡単ですが、これだと複数のプログラマーで開発していたり、ひとりでも複数のPCで開発していたりするとかなり面倒になってきます。そこでバージョン管理してくれるSubversionというとても便利なフリーのプログラムがあります。僕はインストールしようとして、けっこうハマったので、このエントリーに備忘録的にインストールの仕方を書いておきます。

まずはコマンドラインで使うオリジナルのSubversionを落としましょう。公式サイトです。

Apache Subversion

ここで自分のOSのバイナリー・パッケージを探してください。僕は次のサイトで落としました。

SourceForge.net > Subversion for Windows

実際のところ、Eclipseから使うので、このコマンドラインのバージョンはあまり使うことはありませんが、最初にレポジトリを作るときに必要です。レポジトリはコマンドプロンプトを起ち上げて、レポジトリを置きたいフォルダに"CD"で移動して、"svnadmin create ."で作れます。このレポジトリを後からEclipseで使います。

さて、さっそくEclipseにSubversionをインストールするのですが、これがけっこう曲者で落とし穴がいくつかあります。コネクターを別にインストールしないといけないのですが、これがヴァージョンが最近上がったらしくて、本やググると出てくるサイトに書いてある通りにやってもうまくいかないからです。それでは順に説明していきます。Eclipseは最新の3.6(Helios)です。

メニューの"Help > Install New Software"で次のサイトを"Add"してください。

http://download.eclipse.org/technology/subversive/0.7/update-site/

ここで"Helios - http://download.eclipse.org/releases/helios"を選べと、本やググると出てくるサイトに書いてありますが、これをやるとなぜかコネクターがインストールできなくなります。

Subversive Install

"Subversive SVN Team Provider (Incubation)"を選んでください。あとは支持に従いインストールします。ちなみにEclipseのSubversionプラグインは他にもいいものがあるらしいですが、Eclipseは近い将来にSubversionを最初からサポートするらしくて、その際にSubversiveになるそうです。よってSubversiveが推奨されているので、僕もこれを入れました。

Eclipseで最初にSubversionを使おうとすると、コネクターのインストールを要求されます。コネクターが著作権の関係で別にインストールしなければいけないようです。

Subversive Connector

"SVN Kit"の最新バージョンをインストールしました。この場合は1.3.3ですね。

以上でSubversionのインストールは完了です。次回はSubversionの使い方を簡単に説明します。

参考資料

最近、ウェブ・サイト制作の勉強をしようと思い、HTMLとCSSの本を本屋で立ち読みして10冊ほど買い込みました。その結果、次の3冊が僕的にはかなり役に立ちました。ちなみにが業界標準のパッケージですが、僕はサンプル・コードをテキスト・エディタでちょこちょこ直すだけで今のところ十分なので、そういう用途で役に立った本です。

それにしても最近のサイトってみんなスタイル・シート(CSS)で作るんですね。ところでCSSというのはCascading Style Sheetsの略です。CSSでサイト全体のレイアウトを決めて、そのレイアウトにHTMLを流しこんでいきます。CSSが標準化して普及する前(10年以上前?)はHTMLのTableタグでこういうことをやっていたのですが、CSSのおかげで非常に洗練されました。

1.

とてもシンプルかつ使いやすいサンプルがひと通り入っています。また本そのもののデザインもきれいで読みやすいです。のような商用アプリケーションに依存しないのもいいですね。とりあえずCSSを手っ取り早く学んで、雛形がほしい人にはオススメの本です。

またこの本のいいところは、サンプルコードのCD-ROMがついていないことです。出版社のサイトからダウンロードできるようになっています。僕は今時インターネットにつながらない人がプログラミングなんてしないのだから、CD-ROMなんていらないとずっと思っていたのでこれは評価できます。

2.

ググれば大体のことはわかりますが、やっぱり紙のHTML辞典があると便利です。定番本ですね。

3.

この本はHTMLやCSSがひと通りわかるようになった人がさらに気をつけるといいポイントをまとめています。プロのウェブ・デザイナーのノウハウ集みたいな感じです。ひとつひとつのポイントが簡潔にまとめられているし、本の構成もきれいなのでとても読みやすいです。コラムもいろいろウンチクが身につき、読み物としても面白いですね。

ところでHTMLやCSSをいじるエディターですが、なんだかんだいってEclipseのエディターが一番使える気がします。

以上。



以上の内容はhttp://blog.livedoor.jp/splus_r/archives/2011-01.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14