Кирилл @bziker
Системный администратор
Information
- Rating
- Does not participate
- Location
- Батуми, Аджария, Грузия
- Date of birth
- Registered
- Activity
Specialization
System Administration, DevOps
Senior
From 4,000 $
Linux
MySQL
PostgreSQL
Python
SQL
English
Bash
Nginx
очень давно жду эту функцию
На тот момент когда думал, ничего дельного в голову не пришло, а сейчас вот думаю, что методом дихотомии вполне себе сносно можно определить id крайнего поста в канале.
Простым чекингом с потолка взятого id можно найти последний с относительно небольшими затратами ресурсов серверной части.
Например:
1. чекаем достаточно большой id, пусть будет 100к t.me/lentach/100000
видим, что ссылки не существует, поста с таким id нет
2. Делим пополам, чекаем t.me/lentach/50000
аналогичная ситуация
3. Делим пополам, чекаем t.me/lentach/25000
а вот по этой ссылке пост уже есть, проверяем дальше
4. t.me/lentach/37500
Поста снова нет, снова берем половину между тем где было и где нет 25к и 37.5к
5. t.me/lentach/31250
Снова попали — думаю смысл ясен: делим пополам пока разница между верхней и нижней границей больше одного, в остатке получим точный id, при старте с id в 100k, нам потребуется 17 итераций (вроде), простого деления на 2 и проверки кода http, что для серверной части раз в какое то время совсем даже не сложная задача. Записываем last_id в файл или базу — профит.
Если так нужны например звуки или еще чтото, есть китайские часы (кстати меньше и симпатичнее), дороже на тысячу, но это целый смартфон на руке.
Я не имею ничего против, но преимуществ не вижу