2008年9月30日火曜日

PHP用拡張モジュール有名どころ一覧

ApachtとPHPをセットアップするときに必要となるPHPの拡張モジュールのメモ。

環境はCentOSで、基本
$ yum install <拡張モジュール名>
でインストール可能な一覧。

拡張モジュール名 説明
php-mbstring マルチバイト文字列を扱うときに必要となる。PHPを使うシステムでは、ほぼ必須。参考PHPマニュアル
php-gd PHPで動的に画像を生成したり、画像のサイズ変更を行うときに必要となる。PHPマニュアル
php-pgsql PHPからPostgreSQLに接続するためのモジュール。
php-mysql PHPからMySQLに接続するためのモジュール。
php-xml DOMやSimpleXMLなどXMLを使う場合に必要。PHPマニュアル

その他、気づいた時点で追加する予定。

軽量、軽快なPHPフレームワーク「petitwork」

2008年9月29日月曜日

Tera Term Proのダウンロードとインストールメモ

TeraTermがない端末で作業するときにさくっとインストールするためのメモ。
なんかいっぱいバージョンがあるみたいだけど詳しいことはwikipediaで。

インストールパッケージはSourceForgeのプロジェクトからダウンロード。

今は「UTF-8 TeraTerm Pro with TTSSH2」から「Tera Term」に改名したらしい。現行のバージョンは4.60

「UTF-8 TeraTerm Pro with TTSSH2」がインストールされている場合はアンインストールした方がいいらしい。

インストールするときは「TeraTerm Menu」を選択する。
これはタスクバーに常駐して、ショートカットからマクロでログインするところまで自動でやってくれる。
便利。

あとは普通にインストールをすすめていけばOK。

suganuma@エクスブリッジ

2008年9月26日金曜日

FedoraCore5のsamba設定ではまる(SELinuxを無効に)

開発でFedoraCore5が必要になったので、VMwareServerに新規インストールして設定していたらsambaの設定で、ちょっとはまった。

普通に
$ yum install samba
のあと、前に書いた記事を参考にsmb.confを設定しようとしても、まずsamba経由でsmb.confを上書きできない・・・。

しょうがないので、sshでファイルをアップロードしてsmb.confを上書きするとできる。

その後sambaを再起動して共有フォルダにwindowsからフォルダを作成しようとするとできない・・・。そのときの/var/log/messageは下のような感じ。

Sep 24 16:51:44 vm-hoge kernel: audit(1222242704.940:94): avc:  denied  { write } for  pid=
3246 comm="smbd" name="opt" dev=dm-0 ino=228481 scontext=root:system_r:smbd_t:s0 tcontext=
system_u:object_r:usr_t:s0 tclass=dir

よく分からない・・・。sambaの動きがなんか変。

・・・と思っていたら、原因がわかりました。selinuxのせいです。

system-config-securitylevel-tuiをやっても有効、無効の選択肢がでなかったので気付きませんでした。無効にするためには/etc/selinux/configの

SELINUX=enforcing

SELINUX=disabled

と記述して、再起動すればok.

そういえば他の処理をしたときにPermission deniedとログに書いてあったのはselinuxが効いているせいということで納得。

2008年9月25日木曜日

VMware Server 2.0正式版をインストールしてみた(RPMで)

こっちの記事でも書いてますが、VMware Server2.0の正式版がリリースされたので、さっそくインストールしてみました。まえはソースコードからコンパイルでしたが、今度は今後の保守も考えてRPMでインストールしました。

環境はLinux(CentOS5.2)

まずはここからダウンロードしてきます。

今回もいろいろとダウンロードするまでに質問されますが、無償で利用できるありがたみを感じながら、丁寧に回答していきます。 インストールするOSの制限として、WindowsとLinux合わせて10となっていますが、あとで変更もできるので気にせずダウンロードします。

まずは前のRC1,2をインストールしてある場合はアンインストールしときます。 $ vmware-uninstall.pl

RPMの場合は簡単で
$ rpm -ivh VMware-server-2.0.0-116503.i386.rpm
$ vmware-config.pl
とすればok. 質問はデフォルトで答えていけば、とりあえず動く。

ここで気付いたのが、リモートコンソールでログインするためのポート(902)を聞いてきた。 もしかしてRC版ではできなかったリモートコンソールでの管理ができるのか?
と思い1.0の頃のVMware-consoleをインストールしてみたけど、アクセスできなかった。

何かしら方法はありそう。

VMware Serverのドキュメント(マニュアル)

続く・・・。

<2008/10/31>
Ubuntuに
$ apt-get install rpm
をやった後にrpmのvmwareをインストールしてみたらできなかったで、しょうがなくソースからコンパイル。特に問題なくインストール完了。

あと、ポート902は有償のVirtualCenterで管理するためのポートみたい。

