Calendar

September, 2008

links

お絵描きコミュニケーションサイト「うごうごブログ」

2008年08月18日

Mac OS X のキーボードショートカット

「Mac OS X のキーボードショートカット」は以下のリンクから参照できます。

Mac OS X のキーボードショートカット

2008年08月13日

PHPテンプレートエンジン「Smarty」をインストール

PHPテンプレートエンジン「Smarty」をインストールしました。 以下はその手順です。
  1. 事前準備
    Apache + PHPが予めインストールされていることを確認します。
  2. ソースの入手
    Smartyから最新版のソース(この時点では Smarty-2.6.19.tar.gz )をダウンロードします。 → ソースの入手先はコチラ
  3. ソースの配置
    ダウンロードしたソースを解凍し、その中の、libsディレクトリをPHPがインストールされているディレクトリ(当環境では /usr/lib/php )にコピーします。
    sudo cp ./Smarty-2.6.19/libs /usr/lib/php/Smarty
  4. php.iniの編集
    /etc/php.iniにSmartyが使用できるようにinclude_pathに先程コピーしたライブラリのパスを追加して、apacheを再起動します。
    include_path = ".:/usr/lib/php:/usr/lib/php/Smarty"
  5. 動作確認
    解凍したソースのDemoディレクトリをapacheのDocumentRootにコピーし、パーミッションを777に変更します。 そして、Demo/index.phpのSmarty.class.phpをインクルードしている箇所を次のように変更します。
    [変更前]require '../libs/Smarty.class.php';
    [変更後]require('Smarty.class.php') ;
    後はブラウザからlocalhost/Demo/index.phpにアクセスして、次のメッセージが表示されたらOKです。
    Title: Welcome To Smarty!
    The current date and time is 2008-08-13 19:07:28
    The value of global assigned variable $SCRIPT_NAME is /index.php
    Example of accessing server environment variable SERVER_NAME: 192.168.1.5
    The value of {$Name} is Fred Irving Johnathan Bradley Peppergill
    variable modifier example of {$Name|upper}
    FRED IRVING JOHNATHAN BRADLEY PEPPERGILL
    
    An example of a section loop:
    	1 * John Doe
    	2 * Mary Smith
    	3 . James Johnson
    	4 . Henry Case
    An example of section looped key values:
    	phone: 1
    	fax: 2
    	cell: 3
    	phone: 555-4444
    	fax: 555-3333
    	cell: 760-1234
    testing strip tags
    This is a test

2008年08月12日

Movable Type - Dynamic Publishing - SQL/DB Error

当Blogのアーカイブページをダイナミック・パブリッシングに変更して、エントリを開くと、次のエラーメッセージが表示されました。

	SQL/DB Error -- [
	 	Error establishing a database connection!
		Are you sure you have the correct user/password?
 		Are you sure that you have typed the correct hostname?
		Are you sure that the database server is running?
	]
	SQL/DB Error -- [
		Error selecting database ********!
 		Are you sure it exists?
 		Are you sure there is a valid database connection?
	]

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /movabletype/MT-3.34-ja/php/extlib/ezsql/ezsql_mysql.php on line 93

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /movabletype/MT-3.34-ja/php/extlib/ezsql/ezsql_mysql.php on line 94
	SQL/DB Error -- []
	SQL/DB Error -- []
	SQL/DB Error -- []
Error executing error template.

メッセージから、察するに、DBへの接続に失敗していることはわかったけど、mt-config.cgiに記述した、同じ、情報で、Perlでの接続は正しく行われている(そうでなければ投稿できないから)。 念のため、/MovableType/MT-3.34-ja/php/extlib/ezsql/ezsql_mysql.phpのdb関数の各変数をチェックしたが、mt-config.cgiとの差異はなかった。 1点、思い当たるのは、MT用DBのアカウントを作成したときに、手抜きして、パスワードを生成しなかったこと。 と、考えられるのは、コメントアウトした変数が、PHPのmysql_connect()では、未定義値として渡されている可能性。 そこで、mysql_connect()をCallする箇所を次のように変更してみた。

	if (! empty($dbpassword))
		$this-<dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
	else
		$this-<dbh = @mysql_connect($dbhost,$dbuser,'');

