Home > Web+DB

Web+DB Archive

Twitter 検索

この記事の所要時間: 040

先日はじめたTwitterですが、なかなか楽しいです。

Twitterの仕組み自体ももちろん面白い良いのですが、日々ユーザが増えていき、システムが改良され(今日は日本語入力が改善されたもよう)、どんどん完成度が高まっていくさまが何だか楽しいです。

で、ちょうどCakePHPで何か作ろうと思っていたので、こんなの作ってみました。

Twitter 検索

Twitter 検索 : PHPで検索

Twitterの検索では、既にtwittersearchがあるのですが、それとは違いこちらは日本語ユーザのみの検索ができます。

興味のあるキーワードを入れて、Friends探しに使って貰えたら良いかと。

# 超見切り発車気味な公開なので、突然消える可能性もありますが。;-)

PostgreSQL 誤って削除したデータを復元する

この記事の所要時間: 037

PostgreSQLの仕組みを考えれば「なるほど」な内容なのですが、実際にできるんですね。

VACUUM していなければ、データベースファイル内に残っている可能性があります。 トランザクションIDをDELETE 文を発行した時点よりも昔に「巻き戻す」ことで、 削除したデータが再び見えるようにできるかもしれません。

[pgsql-jp: 38276] Re: データの復旧について

トランザクションIDを戻せばOKなのか。うーんスゴイ。

CVSやSubversionでリビジョンを指定する感覚に似ているかも。(そこまで柔軟じゃないか)

間違ってDELETE/UPDATEした時は慌てず騒がず、この方法を思いだそ。

WordPress2.0.6リリース

この記事の所要時間: 15

WordPress2.0.6がリリースされています。

We have a pretty important release available for everyone, it includes an important security fix and it’s recommended that everyone upgrade.

WordPress › Blog

セキュリティフィックスのようなので、お使いの方は早めにアップグレードを。(日本語版のMEも2.0.6がリリースされています)

以後のリリースは2.1系になり、2.0系はメンテナンスのみになるようです。

今回のリリースでHTMLエスケープ関数としてattribute_escape()が追加されています。wp_specialchars()を置き換える実装になっており、管理画面等WPデフォルトのビューでは変更されています。

独自のThemeを使用している場合は、以下のように変更した方が良いでしょう。

< ?php echo wp_specialchars($s, 1); ?>
# ↓に書き換える
< ?php echo attribute_escape($s); ?>

地図マッシュアップサイト

この記事の所要時間: 058

Google MapsやYahoo! Mapsなどの地図サービスをマッシュアップしたサイトです。

Flash Earth …satellite and aerial imagery of the Earth in Flash

Flashで出来ています。メニューのサービスを切り替えることにより、表示しているポイントの地図が切り替わります。

地図を表示したままサービスを切り替えられるので、地図の違いを手軽に確認できます。地方を拡大表示したい場合などは地図が表示されないサービスもあるので、表示してくれるサービスを探すのに使えそうですね。

なかなか気持ち良く動作します。マッシュアップするのにFlashを使うのは案外相性が良いかもしれません。

サポートされている地図サイトは以下です。

  • Google Maps
  • Microsoft VE(aerial)
  • Microsoft VE(labels)
  • Yahoo! Maps
  • Ask.com(aerial)
  • Ask.com(physical)
  • OpenLayers
  • NASA Terra(daily)

Shibuya.pm テクニカルトーク #7

この記事の所要時間: 253

Shibuya.pm テクニカルトーク #7にストリーミング+IRCで参加してみました。

もちろんPerlが中心なのですが、Perl自体よりその周辺の話題が多かったのでとても勉強になりました。各セッションとも技術ネタあり笑いネタありで楽しかったです。

Amazon Web Services, Elastic Compute CloudとLAMP(Emerson Mills)

EC2サーバはへぇーと言った感じ。サーバにログインした人が多々いた。;-)

Catalyst+Lighttpdテクニック (typester)

lighttpdのinclude_shellは良い感じ。apacheでも同じような事ができないのかな?

■PMConnect: Perl – SpiderMonkeyバインディング(樋口証)

JavaScriptとPerlの連携は面白そうだけで実際の使いどころがピンと来なかった。
ただSpiderMonkeyは意味無く何かに組み込んでみたくなったり。
PHPでも似たようなあるかと思ったけどomar kilani – projects – php-jsくらいだった。
ちなみにPHPからPerlを使うにはPECL :: Package :: perlがあります。

実践 MogileFS 構築事例 ~ Catalystと一緒 ~(ZIGOROu)

