スキップしてメイン コンテンツに移動

ページング処理を改修

かねてから懸案だった、データのページング処理を改修する。

GAEのデータストアは、fetchするデータ数が最大1000までしかない。これは連続するエンティティをカウントするのに負荷がかかるため、1000以上できない仕様にしているためだ。もちろん、1000以上あってもエンティティの検索などは問題なく行える。「連続する1000以上のエンティティをまとめて取得できない」というだけだ。

だが、この制限のおかげで、ページングをする場合、表示するデータのオフセット値を指定して値を取り出す、というような手法がとれないことになる。limitも当然だが1000までしか扱えないからだ。そこで別の方法を考えないといけなくなる。

Googleのドキュメントで推奨しているのは、現在表示しているデータのキーを引数として送り、そのキーのデータから表示する個数を取得する、という方法だ。そして、次のページを表示するためのリンクなどでは、自ページ冒頭に表示されるデータのキーをクエリー文字などを使って渡し、そのキーを使ってデータを取得するようにしなさい、ということらしい。

で、libroではユーザー・ホームで自分の投稿した記事を一覧で見られるようにしているので、その投稿記事の表示に、このページング処理を本日導入してみた。とりあえずは問題なく動いている。ただ、実際にデータ数を1000以上追加して正しく取得できるか確認してみないといけないだろう。年末なので、とりあえず細かいチェックは来年に持ち越し。

このブログの人気の投稿

ドメイン追加およびSSL対応

既に本家サイト(www.tuyano.com)がほとんど働いていないこともあり、この際、libroのドメインを本家のwww.tuyano.comに変更しました。 あわせて、SSLに対応し、https://www.tuyano.com でアクセスできるようになりました。よりセキュアなアクセスが可能になります(libro.tuyano.comはSSL未対応です)。 もちろん、libro.tuyano.comも従来通り利用できます。が、基本的なリンク関係をwww.tuyano.comに変えたことと、libro.tuyano.comはSSL未対応であることから、自然とwww.tuyano.comに移行する形になると思います。

Google+へ移行します

※既にご存知と思いますが、libroのGoogle+ページをだいぶ前に開設しています。 http://plus.google.com/106208283605550601522/posts 更新情報や、何かあればここに投稿をしています。ということで、このサポートブログの役割もほとんどなくなってしまった感があります。 今後は、G+ページで補足情報などすべて投稿していくことになり、このブログは休眠状態となると思います。

レイアウト修正

レイアウトを若干変更しました。左側に、主なグループへのリンクをまとめたメニューを表示させるようにしました。 記事のページ類はまだ表示が変わっていないものもあると思いますが、これはページキャッシュがサーバーに残っているためです。だいたい1両日中ぐらいに、随時更新されると思います。