2005年7月30日土曜日

コンテッサがきた

昨日、会社に高級オフィスチェア「コンテッサ」が届いた。この椅子、すごく高い。安くても10万円くらいはするシロモノです。仕事がら、一日中座りっぱなしっていうこともよくあるので、奮発して買いました。
これまでは普通の1万円~2万円くらいのオフィスチェアしか使ったことがありませんでしたがコンテッサは完全に別格。座り心地はもちろん、稼動部が多いのには驚かされた。自転車のブレーキケーブルみたいのがついてて、ボタンをぽちっと押すだけで高さとか角度とかが調節できる。
たとえるなら、普通のオフィスチェアがソフビ人形で、コンテッサは全身フル稼働の超合金ロボ、という感じです。
これがマイコンテッサの雄姿だ!
マイコンテッサの雄姿
腰が痛い人や、座り仕事が多い人におすすめです。
楽天で「コンテッサ」を探す!

WEB素材屋さん

http://www.image-seed.com/
今日一日かけてサイトをひとつ作っていたのですが、このサイトのフリーの素材が大活躍してくれました。僕自身まったくデザインセンスがないので、こういう質の高い素材が使えるのは本当に助かるのです。多謝!

MT:全カテゴリで共通のナビゲーションを表示

<MTSubCategories>の変わりに<MTTopLevelCategories>を使うだけ。意外と簡単だった。
http://hxxk.jp/2005/02/04/0232#sub-20050204-03
http://movabletype.jp/docs/mtmanual_tags.html#item_MTTopLevelCategories

MSNで「司馬遼太郎を読む」が1位になった