Perlで書かれた分散ファイルシステム。PHPクライアントはこんなのがありました。
このあたりから時間が押してきたようでテンポが異様に速かった。。。

Using Test::Base (miyagawa)

.phptと同じような感じ?宮川さんだぁーと思っていたら終わっていた。;-)

ppm パッケージができるまで (charsbar)

ppmは使うなと。:-)

俺とマッシュアップ (上野宣)

まさに俺2.0。:-)
(笑い)ネタ満載だったが実は技術的にも面白かった。サービスとして成り立つかも。

今空前のブーム第2部:deploy tool編 (松野徳大)

スライドが面白かった。:-)

CDBI to DBIC (nekokak:小林篤)

がっつりPerlネタだったので覚えてなかったり。。。

自然文書から日本の住所を頑張って抽出 (Yappo)

郵便番号から住所を引いて、住所を都道府県・市町村・それ以降に分解するといった処理を作っていたのでうなずきながら見てました。(北海道と京都の住所はネタとしか思えない。。。)
boofy!!

SVK による Plagger プラグイン開発プロセス (mizzy)

svkをgoogleで調べている間に終わっていたもよう。。。

Apache わっふるモジュールで SQL injection 対策 (竹迫良範)

apacheモジュールでHTTPパラメータをフィルタリングする話。IRCで誰かが触れていたけどWAFは効果は分かるけど設定の煩雑さが問題になりそう。
どのレイヤーでフィルターをかけるかは悩ましいところです。
PHPも5.2ではfileterモジュールがデフォルトで使えるようになるのでなかなかタイムリーな話でした。

 

ストリーミングとIRCのおかげで大阪からセミナーに参加する事ができました。皆さんありがとうございました。

携帯キャリアIPアドレス

この記事の所要時間: 59

携帯向けサイトでIPアドレスによるアクセス制限する際に設定する各キャリアのIPアドレスをメモしておきます。

  • 2010/04/16追記:softbank IP をsoftbankサイトに合わせて修正
  • 2010/03/01追記:au IP をauサイトに合わせて修正
  • 2009/10/26追記:au IP をauサイトに合わせて修正
  • 2009/03/09追記:softbank サイト移転に伴い、リンク先修正
  • 2009/03/09追記:au IP をauサイトに合わせて修正
  • 2009/03/09追記:docomo(124.146.174.0/24, 124.146.175.0/24)追加
  • 2008/07/08追記:au(121.111.227.160/27)追加
  • 2008/01/17追記:au(121.111.227.0/25)追加
  • 2007/11/08追記:au(121.111.231.160/27)追加
  • 2007/10/10追記:SoftBank(123.108.236.0/24、123.108.237.0/27、202.253.96.224/27)追加、(210.169.130.112/28)更新
  • 2007/09/03追記:au(121.111.231.0/25)追加
  • 2007/06/13追記:DoCoMo URL変更、au(219.125.145.0/25)追加
  • 2007/02/16追記:au(219.108.157.0/25、219.125.151.128/25)追加
  • 2006/11/25追記:SoftBank(202.253.96.248/29、210.169.130.112/29、210.169.130.120/29)追加

DoCoMo from 作ろうiモードコンテンツ:iモードセンタの各種情報 | サービス・機能 | NTTドコモ

210.153.84.0/24
210.136.161.0/24
210.153.86.0/24
124.146.174.0/24
124.146.175.0/24

au from KDDI au: 技術情報 > IPアドレス帯域

210.230.128.224/28
121.111.227.160/27
61.117.1.0/28
219.108.158.0/27
219.125.146.0/28
61.117.2.32/29
61.117.2.40/29
219.108.158.40/29
219.125.148.0/25
222.5.63.0/25
222.5.63.128/25
222.5.62.128/25
59.135.38.128/25
219.108.157.0/25
219.125.145.0/25
121.111.231.0/25
121.111.227.0/25
118.152.214.192/26
118.159.131.0/25
118.159.133.0/25
118.159.132.160/27
111.86.142.0/26
111.86.141.64/26
111.86.141.128/26
111.86.141.192/26

softbank from WEB & NETWORK IPアドレス

123.108.237.0/27
202.253.96.224/27
210.146.7.192/26
210.175.1.128/25

apacheの設定例です。

