2008/4/27 日曜日

ウェブデザイナー・中村勇吾 (ナカムラユウゴ)

未分類 — yuzupo @ 8:52:40

プロフェッショナルの仕事の流儀で紹介されていたのでメモ。どのサイトもすごい!

amaztype
検索した商品で検索した文字を作り出す。

さらに商品をクリックすると拡大して、amazonの詳細ページに飛ぶ。

NECecotonoha

メッセージを書くとそれが木の葉になり、メッセージが増えるとそれだけ葉が増えていく。

いっぱいになると実際に現地で木の苗が植えられる植樹プロジェクト。

植樹プロジェクトのページが2005年グッドデザイン賞、さらには世界三大広告祭で受賞総ナメ。

UNIQLO.com
テンキーで数字の書かれた人がしゃべる言葉をリズムにあわせて押すと

音楽を作り出せる。

他のサイトもみる

2008/3/23 日曜日

xampp .htaccessにてRewriteRuleを有効にする

.htaccess — tako @ 21:57:49

xamppをインストール後デフォルトの状態ではRewriteRuleが使えないみたい。
途中何度もerror500やerror403と戦いなんとか使えたので
忘れた時のために有効にしてみた時のメモ

http://localhost/eclipse/test.php
上記のようにtest.phpを
http://localhost/eclipse/test.html
のように拡張子htmlでアクセスできるようにしてみました。

とりあえず我が家のローカルのテスト環境は
xamppとeclipseをphpeclipseを使っていて
C:\eclipse\workspace
の中に作成したphpファイルを
http://localhost/eclipse/netchan/public_test/
上記URLにてアクセス出来るようにしています。

上記のようなURLでアクセスできるようにエイリアス等を下記ように設定しています。
C:\xampp\apache\conf\httpd.conf
ファイルを編集し最終行あたりに下記行を追加しています。

Alias /eclipse “C:/eclipse/workspace/”
<Directory “C:/eclipse/workspace/”>
Options Indexes MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>

※上記設定は
Alias /eclipse “C:/eclipse/workspace/”
上記行にて
C:/eclipse/workspace/
の中に作成したファイルを
http://localhost/eclipse/
でアクセスできるようにする(たぶん)
<Directory “C:/eclipse/workspace/”>
</Directory>
上記でC:/eclipse/workspace/
中に設定する事を書く(たぶん)

=== 以下変更した点等 ===

httpd.confの
<Directory “C:/eclipse/workspace/”>
</Directory>
※↑環境により読みかえてください。
の中の
AllowOverride None

AllowOverride All
に変更
AllowOverrideとは?

httpd.confの中の

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

#(コメントアウト)を外してmod_rewriteを無効→有効にする

これだけではダメなようで
apache/logs/error.log

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: C:/eclipse/workspace/なんちゃらかんちゃら.php
とエラー行が出る

<Directory “C:/eclipse/workspace/”>
</Directory>
内に
Options FollowSymLinks
を追加する

とりあえずこれで
.htaccessに
RewriteEngine on
RewriteRule (.*).html$ $1.php
と記述する事で

phpの拡張子を持つファイルに
.htmlの拡張子でアクセスできるように・・・ならなーーい!!

レンタルサーバだとこれでいけたのに
ローカルのxampp環境だと
.htaccessに
RewriteEngine on
RewriteRule (.*).html$ http://localhost/eclipse/$1.php
と絶対パスを指定する事でhtmlの拡張子でもアクセスできた。

まだ設定が足らんのかな?
アパッチまだまだ未熟者です。

== 参考サイト ==
.htaccessに書く場合の注意
WinXPに、XAMPPでアパッチ+PHPの開発環境を作っています。
RewriteRule有効について(Apache設定)
RewriteCondとRewriteRuleについて
WinXPに、XAMPPでアパッチ+PHPの開発環境を作っています。
mod_rewriteを用いて「http://www.hoge.jp/index.php?abc=XXXXXX」を「http://www.hoge.jp/abc/XXXXXX.html」に変換したいのですが、以下のように行うと404エラーとなります。考えられる原因を指摘して下さい。
mod_rewrite サンプル集
mod_rewriteとは
SEO 用 mod_rewrite ルールを生成する Webmaster Toolkit
動的ページを静的ページのように見せる方法
mod_rewriteを使うには「Options FollowSymLinks」が必要
RewriteCond - RewriteRuleの条件を設定
携帯電話とデスクトップのURL振り分け
動的生成時の .htaccess ファイルを見直す
Vine LinuxでのApache HTTPD
サーバ設定と .htaccess
ミケネコのhtaccessリファレンス ディレクトリ制御

