Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣52❤4🥰2💯2 1
Кстати совсем с отпуском забыл выложить подкаст с Диминого канала. Если у вас опускаются руки, посмотрите — там много мотивации. Выход есть из почти любой жопы 💪
https://youtu.be/dyeH38jBheI?si=ZCKs_8kkaYUaQDle
https://youtu.be/dyeH38jBheI?si=ZCKs_8kkaYUaQDle
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
💪 что стало с jointime, куда пропал jointime
Поддержка автора 🧊
boosty - https://boosty.to/siberiacancode
donatealerts - https://www.donationalerts.com/r/siberiacancode
Социальные сети 🔥
boosty: https://boosty.to/siberiacancode
telegram: https://news.1rj.ru/str/siberiacancode
vk: https://vk.com/siberiacancode…
boosty - https://boosty.to/siberiacancode
donatealerts - https://www.donationalerts.com/r/siberiacancode
Социальные сети 🔥
boosty: https://boosty.to/siberiacancode
telegram: https://news.1rj.ru/str/siberiacancode
vk: https://vk.com/siberiacancode…
1🔥15 5❤3🤣3
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥27❤3 2✍1👍1
Forwarded from zede code
FEOD
Разработал для компании структуру проектов, по видению которое считал наиболее оптимальной для компании. Но многие идеи могут быть использованы кем угодно. И вот по внутреннму докладу с презентацией подхода написали статью. Она чуть менее комплексная, так как большая доля информации осталась в базе знаний компании, но в целом основные идеи тут и так видны.
И сейчас я в свободное время пишу документацию для
В целом, работа по этому направлению будет вестись (полноценная документация + линтер). FEOD не обещает быть серебряной пули или нравиться всем. Это очередной взгляд, очередное видение и попытки дать ответы на сложные вопросы.
Разработал для компании структуру проектов, по видению которое считал наиболее оптимальной для компании. Но многие идеи могут быть использованы кем угодно. И вот по внутреннму докладу с презентацией подхода написали статью. Она чуть менее комплексная, так как большая доля информации осталась в базе знаний компании, но в целом основные идеи тут и так видны.
И сейчас я в свободное время пишу документацию для
open feod который будет более универсальным и обобщенным. Одна из основных целей: дать документацию модульному подходу, чтобы противостоять документированности FSD. Пару слов о FSD: ребята огромные молодцы, что попытались структурировать и дать какое-то стандартизированное решение, но их идеи мне откликаются не во всем, особенно по реакции общественности на нее. В целом, работа по этому направлению будет вестись (полноценная документация + линтер). FEOD не обещает быть серебряной пули или нравиться всем. Это очередной взгляд, очередное видение и попытки дать ответы на сложные вопросы.
Хабр
От хаоса к структуре: как FEOD помогает упорядочить архитектуру фронтенд-приложений
Сегодня мы поговорим о том, как развивается платформенная команда «Спортмастера». Речь пойдёт о подходе к организации фронтенд-приложений, который получил название FEOD — Fractal Entity Oriental...
1❤10👍7🔥3
Forwarded from Denis Chernov
А мы говорили что ваши реакты ни до чего хорошего не доведут
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
TLDR крит уязвимость 10/10:
- если ваш рантайм ПОДДЕРЖИВАЕТ rsc (те условный некст), то злоумышленник может использнять ЛЮБОЙ КОД на стороне СЕРВЕРА
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
TLDR крит уязвимость 10/10:
- если ваш рантайм ПОДДЕРЖИВАЕТ rsc (те условный некст), то злоумышленник может использнять ЛЮБОЙ КОД на стороне СЕРВЕРА
react.dev
Critical Security Vulnerability in React Server Components – React
The library for web and native user interfaces
🤣9🎃3🔥1😭1🗿1
Стародубцев x IT-ХОЗЯЕВА
А мы говорили что ваши реакты ни до чего хорошего не доведут https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components TLDR крит уязвимость 10/10: - если ваш рантайм ПОДДЕРЖИВАЕТ rsc (те условный некст), то злоумышленник…
Как такое вообще возможно в 2k26 почти? 😔
Please open Telegram to view this post
VIEW IN TELEGRAM
💯8🦄3👍1 1
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤23👍10🔥6🎃1
Forwarded from 8BitJS
Что пошло не так в
Последние пару дней во всех фронтенд-пабликах пролетела новость: в
Но мне захотелось разобраться с инженерной точки зрения, что же именно оказалось сломано внутри React и почему это вообще стало возможно. А главное, понять, чему мы можем научиться из этого кейса как разработчики, даже если не используем
Небольшое отступление.
В рамках
With this combined commit, people now have to go through a >1500 line patch to try to understand the security relevant changes.
Что за уязвимость
CVE-2025-55182 - критическая уязвимость в React Server Components, которая позволяет, отправив специально сформированный запрос, добиться удаленного выполнения кода на сервере.
В коде было обнаружены три основные причины уязвимости:
1. Несимметричность в плане защиты между кодом клиентской и серверной реализацией
2. Небезопасная десериализация данных Flight-протокола на сервере
3. Незащищенное разрешение модулей и экспортов
Немного контекста
React Server Components
Основная идея состоит в том, что сервер может сам рендерить дерево компонентов, может делать запросы в БД и API. Клиент же получает поток (
Flight-протокол
Внутренний протокол
Разберемся в коде
Рассмотрим на практике два ключевых участка, которые стали причиной уязвимости.
Внутри серверного декодера есть функция
Упростим:
requireModule и доверие к экспорту
В
Сервер слишком доверяет экспортируемому модулю, поэтому могут сработать запросы вида:
Из-за чего можно было использовать имя экспорта, которого нет в модуле, но существующего в цепочке прототипов.
Для закрытия уязвимости для экспорта добавили проверку
Итого
Как мы смогли увидеть, в уязвимости нет каких-то хитростей
Что важного мы можем вынести для себя:
Никогда не доверяйте структуре данных от пользователя. Для защиты фильтруем все опасные ключи из прототипирования (__proto__,
#8BitJS #React #CVE #security #RSC
React Server Components и чему из этого стоит научитьсяПоследние пару дней во всех фронтенд-пабликах пролетела новость: в
React нашли критическую уязвимость с оценкой CVSS 10.0. Она позволяет получить удаленное выполнение кода на сервере. В списках пострадавших оказались все кто используют и/или поддерживают React Server Components (RSC).Но мне захотелось разобраться с инженерной точки зрения, что же именно оказалось сломано внутри React и почему это вообще стало возможно. А главное, понять, чему мы можем научиться из этого кейса как разработчики, даже если не используем
RSC.Небольшое отступление.
В рамках
PR с закрытием уязвимости было решено сделать рефакторинг. И справедливо было подмеченоWith this combined commit, people now have to go through a >1500 line patch to try to understand the security relevant changes.
Что за уязвимость
CVE-2025-55182 - критическая уязвимость в React Server Components, которая позволяет, отправив специально сформированный запрос, добиться удаленного выполнения кода на сервере.
В коде было обнаружены три основные причины уязвимости:
1. Несимметричность в плане защиты между кодом клиентской и серверной реализацией
2. Небезопасная десериализация данных Flight-протокола на сервере
3. Незащищенное разрешение модулей и экспортов
Немного контекста
React Server Components
Основная идея состоит в том, что сервер может сам рендерить дерево компонентов, может делать запросы в БД и API. Клиент же получает поток (
stream) данных о дереве, а не готовый HTML. React на стороне клиента постепенно собирает готовый результат из данных от сервера и клиентских компонентов.Flight-протокол
Внутренний протокол
React для передачи данных в RSC между клиентом и сервером. Простыми словами, сервер кодирует состояние дерева, ссылки на компоненты, промисы в поток байтов. Со стороны клиента поток читает декодер ReactFlightClient и восстанавливает исходные данные. Аналогично со стороны сервера есть декодер ReactFlightReplyServer, который обрабатывает обратные данные от пользователя.Разберемся в коде
Рассмотрим на практике два ключевых участка, которые стали причиной уязвимости.
Prototype pollution в ReactFlightReplyServerВнутри серверного декодера есть функция
reviveModel в связке с getOutlineModel, которые рекурсивно обходят данные и "оживляет" их в обычные JS структуры.Упростим:
function reviveModel(...) {
...
if (typeof value === 'object' && value !== null) {
...
for (const key in value) {
// hasOwnProperty проверка для защиты от вызова унаследованных ключей
if (hasOwnProperty.call(value, key)) {
...
// добавили проверку на __proto__
if (newValue !== undefined || key === '__proto__') {
value[key] = newValue;
}
}
}
}
requireModule и доверие к экспорту
В
RSC есть функция requireModule(metadata) для бандлеров, которая по metadata.id находит модуль и по metadata.name выбирает нужный экспорт.export function requireModule<T>(metadata: ClientReference<T>): T {
const moduleExports = parcelRequire(metadata[ID]);
return moduleExports[metadata[NAME]];
}
Сервер слишком доверяет экспортируемому модулю, поэтому могут сработать запросы вида:
{
"id": "foo",
"name": "__proto__"
}
Из-за чего можно было использовать имя экспорта, которого нет в модуле, но существующего в цепочке прототипов.
Для закрытия уязвимости для экспорта добавили проверку
if (hasOwnProperty.call(moduleExports, metadata[NAME])) {
return moduleExports[metadata[NAME]];
}
Итого
Как мы смогли увидеть, в уязвимости нет каких-то хитростей
React, а используется довольно распространенная проблема доверия к данных при десериализации.Что важного мы можем вынести для себя:
Никогда не доверяйте структуре данных от пользователя. Для защиты фильтруем все опасные ключи из прототипирования (__proto__,
constructor, prototype) и/или добавляем подход allowlist для ключей. Для конструкции for...in используем hasOwnProperty.#8BitJS #React #CVE #security #RSC
1🔥15❤5✍3 2👍1
А заметили ли вы, что каждый год в айтихе появляются вещи, без которых «нельзя обойтись»? Скрам, agile, мега паттерны, архитектуры, убийственные фреймворки, которые исчезают, не успев толком появиться. Сколько же юзелесс-говнища мы через себя пропустили 🪞
Бум нейросетей начинает утихать — это видно по просмотрам даже у тех, кто раньше жестко хайповал. Мы просто получили очередной инструмент, который добавил нам ещё одну абстракцию в работе.
Всё развитие технологий напоминает памп какой-нибудь скам-монеты на TON: паникёры опять остались без нервов, а гигачады спокойно сидят на +вайбе🚬
Кстати, поздравляю всех, кто в 2022 году зассал вкатываться в айтиху — сейчас сделать это стало ещё сложнее🚫
Бум нейросетей начинает утихать — это видно по просмотрам даже у тех, кто раньше жестко хайповал. Мы просто получили очередной инструмент, который добавил нам ещё одну абстракцию в работе.
Всё развитие технологий напоминает памп какой-нибудь скам-монеты на TON: паникёры опять остались без нервов, а гигачады спокойно сидят на +вайбе
Кстати, поздравляю всех, кто в 2022 году зассал вкатываться в айтиху — сейчас сделать это стало ещё сложнее
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍19❤9😁4💯3🫡2💊2🤯1🙈1
Forwarded from Reatom новости (artalar)
v1000 в проде, альфа закончена 🥳 🥳 🥳
Библиотека теперь в несколько раз проще и намного богаче на фичи!
Огромное спасибо всему комьюнити за участие в разработке и тестировании, за время альфы количество скачиваний в NPM увеличилось вдвое до 7к в неделю! Ко мне приходят в личку с восторженными фидбеками о простоте и функциональности библиотеки, все получилось как и планировали!
Отдельная благодарность @Xelson за его разработку форм менеджера - титаническая работа! Начать смотреть отсюда (там еще много гайдов в сайдбаре можете найти): https://v1000.reatom.dev/handbook/forms/introduction/
Напомню, у нас так же появилась мощная (лучшая кмк) система роутинга: https://v1000.reatom.dev/handbook/routing/
Помимо core пакета (с формами, роутингом и кучей всего) стабильными версиями опубликованы пакеты для React и собственного JSX рендера.
Уже на подходе пакеты для: solid, lit, preact, zod! Требуется помощь с пакетами для Vue и Svelte (делать по примеру solid и preact).
Про миграцию с v3: https://v1000.reatom.dev/handbook/history/#migration-from-v3
Очень много анонсов и статей, демок будет на этой неделе. НО самое важное - это фидбек от вас! Пробуйте, отписывайтесь сюда или в https://github.com/reatom/reatom/issues/1093
Лайк, шер!
Библиотека теперь в несколько раз проще и намного богаче на фичи!
Огромное спасибо всему комьюнити за участие в разработке и тестировании, за время альфы количество скачиваний в NPM увеличилось вдвое до 7к в неделю! Ко мне приходят в личку с восторженными фидбеками о простоте и функциональности библиотеки, все получилось как и планировали!
Отдельная благодарность @Xelson за его разработку форм менеджера - титаническая работа! Начать смотреть отсюда (там еще много гайдов в сайдбаре можете найти): https://v1000.reatom.dev/handbook/forms/introduction/
Напомню, у нас так же появилась мощная (лучшая кмк) система роутинга: https://v1000.reatom.dev/handbook/routing/
Помимо core пакета (с формами, роутингом и кучей всего) стабильными версиями опубликованы пакеты для React и собственного JSX рендера.
Уже на подходе пакеты для: solid, lit, preact, zod! Требуется помощь с пакетами для Vue и Svelte (делать по примеру solid и preact).
Про миграцию с v3: https://v1000.reatom.dev/handbook/history/#migration-from-v3
Очень много анонсов и статей, демок будет на этой неделе. НО самое важное - это фидбек от вас! Пробуйте, отписывайтесь сюда или в https://github.com/reatom/reatom/issues/1093
Лайк, шер!
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤9👍6🔥5👏1
Бесплатный ChatGPT GO на год!
Наткнулся в рилсах на гайдец, как получить индийский ChatGPT бесплатно. Ниже будет инструкция как это все проворачивается, но если вам лень это всё проворачивать, как и мне — держите ссылку на маркете аккаунт за 100 рублей.
Грех не подсветить с моей стороны такую возможность.
Инструкция, как это провернуть самому:
1. Подключаем индийский прокси.
2. Создаём новый аккаунт ChatGPT через почту Gmail.
3. После входа в ChatGPT ловим промо предложение. Жмём на него (если не появилось, заходим через товары).
4. Для оплаты нужна заграничная карта.
5. Указываем имя и Индийский адрес.
Пользуемся, а на свободные деньги покупаем клод😎
Наткнулся в рилсах на гайдец, как получить индийский ChatGPT бесплатно. Ниже будет инструкция как это все проворачивается, но если вам лень это всё проворачивать, как и мне — держите ссылку на маркете аккаунт за 100 рублей.
Грех не подсветить с моей стороны такую возможность.
Инструкция, как это провернуть самому:
1. Подключаем индийский прокси.
2. Создаём новый аккаунт ChatGPT через почту Gmail.
3. После входа в ChatGPT ловим промо предложение. Жмём на него (если не появилось, заходим через товары).
4. Для оплаты нужна заграничная карта.
5. Указываем имя и Индийский адрес.
Пользуемся, а на свободные деньги покупаем клод
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥12👍5❤3
Недовольный мидл
Почти две недели ничего не постил — был в отпуске. А между тем, новости есть...
Я буду преподавать на курсе по Angular в OTUS.🤩
На самом деле давно задумывался, что стоит вернуться к преподаванию — очень полезная активность, в том числе с точки зрения собственного развития. Когда начинаешь объяснять что-то другим, сам понимаешь многое иначе.
Уже прошёл вступительный курс и провёл демо-занятие, осталось закончить формальные процедуры — и скоро начну учить...
Я буду преподавать на курсе по Angular в OTUS.
На самом деле давно задумывался, что стоит вернуться к преподаванию — очень полезная активность, в том числе с точки зрения собственного развития. Когда начинаешь объяснять что-то другим, сам понимаешь многое иначе.
Уже прошёл вступительный курс и провёл демо-занятие, осталось закончить формальные процедуры — и скоро начну учить...
Знаете, чем мне нравится наше сообщество? Вот с таких новостей нереально поднимается настроение, обожаю, когда вижу рост других. Какие же крутые у нас ребята! Поздравляем Артёма! Давайте поддержим его подпиской — ему будет приятно. Напоминаю, не стесняйтесь обращаться к Хозяевам за советом — все всегда готовы помочь и поделиться опытом ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11 3🔥1😱1🤣1
Новости Хозяев 💪
Обновили лендинг — вы просто посмотрите, какая пушка получилась: https://ithozyaeva.ru/
Накрутили туда кучу реально полезного функционала:
Анонсы встреч через бота. Теперь как только создаётся мероприятие на платформе, всем, кто включил рассылку, прилетает уведомление. Не раз, а несколько — чтобы точно не пропустили движ.
Загрузка резюмехи. Не можешь найти работу? Не беда. Залетай, загружай резюме — и можешь быть уверен, я его отправлю HR-ам (их у меня много🐱 ).
Список тех, кто готов зарефералить. Прям на платформе есть ребята, которые сейчас готовы помочь рефералкой. Пиши им в личку, не стесняйся.
Развиваемся. По стеку у нас вообще полный фарш: Vue + Go. Такой маленький пет-проектик превращается в полноценную платформу.
P.S. Бот проверяет, состоишь ли ты в основной беседе. Так что если хочешь получить доступ к платформе и ты уже подписан — не забудь вступить в “IT-ХОЗЯЕВА: Основная беседа”.
Обновили лендинг — вы просто посмотрите, какая пушка получилась: https://ithozyaeva.ru/
Накрутили туда кучу реально полезного функционала:
Анонсы встреч через бота. Теперь как только создаётся мероприятие на платформе, всем, кто включил рассылку, прилетает уведомление. Не раз, а несколько — чтобы точно не пропустили движ.
Загрузка резюмехи. Не можешь найти работу? Не беда. Залетай, загружай резюме — и можешь быть уверен, я его отправлю HR-ам (их у меня много
Список тех, кто готов зарефералить. Прям на платформе есть ребята, которые сейчас готовы помочь рефералкой. Пиши им в личку, не стесняйся.
Развиваемся. По стеку у нас вообще полный фарш: Vue + Go. Такой маленький пет-проектик превращается в полноценную платформу.
P.S. Бот проверяет, состоишь ли ты в основной беседе. Так что если хочешь получить доступ к платформе и ты уже подписан — не забудь вступить в “IT-ХОЗЯЕВА: Основная беседа”.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21 6🔥1🫡1
Уже неделю сижу на Antigravity. Это гугловский редактор с жирными бесплатными лимитами на топ-модели. Вообще топчик, переход с VS Code был суперлёгким 💪
Чтобы начать пользоваться, нужно в настройках поменять место вашей дислокации. Я, например, часто на постоянке в Нидерландах, поменял без проблем (выбрал вариант «путешественник»)🐱
Дальше просто логинитесь и наслаждаетесь агентами уже без VPN🚬
https://antigravity.google/
Чтобы начать пользоваться, нужно в настройках поменять место вашей дислокации. Я, например, часто на постоянке в Нидерландах, поменял без проблем (выбрал вариант «путешественник»)
Дальше просто логинитесь и наслаждаетесь агентами уже без VPN
https://antigravity.google/
Please open Telegram to view this post
VIEW IN TELEGRAM
1 9🔥3❤2✍1👍1🤯1
Целых 20 комплектов билетов для всей семьи на новогоднюю ёлку разыгрывает T1 💪
Для участия в розыгрыше нужно сделать не так уж и много: подписаться на канал, оставить коммент и пройти опрос до 20 декабря. Летс гоу!
Реклама. АО "Т1", ИНН: 9714075174, erid: 2W5zFGXEvrk
Для участия в розыгрыше нужно сделать не так уж и много: подписаться на канал, оставить коммент и пройти опрос до 20 декабря. Летс гоу!
Реклама. АО "Т1", ИНН: 9714075174, erid: 2W5zFGXEvrk
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿1