リダイレクト(つづき)
2024-05-23 リダイレクト
| タイムスタンプに tweet 時ではなく、登録時のものが紛れ込み
これは、
2020-09-12 bookmarks の各記事のタイムスタンプ
の際に、
TW_EPOCH = 1288834974657 # 単位:ミリ秒
MASK_T = "111111111111111111111111111111111111111110000000000000000000000"
def get_timestamp(url)
return nil unless url =~ /https:\/\/twitter.com\/.+?\/status\/(\d+)/ # (*)
timestamp_b = ($1.to_i & MASK_T.to_i(2)).to_s(2)
timestamp = ("%063d" % timestamp_b.to_i )[ 0,41].to_i(2)
return Time.at((timestamp + TW_EPOCH) / 1000.0)
end
のようなコードを実装して、nil 以外が返った場合、得られた tweet 日時を用いる
ようにしていたら、ドメインが twitter.com → x.com に変って、(*) が機能しなく
なったのでした。暫く気づかなかった。
登録済の x.com ドメインブックマークを網羅的に更新するスクリプトを臨時に実行して
是正したのですが、思い出してみると、2020-09-12 の記事の際には遡って tweet 日時
には直していません。それ以前のものは手作業で日付のみ tweet 日に直していたのです。
せっかく臨時スクリプトを書いたのですが、相当膨大な差分が発生しそうなので、
2020-09-12 以前のものは、当面そのままにしておこうと思います。
# 今回とは異なり日付はあっているので…
| タイムスタンプに tweet 時ではなく、登録時のものが紛れ込み
これは、
2020-09-12 bookmarks の各記事のタイムスタンプ
の際に、
TW_EPOCH = 1288834974657 # 単位:ミリ秒
MASK_T = "111111111111111111111111111111111111111110000000000000000000000"
def get_timestamp(url)
return nil unless url =~ /https:\/\/twitter.com\/.+?\/status\/(\d+)/ # (*)
timestamp_b = ($1.to_i & MASK_T.to_i(2)).to_s(2)
timestamp = ("%063d" % timestamp_b.to_i )[ 0,41].to_i(2)
return Time.at((timestamp + TW_EPOCH) / 1000.0)
end
のようなコードを実装して、nil 以外が返った場合、得られた tweet 日時を用いる
ようにしていたら、ドメインが twitter.com → x.com に変って、(*) が機能しなく
なったのでした。暫く気づかなかった。
登録済の x.com ドメインブックマークを網羅的に更新するスクリプトを臨時に実行して
是正したのですが、思い出してみると、2020-09-12 の記事の際には遡って tweet 日時
には直していません。それ以前のものは手作業で日付のみ tweet 日に直していたのです。
せっかく臨時スクリプトを書いたのですが、相当膨大な差分が発生しそうなので、
2020-09-12 以前のものは、当面そのままにしておこうと思います。
# 今回とは異なり日付はあっているので…
この記事へのコメント