WEB/システム/IT技術ブログ

Googleノートブックのサービスが終わるようです。

GoogleノートブックはAjaxを駆使して作成されたWebアプリケーションで、ネットがつながっていればどこでもメモを残したり画像を貼り付けたりできます。

その気軽さ、利便性から個人的に重宝していたのですが、2009年に開発ストップ、新規ユーザの登録ができない状態になっているようです。
Stopping development on Google Notebook
もう1年半前もの話。だいぶ遅れていますね。

特別重要なことを書き留めているわけでもないので、データが消えるのも問題ないのですが、それに代わるツールはないものかと調べていました。
そこでGoogleドキュメントを知ったのです。
Googleドキュメント
これまた遅れてますね。

存在は知ってはいたのですが、当時「Officeから乗り換える」など記事に対して「それはないだろ」という考えから、サービスを登録していませんでした。
今回、Googleノートブックの代わりとしてはじめて使用してみたのですが、予想以上に快適ですね。
Officeとは別物として、ノートブックの代替としてしばらく使いこんでみようかと思います。

あと、私は必要ありませんが、GoogleノートブックのデータをGoogleドキュメントへエクスポートできるようですね。

それにしても、突如サービス開発停止の情報を知りました。クラウドが注目される中、サービスに依存するリスクを感じた今日この頃です。

サイトをまるごとお引越しをしてドメイン名が変わる場合に、旧サイトへのアクセスをリダイレクトで新サイトに誘導したい場合があります。

例えば、先日このサイトも
http://blog.he-ron.jp/
から
https://helog.jp/
にお引越しました。

旧サイト「http://blog.he-ron.jp/test」へのアクセスがあった場合に新サイト「https://helog.jp/test」へリダイレクトさせたい。さらには、全てのページを新サイトへリダイレクトさせたいといった場合に、mod_rewriteの機能を使うことで実現できます。

前回はレンタルサーバであるCORESERVERにSubversionをインストールしましたが、今回は知人からの相談で、さくらレンタルサーバへのSubversionにチャレンジしてみました。

作業するにあたりターミナルなどコマンド入力が可能な環境が必要なのですが、今回はputtyを使用しました。サーバにはFTPで「/home/user/.ssh」へのアクセスが可能なのでsshの鍵を置いた後に、puttyで接続可能となるはずです。

ソースのダウンロード

まずは、作業ディレクトリを作成、ソースをダウンロード、そして解凍します。現在時点で、最新のソースは1.6.12でしたので、それをインストールします。

cd
mkdir ./src
mkdir ./src/svn
cd ./src/svn
wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz
tar xzf subversion-1.6.12.tar.gz
tar xzf subversion-deps-1.6.12.tar.gz

MovableTypeやWordpressなどでサイトを管理している場合、自動的にサイトマップやRSSを発行してくれるのでよいのですが、通常のサイトでそれを実現するのは難しいです。特にページ数の多いサイトだと、手動でサイトマップを更新していくのは至難の業ですね。

そこで、今回はPHPプログラミングを活用して、静的なサイトで自動的にサイトマップを作成したいと思います。

PHPではディレクトリを開く関数「opendir」とディレクトリを読み込む関数「readdir」があります。
これを使い、

  • opendirでディレクトリを開きreaddirでパスのリストを取得する
  • パスを一つずつ見てファイルの場合は出力する
  • ディレクトリの場合は再びopendirでディレクトリを開く

といった処理を繰り返して、最終的にファイルのリストを出力します。

以前にWordpressでパーマリンクの設定方法を紹介しました。
WordPressのパーマリンク設定でSEO
Apache1.2以降で使用可能なモジュールrewriteを利用して実現しているのですが、Wordpressに限らず、動的URLを静的URLに変更できます。

このサイトは動的ではありませんが、例にしてURL変換を説明すると、
http://blog.he-ron.jp/cms/ ⇒ http://blog.he-ron.jp/?cat=cms

http://blog.he-ron.jp/cms/wordpress/ ⇒ http://blog.he-ron.jp/?cat=cms&subcat=wordpress
などといった、静的なアドレスへのアクセスに対して、動的なアドレスへ誘導することができます。

smartyを使用した環境でセッション処理を行おうとしたのですが、プログラム「session_start()」のところでエラーとなってしまいました。以下、問題が発生した環境です。

  • PHP : 5.3.0
  • smarty : 2.5.26
  • 文字コード : UTF-8
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at xxxxxxxxxindex.html:1) in xxxxxxxxxindex.php on line 61

テンプレートを読み込み、ページを表示するところは動作しているのですが、どうしても上のエラーがくっついてきます。
いくつか調べているうちに、生成されたhtmlページの1行目の先頭に半角スペースが入っていることが原因だと分かりました。わかりづらいかもしれませんが、以下のように半角スペースがひとつ混入しています。

先日の続きで、Twitter APIのOAuthを使った具体的なPHPプログラムです。

PEARライブラリの用意

まずは、PEARライブラリを活用するので、以下のパッケージをダウンロード、インストールします。

HTTP_Request2

HTTP_OAuth

コンシュマキーの設定

前回のアプリ登録で取得したコンシューマキーを設定します。

コンシューマキーは、Twitterのサイトでログインした後、以下のページから取得できます。

http://twitter.com/apps

該当するアプリケーションをクリックし、「Consumer key」と「Consumer secret」を取得します。

PHPでコンシューマキーを設定する流れです。

ログの出力にはいろいろとありますが、今回はPEARのパッケージ「Log」の活用例です。

Package Information: Log

PEARを利用することで、ログのファイルへの書き出しだけでなく、DBやメールでの出力もスムーズに行うことができます。

例えば、以下のようにするだけで、ファイルへログを出力することができます。

require_once('Log.php');
$log = &Log::factory('file', '/log/test.log', 'TEST');
$log->('テストログです');

これまで、CSV形式のファイルをオープンして、書き込んで保存したりしていましたが、こっちのほうが断然楽ですね。

これまでに得たTwitter APIの知識を活かしてbotを作ってみました。
Twitterは通常、人が手動でWebに入力したつぶやきが反映されます。しかし、入力をプログラムなどで自動化したものをロボット(Robot)、通称ボット(bot)と呼ぶようです。

プログラムは前回に構築した
PHPでTwitter APIを使ったOAuth認証
をベースにします。
OAuth認証で紹介した方法では、アプリに用意されているコンシューマキーからリクエストトークンを取得し、次にアクセストークンを取得し、それを元にプログラムからツイートができるというものでした。

Monthly Archives