前の日 / 次の日 / 最新 / 2006-10

/home/pochi/ChangeLog / 2006-10-04

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2006-10-04 Wed

大当り!、使用中の ThinkPad X60s のバッテリが交換対象に [ネタ][computer]

http://gigazine.net/index.php?/news/comments/20060929_lenovo/
http://download.boulder.ibm.com/ibmdl/pub/pc/pccbbs/mobiles/batteryrecall_ja.html

ソニー製バッテリが発火したり爆発したりしているけど、
まさか、7月に買った X60s (-->[2006-07-21-1]) に
その噂のバッテリが装着されてるとは!!

早速サポートに電話して交換の手続き。

- 在庫がないので1ヶ月ぐらいかかる
- それまではバッテリを外して AC アダプタだけで使って欲しい
- IBM では、ロサンゼルスの空港において、バッテリから煙が出た、
  という事例は確認しているが、詳細は調査中。
- 爆発した、という事例は IBM としてはまだない

とか言われた。

ドキドキするなあ。

Referrer (Inside): [2006-10-23-4]

ファイアウォールの内側から Ethernet over SSL のコネクションをはる VPN アプライアンス「SecureBranch」 [computer]

http://www.nec.co.jp/press/ja/0610/0301.html

- ファイアウォールの設定が不要
- 外の PC から接続しに行く、というわけではないので、
  セキュリティ的に守りやすい
- 接続のトリガーは、なんとメール

素敵な箱に見えるなあ。

Pマークのアリバイ用に導入を検討しようかしら。

PEAR と Smarty は素敵か? [computer]

どっちも PHP と組み合わせて使う。

PEAR は素敵なライブラリ集。
Perl の CPAN ほど無敵ではないけど、
実用的なライブラリが沢山ある。
面倒臭い処理もちゃんとしてくれるので、とっても便利。

Smarty もかなり素敵。
テンプレートを使って、ロジックとデザインを
かなり分離することができる。
プログラマが苦手なデザインを外に出せるのはおいしい。
デザインは Dreamweaber を使うほうが楽だしね。
表示のための簡単な処理を書くことができたり、
テンプレートシステムとしても良くできてる。

でも、PEAR も Smarty も PHP っぽい素朴な書き方と、
あんまり整合性が良くないんだよね。
PEAR も Smarty も配列を使いまくって、参照で渡す、
という、オブジェクト指向っぽいやり方で使うんだけど、
こういう考え方って、素朴な PHP プログラマには
おそらく難しいんじゃないかと思う。
で、配列を使いまくって、参照で回していく、
そしてテンプレートを使って、ロジックを分離する、
というやり方をするのであれば、PHP じゃなくても、
良い気がするのよね。
正規表現の扱いとか、素直なオブジェクトの扱いとか、
セキュリティへの配慮しやすさ、
デバッグ手段の豊富さ、ライブラリの充実度、
そんなことを考えると、PHP って、
Perl とか Ruby とかに比べて明らかに落ちるよねえ。
Perl や Ruby なんかのテンプレートシステムを
使うほうが、書くほうとして楽なのでは?
とか思った。

Smarty は PHP しか知らない人にはかなり素敵。
可能なら採用すべきライブラリ。
でも他の言語も知ってるなら、他の言語の
フレームワークも検討したほうが良いかも、
というのが個人的な結論かな。
アンケートプログラムを書いといて言うのもなんだけど。

PHP + MySQL + PEAR + Smarty によるウェブアプリケーション作成 [computer][JANOG]

プログラムの投票用ページを作った。
プログラム書きって楽しいよなあ。

メモを吐き出し。

○ソフトウェアインストール
ソフトウェアは ports でインストールする。
そのほうがアップデートが楽だしね。

PHP は lang/php* から入れること。
CLI もインストールしないと PEAR がインストールできない。
www/mod_php* を入れてて、CLI が入ってないような時は、
一旦削除してから lang/php* を入れる、と。

Smarty のインストール

cd /usr/ports/www/smarty
make install


PEAR は必要なものを必要に応じて。

cd /usr/ports/devel/pear
make install

cd /usr/ports/security/pear-Auth
make install

cd /usr/ports/databases/pear-DB
make install

cd /usr/ports/devel/pear-HTML_Common
make install

cd /usr/ports/devel/pear-HTML_QuickForm
make install


PHP にライブラリの場所を教える

vi /usr/local/etc/php.ini
===
include_path = ".:/usr/local/share/pear:/usr/local/share/pear/PEAR:/usr/local/share/smarty"



○データベースを作成

mysqladmin --user=root create <データベース名>
mysql <データベース名> < <テーブル定義>


