Posted by hattara on 2010 年 10 月 8 日 – 11:33 PM
メインの開発機をwindowsからMacに変更して数ヶ月たつわけですが、
会社でWindowsを利用している環境や動作確認などの要因により、
Windowsはたまに利用したい。ということや、開発環境を別途用意したい場合のために、
Macに仮想環境をいれようと思うわけです。
ただ、普通に購入すると、ダウンロード版でも、8000円位しちゃうんですよね。。。
そんなにお金が出せない貧乏人なんで、安くなる方法を模索した結果、
以下の方法でお安くゲットしました。
1. 日本のVMwareの代理販売をしているact2.com のほうで、
一個バージョンが古い「VMware Fusion 2」を購入します。
今だとアウトレット価格ということで、「2500」円くらいで購入できます。
2. 最新のVMware Fusion 3を狙いにいきます。
標的は、「アメリカのVMware社のオンラインストア 」です。
2010年12月31日まで限定でVMwareFusion1 or 2 とParallelsを利用してる人は、
$9.99で最新のVMwareFusion3がゲットできちゃうという状況です。
(※自己翻訳なので間違ってたらアレですが。)
とりあえず現状まだ何のOSもインストールしてないけど、無事動いてます。
バージョンアップじゃなく、クリーンに3.1をいきなり入れて動いてます。
現在$1が81円くらいなので、810円位。Fusion2の2500円とあわせても、3310円位。
まあ、クレジット決済で、手数料がちょっと入っても、半額くらいでかえちゃいました。
英語の文章でも、いけるようなら、VMwareFusion2 , 3のライセンスを両方GETできて、
いい感じなんじゃないでしょうか。 よければ、皆さんもどうぞ。
Posted by hattara on 2010 年 9 月 27 日 – 7:34 PM
qmailでバーチャルドメインを設定するには、
「/var/qmail/control/morercpthosts」「/var/qmail/control/virtualdomains」などでできますし、
存在しないメールアドレス宛てのものを全部受け取るのは、「/var/qmail/alias/.qmail-default」でできます。
では、virtualdomainsで複数のドメインが指定されていて、その中の1個のドメインのみ
個別のメールアドレスを作らず、ドメインが一致していれば(@の後が同じなら)
どんなメールアドレスでも受信できるようにするには、どうしたらいいだろう。
まずは、qmailで利用しているメールアカウントは、/etc/passwdで管理されている前提でいうと、
***@example.com 宛のメールだとすれば、
「/var/qmail/control/virtualdomains」に以下のような記載をします。
example.com:example.com
※コロン「:」の右側はお好きなもので指定してください。
次に、「/var/qmail/control/morercpthosts」に以下のような記載をします。
example.com
次に、通常aaa@example.comなどのメールアドレスを作成する場合には、
/usr/sbin/useraddコマンドで、
「example.com-aaa」(virtualdomainsの[:]の右がexample.comなら)というアカウントを作成しますが、
特定のメールアドレスではなく、動的に作成される可変のメールアドレスを扱う場合には、
@の前が何になるかわからないので、「example.com」(virtualdomainsの[:]の右による)というアカウントを作ります。
次に、作成したアカウントのディレクトリ(/home/example.com/を例にする)に.qmail-defaultを作成します。
/home/example.com/.qmail-default
| /usr/bin/php /home/example.com/abc.php
上記の例だと、***@example.com宛にメールが着たら、毎回/home/example.com/abc.phpという
phpのプログラム(スクリプト/実行ファイル)がキックされ、動作することになります。
このphpのプログラムの中で、メールの内容を読み取るためには、事前にpearモジュールを
インストールしておく必要があります。
pear install Mail_Mime
pear install Mail_mimeDecode
これで以下のようなクラスを作成して呼び出せば、ガバっと取れますね。
<?php
require_once(“Mail/mimeDecode.php”);
class receiveMail
{
/**
* コンストラクタ
*/
public function __construct()
{
}
/**
* get
*/
public function get($input)
{
public $receiveParams;
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$params['crlf'] = “\r\n”;
$params['input'] = $input;
$mail_data = Mail_mimeDecode::decode($params);
#– From フィールドの取得
$this->receiveParams['from'] = $mail_data->headers['from'];
#– To フィールドの取得
$this->receiveParams['to'] = $mail_data->headers['to'];
#– Subject フィールドの取得
$this->receiveParams['subject'] = mb_convert_encoding($mail_data->headers['subject'], “UTF-8″, “JIS”);
#– 本文の取得
$this->receiveParams['body'] = mb_convert_encoding($mail_data->body,”UTF-8″,”JIS”);
return $this->receiveParams;
}
}
簡単に呼び出し元も書いておく。
require_once(“./receiveMail.php”);
$receiveMail = new receiveMail();
$input = file_get_contents(“php://stdin”);
$mail = $receiveMail->get($input);
これでやりたかったことを、ひとまず出来上がりっと。
Posted by hattara on 2010 年 9 月 23 日 – 6:05 PM
別サイトで使ってるものを移植したらjQueryの一部挙動がおかしくなった。
具体的には「動かない」ということになったんだけども、
原因をしらべようとFirebug先生にお聞きしたら、以下のエラーがでてた。
Uncaught ReferenceError: $ is not defined (anonymous function)
というエラーを教えてくれました。
ようするに、jsを外部から読み込むとかの場合には、まずはjQueryのから読み込んでおけよということでした。
なんで、
変更前
<script type=”text/javascript” src=”js/abc.js”>
<script type=”text/javascript” src=”js/jquery.min.js”>
だったのを
変更後
<script type=”text/javascript” src=”js/jquery.min.js”>
<script type=”text/javascript” src=”js/abc.js”>
に変更して、正常動作を確認しました。
なんてこったい。
Posted by hattara on 2010 年 6 月 18 日 – 8:13 PM
DELLのT105を利用しているわけですが、ディスクの容量が少なくなってきたので、
セカンダリのブランケットがあまってたので、ディスク増設しました。
そのときの手順を簡単にまとめてみます。
1.物理的にハードディスクをセカンダリのポートにさす。(デフォルトだと1個ブランケットがあまってるので、それにディスクをいれてさす)
2.増設ディスク(セカンダリディスク)のデバイスパスを調べる
※SATA系のディスクの場合には、SCSI認識になるので、だいたいの場合は、デフォルトディスクがsdaで増設ディスクがsdbになると思う。
基本的には、sd* (*にはa,b,c,dとパーツが順番に登録される)
dmesg | grep sd
(※以降は、増設ディスクが、sdbとして書きます)
3. ディスク領域を作成する。
#/sbin/fdisk /dev/sdb
Command (m for help): n ←「n」を入力しエンター
Command action
e extended
p primary partition (1-4)
p ←「p」を入力しエンター
Partition number (1-4): 1 ←「1」を入力しエンター
First cylinder (1-243201, default 1): ←何も入力せずにエンター
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-243201, default 243201): ←何も入力せずにエンター
Command (m for help): p ←「p」で内容を確認
Disk /dev/sdb: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 243201 1953512001 83 Linux
Command (m for help): w ←「w」で実行
以下のようなのが表示されたら完了
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
4.ファイルシステムを作成する。
# /sbin/mkfs -t ext3 /dev/sdb1
※上記はext3で作成していますが、環境にあわせて指定してください。
5.増設ディスクのマウント用のpath(領域)を作成する
mkdir /home2
6.とりあえずマウントしてみる。
mount /dev/sdb1 /home2
7.再起動後も正常にマウントされるようにfstabを記述する
vi /etc/fstab
/dev/sdb1 /home2 ext3 defaults 1 2
—-
※補足・・・・
メインの領域については、LVMを組んでいるので、
今回の増設分もLVMを設定しようか悩んだものの、
バックアップ用途なので、明確にディスクが把握できたほうがいいかなと思って、
そのままにしました。
Posted by hattara on 2010 年 4 月 25 日 – 8:06 AM
HTTP_RequestとかHTTP_Client(HTTP_Requestのラッパー)とか使っちゃうわけですが、
昨日うまく動かなくて、調べてたことを纏めておこうと思います。
HTTP_Requestでデータを渡すときの方法が2通り?ありまして、
1個目のパターンが、
$request =& new HTTP_Request();
$request->setURL($uri);
$request->setMethod(HTTP_REQUEST_METHOD_POST);
$request->addPostData(“data”, $data);
$request->sendRequest();
$code = $request->getResponseCode();
$response = $request->getResponseBody();
これの場合、$dataという送りたい値は、addPostDataメソッドで送付しているので、
受け側では、$_POST($postData = $_POST; みたいに)で取れるわけですよ。
次が、
$request =& new HTTP_Request();
$request->setURL($this->_uri);
$request->setMethod(HTTP_REQUEST_METHOD_POST);
$request->addRawPostData($data,false);
$request->sendRequest();
$code = $request->getResponseCode();
$response = $request->getResponseBody();
これの場合、送りたい$dataの値は、addRawPostDataメソッドを利用しているので、
受け側では、$_POSTでは受け取ることができない!わけですよ。
この場合には、受け側で、file_get_contentsやfopenで開いて
php://inputの中身を取得する方法になるようです。
$postData = file_get_contents(“php://input”);
みたいに
知らなかったので、ごっぽり調べることになりました。。。。
Posted by hattara on 2010 年 4 月 17 日 – 4:39 PM
まあ、いまさらな話ではあるんですが、自宅でSamba経由で新規ファイルを作成しようと、
右クリックで「テキスト文章」を選んで作成しようとしたわけですよ。
すると、普通「新規ファイル.txt」みたいのができあがるわけなんですが、
—————————
ファイルを作成できません
—————————
ファイル ‘新規テキスト文書.txt’ を作成できません。
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
みたいなエラーがでたわけですよ。 で、色々調べましたけど、
Sambaのバージョンによって、日本語ファイルの扱いが違うわけですよね。
そうですよね。
@ITさんに書いてありましたよ。それらしいことが。
Samba 2.2系列までは
[global]
client code page = 932
coding system = SJIS/EUC/CAP/HEXなど
Samba 3.0系列までは従来のパラメータは廃止され、代わって新しく追加された、
[global]
unix charset = CP932/EUCJP-MS/UTF-8など
dos charset = CP932
display charset = CP932/EUCJP-MS/UTF-8など
これで、Sambaの再起動「/etc/rc.d/init.d/smb restart」でなおりましたとさ。
こんなんで時間とられてちゃ せわないわい。
Posted by hattara on 2010 年 2 月 2 日 – 7:55 PM
phpで作った連想配列をXML形式で吐き出したい場合の例を作ってみました。
<?php
require_once(“XML/Serializer.php”);
$aaa = array(
‘bbb’ => ‘ccc’,
‘ddd’ => ‘eee’,
‘fff’ => ‘ggg’,
);
$options = array(
‘encoding’ => ‘UTF-8′, // ヘッダー情報で指定するエンコード
‘addDecl’ => true, // ヘッダー情報を表示する
‘rootName’ => ‘result’,
);
$obj = new XML_Serializer($options);
$obj->serialize($aaa);
$xml = $obj->getSerializedData();
echo $xml;
?>
上記で実行したものの結果が以下のようにでてきます。
<?xml version=”1.0″ encoding=”UTF-8″?>
<response>
<bbb>ccc</bbb>
<ddd>eee</ddd>
<fff>ggg</fff>
</response>
Posted by hattara on 2010 年 1 月 28 日 – 2:09 PM
正月からチマチマと読んでいたビジネス書を読了。
内容としては、風林火山などで有名な孫子の言葉になぞらえて、今のビジネスシーンでは、
どういう受け止め方ができるかというあたりの考え方が載っている。
「孫子の兵法」のことがマンガで3時間でマスターできる本 (アスカビジネス)
状況を見極めて、決断をきちっとして、適切な対処を行うということ。
まあ当たり前なんだけど、それができないことが多い。
とくにその時代でいう将・国のあたりに対する話がかいてあり、
今のビジネスシーンでの企業経営側、人の上にたつ立場の人は、
一度読んでみる価値があると思いました。
もしよければ、ご一読ください。
Posted by hattara on 2010 年 1 月 27 日 – 6:53 PM
DBでSELECTとかする場合に、検索結果を表示したい場合は、
使い回し安さなどの理由で、CSEとかAccessとかでやることが多いのですが、
データ量が増えてくると、SELECTが終わっても表示部分で時間がかかってしまい、
タイムロスが大きくなるというのがあります。
そこで、Linux上でコマンドラインからSQLを実行して、ファイルに保存する方法を
一応メモしておきます。
mysql -h データベースホスト名 -u ユーザ名 -p データベース名 < SQLを書いてあるファイル名 > 出力したいファイル名
※事前にSQLを別のテキストに書いておく必要があります。
Posted by hattara on 2009 年 12 月 18 日 – 2:03 PM
ウィルコムから以下のような発表があったようですね。
「HYBRID W-ZERO3」を2010年1月28日(木)より発売
専用新料金コース「新ウィルコム定額プランG」の開始について
通常、各主要携帯キャリア(AU,Docomo)あたりだと、
携帯端末でPC接続して通信すると、1万を軽く超えるわけですよ。
電話端末でPC接続して安くすますなら、
速度の遅いウィルコムか、エリアの狭いイーモバイルか、
電話端末以外に、データカードを別で持つかを迫られるわけですよ。
でも、これだと、3G回線はDOCOMOのFOMA回線を借り受けてるから、
速度はそこそこ出る。
かつ、通常パケット料金でPC接続OKなんで、5250円以内のパケット費用
あとは、端末費用1480円/月と「新ウィルコム定額プランG」1450円/月がかかるから、
5250 + 1450 + 1480 = 7180円/月 ですかな。
iphoneのテザリングを無料化と孫さんが、明言してくれたら、何も言うことないんだけどな。。。