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

以前に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認証で紹介した方法では、アプリに用意されているコンシューマキーからリクエストトークンを取得し、次にアクセストークンを取得し、それを元にプログラムからツイートができるというものでした。

以前に、Twitter APIにふれた記事を書きました。
PHPでTwitter APIを使ってみる
認証を必要としない、簡易版を紹介したのですが、今回は認証を含めた処理にチャレンジしたいと思います。

前回もお話したように、Twitter APIに認証にはBASIC認証、OAuth認証、あとxAuth認証というものがあるようですが、BASIC認証は2010年の6月にサービスが停止し、使えなくなるそうです。そこで、今回はOAuthを勉強してみたいと思います。OAuthは、ゼロオースではなくて、オーオースと読むようですね。

さて、WebアプリでTwitter APIのOAuthを実装するためには、twitter developersでアプリケーションを登録する必要があります。
http://dev.twitter.com/

OAuthを利用するためには、アクセストークン(Access Token)とアクセストークンシークレット(Access Token Secret)が必要になります。少し難しいので、詳細は割愛しますが、APIキーみたいなものです。下記のサイトでアプリ登録することで、Access TokenとAccess Token Secretを取得できます。
http://dev.twitter.com/apps/

アプリケーション追加のフォームに遷移します。入力するのは、

ネットワーク構成変更で旧サーバから新サーバに切り替えることになり、Subversionのリポジトリを移動させました。
バージョンとしては、移行元
Ubuntu9.10 Subversion1.6.5
から
WindowsXP Subversion1.6.6
への移行です。

SubversionではOSなどのプラットフォームには依存しないようで、基本的にはMacも含めて移行が可能のようです。

普天間問題は、何が問題なのでしょうか。

私は、生まれも育ちも沖縄です。生まれる前から沖縄に米軍基地はありました。
幼い頃から、連日、地元の新聞やテレビでは米軍関係のニュースをやっていました。外では、毎日のように軍用機が飛んでいるし、少し遠出するのには基地が見える道を通っていました。ごく自然で、それがあって当たりまえの生活だったんです。
こんなこと言うと、怒られるかもしれませんが、個人的に基地の存在については反対とは言い切れません。おじー、おばーは、戦争を経験した思いから、反対の気持ちが強いのかもしれませんが。私は、その意思を引き継いでいない、ダメな若造かもしれません。基地が無くなることにこしたことはないですが、しかし、常に生活の隣合わせであった基地について、「賛成」「反対」で片付けられる単純な問題でないことはよく分かっているつもりです。

AS3でブラウザ判定をしたかったので、調査メモです。

ActionScriptはクライアントで動作するスクリプトなので、ブラウザ情報を取得できるはず、ということで調べてみました。
結果、どうやらActionScript自体にはブラウザを判定するクラスは用意されていないようです。その代わり、外部APIとやりとりするための「ExternalInterface」というクラスが用意されており、これを利用してJavaScriptの関数を呼び出したり、逆に呼ばれたりといった処理が実現できます。

具体的には、ブラウザを判定するために、JavaScriptの「window.navigator.userAgent」を呼び出します。

Monthly Archives