<2009/07/05>
でも、やっぱりソースからコンパイルした方が保守しやすかった・・・。

削除する方法は
# rpm –qa | grep VMware
で検索しといて
# rpm –e VMware-server-2.0.0

でアンインストール完了

2008年9月24日水曜日

Blogger向けアクセス解析ツールはまだ?

2008/05/02の記事でBlogger向けアクセス解析ツール「Google Analytics for Blogger」をテスト中というのを読んで、どんなアクセス解析ができるか楽しみにしているのに、なかなか公開されない。

今はGoogle Analytictsで一応満足していますが、追加でほしい機能は

  • RSSの購読状況を表示
  • 被リンクの情報をサイト(ブログ)単位で表示
  • Google カレンダーと連携

ぐらいかなぁ。

suganuma@エクスブリッジ

2008年9月22日月曜日

【PHP5】オブジェクトを複製する clone

PHP4とPHP5の違いはこの辺で少し書きましたが、PHP5でオブジェクトを値渡しのように複製したい場合はどうするの?と思ったときのメモ。

オブジェクトを複製したい場合はcloneを記述するようです。PHPマニュアル

<記述例>
$copy_of_object = clone $object;

さらにここの記事ではPHP5で変更のあった仕様をまとめているので、参考になるかも。

参照渡しと値渡しの速度比較は前の記事を参考に。

軽量、軽快なPHPフレームワーク「pettiwork」

2008年9月19日金曜日

Bloggerで記事のバックアップ(エクスポート)をする

新しい機能が次々と出てきて楽しい反面、いきなりスパムブログと間違われて削除されたり、いきなり文字化けしたり、いきなりアクセスできなくなったりと問題もあるBlogger。
そんな目にあうのは利用者の数%だと思うけれど、今までコツコツとためてきたブログを削除されてしまったら、あまりに悲しいのでバックアップをとる方法を調べたのでメモ。

まだドラフト版ですが、ブログの記事をエクスポートするのが提供されているみたいです。

