Cododel.dev | Александр
98 subscribers
472 photos
62 videos
7 files
200 links
Alexander Cododel. Full Stack Web Dev since 2019.

📍 Канал: мысли и проекты
📍 Чат: @cododel_chat
📍 Связь: @cododel

🔗 https://cododel.dev
Download Telegram
YouTube теперь тоже делают Year Recap

Идея интересная, приятно глянуть со стороны на свои интересы.
У Яндекс музыки уже второй год точно они, и поинтереснее чем у ютуба даже.
Было бы прикольно узнать сколько минут было потрачено за год, как в Яндекс музыке, но уверен все мы согласимся что большая цифра в ютубе в отличие от Яндекс музыки будет пугать 🤭

Из интересного, учитывая что в топ попало Language Learning - к меня резонный вопрос:
Они реально умный многоходовой анализ провели, что я русский нейтив и много на английском смотрю, или учли только Virginia Beowulf, Caro Kowanz и ещё 2-3 небольших канала? 🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Alexander | Cododel
🚨 Критическая уязвимость в REACT SSR, с критичностью 10/10 🐞 CVE-2025-55182 🌐 https://youtu.be/lBXeX3_HSUM RCE (Remote Code Execution) — это уязвимость, которая позволяет злоумышленнику удаленно запустить любой программный код на вашем сервере или компьютере.…
+1 Майнер на проекте с NextJS версии 15.3.4

UPD - Сообщают о еще одном случае

Есть подозрение еще на 2 сервера в standalone next-server в тонком оптимизированном Docker контейнере с ограниченными правами.
Через профайлинг удалось выяснить что нагрузка вся ложится в middleware слое, а так же были ошибки обработки в заголовках, которые могли бы использоваться для эксплуатации уязвимости.
Теоретически - вполне возможно майнер запустить прям в рантайме процесса next-server через WASM
Возможно не майнер конечно, но вполне могут быть последствия попытки взлома тк версия уязвима к ним

Итого: 4 инцидента
😁3😢1
Alexander | Cododel
Но если они туда включат и Antigravity с повышенными лимитами и приоритетное обслуживание, то просто Take My Money 🐸
🔎 Antigravity становится платным, а Gemini-CLI стал немного приятнее

Для GeminiCLI сделали мажорных обновлений, и Extensions manager с целой библиотекой MCP и всяких приколюх)
Плюс я полистал релизы, там уже еще 2 мажорные версии в Nightly сборках крутятся.

А так же обновились бенефиты в тарифной линейке планов Google AI, теперь в них входят повышенные лимиты на GoogleCLI и Antirgravity, плюс уже ранее добавленные расширенные лимиты на Jules (фоновые агенты, подключаемые напрямую к репозиториям)

Из минусов Antigravity - так это что он способенн прожать M4 Pro с активным охлажением до троттлинга. Что даже удивительно, так как ни разу не стречал такого поведения без полноценной нагрузки, а что еще более удивительно, так это что сам графический интерфейс никак не тормозит, видео в ютубе воспроизводятся как будто всё ок. Он там на процессоре что ли поднимает модель для инференса? 🤭
Главное что им стоит исправить, это проблемы с производительностью, как и телеграму с новыми обновлениями, если пользоваться форматированием текста - он тоже под завязку одно ядро так грузит, что я напечатав текст могу ждать 10 секунд пока он допечатается сам...

Мне очень нравится эта тенденция, и я оплатил Google AI Pro за 23€, вложение выглядит очень выгодным, если учесть сколько всего дают, а в комплекте еще 2TB облачного хранилища, расширенный NotebookLM, полный доступ к Gemini без всяких AiStudio и возможность его использовать в гугл документах, так что за GPT думаю перестать платить, не на столько мне важно иметь красивое нативное приложение. Да и в целом огромная куча плюшек

Единственное что не входит, это Youtube Premium 😁
Но раз у меня снова есть вомзожность его оплачивать — собирайте 4 человек по 700р, и я готов оформить семейную подписку 😄 (В рф было дешевле, у меня европейский аккаунт, 28€ стоит семейная подписка, у посредников какие цены сейчасхз )
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Результаты автотестирования Antigravity

