Aug - 11th
Net_POP3でgmail
Posted at 10:25 am | Filed Under Family, Google, PHP
PEARのNet_POP3でGmailからメールを受信するのはこんな感じでできる。実行環境で「ssl://」で始まるデータストリーム型がサポートされていれば問題ない。調べるには
$ php -i | grep "Stream Socket" Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
このようにsslが表示されていればいい。
スクリプトは、例えば
<?php
require_once 'Net/POP3.php';
$host = 'ssl://pop.gmail.com';
$port = '995';
$user = 'Gmailのメールアドレス';
$pass = 'パスワード';
$pop = new Net_POP3();
$pop->connect($host, $port);
$pop->login($user, $pass, USER);
//成功したら配列が、失敗したらfalseが返る
$messages = $pop->getListing();
if($messages){
foreach($messages as $k => $row){
$id = $row['msg_id'];
//特にやることもないのでとりあえず配列に入れる
$mail[] = $pop->getMsg($id);
}
}
$pop->disconnect();
print_r($mail);
exit;
?>
こんな風になる。
今さらなんだよ、という向きもあるかもしれないが、例えばGoogleのメールサーバを使って独自ドメインサービスをやっている場合、これで自分のサーバで空メールのサービスを立ち上げるときなどに使えるので、まあメモということで。
May - 1st
Adobeの変な広告
Posted at 2:23 am | Filed Under Google, life

Adobeが「出産」というキーワードでこんな広告を出していた。
Sep - 13th
誤変換の検知
Posted at 4:04 pm | Filed Under Google
Googleの中の人はこんな対応もしていたのか。
Aug - 19th
Google Maps APIで逆geocoding
Posted at 12:06 am | Filed Under Google
API仕様書にははっきりと「出来ない」と書いてあったような気もするのだが、なんとGoogle Maps APIで逆geocoding(緯度経度から地名を検索)が出来るという記事が。(オレンジニューススより)
どうやらGoogle Maps APIではreverse geocodingのことを「Driving Directions」と呼んでいるらしい。
Jul - 26th
Google時代のソースコード解析
Posted at 9:27 pm | Filed Under Fun, Google
ふと思いついたのだが、ある程度の規模のソフトウェアで、各コンポーネント(クラスとかモジュールとか)が外部ファイルを参照しているところを抜き出して、一種のページランクを作ってみると面白いかもしれない。より多くのコンポーネントから参照されているコンポーネントに依存されているものほどランクが高い、とか。
そうすると、依存関係の把握やデザインの善し悪しの判断、それから影響範囲の洗い出しなんかもちょっとは面白くなるかもしれない。
ならないですかね。
May - 29th
緯度経度から地名を検索
Posted at 6:17 pm | Filed Under Google, PHP, PostgreSQL, Web Services
Google Maps APIでは住所から緯度経度を取得することは出来るが、逆に緯度経度から地名を取得するのは無理なのだろうか。ざっと仕様を眺めたところではそんな機能はないみたいだ。
#追記:可能になったらしい。
猛烈に腹が立ってきたので測量やら何やらについて調べる。そういえば、そもそもPHPにはGoogle Map APIを扱うPEARのライブラリがない。
PostgreSQL + PostGISで何か出来ないかと、国土地理院の「街区レベル位置参照情報ダウンロードサービス」を調べてみた。これなら、緯度経度から近接する街区レベルの情報が取れるのではないか。
さらには、PostLBSを使って緯度経度から割り出した単純な距離ではなく道のりで距離を絞り込んで検索、なんてこともできるかもしれない。
もっとも、商用サービスとしては地図データのメンテナンスが難しそうなのと、もしデータの整合性に問題があったときの対応が面倒なので、やるなら公開するのが一番かも。
May - 24th
去年のテスト自動化カンファレンス
Posted at 4:47 pm | Filed Under Google
May - 23rd
Test Automation Conference
Posted at 11:06 pm | Filed Under Google
Googleのテスト自動化カンファレンスが告知されている。場所はニューヨーク、8月23日と24日。
スライドなどはウェブで見られるようだ。講演の内容はこちら。
Apr - 18th
QC、QAとテストエンジニアリングの違いについて
Posted at 10:01 pm | Filed Under Google, Software
原文はこちら。面白かったので訳してみた。
テストの世界では、日々の業務を指すのにたくさんの用語が使われている。皆さんもQAやQC、テストエンジニアリングという用語がお互いごっちゃになって使われているのを耳にしたことがあるはずだ。開発者が相手ならそれでも話は通じるだろうが、これらの用語について、さらにはソフトウェアテスティングの世界では一体これらがどのように使われているのかを考えてみるのも有益だろう。QCの古典的な意味は品質管理(Quality Control)で、品質についてあらかじめ決められた要件をみたしているかどうかを検証するプロセスのことをいう。組み立て工場のラインでは、製造された部品を工程の最後の箇所で抜き取ったり、複数の異なる組み立てプロセスを検証したりすることも含まれるだろう。ソフトウェアでは、QCの機能にはソフトウェアを要件にもとづいて検証したり、あらかじめ決められた要件通りのものかどうか検証することが含まれる。
一方、品質保証(Quality Assurance)は、継続的で一環した改善と、QC業務を可能にするためのプロセスを維持するものという意味合いが強い。QCプロセスは製品が自分たちの考えている通りに動くのかどうかを検証するのに利用され、QAプロセスは製品が顧客の求めるものなのかどうかを確証を得るために利用される。つまり、QAプロセスはQCプロセスの視点を含んだメタプロセスであると考えてもいいだろう。QAのプロセスはユーザビリティやデザインを左右するだけでなく、その機能が正しいのみならず、便利なものであるかどうかを検証するものでもあるのだ。
ここGoogleでは、わたしたちは自分たちでテストエンジニアリングと称している第3のアプローチを採用している。わたしたちはこれをQAのメタ世界とQCの現実世界とを結ぶ橋のようなものと見なしている。わたしたちのやり方では、日々のエンジニアリングプロジェクトに必要な結果を出しつつ、自分たちが顧客のことや顧客が望むものについて考える機会を確実に得ることができる。
確かにわたしたちのチームはQAやQCの立場からソフトウェアエンジニアと一緒に仕事をしているが、それだけでなく、製品がテスト可能で、なおかつ十分にユニットテストが行われ、さらには自分たちのチームの中でもそれがちゃんと自動化されるために働いている。
わたしたちは人間は人間が得意なことに注力し、コンピュータが得意なところはコンピュータがやれるようにするために、テストの自動化を重視している。これは自分たちでは手作業のテストは実施しないという意味ではない。そうではなく、わたしたちはもっと人間にフォーカスした(例えば探査試験など)テストを「適切な」量だけ手作業で行うようにして、手作業による繰り返しテストは決してしないということだ。
ウェブアプリケーションのテスト自動化にいまものすごく興味があるのだが、どこかに面白い資料はないだろうか。
Apr - 12th
Googleノートブック
Posted at 8:38 pm | Filed Under Google
Googleノートブックをさっそく試してみた。
画像を選択して保存するとGoogle側にキャッシュされるみたい。
(サーバ側で消してもノートからは消えない)
YouTubeの動画をフルスクリーンにして保存するとリンクが記録されていた。
(自社サービスにはちゃんと対応している)
Googleのアカウントがある人とノートブックを共有できる。
そして、いつものように他のGoogleのアプリケーションとはあんまり結合されていないみたいだ。
