Языковые модели пишут код быстрее нас, но как теперь защитить систему от уязвимостей? Эту тему и не только обсудим на ежегодном ИТ-фестивале Выходной с Selectel.
🗓 25 июля | Эрарта, Санкт-Петербург или онлайн
В фокусе для разработчиков и специалистов по машинному обучению:
Участие бесплатное, регистрация обязательна: 👉 Зарегистрироваться на Selectel Day Off...
Перейти на оригинальный пост
🗓 25 июля | Эрарта, Санкт-Петербург или онлайн
В фокусе для разработчиков и специалистов по машинному обучению:
😅 Опыт изнутри: как ИИ-агенты влияют на появление уязвимостей и как выстроить надёжные проверки и ограничения.
😅 Практика и архитектура: проектирование ИИ-агента на базе платформы для создания ассистентов Harness. Поставим и настроим под себя консольное приложение для работы с базами данных — освоим соавторство с ИИ на практике.
😅 Кодинг и карьера: каких разработчиков ищет рынок, как преодолеть собственные барьеры перед внедрением ИИ и сколько реально стоит одна задача, написанная в соавторстве с моделью.
Участие бесплатное, регистрация обязательна: 👉 Зарегистрироваться на Selectel Day Off...
Перейти на оригинальный пост
💻 Репозиторий — чит-код для кибербезопасника
Полный арсенал для пентеста и аудита безопасности, аккуратно разложенный по категориям — от разведки до финального отчёта.
🕵️ Разведка
Инструменты, которые показывают, какие данные о вас, доменах и компаниях уже лежат в открытом доступе.
🧨 Сканеры уязвимостей
Проверяют сайты, API и сервера на дыры — от банальных misconfig до серьёзных проблем безопасности.
⚔️ Пентест-инструменты
Эмуляция атак, чтобы понять, где система «сыпется» под давлением.
📡 Анализ Wi-Fi и сетей
Проверка сетей на возможность перехвата трафика и несанкционированного доступа.
🧠 Digital Forensics
Вытаскивание удалённых файлов, метаданных и цифровых следов.
🚀 Стресс-тестирование
Нагрузка на сервисы и сайты, чтобы проверить их предел прочности.
🔍 Перехват и анализ трафика
Смотрим, какие данные реально гуляют по сети.
🔐 Тестирование паролей
Проверка устойчивости к брутфорсу и слабым комбинациям.
🌐 Анализ веб-приложений
Поиск скрытых директорий,...
Перейти на оригинальный пост
Полный арсенал для пентеста и аудита безопасности, аккуратно разложенный по категориям — от разведки до финального отчёта.
🕵️ Разведка
Инструменты, которые показывают, какие данные о вас, доменах и компаниях уже лежат в открытом доступе.
🧨 Сканеры уязвимостей
Проверяют сайты, API и сервера на дыры — от банальных misconfig до серьёзных проблем безопасности.
⚔️ Пентест-инструменты
Эмуляция атак, чтобы понять, где система «сыпется» под давлением.
📡 Анализ Wi-Fi и сетей
Проверка сетей на возможность перехвата трафика и несанкционированного доступа.
🧠 Digital Forensics
Вытаскивание удалённых файлов, метаданных и цифровых следов.
🚀 Стресс-тестирование
Нагрузка на сервисы и сайты, чтобы проверить их предел прочности.
🔍 Перехват и анализ трафика
Смотрим, какие данные реально гуляют по сети.
🔐 Тестирование паролей
Проверка устойчивости к брутфорсу и слабым комбинациям.
🌐 Анализ веб-приложений
Поиск скрытых директорий,...
Перейти на оригинальный пост
Почему textarea часто ломает layout?
По умолчанию
Пользователь легко может растянуть её по ширине и сломать
Обычно никто это не контролирует.
textarea {
resize: both;
}
Из-за этого форма начинает разъезжаться, особенно в боковых панелях, модальных окнах и узких контейнерах.
Лучше сразу ограничить направление
textarea {
resize: vertical;
}
Теперь пользователь может увеличить высоту, но ширина
Если
textarea {
resize: none;
}
Это особенно полезно для сложных форм.
.modal textarea,
.sidebar textarea {
resize: vertical;
}
🔥 Контроль
📣 Code Ready | #совет
По умолчанию
textarea можно тянуть во все стороны.Пользователь легко может растянуть её по ширине и сломать
grid, flex или весь form-layout.Обычно никто это не контролирует.
textarea {
resize: both;
}
Из-за этого форма начинает разъезжаться, особенно в боковых панелях, модальных окнах и узких контейнерах.
Лучше сразу ограничить направление
resize.textarea {
resize: vertical;
}
Теперь пользователь может увеличить высоту, но ширина
layout остаётся стабильной.Если
resize вообще не нужен:textarea {
resize: none;
}
Это особенно полезно для сложных форм.
.modal textarea,
.sidebar textarea {
resize: vertical;
}
🔥 Контроль
resize убирает неприятные layout-баги в формах и делает UI заметно стабильнее.📣 Code Ready | #совет
🐙 Front End Web Development Resources – репозиторий с полезными материалами для разработчиков. Здесь есть ссылки на полезные статьи, блоги, Youtube-каналы, фреймворки и библиотеки иконок.
Сайтодел | #репозиторий #github
Сайтодел | #репозиторий #github
Платить за иностранный интернет-трафик в России не придётся.
😎Будет ли вообще какой-то трафик к сентябрю не сообщается
😎
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Parametric Surface – объемные вращающиеся фигуры, написанные с помощью библиотеки Three.js. Структуру фигурки в разноцветных цветах можно увидеть, если навести на нее курсор.
Сайтодел | #сниппет #css
Сайтодел | #сниппет #css
📰 RSS Дайджест | 8 июля 2026
Нейросети AI
• GPT-5.6 Sol + Terra/Luna запускаются в четверг
• Hy3 - впечатляющие возможности (LocalLLaMA)
• Deepseek-V4-Flash GGUF от Unsloth
• GLM-5.2 на 8xB200 - математика деплоя
• Local уже достаточно хорош
• Anthropic's Jacobian Lens тест
• Beijing НЕ ограничивает доступ к китайским моделям (опровергнуто)
• NVIDIA Nemotron-Labs 3 Puzzle 75B
Новости
• Microsoft экономит на AI, полагаясь на свои модели
• Meta запустила Muse Image - пользователи против использования фото
• Discord признал баг AI-модерации (баны за безобидные фото)
• Figma купила команду vibe-coding приложения
• Худшие взломы 2026 года
• Google Pixel event 12 августа
Tech / Dev
• Tenda firmware содержит скрытый бэкдор
• Local TTS с Kokoro
• MIT SICP видеолекции (1986)
• CSS border-shape скоро
[Источники: Hacker News, LocalLLaMA, TechCrunch, CSS-Tricks]
Нейросети AI
• GPT-5.6 Sol + Terra/Luna запускаются в четверг
• Hy3 - впечатляющие возможности (LocalLLaMA)
• Deepseek-V4-Flash GGUF от Unsloth
• GLM-5.2 на 8xB200 - математика деплоя
• Local уже достаточно хорош
• Anthropic's Jacobian Lens тест
• Beijing НЕ ограничивает доступ к китайским моделям (опровергнуто)
• NVIDIA Nemotron-Labs 3 Puzzle 75B
Новости
• Microsoft экономит на AI, полагаясь на свои модели
• Meta запустила Muse Image - пользователи против использования фото
• Discord признал баг AI-модерации (баны за безобидные фото)
• Figma купила команду vibe-coding приложения
• Худшие взломы 2026 года
• Google Pixel event 12 августа
Tech / Dev
• Tenda firmware содержит скрытый бэкдор
• Local TTS с Kokoro
• MIT SICP видеолекции (1986)
• CSS border-shape скоро
[Источники: Hacker News, LocalLLaMA, TechCrunch, CSS-Tricks]
🖥 Virtual Reality Landing Page Concept – футуристичный дизайн для лендинга про виртуальную реальность. Преобладают оттенки голубого, фиолетового и красного.
Сайтодел | #макет #figma
Сайтодел | #макет #figma
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Очередной шедевр вайбкодинга
За эту разработку и премию дадут.
С добрым утром 😎
За эту разработку и премию дадут.
С добрым утром 😎
✍️ Notes Desktop — интересный проект, настольное приложение для заметок в стиле Telegram Desktop.
Приложение полностью оффлайн — без серверов и телеметрии. Опциональный движок peer-to-peer синхронизации позволяет устройствам обмениваться заметками напрямую по локальной сети.
⚙️ Простая установка
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
▶️ И запуск
./run.sh
🔐 Заметки шифруются локально, обеспечивая высокий уровень безопасности и конфиденциальности пользовательских данных.
♎️ GitHub/Инструкция
#python #soft #github
Приложение полностью оффлайн — без серверов и телеметрии. Опциональный движок peer-to-peer синхронизации позволяет устройствам обмениваться заметками напрямую по локальной сети.
⚙️ Простая установка
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
▶️ И запуск
./run.sh
🔐 Заметки шифруются локально, обеспечивая высокий уровень безопасности и конфиденциальности пользовательских данных.
♎️ GitHub/Инструкция
#python #soft #github
⚡️ Айтишник из «VISION» скупил курсы айти школ и выложил гигабайты материалов к себе
Каждый найдет что-то по душе:
1202 ГБ — Python
1811 ГБ — Frontend
1100 ГБ — C / C++ / C#
804 ГБ — Java
411 ГБ — SQL & БД
309 ГБ — DevOps
998 ГБ — ИБ & Хакинг
773 ГБ — Kotlin / Swift
189 ГБ — PHP
201 ГБ — GoLang
170 ГБ — Rust
167 ГБ — QA / Тестирование
310 ГБ — 1C + Лицензии
495 ГБ — Машинное обучение
704 ГБ — Аналитика Данных
991 ГБ — Дизайн
Материалы в закрепе, постоянно пополняются👆🏻
Каждый найдет что-то по душе:
1202 ГБ — Python
1811 ГБ — Frontend
1100 ГБ — C / C++ / C#
804 ГБ — Java
411 ГБ — SQL & БД
309 ГБ — DevOps
998 ГБ — ИБ & Хакинг
773 ГБ — Kotlin / Swift
189 ГБ — PHP
201 ГБ — GoLang
170 ГБ — Rust
167 ГБ — QA / Тестирование
310 ГБ — 1C + Лицензии
495 ГБ — Машинное обучение
704 ГБ — Аналитика Данных
991 ГБ — Дизайн
Материалы в закрепе, постоянно пополняются👆🏻
👩💻 Можно ли вывести видео поверх всех окон на странице или даже за пределы браузера?
Псевдокласс
Как это используется:
Комбинируйте с соседними селекторами (
📣 Code Ready | #свойство
Псевдокласс
:picture-in-picture в CSS применяется к видео, которое находится в режиме «картинка в картинке». Он позволяет стилизовать элемент , когда пользователь вынес его в плавающее окно поверх других приложений или вкладок.Как это используется:
• изменение оформления видео в PiP-режиме;
• визуальная индикация активного режима воспроизведения;
• адаптация интерфейса под плавающее окно.
Комбинируйте с соседними селекторами (
~, +) и :has(), чтобы менять другие элементы интерфейса, пока видео в PiP.📣 Code Ready | #свойство
🐙 Front End Web Development Resources – полезный репозиторий с материалами для обучения фронтенду. Тут есть карта развития (roadmap) разработчика, описание инструментов и редакторов кода, ссылки на блоги, каналы и подкасты.
Сайтодел | #репозиторий #github
Сайтодел | #репозиторий #github
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Search With Morphing Button – поле ввода с изменяющейся иконкой. Если убрать фокус, то иконка возвращается к изначальному состоянию.
Сайтодел | #сниппет #css
Сайтодел | #сниппет #css
🎨 Цветовая палитра макета "Chat UI Kit"
⚠️ Цвет копируется одним кликом!
Сайтодел | #палитра
HEX | RGB #EFE4C4 | rgb(239,228,196)
#C2EFE8 | rgb(194,239,232) #B4D5FC | rgb(180,213,252)⚠️ Цвет копируется одним кликом!
Сайтодел | #палитра
Прикладные нейросетевые технологии — новая магистратура факультета компьютерных наук НИУ ВШЭ, лидера рейтинга вузов по подготовке ИИ-специалистов от Альянса в сфере ИИ
Поступить можно даже без технического бэкграунда, а учиться — в удобном онлайн-формате без отрыва от работы. Программа подходит и для тех, кто хочет перейти в более прикладное и актуальное ИТ-направление.
Уже сейчас идет марафон подготовки к вступительным испытаниям, после которого вы сможете успешно поступить на программу и возможно получить скидку на обучение.
За пару занятий вы
⭐️ Составите сильное портфолио для поступления
⭐️ Изучите или вспомните математику для вступительного экзамена
⭐️ Получите готовый план поступления на одну из популярных магистратур ФКН НИУ ВШЭ
📆 Когда: 13 июля в 19:00, 18 июля в 14:00
💻 Формат: онлайн и бесплатно, для участия нужно лишь зарегистрироваться
🐭 Зарегистрироваться
Поступить можно даже без технического бэкграунда, а учиться — в удобном онлайн-формате без отрыва от работы. Программа подходит и для тех, кто хочет перейти в более прикладное и актуальное ИТ-направление.
Уже сейчас идет марафон подготовки к вступительным испытаниям, после которого вы сможете успешно поступить на программу и возможно получить скидку на обучение.
За пару занятий вы
⭐️ Составите сильное портфолио для поступления
⭐️ Изучите или вспомните математику для вступительного экзамена
⭐️ Получите готовый план поступления на одну из популярных магистратур ФКН НИУ ВШЭ
📆 Когда: 13 июля в 19:00, 18 июля в 14:00
💻 Формат: онлайн и бесплатно, для участия нужно лишь зарегистрироваться
🐭 Зарегистрироваться
😕 В России запретили вход на сайты через Google и Apple ID — закон вступил с силу, и владельцам сайтов теперь грозят штрафы до 7️⃣0️⃣0️⃣ 0️⃣0️⃣0️⃣₽ за иностранную авторизацию.
Пользователи могут входить на сайты с помощью одного из следующих методов:
💬 Российский номер мобильного телефона;
💬 Учетная запись «Госуслуг»;
💬 Единая биометрическая система;
💬 MAX и другие отечественные сервисы.
Для обычных юзеров ничего не меняется — штрафовать за аккаунты Google или Apple не будут.
Ah s..., here we go again 🌟
Пользователи могут входить на сайты с помощью одного из следующих методов:
💬 Российский номер мобильного телефона;
💬 Учетная запись «Госуслуг»;
💬 Единая биометрическая система;
💬 MAX и другие отечественные сервисы.
Для обычных юзеров ничего не меняется — штрафовать за аккаунты Google или Apple не будут.
Ah s..., here we go again 🌟
🔍Тестовое собеседование на Frontend-разработчика с ex. TeamLead в Сбер
9 июля(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Даниил Дмитриев, старший разработчик в R-Vision, ex. TeamLead в Сбер, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даниил будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Даниилу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
9 июля(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Даниил Дмитриев, старший разработчик в R-Vision, ex. TeamLead в Сбер, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даниил будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Даниилу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Search With Morphing Button – поле ввода с изменяющейся иконкой. Если убрать фокус, то иконка возвращается к изначальному состоянию.
Сайтодел | #сниппет #css
Сайтодел | #сниппет #css
Почему innerHTML += иногда ведёт себя не так, как ожидаешь?
На первый взгляд это выглядит как самый простой способ что-то добавить в DOM — вроде бы просто дописал кусок HTML и всё. Но внутри браузер работает не так, и из-за этого появляются странные эффекты, когда вроде ничего особенного не сделал, а поведение страницы меняется.
const list = document.querySelector('.list');
list.innerHTML += `
Новый элемент
`;
По ощущениям просто добавили один
Упрощённо это примерно вот так:
list.innerHTML = list.innerHTML + `
Новый элемент
`;
И уже отсюда становится понятно, почему начинают вылезать побочные эффекты.
Допустим, у тебя есть кнопка с обработчиком:
button.addEventListener('click', () => {
console.log('click');
});
container.innerHTML += `
Новый блок
`;
После такого обновления DOM-поддерево контейнера заменяется новым. Визуально ты видишь тот же интерфейс, но старые узлы уничтожаются и создаются заново. Поэтому все обработчики событий, навешанные через
Та же история с ссылками на элементы:
const item = document.querySelector('.item');
container.innerHTML += `
Новый блок
`;
console.log(item.isConnected); // false
И это особенно хорошо видно, когда начинаешь делать такие вещи в цикле:
for (let i = 0; i < 1000; i++) {
list.innerHTML += `${i}`;
}
Каждый раз браузер берёт текущее содержимое, сериализует его, парсит заново и пересоздаёт DOM внутри контейнера. На маленьких объёмах это почти незаметно, но когда элементов становится много — начинает сильно тормозить, потому что ты постоянно пересоздаёшь одно и то же дерево.
Поэтому в реальной практике так обычно не делают и используют более прямые DOM-методы.
const li = document.createElement('li');
li.textContent = 'Новый элемент';
list.append(li);
Тут уже всё проще: создаёшь узел и просто добавляешь его в DOM, без пересборки контейнера.
Есть ещё вариант со строками, но без пересоздания всего содержимого:
list.insertAdjacentHTML(
'beforeend',
'Новый элемент'
);
Он вставляет кусок точечно в DOM, не пересоздавая существующие узлы, поэтому поведение стабильнее.
Если нужно добавить много элементов сразу, обычно используют
const fragment = document.createDocumentFragment();
for (let i = 0; i < 1000; i++) {
const li = document.createElement('li');
li.textContent = i;
fragment.appendChild(li);
}
list.appendChild(fragment);
Тут всё собирается в памяти и вставляется одной операцией, без промежуточных пересборок и перерисовок.
🔥 Коротко, суть в том, что
📣 Code Ready | #практика
На первый взгляд это выглядит как самый простой способ что-то добавить в DOM — вроде бы просто дописал кусок HTML и всё. Но внутри браузер работает не так, и из-за этого появляются странные эффекты, когда вроде ничего особенного не сделал, а поведение страницы меняется.
const list = document.querySelector('.list');
list.innerHTML += `
Новый элемент
`;
По ощущениям просто добавили один
li, но на деле браузер не дописывает HTML внутрь DOM. Он делает иначе: берёт текущее содержимое, сериализует его в строку, добавляет новый кусок и затем заново парсит HTML, пересоздавая DOM-узлы внутри контейнера.Упрощённо это примерно вот так:
list.innerHTML = list.innerHTML + `
Новый элемент
`;
И уже отсюда становится понятно, почему начинают вылезать побочные эффекты.
Допустим, у тебя есть кнопка с обработчиком:
button.addEventListener('click', () => {
console.log('click');
});
container.innerHTML += `
Новый блок
`;
После такого обновления DOM-поддерево контейнера заменяется новым. Визуально ты видишь тот же интерфейс, но старые узлы уничтожаются и создаются заново. Поэтому все обработчики событий, навешанные через
addEventListener, на этих элементах теряются.Та же история с ссылками на элементы:
const item = document.querySelector('.item');
container.innerHTML += `
Новый блок
`;
console.log(item.isConnected); // false
item остаётся в переменной, но к текущему DOM он уже не привязан. Он существует как объект, но находится вне дерева документа, потому что был заменён старый поддерево контейнера.И это особенно хорошо видно, когда начинаешь делать такие вещи в цикле:
for (let i = 0; i < 1000; i++) {
list.innerHTML += `${i}`;
}
Каждый раз браузер берёт текущее содержимое, сериализует его, парсит заново и пересоздаёт DOM внутри контейнера. На маленьких объёмах это почти незаметно, но когда элементов становится много — начинает сильно тормозить, потому что ты постоянно пересоздаёшь одно и то же дерево.
Поэтому в реальной практике так обычно не делают и используют более прямые DOM-методы.
const li = document.createElement('li');
li.textContent = 'Новый элемент';
list.append(li);
Тут уже всё проще: создаёшь узел и просто добавляешь его в DOM, без пересборки контейнера.
Есть ещё вариант со строками, но без пересоздания всего содержимого:
list.insertAdjacentHTML(
'beforeend',
'Новый элемент'
);
Он вставляет кусок точечно в DOM, не пересоздавая существующие узлы, поэтому поведение стабильнее.
Если нужно добавить много элементов сразу, обычно используют
DocumentFragment, чтобы не дёргать DOM по сто раз:const fragment = document.createDocumentFragment();
for (let i = 0; i < 1000; i++) {
const li = document.createElement('li');
li.textContent = i;
fragment.appendChild(li);
}
list.appendChild(fragment);
Тут всё собирается в памяти и вставляется одной операцией, без промежуточных пересборок и перерисовок.
🔥 Коротко, суть в том, что
innerHTML += — это не добавить элемент, как это выглядит интуитивно. Это скорее пересобери мне весь контейнер заново через HTML-строку и вставь результат. Поэтому в живых интерфейсах он иногда ведёт себя неожиданно и может неприятно влиять и на логику, и на производительность.📣 Code Ready | #практика