Nwht0xn1

日報 2016-06-29Created on 2016-06-29 by r7kamura

    新刊管理するやつ

    Amazonの新刊を管理するやつをここ4日間ほどつくっている。

    シリーズは自動で管理されることになった

    これまでシリーズものはその複雑さから手動でユーザがつくってくれることを期待していたが、大量のユーザによる努力があればなんとかなるという期待は捨て、システムが勝手にシリーズを仕分けるようにした。1つの書籍は1つのシリーズにしか属せないということにした。またシリーズにはカテゴリが設定され、コミックとラノベを両方含むようなシリーズは存在できない。シリーズは考えられるシリーズのうち最小の単位で設定する方針にする。

    image

    実装できてないこととして、シリーズには著者情報を紐付けられるはずで、これがあるとシリーズを検索するときの検索コストが大幅に削減されるはず (著者にインデックスを貼ってあるので検索範囲が簡単に絞り込める)。また、この著者はこういうシリーズを書いていますという情報がどこかで活用できるようになる。

    人気の書籍・人気のシリーズを実装した

    今までダミーで適当なコンテンツを表示していたが、「読みたい」「読んだ」のいずれかが最近押された数を計算して、上位のものを表示できるようにしてみた。シリーズが完全に自動で登録されるようになったことで、考えることが減り、随分と楽に実装できるようになった。「読んだ」は新規ユーザが一気に登録することもあるかもしれないので「読みたい」だけの指標に絞ってもいいかもと考えている。

    image

    新刊カレンダーを登録できるようにした

    iCalendarのURLを指定してカレンダーを登録するためのリンクを生成する - Programming という知識を仕入れたことにより、新刊カレンダーをボタン1つでGoogleカレンダーに登録したり、使っているカレンダーアプリに登録できるようになった。

    image

    新刊カレンダーには、自分が過去に「読んだ」「読みたい」を押した書籍と、それらに関係する全てのシリーズの全ての書籍の発売日を吐き出してくれるという仕様になっている。既に読んだ書籍は除外したほうが良いかもしれない?それとも、一貫性のために残しておくべきだろうか。

    Kindle版をより扱いやすくなった

    Amazon Product Advertising APIでKindle版の書籍を絞り込む・除外する・判定する - Programming のコメントにて、Kindle版書籍の情報から紙版書籍の情報を取得する方法を教えてもらったので、情報の取得漏れがかなり削減できて助かった。

    読んだ・読みたいボタンのユースケースについて聞いた

    読んだ・読みたいの他に、持っているかどうか、電子版を持っているかどうかなどの情報を持たせるのはどうかという話をもらった。所有状態というのは不安定なので、これをこのサービス側で管理することは避けたいと思っている。逆に1度読んだかどうかというのは永続的なものなので、そこは安定していると考えている。こうして整理してみると、1度読めばOKという、コンテンツを消費していくような少し冷ややかな思想があるかもしれない。

    大体できた

    使い勝手はともかく、内部のデータ構造は落ち着いてきたので、そろそろ公開できるようになった。シリーズに著者データを紐付ける作業を済ませたら、これ以上は大きくデータ構造が変わることはないので、Web上で試験公開してみることにする。試験公開期間中は、試運転なのでデータが消えたりするかもしれない。