Webの最近のブログ記事
PEARのHTTP_Requestはhttp通信が簡単に行える使い勝手のいいクラスなのでよく使いますが、レスポンスが保証されていないWeb APIとのやり取りなんかでタイムアウト時間を設定したいことがあります。
そんな時にtimeoutオプションを指定してみるのですが、時間通りストップしたりしなかったりと動作が今一つ不安定でした。
Pear パッケージ HTTP_Request - どうにかなるBLOG
こんな記事も見かけたりして、これはいよいよソースに手を加えないとだめかな・・・と思っていたところ、PEAR公式マニュアルを眺めていたら、readTimeout という知らなかったオプションを発見。
require_once 'HTTP/Request.php';
$url = "http://www.example.com/";
$option = array(
"timeout" => 10, // 接続Timeout秒数
"readTimeout" =>
array(10, 0) // ソケット読み書きTimeout秒数
);
$http = new HTTP_Request($url, $option);
$http->sendRequest();
$body = $http->getResponseBody();
print_r($body);
おぉ、なんだか期待していたような動き!
それぞれのオプションについては、
- timeout 通信先とのコネクション確立までのタイムアウト設定(秒
- readTimeout 接続後のパケットやり取りする時間のタイムアウト設定(秒、ミリ秒)
ということと理解しておきました。
やっぱりマニュアルはちゃんと読まないとな。
タブブラウザが主流になってきて、同時に複数タブ開いて作業することが当たり前になっているわけですが、10個も20個も開き続けてると、そのうち幾つか閉じてさっぱりしたいような衝動に無意識にかられてきます。
そんな時、私は勢い目検討でポチポチやってしまうのものですから、必然とfaviconがない目立たないタブからやられてしまうことが多いわけです。
今しがた調べ物をしていて、本当はキープしておきたかったページをうっかり消してしまったので、ウキーッ!となりつつ、改めてfavicon大事だなぁと思った次第です。
ついでに私がfavicon作る時によく使うのサイトです。オンライン上で簡単にfavicon作れて便利。
・Firefox3.0.1に上げるとTabMixPlusが動かなくなったので直してみた - Do You PHP はてな
うおー、これは有難いです。
何も考えずに3.0.1にしたらTabMixPlusが使えなくなって、とりあえずバージョンダウンしたりと不毛なことをして過ごしていたのが解消されました。
firefoxをバージョンアップするのは良いのですが、必ず後からアドオンに振りまわされちゃうので気を付けないと、、。
あるサイトで動的に生成しているsitemap.xmlのサイズがでかくなってきたのですが、サイズ制限とか大丈夫なの?と心配になったので調べてみたらやっぱり決められているようだったのでメモ。
各サイトマップ ファイルには 50,000 個までの URL を含めることができ、圧縮していない状態でファイル サイズが 10 MB (10,485,760 Byte) 以下である必要があります。
なので、まずは圧縮(gzip形式)して10MB以下に収めれば良いとのこと。
または、
サイトマップに含める URL の数が 50,000 個を超える、またはファイルのサイズが 10 MB を超えると予想される場合は、複数のサイトマップ ファイルを作成します。 複数のサイトマップを使用する場合は、これらのサイトマップをリストしたサイトマップ インデックス ファイルを作成できます。サイトマップ インデックス ファイルには 1,000 個までのサイトマップを含めることができます。
つまり、こんな感じでxmlファイルを指定するサイトマップインデックスを作れば良いそうです。
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
・サイトマップ プロトコルを使用する場合 | Google ウェブマスター ツール
https://www.google.com/webmasters/tools/docs/ja/protocol.html
Google AJAX Language API が出たということで非常にいまさら感漂うネタになってしまいましたが、以前、「PHPからGoogle翻訳を使ってみる」で作った処理を使って、cronで取得したDiggの最新RSSを英語→中国語に変換してTumblrにPostする、ということを続けています。
インチキくさいタイトル(笑)。
勝手にページができて中国人が押し寄せようものなら広告でも貼り付けて・・・というアサマシ的な考えも少なからずありましたが、今中国人向けにリーチを伸ばすとどれだけアクセスがあるものか試してみたかったのが狙いです。でもいざ作ってから気付いたのですがDiggに中国版ってあるんですね・・・。
気になるのは2/21にPostし始めてからなかなか検索エンジンにインデックスされないこと。数日前にようやくGoogleにはされましたが、一番されて欲しい百度にはさっぱり出てきません。サイト登録したりはしてるのですが、さて何に問題があるのか。
それにしても Google AJAX Language API は便利だなぁ。日本語→外国語の対応がまだ少ないので今後力を入れて欲しいところです。
3/1(土)に行ってきました。オープンソースカンファレンスに行くのは初めてでした。
最近Codeigniterを少し使うようになったのですが(先日公開した「読んでる?」もCodeigniterで作ってます)、公の場では初お目見え?ということでCI関連に特に注目でした。
CIユーザー会のブースでは、チュートリアルビデオとCIのデモサイト(掲示板、ショッピングサイト)が触れるようになっていました。ブースにいらしたユーザ会の方々ともお話をさせて頂きましたが、業務内で取り入れているケースなどなかなか聞けないようなことも伺えました。私も機会があれば業務で取り入れてみたいと思っていたので参考になりました。
「Codeigniter を使った素敵なプログラミング生活」は、“うまくて、易くて、速いCodeigniter”というタイトルであくまで紹介程度の内容でした。質疑応答でコードが見たい、実例が見たい、といった声がありましたが、セミナールーム内にネットワークが来ていないということで口頭ベースでの説明に留まってしまったのが残念です。(全部屋にLAN引いてください>日本電子専門学校さん)セミナー後、講師の天野さんと名刺交換もさせて頂きました。ありがとうございました。
以下、他にも参加した各セミナーの内容の簡単なメモです。
「45分でわかる Ajax丸かじり」
- リナックスアカデミー(LA)講師・秦さん。
- LAの紹介
- AJAXとは
- リアルタイム検索サンプル
- JSONとは
- リロード抑制サンプル
- ドラッグ&ドロップサンプル(iGoogle)
「Maple4の設計概要及び今後のMyNETSを活用したWEB Application Platoform構想について」
- 株式会社エムズリンク辻岡さん
- MyNETSとは
- OpenPNE2.4から派生したSNS
- グループ、コミュニティ←→グローバル(mixi、GREE)
- リソース志向(リソースを集めてコンテンツを構築)
- Maple4フレームワーク上のアプリケーションプラットフォーム→MyNETS2
- MyNETS2では現状SNSのリソースは引き継げるようにする
- 移行ツールの提供
- 株式会社エムズリンク高橋さん
- Maple4とは
- 3→4互換なし
- ツールだけの提供をしようとしていない
- Maple4 = TDD x DI x Restful
- TDD→Test-Driven Development(テスト駆動開発)
- 開発を楽しく駆動させる→プログラムを書く駆動力
- 思い通りに動く気持ち良さ
- 思ったことを先にコードに書く
- TDDにより細かい責務に分割された大量のクラス
- DIがクラスを結合、自由自在に組み合わせ
- Restful→WebのシンプルなメソッドでDIを引き出す
「汎用CMS,Geeklog(ギークログ)をフレームワークとして活用する」
- オープンソース汎用CMS
- 株式会社アイビー・ウィー今駒さん
- 自動タグ機能
- カスタム関数→本体に手を加えずシステムカスタマイズ
- 自動インストーラができたので簡単導入(Windows)
- Web巡回ソフトを利用してHTMLファイル生成→静的コンテンツとして公開
- 本体とカスタマイズ部分が分離しているのでバージョンアップも容易
- SNS、コミュニティが活発
ヤフー、次世代版ウェブメールを公開--20万人限定でベータテスト:ニュース - CNET Japan
いまさらウェブメールかあ、と思ってしまったのですが。
メールって一般の人たちは携帯メールとかプロバイダからもらったメール使っていたり、あちら側で用を足したい人たちであればもうGmail使っていたり、ある程度住み分けは出来上がっているのではないでしょうか。
月間利用IDの1500万以上とありますが、意味のある処理はそのうちどれだけあるのでしょう。少なくとも私などは何日かに一度、大量の広告と迷惑メールとを整理しに行く程度になってたりしてますから・・・
メーラーはアプリケーションの中でも乗り換えの敷居が高いでしょうから、UIをリッチにしたくらいで一体ユーザーを獲得できるのかが疑問に思ってしまいます。おーすげーなー、の見た目で終わらなければ良いですが。
とりあえず、すげーなーというのを見てみたいのでテストに申し込んでおきました。
今さらネタですが、フォーム送信後に戻るボタンでキャッシュを残さないようにするのに手こずったのでまとめておきます。
メタタグに以下を記述。
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="-1">
また、body内に以下を記述。
<iframe style="height:0px;width:0px;visibility:hidden" src="about:blank">
this frame prevents back forward cache
</iframe>
no-storeはFirefox、iframeはSafariで効くようにするためのもの。
SSL対応の件ですが、先日公開された新しいトラッキングコード (ga.js)のソースを見たら既に対応済みのようですね。
今後はこちらを使いましょう、ということで。
携帯ユーザのアクセスをリダイレクトさせることがあったのでその備忘録。
サイトは静的ページなので、mod_rewriteで対応。
ターゲットは主要3キャリア。
・ドコモ
作ろうiモードコンテンツ:ユーザエージェント | サービス・機能 | NTTドコモ
【mova】
DoCoMo/1.0/D501i
【FOMA】
DoCoMo/2.0 SH903i(c100;TB;W24H16)
・au
KDDI au: そのほかの技術情報 > ユーザーエージェント
【WAP2.0ブラウザ搭載端末の場合】
KDDI-SA31 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0
【HDMLブラウザ搭載端末の場合】
UP.Browser/3.04-ST13 UP.Link/3.4.5.9
・ソフトバンク
ソフトバンク:ユーザーエージェントについて
【SoftBank 4-2 Series】
J-PHONE/2.0/J-T03
【SoftBank 6-5 Series】
J-PHONE/4.0/J-SH51/SN[端末シリアル番号] SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0
【SoftBank 3G Series】
Vodafone/1.0/V904SH/SHJ001/SN[端末シリアル番号] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
SoftBank/1.0/910T/TJ001/SN[端末シリアル番号] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
これをふまえて、.htaccessを作成。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} UP.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ /keitai.html [R]
動作確認にはLunaScapeを使ってみましたが、
ユーザエージェントを任意に変更できるのって便利ですね。

