В новый год с новыми обновлениями
Что-ж, давненько здесь не было постов. Несмотря на это, с начала 2025 года, уже много чего было сделано. В этом посте быстренько пройдусь по ключевым изменениям и нововведениям в некоторых из своих проектов.
1. Генератор карточек статистики
Ссылки:
- репозиторий
- веб-сайт
Мой новый мини-проект. Думаю многие из читателей, хотя бы, раз видели на Github или где-либо еще карточки со статистикой пользователя или какой-либо другой инфографикой. А если вы еще не видели, то можете посмотреть ниже на пример карточки, которую я сделал через свой сервис:
1. Генератор карточек статистики
Ссылки:
- репозиторий
- веб-сайт
Мой новый мини-проект. Думаю многие из читателей, хотя бы, раз видели на Github или где-либо еще карточки со статистикой пользователя или какой-либо другой инфографикой. А если вы еще не видели, то можете посмотреть ниже на пример карточки, которую я сделал через свой сервис:
Пока функционал у генератора не очень большой — создание карточек с наиболее используемыми языками пользователя на Github или WakaTime, а так же генерация графика активности пользователя на Github (мне этого не хватало в других генераторах).
Сейчас, ключевые особенности генератора в том, что он очень быстрый (при локальном тестировании с уже существующим набором данных запрос на генерацию карточки занимает всего несколько мс, что очень мало для такого сервиса), полностью бесплатный и поддерживает различные варианты карточек, а в будущем и темы
2. VOT
Ссылки:
- репозиторий расширения
- репозиторий vot-worker
Не мог не упомянуть его в этом посте, как-никак это самый популярный из моих проектов.
2.1. Расширение
Пока вышло только небольшое минорное обновление расширения с добавлением нескольких сайтов и парочкой фиксов. В скором времени выйдет более крупное обновление расширения с большим упором на функционал. С предварительными изменениями вы можете уже сейчас ознакомиться в дев. версии расширения.
2.2. vot-worker
Также, кроме расширения, был усовершенствован vot-worker. Были сделаны небольшие минорные исправления, а что самое главное, был написан сервер vot-worker на rust (axum). Это позволило лучше справляться с высокой нагрузкой и более эффективно использовать ресурсы. Сейчас, на сервере находится сразу 2 воркера - x1 elysia & x1 axum, это нужно, чтобы в случае возникновения проблем с новым воркером сервис полностью не упал. В будущем планируется полностью перейти на axum воркер. Но, даже, так можно увидеть заметную разницу в производительности, для этого вы можете посмотреть на несколько скриншотов статистики сделанных примерно в одно время:
Сейчас, ключевые особенности генератора в том, что он очень быстрый (при локальном тестировании с уже существующим набором данных запрос на генерацию карточки занимает всего несколько мс, что очень мало для такого сервиса), полностью бесплатный и поддерживает различные варианты карточек, а в будущем и темы
2. VOT
Ссылки:
- репозиторий расширения
- репозиторий vot-worker
Не мог не упомянуть его в этом посте, как-никак это самый популярный из моих проектов.
2.1. Расширение
Пока вышло только небольшое минорное обновление расширения с добавлением нескольких сайтов и парочкой фиксов. В скором времени выйдет более крупное обновление расширения с большим упором на функционал. С предварительными изменениями вы можете уже сейчас ознакомиться в дев. версии расширения.
2.2. vot-worker
Также, кроме расширения, был усовершенствован vot-worker. Были сделаны небольшие минорные исправления, а что самое главное, был написан сервер vot-worker на rust (axum). Это позволило лучше справляться с высокой нагрузкой и более эффективно использовать ресурсы. Сейчас, на сервере находится сразу 2 воркера - x1 elysia & x1 axum, это нужно, чтобы в случае возникновения проблем с новым воркером сервис полностью не упал. В будущем планируется полностью перейти на axum воркер. Но, даже, так можно увидеть заметную разницу в производительности, для этого вы можете посмотреть на несколько скриншотов статистики сделанных примерно в одно время:
x1 elysia: ~15:00 МСК (17.02)
x1 elysia & x1 axum ~17:00 МСК (19.02)
* на скриншотах замазаны некоторые процессы и информация, которую я не хочу раскрывать :)
* на скриншотах замазаны некоторые процессы и информация, которую я не хочу раскрывать :)
статистика запросов за последние 7 дней
Как мы видим, нагрузка к вечеру всегда становится больше, и даже так виден заметный выигрыш в ~20% и более низкое потребление
процессора axum воркером (в реальности разница в потребление CPU
варьируется от 2 до 10 раз в зависимости от нагрузки).
3. Summarize / Суммаризация
Ссылки:
- репозиторий расширения
- репозиторий neurojs
- репозиторий summarize-backend
- репозиторий neuro-worker
Пожалуй, нужно было возродить все связанное с суммаризацией еще раньше, но руки дошли только сейчас.
3.1. neurojs
Причина по которой получилось возродить все связанное с суммаризацией — это новая библиотека neurojs на основе vot.js. Логика работы осталась та же, что в vot.js, но все же есть несколько существенных отличий. Они заключаются в том, что в neurojs есть поддержка работы не только с "браузерным" API, но еще и с веб API с указанием куки-сессии, а так же есть поддержка мини официального API. А главное отличие от vot.js в том, что здесь нет разделения на несколькой версий - браузерную и серверную. Это удобно, но дает и некоторые минусы, например, чтобы заставить библиотеку работать в браузере нужно указывать специальные заголовки при создании клиента, а для работы с Node нужно наоборот указывать специальный VOTAgent, который позволяет не отправлять лишние заголовки с которыми запрос может не пройти.
3.2. neuro-worker
Буквально тот же самый vot-worker, но только написанный на rust (axum) и адаптированный для работы с тремя типами NeuroAPI ("браузерным", веб и официальным)
3.3. summarize-backend
Сервер был переписан с нуля с использованием Elysia + neurojs. Из ключевых изменений была проведена переработка дизайна эндпоинтов, добавлена возможность использования совместно с neuro-worker и несколько других мелких изменений.
3.4. Расширение для суммаризации сайтов
Расширение также было возрождено и полностью переписано с использованием Svelte. Был немного изменен дизайн и добавлено несколько новых функций, которые не поддерживались ранее.
В Firefox расширение уже доступно для установки через магазин, а в Chrome все еще находится на проверке
В целом, это все крупные релизы за эти 1.5 месяца. Да, кроме упомянутых в посте релизов были например typebox-genx и localize-tui, но как по мне они еще довольно маленькие, чтобы как-то сильно о них расписывать.
Кстати,как вы могли заметить я решил немного поменять формат постов и сделать, чтобы все подписчики имели доступ к постам на несколько дней
раньше остальных. Это хоть и мелочь, но все равно приятнее, чем "пустая"
подписка :)
Как мы видим, нагрузка к вечеру всегда становится больше, и даже так виден заметный выигрыш в ~20% и более низкое потребление
процессора axum воркером (в реальности разница в потребление CPU
варьируется от 2 до 10 раз в зависимости от нагрузки).
3. Summarize / Суммаризация
Ссылки:
- репозиторий расширения
- репозиторий neurojs
- репозиторий summarize-backend
- репозиторий neuro-worker
Пожалуй, нужно было возродить все связанное с суммаризацией еще раньше, но руки дошли только сейчас.
3.1. neurojs
Причина по которой получилось возродить все связанное с суммаризацией — это новая библиотека neurojs на основе vot.js. Логика работы осталась та же, что в vot.js, но все же есть несколько существенных отличий. Они заключаются в том, что в neurojs есть поддержка работы не только с "браузерным" API, но еще и с веб API с указанием куки-сессии, а так же есть поддержка мини официального API. А главное отличие от vot.js в том, что здесь нет разделения на несколькой версий - браузерную и серверную. Это удобно, но дает и некоторые минусы, например, чтобы заставить библиотеку работать в браузере нужно указывать специальные заголовки при создании клиента, а для работы с Node нужно наоборот указывать специальный VOTAgent, который позволяет не отправлять лишние заголовки с которыми запрос может не пройти.
3.2. neuro-worker
Буквально тот же самый vot-worker, но только написанный на rust (axum) и адаптированный для работы с тремя типами NeuroAPI ("браузерным", веб и официальным)
3.3. summarize-backend
Сервер был переписан с нуля с использованием Elysia + neurojs. Из ключевых изменений была проведена переработка дизайна эндпоинтов, добавлена возможность использования совместно с neuro-worker и несколько других мелких изменений.
3.4. Расширение для суммаризации сайтов
Расширение также было возрождено и полностью переписано с использованием Svelte. Был немного изменен дизайн и добавлено несколько новых функций, которые не поддерживались ранее.
В Firefox расширение уже доступно для установки через магазин, а в Chrome все еще находится на проверке
В целом, это все крупные релизы за эти 1.5 месяца. Да, кроме упомянутых в посте релизов были например typebox-genx и localize-tui, но как по мне они еще довольно маленькие, чтобы как-то сильно о них расписывать.
Кстати,как вы могли заметить я решил немного поменять формат постов и сделать, чтобы все подписчики имели доступ к постам на несколько дней
раньше остальных. Это хоть и мелочь, но все равно приятнее, чем "пустая"
подписка :)
обновления
longread
vot
stats
summarize