mysql --user=root mysql
---
grant all on <データベース名>.* to <ユーザ名>@localhost identified by "パスワード";
flush privileges;
exit


ネットワークごしにアクセスさせたい場合は以下も。

grant all on <データベース名>.* to <ユーザ名>@'172.16.0.0/255.255.255.0' identified by "パスワード";


実際にテーブルを作ったりするのは、MySQL Administrator の
ようなGUIツールを使うのが楽。

MySQL Administrator
http://www.mysql.com/products/tools/administrator/

文字コードは utf8 にしておくのが無難。
Table Engine も InnoDB で良いでしょ。

そうやって作ったテーブル定義は、

mysqldump -d データベース名


で吐き出しておく。


MySQL の本は手元に一冊ぐらい置いておいたほうが良い。
ある程度理解してて、具体的なコマンドをすぐに知りたい、
というのであれば、ウェブの方が便利かも。
検索できるし。
以下のサイトは便利だった。

MySQL クイックリファレンス
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

MySQL について、中身とか、もっともっと詳しく知りたければ
以下の新刊でも買えー、と。

超・極める!MySQL


○PEAR のドキュメント
プログラムを作るにあたっていろいろドキュメントを探したけど、
結局は配布元のマニュアルが一番参考になった。
サンプルも充実してるので、ここだけで充分。

配布元サイト
http://pear.php.net/

配布元サイトのマニュアル
http://pear.php.net/manual/index.php


○Smarty のドキュメント
これも配布元のマニュアルが参考になる。

配布元サイト
http://smarty.php.net/
http://smarty.php.net/docs.php

日本語に翻訳してくれてる方もいて、時間短縮をするなら、
翻訳を読んでから本家にあたる、というのが良いかも。

Smarty マニュアルの日本語翻訳(リンク集にもなっている)
http://sky.freespace.jp/smarty/


○PHP のデバッグ
print_r が超便利。


○文字コード
UTF-8 にしとけば問題が少ない。
EUC とかで書いたものがあれば、nkf で変換しちゃう。

nkf -Ew --overwrite **/*


とかで一気に変換できる。
でも、変換をミスることがあるので、
バックアップは「絶対」取っておくこと。

せっかくなので、UTF-8 生活に切り換えるぜ、
と思ったら、以下のサイトとかを参考に。

いやなブログ: UTF-8 への移行計画
http://0xcc.net/blog/archives/000041.html


○セキュリティに配慮すべし
PHP は、何も考えずに書くと、ものすごく
セキュリティに甘く書けちゃう。

- 細心の注意をはらう
- ちゃんと勉強をする、
- ライブラリを活用する

というのが基本。
SQL インジェクションなんかを避けるためには、
外部由来の文字列には、PEAR の DB モジュールにある
quoteSmart を使って

$db = & DB :: connect( $dsn );
$user_id = $db->quoteSmart( $_POST["input_userid"] );
$pass = $db->quoteSmart( $_POST["input_password"]);


のように処理してやる、と。

Referrer (Inside): [2006-12-12-5] [2006-10-24-13]

Google流会議のための6か条 [コラム]

http://toshio.typepad.com/b3_annex/2006/10/google6.html

1週間に70もの会議を主催している人の会議術。
主催だもんなあ。
すごすぎ。

1. 確固としたアジェンダを設定せよ
2.議事録担当者を決めろ
3. ミニ会議の時間を作り出せ
4. 自分の「営業時間」を持て
5. 政治は排し、データを活用せよ
6. 時間を厳守せよ

いちいちもっともだ。

Ruby の嬉しいところ [computer]

http://itpro.nikkeibp.co.jp/article/COLUMN/20060919/248312/

Ruby が Java 等と比較して優れている、というところを
列挙している。
いちいちなるほどなあ、と思う。

コードは書く立場じゃなくて、読む立場で関ることが多いので、
普通の人とは大部視点が違うと思うんだけど、
個人的に Ruby が素敵だなあ、と感じるのは、
ちゃんとした人が書いた Ruby のコードは綺麗で見易い、
という点。

PHP や Perl だと、ちゃんとした人が書いたとしても、
なんだか美しくはないんだよね。

Python のコードは見易いんだけど、
修飾子みたいな便利なものがないため、
どうしてもコード長くなっちゃう。
修飾子やイテレータは賛否両論あるけど、ちゃんとした人が
ちゃんとした用途で使ってるとすごく見易くなる。

関数型の言語は、理解すれば、ああ!、って思うけど、
理解するまでにちょっとしたイライラがあるのよね。

2021 : 01 02 03 04 05 06 07 08 09 10 11 12
2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2021-03-02 14:20