いろいろ

効果的なSEOの手法
2011-11-26

.良質なコンテンツ
いくらSEO対策しても、新鮮な食材(コンテンツ)がなければ、上位にランキングされないでしょう。例え一時的に上位になっても、長く続かないのです。
いわば:無い袖は振れない

.Googleと相性の良いサイト
コンテンツ(素材)がそろえば、次は調理人(SEO対策)の腕次第、Googleに相性よい(審査員の口にある) サイトの作成は肝心である。

windows7ゴミ箱を空にするコマンド
2012-06-23

普通は
Windowsでゴミ箱を空にする。ゴミ箱アイコンを右クリックメニューで「ゴミ箱を空にする」を選択するだけです。

ただし、ゴミ箱にファイルが大量ある場合、上記の方法だとすごく時間がかかります。

対策:
linuxの削除はrmコマンドでできますが、実はwindows7でもコマンドで削除する方法はあります。

注意:
管理者権限のIDでWindowsにログインすること

コマンド:
Cドライブのゴミ箱削除コマンド:
rd /s c:$Recycle.Bin

Dドライブのゴミ箱削除コマンド:
rd /s d:$Recycle.Bin

ゴミ箱削除コマンド
 

64bitシステムでのXAMPPのインストール
2012-06-29

対象OS:
centos 64bit

実行コマンド:
yum install -y glibc*i686 →必須
yum install libgcc_s.so.1 →必須

無料の官報情報検索システム公開
2012-08-27

完全無料、毎日更新
http://senrigan.org

nkfでファイル一括UTF8に変更
2012-09-05

 nkfとは、ネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタです。

構文

基本的な構文は次のようになります。

$ nkf オプション [入力ファイル名] [> 出力ファイル名]

入力ファイル、出力ファイルはデフォルトではそれぞれ標準入力、標準出力になっています。

使用例

具体的な使用例としては以下のようになります。

ファイルに使われている文字コードのチェックを行います。

入力
$ nkf -g example.csv
出力
Shift_JIS

ファイルの文字コードを変換する際は次のように行います。
例えば、ファイルの文字コードをUTF-8に変換する場合だと

入力
$ nkf -w --overwrite example.csv
出力

これで変換が完了します。

-wオプションは入力をUTF-8に変換したもので出力する、というオプションです。
他にも-sオプションだとShift_JISに変換。-eオプションだとEUCコードに変換という意味を持っています。以下に、nkfの出力として指定できる文字コードのオプション一覧を示します。

-j     JISコードを出力する。
-e     EUCコードを出力する。
-s     シフトJISコードを出力する。
-w -w8[0] -w16[BL][0]  Unicode を出力する。
-w -w80     UTF8コードを出力する。(BOM無し)
-w8    UTF8コードを出力する。
-w16 -w16B0  UTF16コードを出力する。(Big Endian / BOM無し)
-w16B  UTF16コードを出力する。(Big Endian / BOM有り)
-w16L  UTF16コードを出力す る。 (Little  Endian / BOM有り)
-w16L0 UTF16コードを出力する。(Little Endian / BOM無し)

overwriteオプションは元のファイルを変換してもので置き換える、というオプションです。したがって、上の例のコマンドはexample.csvをUTF-8に変換したもので上書きせよ、という意味を持っています。

次のコマンドで実際に変換されたか確認します。

入力
$ nkf -g example.csv
出力
UTF-8

となり、無事変換されていることが分かります。

注意

文字コードを変換する場合に

$ nkf -w example.csv > example.csv

のようにすると、ファイルの中身が全て消えてしまいます。overwriteオプションを用いるか、
出力ファイルには入力ファイルと違うものを指定するようにした方がよいでしょう。

応用例

応用例として次の2つの変換の場合を示します。

  1. ディレクトリ内のファイル全ての文字コードを表示します。
  2. ディレクトリ内のtxtファイル全てを、、文字コードをShift_JIS、改行をwindows形式(CRLF)に変換します。

1.ディレクトリ内のファイル全ての文字コードを表示します。

入力
$ nkf -g *
出力例
example.csv: Shift_JIS
example2.csv: UTF-8
test.txt: Shift_JIS

2.ディレクトリ内のtxtファイル全てを、文字コードをShift_JIS、改行をwindows形式(CRLF)に変換します。

$ nkf -s Lw --overwrite *.txt