結局、この修正で表示されるようにはなったけど、アカウントとパスワードは必ず指定しろってことなので、横着せずに、パスワードを発行しておきました。

2008年08月06日

Xcodeのエディタフォントを変更

Xcodeのソースエディタを、外部エディタに変更([環境設定]-[ファイルタイプ]から)しようとしたんだけど、そうすると、コード補完などには対応しないこともあったので、デフォルトのフォントだけを変えようと思い、[環境設定]-[フォントとカラー]で変更しようとしたんだけど、これだと、カラーテーマ別に全部、指定しなければならなかったので、面倒だから、その方法は止めました(テーマ1種類しか、使わないなら、これでいいかも。)。
変わりに、どうやら、デフォルトエディタが「スクリプトエディタ」ということなので、同エディタの[環境設定]-[フォーマット]パネルでフォントを変更して対応しました。
でも、フォントとカラーは別々に設定できるようになって欲しいな。Xcode。

mysqlクライアントで文字コードを変更

mysqlクライアントで使用するデフォルト文字コードは、my.cnf(Windowsだったらmy.ini)の[mysql]セクションにdefault-character-set=文字コードと記述しておくのが、通例ですが、一時的に、ちょっと、変更(そんな時あるのか?)したいとか、DBが複数あって、それぞれ文字コードが違うときなどは、起動時に次のようにオプションを指定して入力すれば、とりあえずは、事足ります。

文字コードを指定してmysqlクライアントを起動する

mysql -uroot -p --default-character-set=文字コード(sjis | ujis | utf8)

2008年08月05日

JavaScriptでOSを取得しWindowsフォントのスタイルシートを動的に追加

普段、Mac OSを使用しているので、ついつい、Windowsでのデザインチェックを怠っていたのですが、この度、やっと、JavaScriptで、クライアントのOSが、Windowsだった場合は、Windowsのフォントとサイズを定義した、スタイルシートを動的にページに書き出すようにしました。
以下は、その定義の一部を抜粋したものです。

JavaScriptでクライアントのOSを取得

NavigatorオブジェクトのuserAgentプロパティから、その文字列にOSの一部(win,macなど)が含まれているかチェックし、OSの種類を判断します。以下にその簡単な使用例を。
var agent = navigator.userAgent.toUpperCase();	//toUpperCaseで文字列を大文字に
//取得した文字列を検索
if (agent.indexOf("MAC") >= 0) {
	alert "Mac OS";
} else if (agent.indexOf("WIN") >= 0) {
	alert "Windows";
} else if (agent.indexOf("X11") >= 0) {
	alert "UNIX";
} else {
	alert "Mac,Windows,UNIX以外";
}

JavaScriptでスタイルシートを動的追加

月別、もしくは、OS別(判断方法は上記参照)に、使用するスタイルシートを変更するには、documentオブジェクトのwriteメソッドで、以下のように記述します。
<script type="text/javascript">
<!--
	var css = "";
	//ユーザエージェントからOSの種類をチェック
	var agent = navigator.userAgent.toUpperCase();
	if (agent.indexOf("MAC") >= 0) {
		css = "mac.css";
	} else if (agent.indexOf("WIN") >= 0) {
		css = "win.css";
	}
	//cssが空文字以外だったらそのスタイルシートをリンクするように記述
	if ( css != "" ) {
		document.open();
		document.write("<link rel='stylesheet' href='" + css + "' type='text/css'>");
		document.close();
	}
//-->
</script>

ここでは、簡単な例として、挙げただけですので、こんなもんで、十分ですが、実際には、OSのみでなく、ブラウザの種類、バージョンによって、処理する内容が異なる場合もありますから、その場合は、ずらずら、記述するより、jsファイルに関数を定義しておくと、スッキリしますよ。

テンプレートの更新

8月のテンプレートを更新しました。
テーマは「海」です。
連日、暑い日々が続くので、少しでも、涼しげになればと、この色合いにしました。
尚、2年越しで、ようやく、全月のテーマが揃いました。
これからは、毎月、自動でテーマが変更されます。

