Работа по сайту #2
Итак, прошло достаточно много времени с момента написания предыдущей публикации. За это время нам удалось запустить сайт, хоть и с множеством больших и небольших багов, а так же создать новые :).
В этой статье коротко пробежимся о том, что сделано, а что нужно будет доделать.
Первое - Запуск.
Не смотря на то, что сайт не был полностью готов - было принято решение запустить его, открыв общий доступ, зарегистрировать в поисковых системах и закрыть доступ к админ панели. К последней буквально через сутки после открытия начали "ломится" непонятные личности, регистрируясь или пытаясь восстановить пароль. Решение самое простое - закрыть доступ по IP, проблема сразу была решена.
Драйверы
Важнейшей частью было получение и отображение информации о драйверах на всех видеокартах, опубликованных на сайте.
Есть два пути: Простой и сложный (естественно мы пошли по второму пути).
Коротко расскажем о них:
- Простой: Учитывая, что конкретный "Драйвер" подходит под несколько серий и множество видеокарт - можно было бы обновлять информацию сразу на всех. Этот вариант позволяет упростить как написание кода обновления, так и размещения, но в значительной степени увеличивает факт того, что конкретный файл может не подойти пользователю, связано это с тем, что на некоторые серии, которые уже не поддерживаются - на них драйверы не обновляются, но они входят в серию, которая обновления получают. Соответственно, если получать информацию с официального сайта и обновлять драйверы только по сериям - есть риск, что карта старой архитектуры.
- Сложный: Подбор под каждую видеокарту. Этот процесс самый сложный и ресурсоёмкий. Мы написали модуль, который подбирает под каждую модель видеокарту (а для серий Geforce 10, Geforce RTX 20 и выше, учитывает драйверы NVIDIA Studio), перебирает операционные системы. Это позволяет запрашивать информацию с официального сайта под каждую модель и под все операционные системы. Количество запросов, которые мы отправляем примерно равняется 7 штукам, для одной видеокарты. Естественно, мы не хотели, чтоб на все видеокарты видеокарт отправлялось по 7 или более запросов на информацию о драйвере, иначе можно было бы легко схлопотать бан. Мы настроили систему подбора драйвера так, что каждые 10 минут она проверяет информацию о версии драйвера на официальном сайте, сравнивает её с той, что есть в базе данных и, в случае если на официальном сайте версия драйвера выше - ставит задачу на полное обновление информации о драйверах на всех видеокартах с дополнительной задержкой во время запросов.
Из багов: Получаем уведомления, что драйверы обновились, а по факту новой версии нет. Почему так происходит - будем выяснять :)
К второму способу подбора и внесения информации о драйверах мы добавили одновременное создание станицы, о том, что вышел новый драйвер, с такой-то вот версией. Не понятно почему, но её автоматическое создание и публикация работает через раз, надо разбираться почему.
В ближайшее время, на странице драйверы nvidia, где установлена система ручного подбора и поиска драйверов добавим информацию о том, какая версия на текущий момент актуальна. Страница позволяет найти драйвер для любой видеокарты, которую компания NVIDIA когда либо производила и всё это в 3-4 клика.
На этом пока всё, спасибо, что читали! До скорого.