phpMyAdminが起動できない場合
2012-09-10

 事象:

 
突然ですが、次のエラーになっちゃいました
 Existing configuration file (./config.inc.php) is not readable.
 
対策:
chmod 705 ./config.inc.php
 

CVSサーバー構築
2012-09-12

インストール
CVSはCentOSから標準で提供されている為、これをインストールします。
また、CVSサーバはxinetdから起動しますので、xinetdも一緒にインストールします。
yum install xinetd cvs


起動設定と初期設定
インストールすると、/var/cvsディレクトリが作られますので、ここをCVSリポジトリの場所として設定して行きます。

起動設定
xinet.d用の/etc/xinetd.d/cvsファイルもインストールされますので、このファイルを編集しCVSサーバが起動出来るようにします。
/etc/xinetd.d/cvs

service cvspserver
{
 disable   = no <---noに変更しCVSサーバを起動可にする
 port   = 2401
 socket_type  = stream
 protocol  = tcp
 wait   = no
 user   = root
 passenv   = PATH
 server   = /usr/bin/cvs
 env   = HOME=/var/cvs <--リポジトリのパスを指定。今回は既定値。
 server_args  = -f --allow-root=/var/cvs pserver <--リポジトリのパスを指定。今回は既定値。
# bind   = 127.0.0.1
}
  

設定が終わったらxinetdを起動します。
/etc/init.d/xinetd start
次に、xinetdの自動起動設定を設定しておきます。
chkconfig xinetd on

初期設定
初期設定では、リポジトリの初期化とリポジトリにアクセス出来るグループの作成やリポジトリの所有権の変更を行います。
また、CVSを利用出来るユーザをCVSアクセス用グループに追加します。

リポジトリの初期化
/var/cvsを初期化してCVSリポジトリとして利用出来るようにします。
cvs -d /var/cvs init
これで、/var/cvs/以下にCVSROOTディレクトリと管理ファイルが作成されます。

グループの作成
CVSリポジトリにアクセス許可するグループを作成します。
groupadd -g 500 cvs

リポジトリの所有権を変更
リポジトリの所有権とパーミッションを変更します。
chown -R root.cvs /var/cvs
chmod 775 /var/cvs

ユーザの追加
CVSを利用出来るユーザを先ほど作成したcvsグループに登録します。
登録するには、vigrコマンドを利用してください。


CVSへの接続確認
CVSサーバの準備が出来ましたので接続確認をしておきます。
まずは、コマンドでログイン出来るか確認してみます。
cvs -d ':pserver:root@192.168.1.1:/var/cvs' login
パスワードで認証後、なにも表示されなければ正常にログイン出来ています。

ログアウトは以下のコマンドで行います。
cvs -d ':pserver:root@192.168.1.1:/var/cvs' logout
 

pdftk install centos64bit
2012-10-04

CentOS

RPMForge にパッケージが用意されています。

下記サイトより最新バージョンン確認:
http://pkgs.repoforge.org/pdftk/

コマンド:
yum install -y
http://pkgs.repoforge.org/pdftk/pdftk-1.44-2.el6.rf.x86_64.rpm

mysql_real_escape_stringについて
2012-11-02

 mysql_real_escape_stringというよりも,mysql拡張モジュール自体が非推奨です。

http://www.php.net/manual/ja/book.mysql.php にあるものが非推奨となっている対象です。
 
理由:
server-side Prepared Statementsがサポートされなく、
http://www.php.net/manual/ja/mysqlinfo.api.choosing.php
これは,SQLインジェクションに対する対策として基本的なプレースホルダを利用する方法が利用できないことを意味します。
 
代わりに
mysqli拡張モジュールまたはPDOのMySQLドライバを利用すべきです。
 

magic_quotes_gpcについて
2012-11-02

 php.iniの設定で、magic_quotes_gpc という値が On になっている場合にエスケープされます。

マジッククォートとは僕はPHPやるようになるまで聞いたことなかったんですが、
シングルクォーテーション( ' )、ダブルクォーテーション( " )、バックスラッシュ( \ )、そしてNULL値を対象に、
バックスラッシュで自動的にエスケープすることのようです。
 
magic_quotes_gpcのGPCは、GET/POST/COOKIEの略で、$_GET, $_POST, $COOKIEの値を自動エスケープ対象とするわけです