xampp MySQLのInnoDBを有効にする

MySQL, xampp, php — tako @ 21:43:45

今日やった事
「xamppでMySQLのInnoDBを使えるようにする」

MySQLにてロールバックやコミット等のトランザクションの機能を
使いたい場合、ストレージエンジンでInnoDBを利用するとトランザクション機能を実装できる

xamppデフォルト状態ではInnoDBは有効になっておらず
xamppをインストールしたフォルダ内の\mysql\binの中にあるmy.cnf(myとなってるやつ)
の設定を編集してアパッチを再起動させる事でphpmyadminの中の
ストレージエンジンでInnoDBが選択できるようになる。

InnoDBを有効にするにはmy.conf中の下記のように編集する
(デフォルト)

# Comment the following if you are using InnoDB tables

skip-innodb

#innodb_data_home_dir = "C:/xampp/mysql/"

#innodb_data_file_path = ibdata1:10M:autoextend

#innodb_log_group_home_dir = "C:/xampp/mysql/"

#innodb_log_arch_dir = "C:/xampp/mysql/"

## You can set .._buffer_pool_size up to 50 - 80 %

## of RAM but beware of setting memory usage too high

#innodb_buffer_pool_size = 16M

#innodb_additional_mem_pool_size = 2M

## Set .._log_file_size to 25 % of buffer pool size

#innodb_log_file_size = 5M

#innodb_log_buffer_size = 8M

#innodb_flush_log_at_trx_commit = 1

#innodb_lock_wait_timeout = 50

↓下記ように編集する↓
(編集後)

# Comment the following if you are using InnoDB tables#skip-innodb

innodb_data_home_dir = "C:/xampp/mysql/"

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = "C:/xampp/mysql/"

innodb_log_arch_dir = "C:/xampp/mysql/"

## You can set .._buffer_pool_size up to 50 - 80 %

## of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 16M

innodb_additional_mem_pool_size = 2M

## Set .._log_file_size to 25 % of buffer pool size

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