Выглядит впечатляюще, но не без недочетов.
- Не видит быстрые изменения
- Не воспринимает анимации
- Теряется (не посчитал багом тот факт, что профиль не сменился при клике)

Ну и тп мелочи.
В теории кучу токенов на это тратит.

Но тк оно работает по лимитам а не по токенам, то вполне симпатишно выглядит.
Они идут именно по вайбкодингу, чтоб дать задачу и уйти чай пить.
Я вот сериал смотрел сидел, и делал параллельно еще один проект.

Фактически одним запросом через планирование сделал довольно неплохой функционал не требующий правок, если не продумывать архитектурно, который еще и по дизайну вписывается.
Но этому предшествовала огромная работа по стандартизации дизайн системы, стэка и тп правил.
Теперь не стыдно: https://cododelia.ru
Потом расскажу
Alexander | Cododel
Есть подозрение еще на 2 сервера в standalone next-server в тонком оптимизированном Docker контейнере с ограниченными правами.
Через профайлинг удалось выяснить что нагрузка вся ложится в middleware слое, а так же были ошибки обработки в заголовках, которые могли бы использоваться для эксплуатации уязвимости.
Теоретически - вполне возможно майнер запустить прям в рантайме процесса next-server через WASM
Возможно не майнер конечно, но вполне могут быть последствия попытки взлома тк версия уязвима к ним
То была не уязвимость NextJS, а уязвимость системы локализации на проекте в виде бага, вот пост мортем:

Этому багу 4 месяца, но вскрылся только сейчас, тк сайт заметили боты и стали пробовать искать уязвимсти, вскрыв баг на одном из даже неиспользуемых в проекте адресов, на которых есть один механизм в nextjs, который мы тоже не используем

От того сложно было выявить проблему, пришлось из оперативной памяти сервера делать снимок и разбирать его, в поисках причины

Валидацией языка занимается middleware, в котором исключены служебные пути nextjs среди которых есть и api

И тогда отправив запрос на api, который у нас не используется - middleware с валидацией пропускается, сразу api забирается как язык, но дальнейший рендеринг попадает в layout и не находит страницу соответствующуб, начинает рендерить 404 ошиибку, которая зависит языка, а язык у нас уже утвержден как API - 404 ошибка запрашивает такой язык, из-за чего происходит новая ошибка, уже 500, она тоже у нас тилизована, начинает рендериться, по уже утвержденному языку вызывает локаль api и снова вызывает ошибку, а дальше бесконечный круг на 500 ошибке

Дело даже не в нагрузке, а просто одного запроса достаточно чтобы вызывать замкнутый круг в котором зависает сервер
Alexander | Cododel
То была не уязвимость NextJS, а уязвимость системы локализации на проекте в виде бага, вот пост мортем: Этому багу 4 месяца, но вскрылся только сейчас, тк сайт заметили боты и стали пробовать искать уязвимсти, вскрыв баг на одном из даже неиспользуемых в…
отчет намеренно упрощенный для заказчика, а на самом деле выявляется проблема так:

я в контейнере установил socat, запустил дебаггер nodejs, прокинул порт на локльную машину, по ssh открыл туннель к контейнеру через соединение с сервером, на ноуте через Chrome Remote NodeJS Debug Tools запустил Profiler, в нем отсортировал BottomUp по Self Time, взял самый долгий вызов, открыл файл рантайма исодников на строке, через дебаггер с брейкпоинтами и отлов исключений выявил проблемный path запроса и компонент, который в этот момент рендерится, какие вызовы происходят.

Оказалось это /api, рендерится компонент 404, проблема рядом с i18next.

Локальная проверка дала положительный результат, фронт ложится с одного запроса, и только с /api
Детальный анализ исходников показал что у нас просто не используется в проекте /api, так что путь [locale] отлавливал его как локаль вобход middleware, который должен валидировать локали, и сразу попадал в рендер, зависимый от локали и вызывал Exception Loop

Вотъ и фсё.

Думаю это будет эталоном построения логических цепочек, на котором я буду учить людей 😅
Кто еще не умеет дебажить - пишите, научу, дорого 👐
Please open Telegram to view this post
VIEW IN TELEGRAM
🎤 Пользуетесь RSS?
Anonymous Poll
7%
👍 Да
53%
👎 Нет
40%
😐 Не слышал о таком
Внезапно: GPT-5.2 релизнулась

