Финальный тест отложенного постинга и размышления о внимательности
Всем привет
Об отложенном постинге
Итак, я пофиксил баги, которые нашел и можно отдавать тестерам плагин. После того, как они одобрят изменения я отдам его вам в общий доступ.
О необходимости
Многие спрашивают - "какой смысл в отложенном постинге, если нужно оставлять включенным компьютер?".
- ваш логин и постинг ключ хранятся у вас на компьютере и нет необходимости их где то светить - безопасность
- ваша будущая статья так же хранится у вас на компьютере - ни кто ее не прочтет перед постингом и так же из-за какого нибудь глюка в безопасности сервиса ни кто не сможет угнать эти данные - безопасность
О неудобствах
Есть одна вещь, которая немного портит юзабилити UI - мы немного просчитались с архитектурой плагина, из-за чего, стало невозможным редактировать время планирования. Сейчас, для редактирования времени постинга, будет необходимо загрузить черновик и после из попапа плагина удалить статью, затем заново запланировать загруженную статью. С этим мы справимся в следующих обновлениях.
Внимательность при написании кода
Вам наверное известны случаи, приведшие к неверному результату из-за опечатки программиста? Например, запятая, поставленная с неправильным смещением знака может отправить спутник не туда.
Так произошло дважды и в моей работе. Нет, спутники я не запускал. Из-за тяжелой жизненной ситуации, мысли у меня стали путаться - стресс - все дела. И вот я писал модуль для движка "Доброго Кита" для того, что бы ходить за инвесторами и голосовать от своего аккаунта, если за статью в течении полу часа проголосовало N инвесторов с общей суммарной силой M. В этом случае я допускаю, что контент действительно качественный и ляпаю свой, пока еще мизерный, голосок. Так вот, для избежания проблем с плавающей точкой, указанная сила голоса умножается на 100, т.е. если вы проголосовали за статью в 100%, то в блокчейне будет запись 10000. Однако, я ляпнул лишний нолик при умножении. Не протестировав продукт, я запустил его и пошел спать. На утро был сильно удивлен - я поставил 3 100% флага. Оказывается цифра более 10000 считается отрицательной.
Еще одна ситуация произошла со мной, во время постинга прошлого сообщения с помощью функции отложенного постинга. Если загляните ко мне через api explorer то увидите другой, допущенный мною, баг. Там будет редактирование поста каждые 20 секунд в течении 8 часов (или около того). Из-за чего произошел этот баг? Для ограничения времени постинга я использую интервал в 60 секунд после назначенной даты и времени. Итого 3 попытки с 20 секундным интервалом. Так, на всякий случай. Время я храню в Unix Timestamp - количество секунд прошедших с 1 Января 1970 года. Однако я совсем забыл что это секунды и посчитал, что это микросекунды. И вместо положенных 60 секунд интервал стал 60000 секунд. Сейчас все отрегулировано как надо.
Вывод
Нужно дотошнее относиться к своей работе, во избежание серьезных последствий!
Подписывайтесь на мой канал @exan, спасибо за внимание