Blogger in draft(http://draft.blogger.com/)にアクセスして管理画面からエクスポートを選ぶと、
Bloggerのレイアウトと記事の内容(コメントも含む)をXML形式で保存できます。

ここの記事を参考に。

投稿された写真はPicasaの方に保存されているので、この方法ではバックアップをとれないですが、定期的に記事のバックアップをとっておけば安心です。

Windows Live Writerにバックアップの機能があるとすごい助かるんだけどなぁ。

2008年9月18日木曜日

32bitと64bitの違い

公式ブログの続き。

最近のCPUは64bitに対応しているのが多いですが、 「32bitと64bitの違いって何ですか?」 って(一般の人から)たぶん聞かれるので、その答えを準備するために調べたメモ。

OKWaveに投稿されている回答内容を読めば、なんとなく理解できる。 あとはwikipediaを参考に。こっちはちょっと難しい。

自分で回答する内容は以下

  • 32bit, 64bitはCPUの情報処理能力
  • 片側2車線道路が片側4車線になるようなもの(車の流れが結構違うでしょ?)
  • ただこの片側4車線をフル活用するためにはOSとアプリケーション側で対応が必要
  • 64bitのOS上では64bitのアプリケーションしか動かないけど、windowsの場合エミュレーションして対応している
  • 扱えるメモリの最大が理論上4GBから180億GBまで増える
  • この扱えるメモリの増加が一番のメリットかもね
  • 実際64bitのCPU + 64bitのCentOSをインストールしてみたけど体感速度はあまり変わらない
  • 相当高付加+並列処理が必要なことをやらなければ32bitで十分
  • しかも最近のCPUは内部的に並列処理ができる仕組みをいろいろ導入しているからね

こんな感じで説明すれば分かるかな。

軽量、軽快なPHPフレームワーク「pettiwork」

2008年9月17日水曜日

エクスブリッジのギネスに挑戦を動画で配信

私が外に行っている間に「ギネスに挑戦」シリーズが開幕したみたいです。

/>

今回はxb-itazu氏が頑張ってます。

この動画はエクスブリッジの動画配信システム「HELIOS.CoTV」で配信されてます。携帯でも閲覧可能ですが、パケホーダイの契約している場合のみおすすめします。結構お金かかるみたいなので。

携帯で閲覧したい場合は「HELIOS.CoTV」にあるQRコードからいけます。暇なときは他の動画もどうぞ。

動画配信といえばHELIOS.CoTV

2008年9月16日火曜日

空手合宿に行ってきました。

3連休は大学の空手合宿に参加しました。

↓合宿の風景

DSC01203

さすがにきつかったですが、久しぶりにいい汗がかけました。

体の衰えも再認識しました。学生の稽古についていけない・・・

しばらく筋肉痛が続きそうです。

2008年9月12日金曜日

今週末は空手合宿で栃木県へ

大学の合宿にOBとして参加してきます。

名古屋からだと行きにくい場所にあるので、新幹線とバスで3・4時間ぐらいのところにあります。

学生ほどの体力はないので、怪我しない程度にがんばります。

あと関係ないですが、また自転車が盗まれました。名古屋に来て5回目。

suganuma@エクスブリッジ

2008年9月11日木曜日

【Ethnaを使った携帯サイト構築】セッションを保持するために

今、別案件でフレームワークEthna(えすな)を使った携帯向けサイトを構築していますが、そのときに使った携帯でセッションを保持するための処理をメモ。

.htaccessに

php_flag session.use_trans_sid On

を書いてもいいですが(session.use_trans_sidについては前に書いた記事を参考に)、PC向けの画面も同じ階層にいたりするので、PHPで制御するやり方です。

ログインなどでセッションをスタートした後に

output_add_rewrite_var(session_name(), session_id());

を記述して携帯用の共通のコントローラで同じく
output_add_rewrite_var(PHPマニュアル
を記述すればO.K。
session.use_trauns_sidだけでいけると思ったけどダメだった。環境はPHP5.1.6

例↓

class Ethna_ActionMobileClass extends Ethna_ActionClass {
function authenticate() {
output_add_rewrite_var(session_name(), session_id());
if ( !$this->session->isStart() ) {
return 'login';
}
else {
return null;
}
}
}

output_add_rewrite_var(PHPマニュアル
は画面のリンクやformに設定した名前と値の組を自動で付加してくれる便利関数。

<?php
output_add_rewrite_var('var', '12345');
echo '<a href="file.php">リンク</a>'
?>

とすると

<a href="file.php?var=12345">リンク</a>

になる。

<2008/09/25>
あと、ethnaだとアクセス元のIPアドレスをチェックしているみたいなので、頻繁に変わる携帯の場合、セッションが切れたり切れなかったりするので、ここを参考にEthna_SessionのisValidをオーバーライドする必要があるみたい。

もしくはcheck remote addressの前に
return true;
を記述する。

2008年9月10日水曜日

筋肉痛がまだとれない

日曜日に尾張旭で空手を教えている先輩のところに行って空手をしてきましたが、その筋肉痛がまだとれません。

8月中は夏休みで稽古をサボっていたので約1ヶ月ぶりの稽古。

今週末に大学の合宿でOBとして参加するので、少しは体を動かしてないとまずいと張り切りましたが、やっていても脳の命令に
体がついてこれず、「もうやめてくれー」と体の節々からの叫び声が聞こえてくるようでした。

やっぱりサボっているとどんどん体が衰えていきますね。もう急降下。

1週間に1回は稽古がない日でも動くようにします。

2008年9月9日火曜日

IP電話でFAXを送る方法とPC-FAXについて調べてみた

に固定電話をやめて光電話にすると書きましたが、
(NTTの固定電話を休止状態にする。)
そこで問題になるFAX送信について調べてみました。

まずIP電話網を使ってFAXを送信するのは止めたほうがいいらしい。
@IT-IP電話でのFAX通信は、メーカー独自手順などFAX機にも注意

そこでPCでFAXを送信できるような(FAX代行みたいな)サービスを調査。
このようなサービスを使うと、新しいFAX番号をもらえて、そこに届いたFAXはPCのメールに届くようにすることができる。
→メールのやり取りと同じようにFAXの送受信ができる。

有名なのは

  • iFAX(インターネットFAX)
    月額料金が無料の従量制。一番便利そうだけど、NTTの固定電話に加入してないといけない。
    今回はNTTの固定電話から脱却したいので根本的に対象外
  • D-FAX
    月額料金は無料の従量制。受信だけなら無料。登録するときに登録料として2,500円必要。3ヶ月間未使用だと自動でアカウントが削除される。
    ・・・微妙

このFAX ASPサービスの記事を読むとiFAXを使いたくなる。

他にも同じようなサービスを提供しているところはあるけど、どこも月額利用料金が1000円前後かかるので利用しづらい。参考

結論としては、FAXはあきらめることにしました。

本当に必要になったときにまた考えます。

2008年9月8日月曜日

自宅のネットワーク構成を一新・・・するために

最近、自宅のネットワーク構成をアップグレードしようと妄想中。

・・・別に今困っているわけではないんですけど・・・

テーマは「無線」。なるべく裏に這っているコード類を減らそうとしてます。

まずはプロバイダの変更。
今はYahoo BB 12Mですが、コミュファ光に。
今住んでいるマンションは「コミュファ・マンションF」らしいのでちょっと高い。

これでNTTの固定電話を休止状態にすれば毎月500円ぐらい安くなる。

Yahoo BB 12M + NTT固定電話 = 約5,500円

コミュファ光 マンションF = 約5,000円

こんな感じ。
そんなに違わないですが、回線速度が上がって料金が安くなればいいかなぁ。

ただ一つ問題が。

今までFAXをごくたまに使ってましたが、これが使えなくなる。
別に使えなくなってもいいですが、実家からとか知り合いからたまに来るので、どうしようかなぁと考え中。
固定電話なしでFAX送る方法を調査中なので、またブログで書きます。

無線ルータはCoregaのCG-WLBARGNHでほぼ確定。

プリンタは今までBrotherのMFC-620CLNを使ってましたが、無線化のために新しくDCP-535CNMFC-930CDNにしようか考え中。

MyMioシリーズは多機能な割りにコンパクトなので、部屋にすっきり収まってましたが、FAXがいらなくなると他の会社のプリンタも選択肢に入ってくるので、これもまた迷う・・・。

どうしよーねー。

suganuma@エクスブリッジ

2008年9月5日金曜日

エクスプローラ風ファイル管理ソフト(ファイラー)「まめFile」

私が愛用しているファイル管理ソフト「まめFile」の紹介。

フリーソフトです。作者のページはここから。

  • ファイルの圧縮、解凍、分割、結合
  • ランチャー機能
  • よく使うフォルダを覚えておける
  • ショートカットキーを登録すると片手で操作できる
  • マウスでファイルをコピー、移動するときに問い合わせしてくれるので、間違えてファイル移動とかを防止できる。(設定でどうにでもできる)

などなど機能は豊富。

image

私の場合はまだ「まめFile4」を愛用中。「まめFile5」でもいいけど、ウィンドウごとに作業内容を決めているので、こっちの方が使いやすい。

圧縮、解凍するときは別途dllをインストールしないといけないですが、caldixを使って一括でインストールすると楽。

あとはTortoiseSVNと連携できれば言うこと無し

名古屋のおもしろ会社エクスブリッジ

2008年9月4日木曜日

プレースホルダ(place holder)はplace folderではない

データベースにSQL文を発行する際はSQLインジェクション攻撃の対策としてプレースホルダとバインド変数を用いるのが常ですが、プレースホルダのholderをfolderと勘違いしてました。

・・・ただそれだけ。

エクスブリッジのsomfaを使うと次のような感じになる。

$sPlaceHolder = 'user_id = ?';
$aBind = array($vo->user_id);
$aRecordset = $objSomfa->select('tbt_user', '*', $sPlaceHolder, $aBind);

PHP用DB接続支援ライブラリ「somfa」

2008年9月2日火曜日

Google カレンダーでiCal形式を読み込むと文字化け

Googleカレンダーにical形式(*.ics)のファイルを別カレンダーとして登録したときに文字化けしていた原因が分かりました。

Googleカレンダーではレスポンスのヘッダーに文字コードを指定しないと駄目らしい。ここのブログで教えてもらった。

icalが置いてあるディレクトリの.htaccessに
addtype text/calendar; charset=utf-8
を記述してみたりしたけど駄目だったので、PHPでさくっと作りました。

<?php
header('Content-Type: text/calendar; charset=utf-8');
$sFile = $_GET['ical'];
readfile($sFile);
?>

このファイルをical.phpとすると
http://www.hoge.com/ical.php?ical=suganuma.ics
というアドレスをGoogleカレンダーに設定すると、文字化けせずicalファイルを読み込んでくれます。

Googleカレンダーは携帯でもみれるので、これで会社のスケジュールをいつでも携帯から閲覧可能に。ちなみにGoogleカレンダーの携帯用アドレスは

http://www.google.com/calendar/m

<2008/09/16 追記>
コメントで指摘がありましたが、上のコードはあまりにセキュリティがダメダメなので各自'ics'ファイルに限定するとか、やってください。

<2009/08/28 追記>
一応備忘録のために修正版をアップ。

<?php
$sFileName = $_GET['ical'];
if (strpos($sFileName, '.ics') === false) {
    $sFileName .= '.ics';
}
if (file_exists($sFileName)) {
    header('Content-Type: text/calendar; charset=utf-8');
    readfile($sFileName);
}

2008年9月1日月曜日

英語の勉強で役立つ音声付き学習サイト

スリランカに行ったときに「英語話せたら、もっとコミュニケーションがとれる」と感じて、英語を勉強しようとみつけたサイト。

BBC Learning English

2,3日おきに英語の文章と音声をアップしてくれて、解説もある。解説も英語だけど。

まずは音声で4,5回聞いて、聞き取れなかった部分とよく分からない部分を文章で確認。比較的簡単な英語で書かれているので、聞き取りやすい方だと思う。たまに全く分からない(知らない単語ばかり)のときもあるけど、続ければ英語話せるようになるかなぁ。

最近さぼっているから、また続けたい。

Related Posts Plugin for WordPress, Blogger...

Blog Archives