2008年02月01日

Drupalのインストール

MovaleTypeにも飽きてきたので、ここは一つ別のブログツールを使ってみようと思い立ち、Drupalをインストールすることにしました。
以下にその手順を。(この時点では作業途中なので、MovableTypeに記事をエントリしました。)

ソフトウェア

Drupal 5.7 → ダウンロードはコチラから

構築

  1. .htaccessのコピー
    ダウンロードしたファイルをWebサーバの任意のディレクトリに解凍して、.htaccessをWebサーバのドキュメントルートにコピーします。
    mv drupal-x.x/* drupal-x.x/.htaccess /Library/WebServer/Documents
  2. Drupalのデータベースを作成 - MySQL -
    Drupalで使用するデータベースと専用のアカウントを作成します。今回はMySQLを使用しました。以下はその実行例です。
    % mysql -uroot -p
    Enter password:  
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.0.37 MySQL Community Server (GPL)
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> create database databasename character set utf8;
    Query OK, 1 row affected (0.27 sec)
    mysql> grant select, insert, update, delete, create, drop, index, alter, create temporary tables, lock tables on databasename.* to username@hostname;             
    Query OK, 0 rows affected (0.31 sec)
  3. settings.phpの編集
    ソースを解凍したディレクトリ/sites/default/settings.phpを編集します。編集するといっても作成したデータベースへの接続記述の1行だけです。
    $db_url = 'mysql://xxxxxxxx:xxxxxxxx@localhost/xxxxxxxxxxxxxxxx';
  4. インストールスクリプト実行
    settings.phpを編集したら、ソースを解凍したディレクトリ/install.phpにアクセスします。以下のようなページが表示されたらOKです。

    Drupal installation complete

    All necessary changes to ./sites/default/settings.php have been made. It has been set to read-only for security.

    Congratulations, Drupal has been successfully installed.

    Please review the messages above before continuing on to your new site.

環境設定

  1. 管理者アカウントの作成
    ソースを解凍したディレクトリ/index.phpにアクセスします。"step one"をクリックして"create the first account"にアクセスして、アカウントとパスワードを作成します。
  2. サイトの日本語化
    • ロケールモジュールの有効
      管理ページのAdminister > Site building > Modulesにアクセスし、"Locale"と表示されたチェックボックスをオンにして、"Save configuration"ボタンをクリックします。
    • コア翻訳ファイルのインポート
      Administer > Site configuration > Localizationにアクセスし、"import"をクリックします。 "Langage file:"にアップロードするコア翻訳ファイル、"ja.po"をリストアップし、"Import into:"リストからJapanese (日本語) を選択して、Mode: のラジオボタンで Strings in the... を選択後、"Import"ボタンをクリックします。 インポート後は、言語リストにJapaneseが追加されているので、チェックボックスをオンにし、"Defaut"ラジオボタンを選択して、"Save configuration"ボタンをクリックします。

テンプレートの更新

2月になったのでテンプレートを更新しました。
今月のテーマは…「バレンタイン」です。イメージできますか?

2008年01月27日

Palm - Tungsten E2 - 日本語化

さて、先月購入したTungsten E2に、更にWi-Fi Cardを加えて、本格稼働を始めようってことで、まずは、本体の日本語化作業を実行。
今回、採用したツールは

JaPon

JaPon-10p.zipをダウンロードして解凍し、JaPon-Inst-10p.prc,JaPon-FontRes-Eval.prc*1,JaPon-Check.prcをPalmにConduitします。
Syncが完了したら、Palm本体の「JaPon-Inst」をタップすると、インストールを開始します。
インストールが完了したら、「JaPon」をタップし、「Turn On」(終了するときはTurn Off)をクリックすると、ソフトリセットして、日本語表示になります。
一緒にインストールした「JaPon-Check」をタップして、半角カナや全角カナの文字が正しく表示されていればOKです。

*1…一度、フォントリソースにJaPon-FontRes-Lo-Eval.prcも一緒にインストールしたら正しく表示されなかったのでフォントはかならず1つだけインストールしましょう。

アプリの入手先:http://www5f.biglobe.ne.jp/~T-Pilot/