#VScode
SonarLint для VS Code: Надежный помощник для чистого кода
🔍 Что это?
Бесплатное расширение для VS Code, которое ищет баги и уязвимости прямо во время написания. Работает с JavaScript, TypeScript, Python, Java, C++ и другими языками.
✨ Зачем нужно?
- Находит ошибки в реальном времени (например, утечки памяти, SQL-инъекции).
- Подсказывает лучшие практики (стиль, производительность, безопасность).
- Интегрируется с SonarQube/SonarCloud для синхронизации правил.
📎 Ссылка
🎙 Новости
📝 База вопросов
SonarLint для VS Code: Надежный помощник для чистого кода
Бесплатное расширение для VS Code, которое ищет баги и уязвимости прямо во время написания. Работает с JavaScript, TypeScript, Python, Java, C++ и другими языками.
- Находит ошибки в реальном времени (например, утечки памяти, SQL-инъекции).
- Подсказывает лучшие практики (стиль, производительность, безопасность).
- Интегрируется с SonarQube/SonarCloud для синхронизации правил.
Please open Telegram to view this post
VIEW IN TELEGRAM
Visualstudio
SonarQube for IDE - Visual Studio Marketplace
Extension for Visual Studio Code - Advanced linter to detect & fix coding issues locally in JS/TS, Python, Java, C#, C/C++, Go, PHP. Use with SonarQube (Server, Cloud) for optimal team performance.
❤1
#Frontend
🔖 Мета-фреймворки JavaScript: что это и зачем нужны
Представьте: вы хотите создать веб-приложение, но вместо сборки мозаики из десятков инструментов просто берете готовое решение и начинаете писать код. Именно это предлагают мета-фреймворки.
▪️ Что такое мета-фреймворки
Это "фреймворки поверх фреймворков". Если React/Vue дают кирпичики для UI, то мета-фреймворки строят из них готовый дом со всеми коммуникациями: маршрутизацией, SSR, оптимизацией, API и прочим.
▪️ Почему они появились
Раньше фронтенд-разработчики тратили больше времени на настройку инструментов, чем на само приложение. Нужна маршрутизация? Добавляй React Router. SSR? Настраивай отдельно. Состояние? Еще один инструмент.
Мета-фреймворки решили эту "усталость от инструментов", предложив готовые решения с разумными настройками по умолчанию.
▪️ Основные игроки
• Next.js - для React, пионер гибридных приложений
• Nuxt.js - аналог для Vue
• Remix - фокус на web-first подходе
• SvelteKit - для любителей компилируемого Svelte
• RedwoodJS - полностековое решение с GraphQL
▪️ Главные преимущества
- Быстрый старт проекта за минуты
- Единая структура кода в команде
- Автоматическая оптимизация производительности
- Меньше времени на конфигурацию, больше на разработку
▪️ Потенциальные проблемы
- Ограниченная гибкость из-за жестких соглашений
- Сложность обновлений зависимостей
- Может быть избыточно для простых проектов
- Высокий порог входа для новичков
🎙 Новости
📝 База вопросов
Представьте: вы хотите создать веб-приложение, но вместо сборки мозаики из десятков инструментов просто берете готовое решение и начинаете писать код. Именно это предлагают мета-фреймворки.
Это "фреймворки поверх фреймворков". Если React/Vue дают кирпичики для UI, то мета-фреймворки строят из них готовый дом со всеми коммуникациями: маршрутизацией, SSR, оптимизацией, API и прочим.
Раньше фронтенд-разработчики тратили больше времени на настройку инструментов, чем на само приложение. Нужна маршрутизация? Добавляй React Router. SSR? Настраивай отдельно. Состояние? Еще один инструмент.
Мета-фреймворки решили эту "усталость от инструментов", предложив готовые решения с разумными настройками по умолчанию.
• Next.js - для React, пионер гибридных приложений
• Nuxt.js - аналог для Vue
• Remix - фокус на web-first подходе
• SvelteKit - для любителей компилируемого Svelte
• RedwoodJS - полностековое решение с GraphQL
- Быстрый старт проекта за минуты
- Единая структура кода в команде
- Автоматическая оптимизация производительности
- Меньше времени на конфигурацию, больше на разработку
- Ограниченная гибкость из-за жестких соглашений
- Сложность обновлений зависимостей
- Может быть избыточно для простых проектов
- Высокий порог входа для новичков
Мета-фреймворки - это эволюция веб-разработки в сторону большей продуктивности и меньшего количества головной боли. Они позволяют сосредоточиться на создании ценности для пользователей, а не на борьбе с инструментами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
#Backend
💌 BFF - Backend For Frontend: персональный бэкенд для каждого клиента
Представьте: у вас мобильное приложение, веб-версия и умные устройства. Каждый клиент нуждается в разных данных, но все обращаются к одному API. Получается каша из избыточных запросов и костылей. BFF решает эту проблему элегантно.
©️ Что такое BFF
Backend For Frontend - это отдельный бэкенд для каждого типа клиента. Мобилке нужны сжатые данные? Есть мобильный BFF. Веб-приложению требуется детальная информация? Отдельный веб-BFF. Каждый получает ровно то, что нужно.
©️ Как работает
• Клиент отправляет запрос в свой BFF
• BFF собирает данные из микросервисов
• Преобразует их в нужный формат
• Возвращает оптимизированный ответ
©️ Традиционный подход vs BFF
Раньше: один API-шлюз для всех клиентов. Результат - over-fetching (слишком много данных) или under-fetching (слишком мало, нужны дополнительные запросы).
С BFF: каждый клиент получает персонализированный API, заточенный под его потребности.
©️ Главные преимущества
• Оптимизация под клиента - мобилка получает легкие данные, десктоп - полные
• Лучшая производительность - меньше лишних запросов и данных
• Независимая разработка - команды не мешают друг другу
• Упрощение клиентской логики - вся оркестрация на стороне BFF
• Безопасность - контроль доступа на уровне BFF
©️ Когда использовать
- Мультиплатформенные приложения (веб + мобайл + IoT)
- Микросервисная архитектура с множеством сервисов
- Миграция с legacy-систем
- Разные требования к производительности у клиентов
©️ Подводные камни
- Больше сервисов = больше сложности в поддержке
- Риск дублирования логики между BFF
- Потенциальные узкие места производительности
- Проблемы с консистентностью данных
©️ Успешные примеры
Netflix - разные BFF для мобильных и десктопных клиентов. Мобилка получает упрощенные данные, десктоп - детальную информацию.
Spotify - оптимизированные данные для телефонов, планшетов и умных колонок обеспечивают быстрое воспроизведение.
Лучшие практики
• Минимум бизнес-логики в BFF - только оркестрация
• Активное кеширование для мобильных клиентов
• Централизованная обработка ошибок
• Строгая безопасность на уровне BFF
🎙 Новости
📝 База вопросов
Представьте: у вас мобильное приложение, веб-версия и умные устройства. Каждый клиент нуждается в разных данных, но все обращаются к одному API. Получается каша из избыточных запросов и костылей. BFF решает эту проблему элегантно.
Backend For Frontend - это отдельный бэкенд для каждого типа клиента. Мобилке нужны сжатые данные? Есть мобильный BFF. Веб-приложению требуется детальная информация? Отдельный веб-BFF. Каждый получает ровно то, что нужно.
• Клиент отправляет запрос в свой BFF
• BFF собирает данные из микросервисов
• Преобразует их в нужный формат
• Возвращает оптимизированный ответ
Раньше: один API-шлюз для всех клиентов. Результат - over-fetching (слишком много данных) или under-fetching (слишком мало, нужны дополнительные запросы).
С BFF: каждый клиент получает персонализированный API, заточенный под его потребности.
• Оптимизация под клиента - мобилка получает легкие данные, десктоп - полные
• Лучшая производительность - меньше лишних запросов и данных
• Независимая разработка - команды не мешают друг другу
• Упрощение клиентской логики - вся оркестрация на стороне BFF
• Безопасность - контроль доступа на уровне BFF
- Мультиплатформенные приложения (веб + мобайл + IoT)
- Микросервисная архитектура с множеством сервисов
- Миграция с legacy-систем
- Разные требования к производительности у клиентов
- Больше сервисов = больше сложности в поддержке
- Риск дублирования логики между BFF
- Потенциальные узкие места производительности
- Проблемы с консистентностью данных
Netflix - разные BFF для мобильных и десктопных клиентов. Мобилка получает упрощенные данные, десктоп - детальную информацию.
Spotify - оптимизированные данные для телефонов, планшетов и умных колонок обеспечивают быстрое воспроизведение.
Лучшие практики
• Минимум бизнес-логики в BFF - только оркестрация
• Активное кеширование для мобильных клиентов
• Централизованная обработка ошибок
• Строгая безопасность на уровне BFF
BFF - это не просто модная архитектура, а решение реальной проблемы. Когда у вас несколько типов клиентов с разными потребностями, BFF обеспечивает каждому персональный сервис вместо универсального "одного размера для всех".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
#Backend
💬 Как сэкономить 100 часов в месяц ?
Устали бороться с дублями в данных? Тратите часы на группировку по датам? Мучаетесь с обновлением таблиц в ETL?
Опытный дата-инженер за 8 лет работы собрал 6 малоизвестных техник SQL, которые решают эти проблемы одним запросом.
1️⃣ Находить и удалять дубли
2️⃣ Получать свежие данные
3️⃣ Группировать по периодам
4️⃣ Создавать кастомные категории
5️⃣ Сравнивать данные между датами
6️⃣ Обновлять таблицы без боли
📎 Статья
🎙 Новости
📝 База вопросов
Устали бороться с дублями в данных? Тратите часы на группировку по датам? Мучаетесь с обновлением таблиц в ETL?
Опытный дата-инженер за 8 лет работы собрал 6 малоизвестных техник SQL, которые решают эти проблемы одним запросом.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Frontend
🔖 Pull-to-refresh в Compose Material 3: что изменилось и как использовать
Google кардинально обновил API для реализации pull-to-refresh в Compose Material 3 версии 1.2.0+, и большинство туториалов в интернете теперь устарели.
▪ Что такое pull-to-refresh?
Это популярный жест в мобильных приложениях — пользователь тянет экран вниз, чтобы обновить данные. Вы наверняка видели это в Instagram, Twitter или Facebook.
▪ Новый подход
Вместо старого
▪ Ключевые параметры:
▪ Что нужно сделать в коде:
1. Добавить свойство
2. Создать функцию обновления данных во ViewModel
3. Обернуть LazyColumn в PullToRefreshBox
▪ Дополнительные возможности:
Если нужен больший контроль (например, включение/выключение жеста), можно использовать модификатор
❗️ Важно
🎙 Новости
📝 База вопросов
Google кардинально обновил API для реализации pull-to-refresh в Compose Material 3 версии 1.2.0+, и большинство туториалов в интернете теперь устарели.
Это популярный жест в мобильных приложениях — пользователь тянет экран вниз, чтобы обновить данные. Вы наверняка видели это в Instagram, Twitter или Facebook.
Вместо старого
PullToRefreshContainer
теперь используется PullToRefreshBox
— готовый контейнер, который оборачивает ваш прокручиваемый контент (например, LazyColumn). • isRefreshing
— показывает состояние загрузки • onRefresh
— функция, которая вызывается при жесте пользователя • content
— ваш прокручиваемый контент1. Добавить свойство
isRefreshing
в состояние экрана2. Создать функцию обновления данных во ViewModel
3. Обернуть LazyColumn в PullToRefreshBox
Если нужен больший контроль (например, включение/выключение жеста), можно использовать модификатор
.pullToRefresh
напрямую. Также можно кастомизировать анимацию индикатора через PullToRefreshState
.Старые API помечены как deprecated в версии 1.3.0, поэтому обновление критически важно для поддержания актуальности приложения.
Новый API проще в использовании и предоставляет больше возможностей для кастомизации, делая реализацию pull-to-refresh более интуитивной для разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Frontend
📎 Как использовать дизайн-токены в React — опыт команды Bit
Дизайн-токены — это стандартизированные значения (цвета, шрифты, отступы), которые помогают создавать единый интерфейс. Они синхронизируют работу дизайнеров и разработчиков, обеспечивая визуальную согласованность.
Интеграция в Bit и React
В Bit дизайн-токены структурированы по типам (цвета, состояния и др.) и работают как часть системы компонентов. Они самодокументируются и легко адаптируются под разные платформы, что ускоряет разработку.
Кросс-платформенные преимущества
Токены позволяют создавать универсальные решения для всех платформ. Разработчики быстро вносят изменения, а дизайнеры контролируют их корректное применение.
Управление в Bit
Токены отделены от тем и передаются компонентам через провайдер. Это позволяет глобально обновлять стили, меняя всего одно значение.
Дизайн-токены в Bit — это мощный инструмент для масштабируемых и согласованных дизайн-систем. Больше можно прочитать в статье⬇️
📎 Статья
🎙 Новости
📝 База вопросов
Дизайн-токены — это стандартизированные значения (цвета, шрифты, отступы), которые помогают создавать единый интерфейс. Они синхронизируют работу дизайнеров и разработчиков, обеспечивая визуальную согласованность.
Интеграция в Bit и React
В Bit дизайн-токены структурированы по типам (цвета, состояния и др.) и работают как часть системы компонентов. Они самодокументируются и легко адаптируются под разные платформы, что ускоряет разработку.
Кросс-платформенные преимущества
Токены позволяют создавать универсальные решения для всех платформ. Разработчики быстро вносят изменения, а дизайнеры контролируют их корректное применение.
Управление в Bit
Токены отделены от тем и передаются компонентам через провайдер. Это позволяет глобально обновлять стили, меняя всего одно значение.
Дизайн-токены в Bit — это мощный инструмент для масштабируемых и согласованных дизайн-систем. Больше можно прочитать в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
#BigData
📝 Как обрабатывать большие данные в Pandas, если они не помещаются в память
Представьте: у вас есть файл с 260 миллионами транзакций, но на компьютере всего 8 ГБ оперативной памяти. Если попробовать загрузить всё сразу — Python просто «упадёт». Что делать?
🔹 Решение: обрабатываем данные по частям
Вместо того чтобы грузить весь файл разом, будем читать его порциями, например по 1 млн строк за раз. В Pandas это делается так:
🔹 Какие задачи можно решать?
1. Сколько всего транзакций? → Считаем строки в каждом куске и суммируем.
2. Сколько потратили за каждый год? → В каждом куске группируем по году и суммируем, потом складываем результаты.
3. Средние траты на развлечения по месяцам? → Фильтруем данные за 2020 год, оставляем только категорию «Развлечения», группируем по месяцам и считаем среднее.
🔹 Почему это работает?
- Не нагружает оперативную память — обрабатывается только небольшая часть данных за раз.
- Можно делать сложные расчёты — главное аккуратно собирать промежуточные результаты.
🔹 Как ускорить?
- Использовать `dtypes` — указать типы данных для экономии памяти.
- Фильтровать данные сразу при чтении — если нужен только 2020 год, не загружайте остальное.
- Параллельная обработка — если компьютер многопроцессорный.
🎙 Новости
📝 База вопросов
Представьте: у вас есть файл с 260 миллионами транзакций, но на компьютере всего 8 ГБ оперативной памяти. Если попробовать загрузить всё сразу — Python просто «упадёт». Что делать?
Вместо того чтобы грузить весь файл разом, будем читать его порциями, например по 1 млн строк за раз. В Pandas это делается так:
import pandas as pd
# Загружаем данные по кускам
chunk_size = 1_000_000 # По 1 млн строк за раз
total_transactions = 0
for chunk in pd.read_csv('transactions.csv', chunksize=chunk_size):
# Обрабатываем каждую порцию данных
total_transactions += len(chunk)
print(f"Всего транзакций: {total_transactions:,}")
1. Сколько всего транзакций? → Считаем строки в каждом куске и суммируем.
2. Сколько потратили за каждый год? → В каждом куске группируем по году и суммируем, потом складываем результаты.
3. Средние траты на развлечения по месяцам? → Фильтруем данные за 2020 год, оставляем только категорию «Развлечения», группируем по месяцам и считаем среднее.
- Не нагружает оперативную память — обрабатывается только небольшая часть данных за раз.
- Можно делать сложные расчёты — главное аккуратно собирать промежуточные результаты.
- Использовать `dtypes` — указать типы данных для экономии памяти.
- Фильтровать данные сразу при чтении — если нужен только 2020 год, не загружайте остальное.
- Параллельная обработка — если компьютер многопроцессорный.
Please open Telegram to view this post
VIEW IN TELEGRAM
#DevOps
🔖 Почему ваш Docker-образ не готов к продакшену
Многие разработчики пишешь Dockerfile по принципу "лишь бы работало". Образ собирается, контейнер запускается, приложение отвечает — всё отлично! Но проходит время, и начинаются проблемы: в CI/CD сборка падает, на другом сервере приложение ведёт себя странно, а размер образа превышает несколько гигабайт.
Основные проблемы, которые убивают стабильность:
▪️ Нестабильные зависимости — когда вы указываете
▪️ Раздутый размер образа — использование "толстых" базовых образов типа
▪️ Неэффективное кеширование — неправильная структура слоёв убивает эффективность кеширования Docker. Если сначала копировать весь код, а потом устанавливать зависимости, то при любом изменении в коде придётся заново устанавливать все библиотеки. Правильный порядок: сначала файлы зависимостей, их установка, и только потом копирование кода приложения.
▪️ Проблемы безопасности — запуск приложения от пользователя root создаёт ненужные риски. Если злоумышленник получит доступ к контейнеру, он автоматически получит максимальные привилегии. Создание отдельного пользователя — простая мера, которая значительно снижает потенциальный ущерб.
▪️ Мусор в образе — отсутствие файла
Готовый к продакшену Docker-образ должен быть предсказуемым, компактным и безопасным. Он собирается одинаково в любой среде, не зависит от внешних изменений и минимизирует поверхность атак. Потратив время на правильную настройку сборки один раз, вы избежите множества проблем в будущем и сэкономите время всей команде.
🎙 Новости
📝 База вопросов
Многие разработчики пишешь Dockerfile по принципу "лишь бы работало". Образ собирается, контейнер запускается, приложение отвечает — всё отлично! Но проходит время, и начинаются проблемы: в CI/CD сборка падает, на другом сервере приложение ведёт себя странно, а размер образа превышает несколько гигабайт.
Основные проблемы, которые убивают стабильность:
FROM python:latest
или FROM node:latest
, вы полагаетесь на удачу. Сегодня latest указывает на одну версию, завтра — на другую. В результате код, который работал вчера, сегодня может не собираться из-за изменений в базовом образе или несовместимости библиотек.ubuntu:latest
или python:3.12
без суффикса приводит к образам весом в гигабайты. Это замедляет развёртывание, увеличивает потребление дискового пространства и создаёт больше точек уязвимости. Альтернативы вроде python:3.12-slim
содержат только необходимые компоненты и весят в разы меньше..dockerignore
приводит к попаданию в образ ненужных файлов: .git директории, кеша IDE, логов, переменных окружения. Это увеличивает размер образа и может случайно включить конфиденциальную информацию.Готовый к продакшену Docker-образ должен быть предсказуемым, компактным и безопасным. Он собирается одинаково в любой среде, не зависит от внешних изменений и минимизирует поверхность атак. Потратив время на правильную настройку сборки один раз, вы избежите множества проблем в будущем и сэкономите время всей команде.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
#Tech
🔖 Эволюция за $1000: как менялись игровые ПК за 30 лет
Помните то чувство, когда копили на "компьютер мечты", а накопив — обнаруживали, что за те же деньги можно взять что-то в разы мощнее? В мире железа нет идеального момента для покупки.
Но что, если взглянуть на эту гонку под другим углом? Представьте: у вас есть $1000 в каждой эпохе. Что можно было собрать в 1995-м, когда DOS правил миром? Какой монстр получился бы в 2005-м с первыми двухъядерными процессорами? И насколько далеко мы ушли в 2025-м с ИИ-апскейлингом?
Отправляемся в путешествие от мегагерцовых Pentium с 8 МБ оперативки до современных чудовищ с трассировкой лучей. Узнаем, как одна и та же сумма превращалась в игровую мощь в разные десятилетия.
📎 Статья
🎙 Новости
📝 База вопросов
Помните то чувство, когда копили на "компьютер мечты", а накопив — обнаруживали, что за те же деньги можно взять что-то в разы мощнее? В мире железа нет идеального момента для покупки.
Но что, если взглянуть на эту гонку под другим углом? Представьте: у вас есть $1000 в каждой эпохе. Что можно было собрать в 1995-м, когда DOS правил миром? Какой монстр получился бы в 2005-м с первыми двухъядерными процессорами? И насколько далеко мы ушли в 2025-м с ИИ-апскейлингом?
Отправляемся в путешествие от мегагерцовых Pentium с 8 МБ оперативки до современных чудовищ с трассировкой лучей. Узнаем, как одна и та же сумма превращалась в игровую мощь в разные десятилетия.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Игровые ПК разных эпох: покупаем за 1000 долларов в 1995, 2005, 2015 и в 2025
Я еще не забыл, как в детстве мечтал о крутом компьютере. Листал каталоги, вырезал картинки, клеил на стену над кроватью и представлял, как однажды заработаю на монстра, который потянет...
👍1
#AI
✨ 7 лучших нейросетей для создания видео в 2025
Устали от бесконечных туториалов по видеомонтажу? Теперь можно просто описать идею — и получить готовый ролик
📎 ТОП-7 AI-сервисов:
1. BotHub (Veo 2)
• Модель от Google
• Понимает русский язык
• 5-8 секунд видео
• 600₽/месяц за премиум
2. Sora в Bing (бесплатно!)
• 10 роликов на старт
• +5 баллов за каждый поиск в Bing
• Только вертикальный формат
3. Hailuo
• Китайская разработка MiniMax
• 1100 кредитов при регистрации
• $9.99/месяц без вотермарки
4. Kling
• 366 кредитов в месяц бесплатно
• Негативные промпты
• Генерация до суток (минус!)
5. Pika
• 80 кредитов ежемесячно
• 5-10 секунд анимации
• $28/месяц за Pro
6. Genmo
• 200 единиц энергии в месяц
• Модели Mochi и Replay
• $10/месяц за Lite
7. Runway
• Бесплатно только по фото
• Gen-4 и Gen-3 модели
• $15/месяц за полный доступ
💭 Вывод
А вы уже пробовали генерировать видео с ИИ? Поделитесь опытом!⬇️
🎙 Новости
📝 База вопросов
Устали от бесконечных туториалов по видеомонтажу? Теперь можно просто описать идею — и получить готовый ролик
1. BotHub (Veo 2)
• Модель от Google
• Понимает русский язык
• 5-8 секунд видео
• 600₽/месяц за премиум
2. Sora в Bing (бесплатно!)
• 10 роликов на старт
• +5 баллов за каждый поиск в Bing
• Только вертикальный формат
3. Hailuo
• Китайская разработка MiniMax
• 1100 кредитов при регистрации
• $9.99/месяц без вотермарки
4. Kling
• 366 кредитов в месяц бесплатно
• Негативные промпты
• Генерация до суток (минус!)
5. Pika
• 80 кредитов ежемесячно
• 5-10 секунд анимации
• $28/месяц за Pro
6. Genmo
• 200 единиц энергии в месяц
• Модели Mochi и Replay
• $10/месяц за Lite
7. Runway
• Бесплатно только по фото
• Gen-4 и Gen-3 модели
• $15/месяц за полный доступ
Технологии впечатляют, но пока что видео получаются без души. Настоящее творчество всё ещё за человеком — мы создаём идеи, контекст и эмоции.
А вы уже пробовали генерировать видео с ИИ? Поделитесь опытом!
Please open Telegram to view this post
VIEW IN TELEGRAM
#Linux
Почему SSH-ключи безопаснее паролей в Linux?
Пароли уязвимы к взлому: их можно подобрать, украсть или перехватить. SSH-ключи решают эти проблемы за счёт криптографии.
Почему ключи лучше?
🔸 Стойкость – ключи (2048+ бит) невозможно подобрать, в отличие от паролей.
🔸 Без передачи секрета – приватный ключ остаётся у вас, сервер проверяет только подпись.
🔸 Защита от утечек – даже если сервер взломают, ключ не украдут.
🔸 Удобство – не нужно запоминать сложные пароли, доступ автоматизируется.
✳️ Как перейти на SSH-ключи?
1. Генерация ключа:
2. Копирование на сервер:
3. Отключение паролей в
✔️ Статистика
• 81% взломов – из-за слабых паролей.
• Атаки на SSH начинаются уже через 10 минут после поднятия сервера.
💡 Совет
Храните приватные ключи в менеджерах паролей (например, Selectel Secrets) и защищайте их парольной фразой.
Откажитесь от паролей – используйте ключи!
🎙 Новости
📝 База вопросов
Почему SSH-ключи безопаснее паролей в Linux?
Пароли уязвимы к взлому: их можно подобрать, украсть или перехватить. SSH-ключи решают эти проблемы за счёт криптографии.
Почему ключи лучше?
1. Генерация ключа:
ssh-keygen -t ed25519
2. Копирование на сервер:
ssh-copy-id user@server
3. Отключение паролей в
/etc/ssh/sshd_config
: PasswordAuthentication no
• 81% взломов – из-за слабых паролей.
• Атаки на SSH начинаются уже через 10 минут после поднятия сервера.
Храните приватные ключи в менеджерах паролей (например, Selectel Secrets) и защищайте их парольной фразой.
Откажитесь от паролей – используйте ключи!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что такое ИИ?
Искусственный интеллект — область компьютерной науки для создания интеллектуальных агентов, способных обучаться, рассуждать и действовать автономно. Чаще всего разрабатывается на Python.
Ключевые понятия:
Применение ИИ:
Типы МО:
Популярные алгоритмы:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Жанр RPG давно перестал ограничиваться эльфами, драконами и спасением мира. Некоторые разработчики создают игры, которые ломают все шаблоны — от сюрреалистичных историй до механик, которые заставляют пересмотреть само понятие ролевой игры. Эти проекты могут показаться безумными, но именно они толкают индустрию вперед и открывают новые горизонты для интерактивного повествования.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Forwarded from YeaHub
Мы рады представить нового эксперта в нашей команде! К YeaHub присоединился опытный Android-разработчик и ментор, который вместе с учениками будет разрабатывать Open Source-версию мобильного приложения YeaHub. Код открыт в нашем репозитории.
В качестве Guru (эксперта) он:
- Будет улучшать контент по Android-разработке
- Добавлять новые вопросы и коллекции
- Публиковать авторские посты и гайды на канале
И это только начало! В планах привлечь Guru (Экспертов) по каждому направлению!
Спасибо, что остаетесь с нами — мы продолжаем прокачивать продукт 💪
Пробуйте, тестируйте, делитесь обратной связью!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
#IT
📎 Мечта каждого разработчика — создать продукт, который будет приносить стабильный доход. Но почему большинство побочных проектов так и остаются в папке "pet projects" и никогда не монетизируются?
Опытный инди-разработчик с 25-летним стажем делится болезненными, но честными инсайтами о том, что на самом деле нужно для успешной монетизации. Спойлер: дело не в коде.
В статье вы узнаете:
Особенно ценно: автор рассказывает о своих провалах и объясняет, когда нужно "убить" проект без сожалений.
Если вы разработчик, который хоть раз думал о создании собственного продукта — эта статья обязательна к прочтению.
📎 Статья
🎙 Новости
📝 База вопросов
Опытный инди-разработчик с 25-летним стажем делится болезненными, но честными инсайтами о том, что на самом деле нужно для успешной монетизации. Спойлер: дело не в коде.
В статье вы узнаете:
- Почему отличная идея и качественный код — это еще не бизнес
- Как правильно исследовать рынок перед написанием первой строки кода
- Платформы vs SaaS: что выбрать инди-разработчику
- Конкретные маркетинговые каналы, которые реально работают
- Секрет выбора прибыльной ниши
Особенно ценно: автор рассказывает о своих провалах и объясняет, когда нужно "убить" проект без сожалений.
Если вы разработчик, который хоть раз думал о создании собственного продукта — эта статья обязательна к прочтению.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Tech
🌤 Революция в прогнозах погоды: как обычные пользователи делают их точнее
Каждый день миллионы людей проверяют прогноз погоды, планируя свой день. Но почему приложение иногда так сильно ошибается? Яндекс представил технологию OmniCast, которая кардинально меняет подход к прогнозированию.
➕ Проблема "городского острова тепла"
Представьте: вы живете в центре Екатеринбурга, а ближайшая метеостанция — в аэропорту Кольцово, в 20 км от города. Утром в мороз разница температур может достигать 13 градусов!
Традиционные метеостанции:
- Их мало — несколько на крупный город
- Редко обновляются — раз в 3 часа в городах, раз в полчаса в аэропортах
➕ Как работает OmniCast
🔸 Краудсорсинг метеоданных
Любой пользователь может подключить свою персональную метеостанцию через API. Результат:
- Данные о температуре поступают в 36 раз чаще
- Разрешение прогноза улучшилось в 16 раз — до 500×500 метров
- В некоторых районах точность до квартала
🔸 Математическая магия
Фильтр Калмана находит оптимальный баланс между прогнозом ML-модели и реальными измерениями, учитывая:
- Доверие к каждому источнику данных
- Расстояние от метеостанции до точки прогноза
- Рельеф местности и высоту
Обработка 100 000+ измерений каждые 5 минут через распределенные вычисления MapReduce — Земля делится на участки, каждый обрабатывается параллельно.
➕ Что это дает пользователям
Точные прогнозы "здесь и сейчас" — больше никаких ситуаций, когда приложение показывает +5°C, а на улице -8°C.
Учет локальных особенностей — система понимает, что температура в разных частях города отличается из-за застройки, парков и водоемов.
📎 Статья
🎙 Новости
📝 База вопросов
🌤 Революция в прогнозах погоды: как обычные пользователи делают их точнее
Каждый день миллионы людей проверяют прогноз погоды, планируя свой день. Но почему приложение иногда так сильно ошибается? Яндекс представил технологию OmniCast, которая кардинально меняет подход к прогнозированию.
Представьте: вы живете в центре Екатеринбурга, а ближайшая метеостанция — в аэропорту Кольцово, в 20 км от города. Утром в мороз разница температур может достигать 13 градусов!
Традиционные метеостанции:
- Их мало — несколько на крупный город
- Редко обновляются — раз в 3 часа в городах, раз в полчаса в аэропортах
Любой пользователь может подключить свою персональную метеостанцию через API. Результат:
- Данные о температуре поступают в 36 раз чаще
- Разрешение прогноза улучшилось в 16 раз — до 500×500 метров
- В некоторых районах точность до квартала
Фильтр Калмана находит оптимальный баланс между прогнозом ML-модели и реальными измерениями, учитывая:
- Доверие к каждому источнику данных
- Расстояние от метеостанции до точки прогноза
- Рельеф местности и высоту
Обработка 100 000+ измерений каждые 5 минут через распределенные вычисления MapReduce — Земля делится на участки, каждый обрабатывается параллельно.
Точные прогнозы "здесь и сейчас" — больше никаких ситуаций, когда приложение показывает +5°C, а на улице -8°C.
Учет локальных особенностей — система понимает, что температура в разных частях города отличается из-за застройки, парков и водоемов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Tech
Нашла классную схему архитектуры URL-сокращателя — не тот примитивный "сделал за вечер", а реальная production-система.
Что в архитектуре:
Слой сервисов:
- Auth Service (JWT/PASETO)
- Shortener Service (генерация URL)
- Redirector Service (обработка переходов)
- Analytics Service (метрики кликов)
Хранение данных:
- PostgreSQL — основная база с индексами
- Redis — L1 кеш для быстрых ответов (1ms)
- ElasticSearch — поиск по URL
- ClickHouse — аналитика больших данных
Фоновые процессы:
- Search Worker — индексация URL
- Expiry Worker — очистка устаревших ссылок
- Notification Service — уведомления
- Event Queue — асинхронная обработка
Надежность:
- Load Balancer для распределения нагрузки
- Rate limiting на API Gateway
- Event-driven архитектура
- Graceful degradation при сбоях
Производительность:
99.9% uptime, кеш отвечает за 1ms, поддерживает миллионы запросов в секунду.
Вот что значит думать о production с самого начала — микросервисы, отказоустойчивость, горизонтальное масштабирование. Такую схему не стыдно показать на собеседовании.
📎 PDF
🎙 Новости
📝 База вопросов
Нашла классную схему архитектуры URL-сокращателя — не тот примитивный "сделал за вечер", а реальная production-система.
Что в архитектуре:
Слой сервисов:
- Auth Service (JWT/PASETO)
- Shortener Service (генерация URL)
- Redirector Service (обработка переходов)
- Analytics Service (метрики кликов)
Хранение данных:
- PostgreSQL — основная база с индексами
- Redis — L1 кеш для быстрых ответов (1ms)
- ElasticSearch — поиск по URL
- ClickHouse — аналитика больших данных
Фоновые процессы:
- Search Worker — индексация URL
- Expiry Worker — очистка устаревших ссылок
- Notification Service — уведомления
- Event Queue — асинхронная обработка
Надежность:
- Load Balancer для распределения нагрузки
- Rate limiting на API Gateway
- Event-driven архитектура
- Graceful degradation при сбоях
Производительность:
99.9% uptime, кеш отвечает за 1ms, поддерживает миллионы запросов в секунду.
Вот что значит думать о production с самого начала — микросервисы, отказоустойчивость, горизонтальное масштабирование. Такую схему не стыдно показать на собеседовании.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Поиск работы — это бесконечный цикл копипаста одинаковой информации и написания сопроводительных писем, которые должны звучать как мольба, но не слишком очевидная.
Один разработчик решил автоматизировать весь процесс при помощи Python и создал систему, которая позволила ему разослать 250 откликов за 20 минут.
Почему процесс отклика на вакансии сломан
Каждый отклик представляет собой одинаковый паттерн:
- Поиск подходящих вакансий
- Проверка соответствия навыков
- Изучение информации о компании (большинство пропускает)
- Отправка резюме + сопроводительного письма
- Бесконечное ожидание ответа
Это как скучная видеоигра, где ты повторяешь один квест в надежде на разные результаты.
Техническое решение
Архитектура системы:
- Фронтенд: Next.js с Shadcn UI
- Бэкенд: Express.js + TypeScript
- База данных: MongoDB
- Очереди: Redis для фоновых задач
- ИИ: Модульная интеграция с LLM
Конвейер обработки:
1. Сбор данных — ручное копирование HTML с досок вакансий
2. Парсинг — извлечение структурированных данных через Cheerio
3. Получение деталей — автоматические запросы к страницам вакансий (с паузами 2-3 сек)
4. ИИ-обработка — превращение HTML в чистые данные через промпты
5. Генерация писем — персонализированные сопроводительные письма
6. Отправка — массовая рассылка через SMTP
Ключевые особенности
Система кампаний: каждая кампания изолирована, работает с конкретной доской вакансий
Безопасность: выполнение скриптов в изолированной среде vm2
Персонализация: ИИ сопоставляет навыки из резюме с требованиями вакансии
Полный код и демо доступны на jaas.fun
Please open Telegram to view this post
VIEW IN TELEGRAM
#Tech
📎 Когда видео весит как слон, а отправить нужно вчера
Знакомая ситуация? Сняли крутое видео, а WhatsApp отказывается его отправлять. Email ругается на размер. Instagram сжимает до неузнаваемости.
А что если бы существовал способ уменьшить размер, но оставить качество?
SqueezeVid работает прямо в браузере — никаких скачиваний, регистраций и ожиданий. Просто перетащили файл, выбрали настройки, готово.
И да, ваше видео остается только у вас. Не на чьих-то серверах, не в облаке незнакомой компании. На вашем устройстве.
📎 Ссылка
🎙 Новости
📝 База вопросов
Знакомая ситуация? Сняли крутое видео, а WhatsApp отказывается его отправлять. Email ругается на размер. Instagram сжимает до неузнаваемости.
А что если бы существовал способ уменьшить размер, но оставить качество?
SqueezeVid работает прямо в браузере — никаких скачиваний, регистраций и ожиданий. Просто перетащили файл, выбрали настройки, готово.
И да, ваше видео остается только у вас. Не на чьих-то серверах, не в облаке незнакомой компании. На вашем устройстве.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#AI
Как галлюцинируют нейросети: знакомьтесь с DeepDream
Оказывается, нейросети могут галлюцинировать почти как человеческий мозг! И это не просто красивая метафора.
DeepDream — это алгоритм, который заставляет нейросеть "видеть" то, чего на самом деле нет. Принцип работы поразительно похож на то, как галлюциногены воздействуют на человеческий мозг: они перегружают рецепторы, а DeepDream чрезмерно стимулирует определенные слои нейросети.
Как это работает?
Результат? Сеть начинает "видеть" собак в медузах, лица в облаках, машины в абстрактных узорах. Получаются психоделические, сноподобные изображения.
Практическая польза:
✅ Визуализация того, что "понимает" нейросеть
✅ Отладка моделей и поиск ошибок
✅ Объяснение принятия решений ИИ
✅ Выявление проблем в данных обучения
Интересный факт: С помощью DeepDream обнаружили, что некоторые сети могут распознавать штанги только когда на изображении есть тяжелоатлет — из-за корреляции в данных обучения!
Это отличный пример того, как методы из одной области (изучение галлюцинаций) помогают понять и улучшить технологии в другой области (машинное обучение).
📎 Ссылка
🎙 Новости
📝 База вопросов
Как галлюцинируют нейросети: знакомьтесь с DeepDream
Оказывается, нейросети могут галлюцинировать почти как человеческий мозг! И это не просто красивая метафора.
DeepDream — это алгоритм, который заставляет нейросеть "видеть" то, чего на самом деле нет. Принцип работы поразительно похож на то, как галлюциногены воздействуют на человеческий мозг: они перегружают рецепторы, а DeepDream чрезмерно стимулирует определенные слои нейросети.
Как это работает?
1. Выбираем слой в обученной нейросети
2. Максимально активируем его с помощью градиентного подъема
3. Изменяем изображение так, чтобы оно содержало все признаки, которые ищет этот слой
4. Повторяем процесс несколько раз
Результат? Сеть начинает "видеть" собак в медузах, лица в облаках, машины в абстрактных узорах. Получаются психоделические, сноподобные изображения.
Практическая польза:
Интересный факт: С помощью DeepDream обнаружили, что некоторые сети могут распознавать штанги только когда на изображении есть тяжелоатлет — из-за корреляции в данных обучения!
Это отличный пример того, как методы из одной области (изучение галлюцинаций) помогают понять и улучшить технологии в другой области (машинное обучение).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1