(узнал из обновления в Cursor)
Я не Реактолог.

Осмелился спросить у агента, он подтвердил мои сомнения.
Я подсознательно вспомнил как работает это во VueJS 😅

Хотя и не работал с Vue уже 3 года, но всё же 25 минут сейчас тупил и не мог понять, почему data-active={false} всё равно рендерит этот аттрибут со строковым значением "false"
🗿1
Идея PayloadCMS кажется интересной.

Я сейчас подумал, ведь можно использовать unstable_cache для множества данных, и при грамотном управлении ревалидацией при обновлении данных можно получить почти SSG производительность на SSR с админкой и без пересборки проекта 🤔

А возможно это по той причине, что весь проект полностью находится в одном пространстве и имеет Shared unstable_cache, так сразу после внесения изменений - автор же и кеширует их.

Звучит прикольно, но мне до сих пор не понятна идея HeadlessCMS в плане того, что пол проекта находится в базе данных...
Ну как версионировать и безопасно обновляться? Не пойму пока...
Отвлекся на уведомление в тиктоке

Я понял куда девается время, в этот раз таймтрекер зафиксировал утечку 😅

Новости и факты в рекомендациях конечно интересные
Please open Telegram to view this post
VIEW IN TELEGRAM
Такой промпт составляет визуальный редактор сайта в Cursor

Ранее был переработан режим браузера в Cursor

Штука конечно интересная, может быть в каких-то кейсах применимая, но лично мне, как противнику любых конструкторов сайтов — это тоже кажется избыточным слоем, который снижает продуктивность, и накладывает некоторые ограничения.
В интерфейсах — Я просто чувствую руки связанными.

Ну и на скрине есть повод поразмышлять над тем, как это работает, и как лучше с этим взаимодействовать.
О чем и напишу в следующем посте.
👍1
Как работает визуальный редактор в Cursor

Теперь при запуске любой команды, слушающей какой-либо порт, Cursor предлагает открыть его в встроенном браузере, с возможностью выделения и редактирования контента на сайте - от текста до стилей, и даже абсолютного позиционирования.
При внесении изменений появляется кнопка Apply
Это всё дело помещается в контест чата и агент старается привести код проекта к указанному состоянию.

Пример:
Я просто выделил span, и убрал у него в стилях значение white-space, а получил огромный промпт с кучей правил и огромным селектором.

А как решение, на GPT-5.1-codex-mini (medium) я получил не самый хороший результат, но рабочий:
Модель не прямо следовала указаниям, а правильно поняла намерение. Не остановилась на том, что white-space нет в стилях (это стили библиотеки), а поняла что я хочу включить перенос строк.
Нашла компонент, CSS класс элемента и добавила в него вложенные стили в соответсвии с прописанными Cursor Rules.
Но результат получился не очень... (см скрин) Надо бы и с высотой поработать.

Что еще хуже: Изменение было применено к ui компоненту, что приведет к изменениям на всём сайте полностью.
А требуется лишь изменение частного случая...

Это уже не совсем полноценный агент, а буквально "умный" редактор сайтов, который будет сам чот себе там думать, но выполнит просьбу не докапываясь, в отличие от настоящего разработчика.
А настоящие редакторы сайтов обычно для каждого элемента имеют свой стейт, и почти никогда не предоставляют компонентный подход с переиспользованием.

Хотел рассказать о том как сделать лучше, но в процессе выяснил, что мне не нравится структура кнопки в библиотеке, и надо думать самому) Ну я так считаю, а в целом можно попробовать с ИИ решить проблему, но я думаю на это уйдет много времени и токенов.
Думаю основная проблема в ошибках на истоке проекта, я вообще против любых фиксированных размеров, а тут кнопки с фикс высотой...
3
Cursor - баг или фича?

20 минут назад обнулились лимиты, несмотря на то что текущий период не окончился.

В личном кабинете шкала лимитов тоже пропала.

Интересно - дебажат, или снова грядут изменения в тарификации?