order deny,allow
deny from all
# DoCoMo
allow from 210.153.84.0/24
allow from 210.136.161.0/24
allow from 210.153.86.0/24
allow from 124.146.174.0/24
allow from 124.146.175.0/24
# au
allow from 210.230.128.224/28
allow from 121.111.227.160/27
allow from 61.117.1.0/28
allow from 219.108.158.0/27
allow from 219.125.146.0/28
allow from 61.117.2.32/29
allow from 61.117.2.40/29
allow from 219.108.158.40/29
allow from 219.125.148.0/25
allow from 222.5.63.0/25
allow from 222.5.63.128/25
allow from 222.5.62.128/25
allow from 59.135.38.128/25
allow from 219.108.157.0/25
allow from 219.125.145.0/25
allow from 121.111.231.0/25
allow from 121.111.227.0/25
allow from 118.152.214.192/26
allow from 118.159.131.0/25
allow from 118.159.133.0/25
allow from 118.159.132.160/27
allow from 111.86.142.0/26
allow from 111.86.141.64/26
allow from 111.86.141.128/26
allow from 111.86.141.192/26
# softbank
allow from 123.108.237.0/27
allow from 202.253.96.224/27
allow from 210.146.7.192/26
allow from 210.175.1.128/25

SQLiteに全文検索

この記事の所要時間: 048

SQLite3.3.8で全文検索機能が追加されていますね。

Version 3.3.8 adds support for full-text search using the FTS1 module. There are also minor bug fixes. Upgrade only if you want to try out the new full-text search capabilities or if you are having problems with 3.3.7.

SQLite home page (2006-10-11)

ただ今回のリリースで全文検索に使われているFTS1モジュールは実験的なもの(permanent beta)のようで、本格的な実装はFTS2モジュールになるようです。デーモン要らずのDBだけに手軽に全文検索が使えるのは楽しみですね。

Google Code Search-ソースコード検索サイト

この記事の所要時間: 127

Google Code Searchがリリースされました。

Googleは米国時間10月5日、新サービス「Google Code Search」を発表した。プログラマーはこのサービスを利用して膨大な数のソースコードを検索できるという。

グーグル、コード検索の新サービス「Google Code Search」を発表 – CNET Japan (2006-10-05)

関数をマニュアルで調べるのも重要なのですが、実際の使用例を見るのもとても参考になるので、こういうサービスはとても有り難いですね。まあ関数で脆弱性が発見された場合は速攻探されてしまいますが。。。

キーワードには正規表現も使えますし、(プログラム)言語やパッケージ名・ライセンス・ファイルの種類も指定できます。

次はAPIを待ちましょう。;-)

■ソースコード検索サイトリスト

PostgreSQL 外部キーロック

この記事の所要時間: 138

PHP4+PostgreSQL7.4での開発中にトランザクションが終了しない現象が発生しました。アプリケーションのログを見てみても[begin]は発行されているのに[rollback/commit]が発行されていませんでした。

結局これ自体はPHP側の問題でPostgreSQLは無関係だったのですが、問題の処理を調べている際に複数回処理を実行するとロック待ちのような状態になりました。この処理ではアプリケーションから明示的にロックを行っていなかったので不思議に思い、DBのログを見てみると以下のようなログを発見。

LOG:  statement: SELECT 1 FROM ONLY "public"."t_category_m" x WHERE "category_id" = $1 FOR UPDATE OF x

アプリケーションで発行しているSQLではないのでgoogleに聞いて以下のサイトを見つけました。

行ロックをかける理由は,t2が参照している行が削除されるようなことがあると困るからである。そうなると,t2がt1を参照しているという参照整合性制約が崩れてしまうから,それを防ぐためにロックをかけるのはやむをえない措置と言える。

【PostgreSQLウォッチ】第20回 PostgreSQL 8.1ベータ・テスト開始,新機能ロールと共有行ロック:ITpro (2006-10-03)

外部キーを含む行をINSERTすると参照テーブルの関連行をロックしてしまうとの事です。まあ考えてみると当たり前なのですが、特に意識していなかったので「?」になりました。

普段は問題無いんでしょうが、これ意識しておかないと処理待ちやデッドロックが発生したりとまずい事になりそうです。

 

ちなみに8.1からは記事にあるとおり共有ロックにてこの問題は回避されているそうです。

Movable TypeにXSSの脆弱性

この記事の所要時間: 032

Movable Typeにセキュリティホールが見つかったようです。

脆弱性が存在するMovable Typeのバージョンは3.3、3.31、3.32。また、Movable Type Enterpriseのバージョン1.01および1.02にも同様の脆弱性が確認されている。

「Movable Type」にセッションハイジャックの危険性–最新版にバージョンアップを – CNET Japan (2006-09-27)

JVN#68295640にも情報があります。

当該バージョンを使用されている方はバージョンアップを。

ホーム > Web+DB

検索
フィード
メタ情報

Return to page top