携帯での「簡単ログイン」実装

固体識別番号を使う

Firefox: AutoPagerizeがおかしい (2)

Firefox: AutoPagerizeがおかしいの続き)

AutoPagerizeについては、Firefoxの更新云々での不具合ではなく、使用しているページデータベースのWedataのサイトが停止しているためらしい。なんじゃそりゃー:

サイトを見に行ってみると確かに…:

20140129102332
  • wedata.net公開 – SWDYH

    • wedataというサービスを作りました。wedataはSITEINFOなど、誰でも書換えられるデータを保存して利用するためのシステムです。

なぜ止まっているかは不明だが、ミラーサイトがあるようで、AutoPagerizeのグリモンスクリプトを開いてデータベースサイトの情報を付け加えれば対応可能らしい。

しかし、この設定をしても、Google検索で検索期間を変更したら自動ページャが動作せず、1ページ目だけの表示になってしまった…。

Firefox: AutoPagerizeがおかしい

Firefoxが26.0になって、アドオンで従来のDownload Status Barが対応しなくなったりして困っていた:

20140129063700

20140129063909

(って、後から別のDownload Status Barもインストールしていたはずだが、と思ったら、こちらは更新待ちになっていた:

20140129064002

このところ、AutoPagerizeも正しく動作しない。

20140129063253

Google検索時に、各検索結果ページを繋げて表示してくれるのはいいのだが、その後、検索語や検索条件を変更しても1ページ目以降に反映しないし、また、次に来るページが2ページ目にならず、前の検索状態で表示していた終わりのページあたりになってしまう。

別アドオンがあるんだろうか。

短縮ハッシュ値の生成

データベース(SQLite)への値の特定用idとして「id integer primary key」とはしているが、これだと最終項目を削除した際に新規追加でその値を取るものが出てきて都合が悪い(削除せずにフラグでオフにしてもいいかもしれないが、それはそれで…)。

→「integer primary key」の削除時の重複除外は「autoincrement」を付ければよかったらしい。

このため別の文字列idとして、phpだとuniqid()関数(とrand()やmd5()と組み合わせたり)を使ったりしている:

(って、見てたらmd5()はコリジョン発生があるから止めとけ(sha1()を使え)とのお達しが。)

これで生成されるid長が、次のようになっていて:

種類

id長

生成例
uniqid()

13

52afc0e354a11
uniqid(rand())

約23

1cdab095a2b6a1977987159af6432ea0
※id長はrand()値の範囲による
md5(uniqid(rand()))

32

1cdab095a2b6a1977987159af6432ea0

uniqid()がシステムのマイクロ秒を使っていて重複の可能性があるため、rand()を使った形にしたいが、これをURLのquery文字列に渡すとするとちょっと長ったらしい。

このため、URLにおけるbit.lyやgoo.glのような短縮ハッシュが利用できないかと探してみた。

Qiitaのkoriymさんのものがよさそうな感じ。7文字程度で済みそうです。もうちょっと長くてもいいですが。

使用時には、md5()も衝突するっていうし、短縮ハッシュだとなおさら追加時の衝突チェックは不可避ですかね。

Faviconの自動生成