編集すると言っても
skip-innodb
をコメントアウト(#を付ける)する。
あとは上記のようにinnodbに関する部分のコメントアウトを外した後
アパッチを再起動させて有効にするだけです。

「参考サイト」
xamppでInnoDBの有効化【じょんのび記】
XAMPP環境でMySQLのInnoDBを有効にする【code:x】

2008/3/21 金曜日

php レンタルサーバでパスを通す インクルードパスの設定

php, 未分類 — tako @ 20:23:06

phpでプログラムを書いていて
レンタルサーバでパスを通す場合には
.htaccessにてphp_value include_pathの設定を行うと便利

.htaccessにてinclude_pathを設定していない場合

pearのファイルやphpファイルを公開フォルダ(public_html)の外に置いていた場合
require_once(’/virtual/xxx/xxx/pear/DB.php’);
のようにファイル毎に絶対パスで設定するので、
レンタルサーバを別のに変えた場合など
絶対パスの部分が変わってしまう場合にファイル毎に修正しなければ
いけないというめんどい事にもなりかねないのでinclude_pathの設定は便利。

xreaでの設定例 (php5を使っている場合)
<IfModule mod_php5.c>
#インクルードパスの設定
php_value include_path “.:/virtual/xxx/xxx/class:/virtual/xxx/xxx/pear”
</IfModule>

上記のように設定する事で
/virtual/xxx/xxx/pear
のpearディレクトリにpearのDB.phpを入れている場合

pearのDB.phpを使いたい時に
require_once(’DB.php’);
こんな感じで指定が可能になる。
※パスの/virtual/xxx/xxx/classや/virtual/xxx/xxx/pearは使っている人の環境によって
読み替えてください

複数のパスを設定する場合は上記例のようにパスを:(コロン)で区切る。
windowsサーバの場合はコロンではなくセミコロンで区切るみたい。
パスの設定したつもりなのに
エラーが出るという場合には区切りの所でコロンとセミコロンを
間違ってないかを確認してみるといいかも。

その他のインクルードパスの設定方法としては
phpファイルの中で
ini_set(’include_path’, ‘/virtual/xxx/xxx/class’ . PATH_SEPARATOR . ini_get(’include_path’));
require_once(’DB.php’);
とする事でもパスの設定が可能

2008/3/20 木曜日

smartyのこんなエラー Warning: Smarty error: (secure mode) accessing “app.conf” is not allowed in ~~ Smarty.class.php on line 1092

smarty, php, 未分類 — tako @ 17:33:34

半年ぶり位のブランクを経て
久しぶりににphpとsmartyに触れてみようかと思ったら、
のっけからはまってしまった(TT)

smartyの
$securityをtrueにすると

Warning: Smarty error: (secure mode) accessing “app.conf” is not allowed in C:\xxxx\xxxx\xxxx\Smarty.class.php on line 1092

Warning: Smarty error: (secure mode) accessing “index.tpl” is not allowed in C:\xxxx\xxxx\xxxx\Smarty.class.php on line 1092

上記みたいなエラーが。。
securityをfalseにすれば出ないから
とりあえずfalseにしとこうかとも思ったけど
ついつい調べ始めたら数時間経ってしまいました。

とりあえず解決できたので、メモ。

smartyをextendsしているファイルは一部ですが
下記のような感じ

require_once(’Smarty.class.php’);
class MySmarty extends Smarty {
// コンストラクタ
public function __construct($folder_name) {
$this->Smarty();
$this->security=true;

$this->template_dir= “C:/xxxx/xxxx/xxxx/templates” . “/” . $folder_name;
$this->compile_dir= “C:/xxxx/xxxx/xxxx/templates_c” . “/” . $folder_name;
$this->config_dir= “C:/xxxx/xxxx/xxxx/config” . “/” . $folder_name;

このsmartyクラスを継承したMySmartyクラスを利用して
ファイルを作っていました。

コンストラクトの引数$folder_nameには
stringで作成するページのトップページからのディレクトリ名を入力していました。

例えば
http://www.アドレス/
がトップページで、このMySmartyを利用するページが
http://www.アドレス/test/test.php
だった場合には、
$folder_name == “test”;
みたいな感じです。

今回はトップページのファイルを作っていたので、
$folder_name == “”;
です。

そんな感じで作ってたところ先ほどのようなエラー。
エラー内容からして
accessing “app.conf” is not allowed in
accessing “index.tpl” is not allowed in
なんだか許可が無いからapp.confとindex.tplにアクセス出来ないとのエラーみたい。

でwarningを吐き出してるのはSmarty.class.phpの1092行目あたりとの事なので
smarty.class.phpを覗いてみました。

すると
1640行目あたりの
$_fullpath = $_curr_path . DIRECTORY_SEPARATOR . $params[’resource_name’];
上記行$_fullpathの中身をechoで出力すると
C:/xxxx/xxxx/xxxx/config/\app.conf
C:/xxxx/xxxx/xxxx/templates/\index.tpl
上記行のように
config/\app.conf
スラッシュと\(バックスラッシュ)が続いている為に
app.confとindex.tplにアクセスできてない事が判明

先ほどの1640行目を見ると
$_curr_pathの中身は
C:/xxxx/xxxx/xxxx/config/

$params[’resource_name’]は
app.conf

DIRECTORY_SEPARATORの部分は
PHPでは定義済みの定数で、OSによって適切に”\”か”/”を設定してくれるらしい。

つまり
“C:/xxxx/xxxx/xxxx/config/” . “\” . “app.conf”
という感じになってる。

でsmartyクラスを継承した
MySmartyを見直してみると
$this->template_dir= “C:/xxxx/xxxx/xxxx/templates” . “/” . $folder_name;
$this->compile_dir= “C:/xxxx/xxxx/xxxx/templates_c” . “/” . $folder_name;
$this->config_dir= “C:/xxxx/xxxx/xxxx/config” . “/” . $folder_name;
今回$folder_nameはトップページを作っていて”"なので、
$this->template_dir等に代入したstringの最後に”/”スラッシュが入っていて
その最後の行にスラッシュが入っている所にDIRECTORY_SEPARATORで
バックスラッシュを継ぎ足していたので、こんなエラーになっていた事がわかった。。
原因判明すっきり!。。

=============================================
その他忘れかけてたphpあれこれ

var の使いどころ
http://chaichan.web.infoseek.co.jp/qanda/qa6859.htm?06-07-22-00-49
クラスのメンバ変数に使う

変数のアンダースコア
http://jamz.jp/tech/2006/10/coding-rule-about-private-parameter.html
クラス内のプライベート変数に _ (アンダースコアー)が接頭語として使われていたので一般的なコーディング習慣
(変数の値をgetやsetで取り出すプライベート変数に慣習で使っている)

2008/3/15 土曜日

MODxインストール中

未分類 — tako @ 23:12:56

現在
http://api.netchan.com/
上記ページにMODxをインストール中です。
インストール全て終わったら軽くインストール手順を、ここに載せます

特定のIPアドレスからのアクセス制限

未分類 — yuzupo @ 19:02:33

最近、アクセス解析をみていたら、
あるIPアドレスから1時間ごとに300くらいアクセスされていました。
おそらくプログラムでアクセスしているようなのでアクセス制限するために調べたのでメモ


①htaccessファイルを作成します。
適当なファイル名(htaccess.txt)などで、以下の内容のファイルを作成します。

order allow,deny
allow from all
deny from 制限をかけたいホスト・IP
deny from 制限をかけたいホスト・IP
deny from 制限をかけたいホスト・IP

それぞれの項目の意味。
■order allow,deny
allow(許可)、deny(拒否)の順番を記入します。例をそのままコピーしてください。
■allow from all
特定のホスト以外のアクセス全てを許可すると言う意味です。例をそのままコピーしてください
■deny from
制限をかけたいホスト・IPを指定します。複数指定する場合は、1行ずつ指定していきます
※deny from の例:
■deny from abc.hogemoge.ne.jp
abc.hogemoge.ne.jpというホストからのアクセスを拒否します
■deny from .mogamoga.co.jp
.mogamoga.co.jpというホストからのアクセスを拒否します
■deny from 123.456.???.???
123.456.???.???というIPからのアクセスを拒否します。
入力が終わったら保存します。

②ファイルをFTPでアップロードします。
先ほど作成した 『 htaccess.txt 』 を、FTPで制限をかけたいディレクトリにアップロードします。
アップロード後、ファイル名を 『 .htaccess 』 に変更します。

③以上で完了。

2008/1/28 月曜日

ジェネレーター 一覧

未分類 — yuzupo @ 23:34:53

E-Mail Icon Generatorメールアドレスを画像にしてくれる
Gmail Signature GeneratorGmailのメールアドレスを画像にできる
LiquismGmailのメールアドレスを画像にできる。文字や枠の色の設定可能
Handmail入力した文字をいろんなフォントで画像化してくれる。
Glitter Graphics28種類のキラキラの文字を作る事ができる
Glitterkiss.comアルファベットのキラキラの文字を作る事ができる
Ninja Text Generator忍者のアニメキャラクターが文字を作っていってくれる
Wizard Text Generator魔法使いのアニメキャラクターが文字を作っていってくれる
Dancing letter maker thingee踊るアルファベット文字が作れる
Web2.0 Logo Creator反射)文字を簡単に作れる(英語のみ)
ハロウィンロゴジェネレーターハロウィン風のロゴ付の反射文字が作れる(日本語可)
Chocolate Barチョコレートに文字を書き込んだ画像を作成
Wanted PosterWanted Posterが作れる
Hollywood Signハリウッドの看板のような画像が作れる
Rocketロケットに文字が書き込んだ画像を作成
Back to School Chalkboard Message黒板に文字が書き込んだ画像を作成
Make your own tickets!チケットに文字が書き込んだ画像を作成
DeGraeve.com虹色の文字列を作れる
Neon Signs好きな文字のネオンが作れる
Custom Computer Keyboard好きな文字のキーボードが作れる
The Newspaper Clipping Generator新聞のクリップ画像作成
The Movie Clapper Board Generatorカチンコに文字を書きんだ画像作成
The talking squirrelリスの吹き出し画像作成
Cigarette packet generatorたばこのパッケージの画像作成
The talking cat猫の吹き出し画像作成
The talking flower花の吹き出し画像作成
The talking tomatoトマトの吹き出し画像作成
The talking owlフクロウの吹き出し画像作成
igwebcap指定したURLのサムネイルを表示する。サムネイルは常に最新の状態に更新
きゃっとまーくめーるジェネレーターメールアドレスをねこのイラスト付の画像にしてくれる
でざいんめーるジェネレーターきゃっとまーくめーるジェネレーターの背景付版?作者一緒
ePassportPhoto.comアメリカサイズのパスポート写真が簡単に作れる
円グラフ作成君円グラフを作成するジェネレーター
みんなのグラフ円グラフを作成するジェネレーター
HeartRails Graph円グラフを作成するジェネレーター
みんなのマトリックス散布図を作成するジェネレーター
やまざきメソッドジェネレーター予定や進捗状況の画像を作成するジェネレーター
もんたメソッド文章の一部分を隠し、クリックすると見えるようにする
The Laughing Man Hacks You!写真の顔の部分を判別してアニメ画像を載せて顔を隠してくれる
文字Qメーカー文字入りのQRコードを簡単に作成
サッカドパッパ!自動ブログ記事生成マシーン
ブログ更新ジェネレーター自動ブログ記事生成マシーン

PHPの開発環境構築 WindowsでXAMPPとPHPEclipseで作る

eclipse, php — tako @ 10:25:56

記事作成日2008/01/28 
最終更新日:2008/02/20日

PHPの開発環境構築でプログラムの作成が
凄く楽チンチンになります。

今回はPHPの開発環境構築の為、
Windows XPの環境に
XAMPPとEclipseのインストール設定手順を
書き綴って行こうと思います。

====今回作る環境====
windowsXPでeclipseを使って
phpとMySQL、Apacheを使った開発環境
文字コードはUTF-8で統一
================

※インストールは自己責任でお願いします。
何かパソコンに不具合があっても責任は持てません。
設定に間違いありましたらご指摘おねがいします。

まずはXAMPPのインストール。
XAMPPとはPHP,MYSQL,Apache,PHPMyadmin等が
セットになっていてXAMPPをインストールするだけで
それらを簡単に連携して利用する事ができる優れものです。

XAMPPインストール方法
XAMPP

http://www.apachefriends.org/jp/xampp.html
XAMPPにはLinux用、Windows用、Mac用とあるようですが、今回はウィンドウズでのPHP開
発環境を構築しますのでXAMPPのサイトにて「XAMPP for Windows」を選択します。

XAMPP
2008年1月現在のXAMPPバージョンは1.6.5のようです。
1.6.5に含まれるのはこんなのです。
・Apache HTTPD 2.2.6
・MySQL 5.0.51
・PHP 5.2.5 & 4.4.7
・PHPMyAdmin 2.11.3
・Webalizer 2.01-10
・FileZilla FTP Server 0.9.24
・SQLite 2.8.15
などなど。

今回は
XAMPP Windows版 1.6.5〔ベーシックパッケージ〕 」
の「インストーラ」をクリックします。

XAMPP

次に開かれたページの上部に
「セキュリティ保護のため、このサイトによる、
このコンピュータへのファイルのダウンロードがInternet Explorerによりブロックされました。
オプションを表示するには、ここをクリックしてください(※1)」
にカーソルを合わせ左クリックをすると
「ファイルのダウンロード」と表示されますので、それを選択しファイルをダウンロードします。
このページでメールアドレスの入力画面がでますが、
入力の必要は無いです。
(※1) IE以外の種類のブラウザーによっては表示が違うかもしれません。

 ダウンロードしてきた
「xampp-win32-1.6.5-installer.exe」ファイルを
をダブルクリック-実行してインストールを開始します

インストール時に「please select a language」と出ますので
「Japanese」でOKを押します。

次にインストール先フォルダを選んでくださいと出ますが、
今回はデフォルトの「c:¥xampp」のまま次へ進みます。

ws000008.JPG
FileZillaはFTPの何かっぽいのですが僕は使う予定はないので
ApacheとMysqlにのみチェックを付けてインストールを行いました。

 インストール完了後に
「Xamppコントロールパネルを今すぐ起動しますか?」
と聞かれます。
「はい」を選ぶとコントロールパネルが開きます。

今後このコントロールパネルを開きたい時にはXAMPPを
インストールした「C:\xampp」フォルダの中の
「xampp-control.exe」をクリックする事で起動する事ができます。

XAMPPのインストールはこれで完了です。
次にeclipseのインストールです。

2007/12/11 火曜日

複数の検索エンジンで検索できるツールを作ってみる。 JavaScriptの勉強

未分類 — tako @ 0:50:12

ぼちぼち勉強し始めたJavaScript、
AjaxはJavaScriptやCSS、HTML等を組み合わせてる物なので、
Ajaxを覚えるにはJavaScriptを実践で覚えていくのがAjax攻略の早道という事で、
複数の検索エンジンをセレクトボックス(プルダウンメニュー)から選んで検索出来るフォームを
JavaScriptで作りつつ、JavaScriptでのプログラムの作り方の手順を解説したいと思います。
私自身JavaScriptには不慣れな所がありますので
ここはこうした方がとか、ここは違うという点ありましたら
ご指摘お願いいたします。

・ステップ1
まずはHTMLを使ってフォームタグを使い
見た目部分を作ります。
見た目はとりあえずこんな感じでしょうか?

サンプル1(作成中)

HTML:
  1. <input type="text" name="key" />
  2. <option value="">選択してください</option>
  3. <option value="http://www.yahoo.co.jp/">yahoo</option>
  4. <option value="http://www.infoseek.co.jp/">infoseek</option>
  5. <option value="http://www.livedoor.com/">livedoor</option>
  6. </select>
  7. <input type="submit" value="実行" />
  8. </form>

通常のHTMLのformタグの中では要素としてactionやmethodを指定する事で、
指定したページへジャンプしたりcgi等に情報を送信しますが、
現在は何も指定してないのでボタンを押しても何も反応しません。

次のページ »

HTML convert time: 0.463 sec. Powered by tako and yuzupon