今日、何気なしにMSNでキーワード「司馬遼太郎」で検索したら、なんと!我が管理サイトの司馬遼太郎を読むが1位になっていた!
"司馬遼太郎" のMSN検索結果
というわけで記念スクリーンショット。
司馬遼太郎を読む、1位!
MSNサーチがリニューアルしてから2位~3位をうろちょろしていたのだが、あろうことかオフィシャルサイト司馬遼太郎記念館を抜いて1位になってしまった。ありえねー(笑
2週間くらい前にちょこっとチューニングしたのだが、それが効いたのかも。でもリンクポピュラリティはぜんぜん低いし、一体どういうアルゴリズムなのやら。
ちなみに今日現在、キーワード「司馬遼太郎」だとGoogleは18位、Yahoo!にいたっては69位。サーチエンジンごとで順位がぜんぜん違うのでかなり興味深いです。
正直、オフィシャルサイトを抜くというのは考えられないので、三日天下で終わりそうな気がします(^^;

MTで出力するHTMLファイルを「/archives/000001.html」の形式にする

MovableTypeにログイン

ウェブログの設定

設定

「以前の形式の個別アーカイブへのリンクをつかう」をチェック
以上。
これをやると「archives/000001.html」という形式でファイルが出力されるようになる。逆にやらない場合は「/archives/2005/07/****.html」の形式になる。

2005年7月29日金曜日

2005年7月28日木曜日

JavaScriptでの文字コード変換ライブラリ

Escape Codec Library: ecl.jsという、JavaScriptで文字コード変換ができるライブラリを見つけた。
とりあえず今は使う予定はないが、そのうち使うことになりそう。
http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html

2005年7月27日水曜日

mb_convert_encoding

文字コード変換を、

$title = mb_convert_encoding($title, "UTF-8", "auto");

という感じでやろうとしたが、文字化けした。phpマニュアルにもこのように載っているので問題ないはずなのに。。
ググってみたら、どうもautoは問題があるらしい。で、

http://ns1.php.gr.jp/pipermail/php-users/2004-May/022334.html

このページを参考にして、

$title = mb_convert_encoding($title, "UTF-8", "ASCII,JIS,UTF-8,EUC-JP,SJIS");

このようにしたらうまく動いた。めでたしめでたし。

サイトの色を変えた

MTのデフォルトは背景色が暗めだったので、やや明るめに変えてみた。ブログだと背景色くらいならスタイルシート一発で変えられるので楽チン。しかし今日は暑い。。

2005年7月24日日曜日

地震きた

大相撲を見ていたら、地震がきた。今住んでいるところは細長い形状のマンションで、しかも最上階の11階。なのですごくよく揺れた。
被害状況は「僕の部屋に積み上げていた司馬遼太郎の文庫本が倒れた」「このkawama.jpが入っている自宅サーバーが倒れた」などです。背の高いタンスなどは持っていないため、たいした被害はありませんでした。よかったよかった。
ゆれ用心・冷蔵庫用
ゆれ用心・冷蔵庫用

2005年7月22日金曜日

プライバシーマーク「自社」取得術を読んだ

今話題のプライバシーマークを取得することになった。ウチの会社ではセキュリティ専門家の方にコンサルティングをお願いして取得までお手伝いしていただくのですが、「まずはこの本を読んで基本的な流れを勉強してきてください」という宿題が出たので、買って読みました。
ほかのプライバシーマーク本を読んでいないので比較できないのですが、ざっくりとした流れをつかむにはいいと思います。CD-ROMにサンプルの書類も入ってるので、その気になればこの本だけで取得することも可能だと思います。もちろん、「強くて持続する意思を持ち、優れた能力を持つリーダー」「理解し、支援してくれる経営者」「取得へ向けて支援してくれるメンバー」という状況が整えられれば、の話だと思いますが。
プライバシーマークに興味がある人はまず一読してみるといいと思います。

2005年7月21日木曜日

WinSCP便利

WinSCPの最近使用頻度がすごく高い。ローカルでphpプログラムを書いてサーバーにアップして、、、という作業を何度も繰り返しているうちに、便利な機能があることを発見しました。
その機能は、WinSCPでサーバーに接続し、サーバーに置いてあるファイルをダブルクリックで開いてそのまま編集し、保存すると編集がそのまま自動でサーバー上のファイルに反映される。というもの。
普通のFTPソフトと思ってずっと使っていたのですが、偶然この機能を発見してびっくり。ローカル保存とサーバー転送の作業が不要になるので、効率がめちゃくちゃ上がりました。すごいぞWinSCP!!
http://www.tab2.jp/~winscp/

2005年7月15日金曜日

PageRank更新?

GoogleのPageRankが更新された様子。司馬遼太郎を読むはRank0からRank3に上がり、このkawama.jpはRank3からRank2に下がってしまった。
リニューアルして、ZopeからMTに変えた影響で検索エンジンのインデックス数が下がってしまったので仕方ない。これから頑張ってまたRank3に戻そう。

2005年7月12日火曜日

Smarty(PHP テンプレートエンジン)を勉強中

勉強中です。
Smarty、なかなか評判も良いようだし、楽天でも使ってるなど実績もあります。でもドキュメントは結構少ない気がします。まあしっかりとした和訳マニュアルがあるのでこれで十分と言えば十分。
http://sunset.freespace.jp/smarty/
上記和訳マニュアルの冒頭にもありますが、Smartyを一言で言うと
「SmartyはPHPのためのテンプレートエンジンです。より明確にphpのプレゼンテーションからアプリケーションの ロジックとコンテンツを分離して管理する事を容易にします。これはプログラマーとテンプレートデザイナーの役割が異なる 状況か、たいていの場合は同じ人間ではないのが最良だという事です。」
という感じです。
これだけ読むと「とってもスバラシイ」ツールのように思えますが、その他もろもろのツールと同じで結局は運用する人間次第。長短所をよく知って、その上で最適な使い方をしないと痛い目(ファイル数が激増とか。。)にあってしまうので、まずは特性をよく勉強してみます。

2005年7月7日木曜日

トラックバックスパムが来た

噂で聞いていた、トラックバックが来た。記念スクリーンショット。
trackbackspam.gif

2005年7月4日月曜日

firefox extention

Firefoxの便利なExtention。忘れないようにメモ。
Web Developer(css無効化などが便利)
http://chrispederick.com/work/firefox/webdeveloper/
googlebar(IE版とほぼ同等の機能)
http://googlebar.mozdev.org/

2005年7月3日日曜日

mysql tips(コマンド集)

---shellから------

▼DB一覧の表示
mysqlshow

▼DB内テーブルの表示
mysqlshow [dbname]

▼パスワードの変更
$ mysql -u root mysql
mysql> update user set Password=password('hissql') where user='root';

もしくは
$ mysqladmin -u root password [newpassword]


---MySQLから---

▼DB一覧の表示
show databases;

▼テーブルの表示
show tables from [dbname];

▼カラムの表示
show fields from [tablename] from [dbname];


---基本SQL文---

▼検索
select * from [tablename];
ex) mysql> select * from test_table;



▼挿入
insert into [tablename] ([Field],[Field],......) values (*,*,....);
ex) mysql> insert into test_table (hoge,moe) values (1,'aa');


▼更新
update [tablename] set [Field]='value' where [Field] = 'value';
ex) mysql> update test_table set hoge=2 where moe='aa';


▼削除
delete from [tablename] where....;
ex) mysql> delete from shintaro where hoge=1;


▼テーブル作成
create table [tablename] (field kata,field kata);
ex) mysql> create table test_table (num int(2),moji char(2));


▼行の数を知る
mysql> select count(*) from [tablename];


---定義SQL文---

▼テーブル名変更
alter table OLDTBLNAME rename to NEWTBLNAME;

▼カラム追加
alter table TBLNAME add column (COLNAME DATATYPE);

▼カラム削除
alter table TBLNAME drop column COLNAME;

▼インデックス追加
alter table TBLNAME add index IDXNAME (IDXCOLUMN);

---権限SQL文---

▼権限付与
mysql> grant all privileges on *.* to mysql@localhost identified by 'yoursql' with grant option;
mysql> grant all privileges on *.* to mysql@"%" identified by 'yoursql' with grant option;


▼完全なMYSQLスーパーユーザーを作る
mysql> GRANT ALL PRIVILEGES ON *.* TO [username]@localhost IDENTIFIED BY '[password]' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO [username]@"%" IDENTIFIED BY '[password]' WITH GRANT OPTION;




---その他---

▼DBの選択
mysql>use DBNAME;

▼DB作成
mysql>create database DBNAME;

▼DB削除
mysql>drop database DBNAME;

▼外部SQLファイルの実行
$ mysql DATABASE_NAME < temp.sql
(これでtemp.sqlに格納されているSQL文が実行される。)

▼ファイルへのエクスポート(実行結果を外部ファイルへ出力)
$ mysql test > out.txt
mysql> select * from test_table;
mysql> quit

(out.txtにselect文の実行結果が返ってくる。)

▼mysqldump(dumpファイル出力)
/usr/local/mysql/bin/mysqldump --all-databases > /path/to/backup_dir/dump.dat -u root --password=[password]

▼ファイルからインポート
mysql> load data local infile "hoge.csv" into table TABLE_NAME;
(※標準はタブ区切り。もしカンマ区切りのCSVファイルをインポートしたい場合は、最後に「fields terminated by ','」と付け加える。)

▼ファイルからインポート(その2)
最新のMySQLではload data....の文は使えなくなった様子なので、mysqlimportを使ったインポートをします。
mysqlimport --local --fields-terminated-by=',' DBNAME /FULL/PATH/TABLENAME.txt
--localがないとエラーになってしまうので必ずつけましょう。

▼ファイルからインポート(その3)
mysql -u root --password=[password] TARGET_DB < batch_sql.txt


▼SQLログの記録
mysqld_safe --log &
で起動すれば実行したSQLのログを記録してくれる。ログの出力場所は/usr/local/var。(たぶん環境によって異なります)
ウェブアプリのデバッグなどに便利です。

▼一括置換
update TABLE set column = replace(column, "置換前ワード", "置換後ワード");

▼今日の日付と月、前の月をまとめてゲット
select
DATE_FORMAT(current_date, '%Y/%m/%d') as today,
DATE_FORMAT(current_date, '%Y/%m') as this_month,
DATE_FORMAT(DATE_ADD(current_date, INTERVAL -1 MONTH), '%Y/%m') as before_month;



---チューニング関連---

▼ステータスの確認
# mysqladmin status
# mysqladmin variables


▼データファイルの検査
# myisamchk /usr/local/var/DBNAME/TBLNAME.MYI
※「・・・is usable but should be fixed」と出たら修復の必要がある。
# myisamchk -d /usr/local/var/DBNAME/TBLNAME.MYI

▼データファイルの修復
#myisamchk -r /usr/local/var/DBNAME/TBLNAME.MYI
#myisamchk -o /usr/local/var/DBNAME/TBLNAME.MYI

ヘルプによると、-rはrecoverで、-oはold recoverらしい。念のため両方やっておいたほうがよさそう。