#Angular
🔖 RxJS + Angular Signals: Идеальная команда для современных приложений
Долгое время RxJS был главным инструментом реактивности в Angular, но с появлением Signals всё изменилось. Теперь у нас есть мощная синергия, которая решает старые проблемы!
🔸 Главное правило: Никаких Observable в шаблонах!
До свиданья,
🔸 Зачем это нужно?
Signals идеальны для управления состоянием — они всегда знают своё текущее значение и отлично интегрируются с системой обнаружения изменений Angular.
RxJS остается незаменимым для событийно-управляемой логики — обработки кликов, навигации, API браузера.
🔸 Крутые возможности:
- Привязка к хост-элементу:
- Реактивные входы:
- Простые выходы:
Теперь мы получили лучшее из двух миров: стабильность сигналов + мощь RxJS операторов!
📎 Статья
🎙 Новости
📝 База вопросов
Долгое время RxJS был главным инструментом реактивности в Angular, но с появлением Signals всё изменилось. Теперь у нас есть мощная синергия, которая решает старые проблемы!
До свиданья,
async pipe! Теперь мы используем toSignal() для преобразования потоков в сигналы:readonly copied = toSignal(
fromEvent(button, 'click').pipe(
exhaustMap(() =>
timer(2000).pipe(
map(() => false),
startWith(true)
)
)
),
{ initialValue: false }
);
Signals идеальны для управления состоянием — они всегда знают своё текущее значение и отлично интегрируются с системой обнаружения изменений Angular.
RxJS остается незаменимым для событийно-управляемой логики — обработки кликов, навигации, API браузера.
- Привязка к хост-элементу:
'[class.active]': 'isActive()'- Реактивные входы:
toObservable(this.duration)- Простые выходы:
outputFromObservable(stream$)Теперь мы получили лучшее из двух миров: стабильность сигналов + мощь RxJS операторов!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#binarysearch
🔖 Бинарный поиск: как найти иголку в стоге сена за 3 шага
Представьте: вы ищете номер телефона в огромном справочнике на 1000 страниц. Будете листать с первой страницы?
Есть способ лучше! Откройте справочник посередине. Если нужная буква идет после той, что видите — выбросьте левую половину. Если раньше — правую. Повторите с оставшейся частью.
Поздравляю, вы только что изучили бинарный поиск!
🔸 Как это работает?
Ищем число 89 в отсортированном массиве:
Шаг 1: Средний элемент = 56. 56 < 89 → отбрасываем левую половину
Шаг 2: Средний элемент = 97. 97 > 89 → отбрасываем правую половину
Шаг 3: Средний элемент = 89. Найдено!✅
🔸 Эффективность впечатляет:
- Линейный поиск: до 1000 шагов для 1000 элементов
- Бинарный поиск: максимум 10 шагов!
Секрет в том, что каждый шаг вдвое сокращает область поиска.
🔸 Важное условие:
Массив обязательно должен быть отсортирован! Иначе алгоритм не работает.
🔸 Где применяется:
📎 Статья
🎙 Новости
📝 База вопросов
Представьте: вы ищете номер телефона в огромном справочнике на 1000 страниц. Будете листать с первой страницы?
Есть способ лучше! Откройте справочник посередине. Если нужная буква идет после той, что видите — выбросьте левую половину. Если раньше — правую. Повторите с оставшейся частью.
Поздравляю, вы только что изучили бинарный поиск!
Ищем число 89 в отсортированном массиве:
[12, 25, 38, 47, 56, 89, 97, 108, 234]
Шаг 1: Средний элемент = 56. 56 < 89 → отбрасываем левую половину
Шаг 2: Средний элемент = 97. 97 > 89 → отбрасываем правую половину
Шаг 3: Средний элемент = 89. Найдено!
- Линейный поиск: до 1000 шагов для 1000 элементов
- Бинарный поиск: максимум 10 шагов!
Секрет в том, что каждый шаг вдвое сокращает область поиска.
Массив обязательно должен быть отсортирован! Иначе алгоритм не работает.
- Поиск в базах данных
- Автодополнение в поисковиках
- Системы рекомендаций
- Игры (угадайте число!)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#C++
🔖 C++ вложенные If-Else: от хаоса к порядку
Знакомая картина? Код превратился в лестницу из условий, и вы уже потерялись на третьем уровне вложенности?
❌ Антипаттерн "Стрелка"
Это классический код-спагетти! Каждый новый уровень делает код менее читаемым и более подверженным ошибкам.
✅ Решения:
1. Ранний return:
2. Разбивка на функции:
3. Switch вместо if-else цепочек:
Практические применения:
- Валидация данных - проверка форм по шагам
- Игровая логика - разветвленные сценарии
- Обработка ошибок - каскадные проверки
Золотое правило:
Если вложенность больше 3-х уровней — пора рефакторить! Ваш код должен читаться как книга, а не как ребус.
📎 Статья
🎙 Новости
📝 База вопросов
Знакомая картина? Код превратился в лестницу из условий, и вы уже потерялись на третьем уровне вложенности?
if (user.isActive()) {
if (user.hasPermission()) {
if (data.isValid()) {
if (connection.isAlive()) {
// Наконец-то делаем что-то полезное!
}
}
}
}Это классический код-спагетти! Каждый новый уровень делает код менее читаемым и более подверженным ошибкам.
1. Ранний return:
if (!user.isActive()) return false;
if (!user.hasPermission()) return false;
if (!data.isValid()) return false;
// Чистый код без вложенности!
2. Разбивка на функции:
bool validateUser(const User& user) {
return user.isActive() && user.hasPermission();
}
bool processRequest() {
if (!validateUser(user)) return false;
// Логика стала понятнее!
}3. Switch вместо if-else цепочек:
switch (userRole) {
case ADMIN: return processAdminRequest();
case USER: return processUserRequest();
default: return handleUnknownRole();
}Практические применения:
- Валидация данных - проверка форм по шагам
- Игровая логика - разветвленные сценарии
- Обработка ошибок - каскадные проверки
Золотое правило:
Если вложенность больше 3-х уровней — пора рефакторить! Ваш код должен читаться как книга, а не как ребус.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Linux
🔖 Linux Mint 22.2: стабильность без экспериментов
Вышел новый релиз любимого многими дистрибутива! И знаете что? Никаких радикальных изменений интерфейса — только стабильность и комфорт.
✔️ Что нового:
▫️ Биометрия стала проще
Новое приложение Fingwit — сканируй отпечаток и входи без пароля! Работает для входа в систему, разблокировки экрана и sudo-команд.
▫️ Свежий дизайн
- Темы с легкой синевой вместо серого
- Эффект размытия на экране входа
- Акцентные цвета автоматически подстраиваются под тему
▫️ Улучшенные приложения
- Sticky (заметки) теперь работает на Wayland
- Hypnotix (IPTV) получил "театральный" режим просмотра
- Warpinator теперь доступен на iOS
📎 Под капотом:
- Ядро 6.14 — поддержка Wi-Fi 7, новых процессоров и GPU
- LTS до 2029 года — установил и забыл на 4 года!
- Но для старых ПК лучше оставить ядро 6.8
Философия Mint:
Пока GNOME экспериментирует с минимализмом, Mint остается классическим:
- Привычная панель задач
- Понятное меню
- Никаких сюрпризов в интерфейсе
📎 Статья
🎙 Новости
📝 База вопросов
Вышел новый релиз любимого многими дистрибутива! И знаете что? Никаких радикальных изменений интерфейса — только стабильность и комфорт.
Новое приложение Fingwit — сканируй отпечаток и входи без пароля! Работает для входа в систему, разблокировки экрана и sudo-команд.
- Темы с легкой синевой вместо серого
- Эффект размытия на экране входа
- Акцентные цвета автоматически подстраиваются под тему
- Sticky (заметки) теперь работает на Wayland
- Hypnotix (IPTV) получил "театральный" режим просмотра
- Warpinator теперь доступен на iOS
- Ядро 6.14 — поддержка Wi-Fi 7, новых процессоров и GPU
- LTS до 2029 года — установил и забыл на 4 года!
- Но для старых ПК лучше оставить ядро 6.8
Философия Mint:
Пока GNOME экспериментирует с минимализмом, Mint остается классическим:
- Привычная панель задач
- Понятное меню
- Никаких сюрпризов в интерфейсе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#ChatGPT
🔖 ChatGPT теперь подключается к внешним сервисам!
OpenAI сделала революционный шаг — ChatGPT научился работать с внешними MCP-серверами. Это больше не просто чат-бот!
🔸 Что это означает?
До: ChatGPT генерировал только текст
Сейчас: Выполняет действия в ваших приложениях!
🔸 Реальные возможности:
Работа с корпоративными системами — ChatGPT может обращаться к вашей CRM, базам данных, внутренним инструментам
Автоматизация процессов — создание задач в Jira, отправка писем, обновление документов
Персонализированные AI-агенты — настройка под специфику вашей компании
🔸 Как активировать:
1. Подписка Pro/Plus
2. Developer mode в настройках
3. Раздел *Connectors* → включить MCP
🔸 Главное изменение:
ChatGPT превращается из генератора текста в рабочую платформу. Теперь он может:
- Читать ваши документы
- Обновлять данные в реальном времени
- Интегрироваться с любыми сервисами
- Выполнять сложные бизнес-процессы
🎙 Новости
📝 База вопросов
OpenAI сделала революционный шаг — ChatGPT научился работать с внешними MCP-серверами. Это больше не просто чат-бот!
До: ChatGPT генерировал только текст
Сейчас: Выполняет действия в ваших приложениях!
Работа с корпоративными системами — ChatGPT может обращаться к вашей CRM, базам данных, внутренним инструментам
Автоматизация процессов — создание задач в Jira, отправка писем, обновление документов
Персонализированные AI-агенты — настройка под специфику вашей компании
1. Подписка Pro/Plus
2. Developer mode в настройках
3. Раздел *Connectors* → включить MCP
ChatGPT превращается из генератора текста в рабочую платформу. Теперь он может:
- Читать ваши документы
- Обновлять данные в реальном времени
- Интегрироваться с любыми сервисами
- Выполнять сложные бизнес-процессы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Webdevelopment
🔖 12 инструментов, которые изменят вашу разработку
Топ-инструменты для разработчиков, которые реально экономят время и упрощают жизнь
🔥 Мои фавориты:
🔹 RunJS — JS-песочница с мгновенным выводом
Пишешь код → сразу видишь результат. Поддержка NPM, TypeScript, ИИ-помощник!
🔹 LocalCan — делитесь localhost с командой
Покажите проект коллегам одной ссылкой. Тестируйте веб-хуки на лету!
🔹 VisBug — дизайн прямо в браузере
WYSIWYG-редактор для отладки CSS. Направляющие, выравнивание, live-правки!
🔹 JSON Crack — визуализация JSON
Превращает JSON в понятные диаграммы. Интерактивное редактирование!
🔸 Для оптимизации:
- CompressX — сжатие до 90% без потери качества
- Antimetal — экономия на AWS автопилотом
- Lightspeed — анализ производительности сайтов
🔸 Для продуктивности:
- DevToys — "швейцарский нож" разработчика (кодировщики, форматеры, генераторы)
- TiinyHost — быстрый хостинг статики
- File.Rocks — безопасный обмен файлами
🔸 Документация:
- Docz — красивая документация на MDX
- ScreenshotOne — скриншоты сайтов через API
Вывод:
📎 Статья
🎙 Новости
📝 База вопросов
Топ-инструменты для разработчиков, которые реально экономят время и упрощают жизнь
Пишешь код → сразу видишь результат. Поддержка NPM, TypeScript, ИИ-помощник!
Покажите проект коллегам одной ссылкой. Тестируйте веб-хуки на лету!
WYSIWYG-редактор для отладки CSS. Направляющие, выравнивание, live-правки!
Превращает JSON в понятные диаграммы. Интерактивное редактирование!
- CompressX — сжатие до 90% без потери качества
- Antimetal — экономия на AWS автопилотом
- Lightspeed — анализ производительности сайтов
- DevToys — "швейцарский нож" разработчика (кодировщики, форматеры, генераторы)
- TiinyHost — быстрый хостинг статики
- File.Rocks — безопасный обмен файлами
- Docz — красивая документация на MDX
- ScreenshotOne — скриншоты сайтов через API
Вывод:
Правильные инструменты = больше времени на код, меньше на рутину
Сохраняйте пост — пригодится!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#Vibecoding
🔖 Вайб-кодинг глазами разработчика с 20-летним стажем
Опытный разработчик провел эксперимент: за 4 часа создал полноценное веб-приложение с интеграцией Bitrix24, не написав ни строчки кода вручную — только через диалог с ИИ.
В статье он честно рассказывает о граблях, на которые наступил, сравнивает GPT-4.1, Claude Sonnet 3.7 и Grok на реальных задачах, объясняет когда нужна экспертиза разработчика, а когда справится и новичок, и делится опасениями о влиянии вайб-кодинга на профессиональные навыки программистов⬇️
📎 Статья
🎙 Новости
📝 База вопросов
Опытный разработчик провел эксперимент: за 4 часа создал полноценное веб-приложение с интеграцией Bitrix24, не написав ни строчки кода вручную — только через диалог с ИИ.
В статье он честно рассказывает о граблях, на которые наступил, сравнивает GPT-4.1, Claude Sonnet 3.7 и Grok на реальных задачах, объясняет когда нужна экспертиза разработчика, а когда справится и новичок, и делится опасениями о влиянии вайб-кодинга на профессиональные навыки программистов
Please open Telegram to view this post
VIEW IN TELEGRAM
#BigO
🔖 Big O: почему ваш код тормозит в продакшене
Код работает мгновенно на тестах, но ползёт как черепаха на реальных данных? Дело в Big O — нотации, которая предсказывает поведение алгоритма при росте нагрузки. O(1) работает всегда быстро, O(n) растёт линейно, а O(n²) превращается в кошмар на больших объёмах.
В отличие от замеров времени, Big O показывает закономерности роста сложности. Понимание четырёх основных категорий — константной, логарифмической, линейной и квадратичной — помогает писать код, который выдержит любую нагрузку.
Разберём на примерах: как превратить O(n²) в O(1), почему indexOf в цикле убивает производительность, и как бинарный поиск находит число среди миллиарда за 31 попытку. Готовы понять, что творится под капотом?⬇️
📎 Статья
🎙 Новости
📝 База вопросов
Код работает мгновенно на тестах, но ползёт как черепаха на реальных данных? Дело в Big O — нотации, которая предсказывает поведение алгоритма при росте нагрузки. O(1) работает всегда быстро, O(n) растёт линейно, а O(n²) превращается в кошмар на больших объёмах.
В отличие от замеров времени, Big O показывает закономерности роста сложности. Понимание четырёх основных категорий — константной, логарифмической, линейной и квадратичной — помогает писать код, который выдержит любую нагрузку.
Разберём на примерах: как превратить O(n²) в O(1), почему indexOf в цикле убивает производительность, и как бинарный поиск находит число среди миллиарда за 31 попытку. Готовы понять, что творится под капотом?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#github
🔖 lightweight-charts: мощные финансовые графики для веба
Библиотека от TradingView для создания интерактивных финансовых графиков в веб-приложениях. Одна из самых маленьких и быстрых HTML5 финансовых библиотек.
🔸 Что умеет:
- Свечные графики — классические японские свечи
- Линейные и площадные графики — для трендов
- Гистограммы — анализ объемов и метрик
- Кастомные плагины — расширяемая функциональность
🔸 Преимущества:
✅ Высокая производительность — размер близок к статическим изображениям
✅ Без зависимостей — standalone версия "из коробки"
✅ HTML5 Canvas — нативная отрисовка без DOM
✅ Простое API — 3 строки кода для первого графика
✅ Интерактивность — замена статических изображений
🔸 Установка:
Или через CDN: unpkg.com
🔸 Идеально для:
- Финансовых приложений и дашбордов
- Замены статических графиков интерактивными
- Страниц с множественными диаграммами
- Высоконагруженных приложений
📎 Ссылка
🎙 Новости
📝 База вопросов
Библиотека от TradingView для создания интерактивных финансовых графиков в веб-приложениях. Одна из самых маленьких и быстрых HTML5 финансовых библиотек.
- Свечные графики — классические японские свечи
- Линейные и площадные графики — для трендов
- Гистограммы — анализ объемов и метрик
- Кастомные плагины — расширяемая функциональность
npm install lightweight-charts
Или через CDN: unpkg.com
- Финансовых приложений и дашбордов
- Замены статических графиков интерактивными
- Страниц с множественными диаграммами
- Высоконагруженных приложений
Please open Telegram to view this post
VIEW IN TELEGRAM
#GraphSAGE
🔖 GraphSAGE: как масштабировать графовые нейросети до миллиардов связей
Знали ли вы, что рекомендации в UberEats и Pinterest работают на графовых нейросетях с миллиардами узлов? Разбираем GraphSAGE — архитектуру, которая решает проблему масштабирования GNN.
🔹 Масштабы впечатляют:
- Pinterest (PinSAGE): 3 млрд узлов, 18 млрд связей
- UberEats: 600K ресторанов, 66 млн пользователей
🔹 Главная проблема GNN:
Обычные графовые сети не могут работать с большими данными — нужно обрабатывать ВСЕ соседние узлы, что становится катастрофически медленно.
🔹 Решение GraphSAGE:
1. Выборка соседей
- Берем только фиксированное количество случайных соседей
- Создаем мини-батчи из подграфов
- Избегаем "популярных" узлов-хабов
2. Быстрая агрегация
- Агрегатор средних значений (самый простой)
- LSTM-агрегатор (лучшая точность)
- Max-pooling агрегатор
🔹 Результаты теста:
На датасете PubMed (20K узлов):
- GCN: 78.4% точность за 52.6 сек
- GAT: 77.1% точность за 18 мин
- GraphSAGE: 77.2% точность за 12.4 сек
GraphSAGE в 88 раз быстрее GAT при почти той же точности!
🔹 Компромисс:
-❌ Теряем информацию из-за обрезки графа
-✅ Можем обрабатывать графы любого размера
-✅ Масштабируемость важнее идеальной точности
🔹 Применение:
- Рекомендательные системы
- Социальные сети
- Анализ знаний
- Биоинформатика
GraphSAGE доказывает: иногда "достаточно хорошо, но быстро" лучше чем "идеально, но медленно".
📎 Статья
🎙 Новости
📝 База вопросов
Знали ли вы, что рекомендации в UberEats и Pinterest работают на графовых нейросетях с миллиардами узлов? Разбираем GraphSAGE — архитектуру, которая решает проблему масштабирования GNN.
- Pinterest (PinSAGE): 3 млрд узлов, 18 млрд связей
- UberEats: 600K ресторанов, 66 млн пользователей
Обычные графовые сети не могут работать с большими данными — нужно обрабатывать ВСЕ соседние узлы, что становится катастрофически медленно.
1. Выборка соседей
- Берем только фиксированное количество случайных соседей
- Создаем мини-батчи из подграфов
- Избегаем "популярных" узлов-хабов
2. Быстрая агрегация
- Агрегатор средних значений (самый простой)
- LSTM-агрегатор (лучшая точность)
- Max-pooling агрегатор
На датасете PubMed (20K узлов):
- GCN: 78.4% точность за 52.6 сек
- GAT: 77.1% точность за 18 мин
- GraphSAGE: 77.2% точность за 12.4 сек
GraphSAGE в 88 раз быстрее GAT при почти той же точности!
-
-
-
- Рекомендательные системы
- Социальные сети
- Анализ знаний
- Биоинформатика
GraphSAGE доказывает: иногда "достаточно хорошо, но быстро" лучше чем "идеально, но медленно".
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#VectorDatabase
🔖 Векторные базы данных: как LLM понимает мир
Знаете, как ChatGPT сочиняет сказки про единорогов за секунды? Секрет в векторных базах данных — технологии, которая превращает слова в числа и находит смысл в хаосе данных.
🔸 Как это работает:
1. Эмбеддинг
Слова → векторы (списки чисел)
"единорог" = [0.2, -0.8, 1.3, ...]
2. Кодирование
Векторы проходят через нейросеть (линейное преобразование + ReLU)
3. Объединение
Усреднение по столбцам → один вектор предложения
4. Индексирование
Сжатие размерности для быстрого поиска
5. Поиск по сходству
Скалярное произведение находит "похожие" векторы
🔸 Проблема масштаба:
- Миллиарды предложений в базе
- Тысячи измерений в каждом векторе
- Десятки тысяч токенов
Решение: Векторные БД хранят готовые эмбеддинги вместо их генерации на лету.
🔸 Применение:
- RAG-системы (поиск + генерация)
- Рекомендательные системы
- Семантический поиск
- Чат-боты и ассистенты
🔸 Алгоритмы поиска:
- Линейное сканирование — точно, но медленно
- HNSW — приблизительно, но быстро для миллиардов векторов
✔️ Итог:
Векторные БД превращают "понимание" ИИ в математическую задачу. Похожие концепции получают близкие векторы в многомерном пространстве.
📎 Статья
🎙 Новости
📝 База вопросов
Знаете, как ChatGPT сочиняет сказки про единорогов за секунды? Секрет в векторных базах данных — технологии, которая превращает слова в числа и находит смысл в хаосе данных.
1. Эмбеддинг
Слова → векторы (списки чисел)
"единорог" = [0.2, -0.8, 1.3, ...]
2. Кодирование
Векторы проходят через нейросеть (линейное преобразование + ReLU)
3. Объединение
Усреднение по столбцам → один вектор предложения
4. Индексирование
Сжатие размерности для быстрого поиска
5. Поиск по сходству
Скалярное произведение находит "похожие" векторы
- Миллиарды предложений в базе
- Тысячи измерений в каждом векторе
- Десятки тысяч токенов
Решение: Векторные БД хранят готовые эмбеддинги вместо их генерации на лету.
- RAG-системы (поиск + генерация)
- Рекомендательные системы
- Семантический поиск
- Чат-боты и ассистенты
- Линейное сканирование — точно, но медленно
- HNSW — приблизительно, но быстро для миллиардов векторов
Векторные БД превращают "понимание" ИИ в математическую задачу. Похожие концепции получают близкие векторы в многомерном пространстве.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#CSS
🔖 CSS-магия: создаем супергеройский комикс-макет
Забудьте про скучные прямоугольные макеты! Показываю, как CSS Grid + clip-path превращают обычную страницу в панели комикса Marvel.
🔸 Что получаем:
- Нестандартные формы панелей (треугольники, многоугольники, эллипсы)
- Перекрывающиеся слои с реалистичной глубиной
- Кастомные "рамки" вокруг изображений
- Адаптивная сетка с поворотом всего макета
🔸 Технический состав:
CSS Grid Foundation:
Clip-path Magic:
🔸 Секреты реализации:
1. Границы панелей
Обычные CSS-границы не работают с clip-path, поэтому:
- Белый фон для контейнера
- Уменьшенное изображение внутри (scale 0.95)
- Тот же clip-path для изображения
2. Инструменты разработки
Firefox Shape Path Editor — интерактивное создание polygons прямо в браузере!
3. Совместимость
IE11 не поддерживает clip-path, но современные браузеры работают отлично.
🔸 Вдохновение из реальных комиксов:
- Marvel's Generations: Phoenix & Jean Grey
- Detective Comics 876
- Flash Comics series
🔸 Возможности безграничны:
- Макеты журналов
- Креативные портфолио
- Интерактивные лендинги
- Игровые интерфейсы
Кто сказал, что веб должен быть прямоугольным?
📎 Статья
🎙 Новости
📝 База вопросов
Забудьте про скучные прямоугольные макеты! Показываю, как CSS Grid + clip-path превращают обычную страницу в панели комикса Marvel.
- Нестандартные формы панелей (треугольники, многоугольники, эллипсы)
- Перекрывающиеся слои с реалистичной глубиной
- Кастомные "рамки" вокруг изображений
- Адаптивная сетка с поворотом всего макета
CSS Grid Foundation:
.panels {
display: grid;
grid-template-columns: 3fr repeat(4, 1fr) 2fr;
transform: rotate(-20deg) translateY(100px);
}Clip-path Magic:
.panel-3 {
clip-path: polygon(0 18%, 20% 20%,
78% 71%, 63% 100%, 5% 80%);
}1. Границы панелей
Обычные CSS-границы не работают с clip-path, поэтому:
- Белый фон для контейнера
- Уменьшенное изображение внутри (scale 0.95)
- Тот же clip-path для изображения
2. Инструменты разработки
Firefox Shape Path Editor — интерактивное создание polygons прямо в браузере!
3. Совместимость
IE11 не поддерживает clip-path, но современные браузеры работают отлично.
- Marvel's Generations: Phoenix & Jean Grey
- Detective Comics 876
- Flash Comics series
- Макеты журналов
- Креативные портфолио
- Интерактивные лендинги
- Игровые интерфейсы
Кто сказал, что веб должен быть прямоугольным?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#webdevelopment
🔖 Высокотехнологичные ресурсы для веб-разработчиков
Веб-разработка не стоит на месте. Собрал подборку малоизвестных, но мощных инструментов, которые поднимут ваши проекты на новый уровень.
🔹 UI/UX & Design
Chakra UI — React-библиотека с готовыми компонентами
Тематическое оформление + доступность из коробки
Framer — интерактивные прототипы с реальным кодом
Мост между дизайном и разработкой
Midjourney — AI для генерации визуальных концепций
Уникальные дизайн-решения по текстовому описанию
🔹 Фуллстек & Backend
RedwoodJS — React + Prisma в одном фреймворке
Единая экосистема для фронта и бэка + GraphQL API
Deno Deploy — безопасное развертывание TypeScript
Альтернатива AWS Lambda с фокусом на безопасность
🔹 Технологии
Alchemy — инструменты для Web3 и dApps
Полный стек для блокчейн-разработки
Three.js — 3D-графика в браузере через WebGL
VR/AR и интерактивные 3D-конфигураторы
🔹 Совет от автора:
- Начинайте с малого — выберите 1-2 инструмента
- Присоединяйтесь к сообществам
- Вносите вклад в open source проекты
📎 Статья
🎙 Новости
📝 База вопросов
Веб-разработка не стоит на месте. Собрал подборку малоизвестных, но мощных инструментов, которые поднимут ваши проекты на новый уровень.
Chakra UI — React-библиотека с готовыми компонентами
Тематическое оформление + доступность из коробки
Framer — интерактивные прототипы с реальным кодом
Мост между дизайном и разработкой
Midjourney — AI для генерации визуальных концепций
Уникальные дизайн-решения по текстовому описанию
RedwoodJS — React + Prisma в одном фреймворке
Единая экосистема для фронта и бэка + GraphQL API
Deno Deploy — безопасное развертывание TypeScript
Альтернатива AWS Lambda с фокусом на безопасность
Alchemy — инструменты для Web3 и dApps
Полный стек для блокчейн-разработки
Three.js — 3D-графика в браузере через WebGL
VR/AR и интерактивные 3D-конфигураторы
- Начинайте с малого — выберите 1-2 инструмента
- Присоединяйтесь к сообществам
- Вносите вклад в open source проекты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#golang
🔖 Паттерн «Стратегия» в Go: от хаоса к порядку
Надоели бесконечные
Когда использовать:
Было:
Стало:
©️ Три простых шага:
1. Интерфейс стратегии — общий контракт для алгоритмов
2. Конкретные реализации — каждый алгоритм в отдельном классе
3. Контекст — управляет выбором и выполнением стратегий
©️ Реальные применения:
- Платежи: PayPal, карта, крипта — одним переключением
- Сортировка: быстрая, пузырьковая, слиянием — по размеру данных
- Сжатие: ZIP, RAR, GZIP — динамический выбор
- ML алгоритмы: линейная регрессия vs случайный лес
©️ Преимущества:
✅ Принцип открытости/закрытости — новые стратегии без изменения кода
✅ Тестируемость — каждый алгоритм изолированно
✅ Читаемость — прощай, огромные switch'и
✅ Масштабируемость — добавляй стратегии на лету
©️ Вместо цирка из условий:
Паттерн «Стратегия» использует отношение has-a (композиция), делая код гибким и расширяемым. Каждая стратегия — самостоятельная единица, которую можно тестировать и переиспользовать.
📎 Статья
🎙 Новости
📝 База вопросов
Надоели бесконечные
if-else и switch в коде? Паттерн «Стратегия» превращает спагетти-код в элегантную архитектуру с взаимозаменяемыми алгоритмами.Когда использовать:
Было:
switch operation {
case "add": return a + b
case "subtract": return a - b
case "multiply": return a * b
// ... еще 20 кейсов
}Стало:
calculator.SetStrategy(AddStrategy{})
result := calculator.Calculate(10, 5)1. Интерфейс стратегии — общий контракт для алгоритмов
2. Конкретные реализации — каждый алгоритм в отдельном классе
3. Контекст — управляет выбором и выполнением стратегий
- Платежи: PayPal, карта, крипта — одним переключением
- Сортировка: быстрая, пузырьковая, слиянием — по размеру данных
- Сжатие: ZIP, RAR, GZIP — динамический выбор
- ML алгоритмы: линейная регрессия vs случайный лес
Паттерн «Стратегия» использует отношение has-a (композиция), делая код гибким и расширяемым. Каждая стратегия — самостоятельная единица, которую можно тестировать и переиспользовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#sysadmin
🔖 Цифровая энтропия: почему сервер с аптаймом в 1000 дней — это бомба замедленного действия
Сисадмин со стажем рассказал историю про сервер «Феникс» с аптаймом 986 дней. Гордость команды. Пример для новичков. После планового выключения-включения не взлетел — RAID-контроллер решил, что с него хватит. Тогда автор осознал: цифровой мир подчиняется тем же законам распада, что и физический.
В теории код и данные вечны. На практике любая система деградирует. Это цифровая энтропия — медленный скат в беспорядок. Долгий аптайм не показатель стабильности, а тикающая бомба. Система годами не проверяла собственные процедуры запуска.
Примеры из жизни: vSphere-хост после перезагрузки не нашел загрузочный USB — он был поврежден. SAN с аптаймом 1400 дней никто не трогал, боясь массового отказа дисков. Сервер выключили заменить диск в RAID — при включении умер еще один. Debian с аптаймом 1300+ дней — репозитории для этой версии уже не существуют.
Причины страха перезагрузки рациональны: файлы загрузки могут быть повреждены, железо деградирует (смазка густеет, конденсаторы высыхают), обновления безопасности не установлены годами.
Призраки в системе: утечки памяти в Apache/PHP/PostgreSQL, зомби-процессы исчерпывают PID, протухший DNS-кэш на всех уровнях, разросшиеся логи съедают диск. Долгий аптайм усугубляет все это.
Решение — смена философии. От «серверов-питомцев» (их лечат) к «серверам-стаду» (их заменяют). Неизменяемая инфраструктура: золотой образ, регулярная замена серверов, никаких ручных правок. Проблема долгого аптайма исчезает, утечки сбрасываются, дрейф конфигурации невозможен.
Главное правило: если боитесь перезагружать сервер — вы уже потеряли над ним контроль.
📎 Статья
🎙 Новости
📝 База вопросов
Сисадмин со стажем рассказал историю про сервер «Феникс» с аптаймом 986 дней. Гордость команды. Пример для новичков. После планового выключения-включения не взлетел — RAID-контроллер решил, что с него хватит. Тогда автор осознал: цифровой мир подчиняется тем же законам распада, что и физический.
В теории код и данные вечны. На практике любая система деградирует. Это цифровая энтропия — медленный скат в беспорядок. Долгий аптайм не показатель стабильности, а тикающая бомба. Система годами не проверяла собственные процедуры запуска.
Примеры из жизни: vSphere-хост после перезагрузки не нашел загрузочный USB — он был поврежден. SAN с аптаймом 1400 дней никто не трогал, боясь массового отказа дисков. Сервер выключили заменить диск в RAID — при включении умер еще один. Debian с аптаймом 1300+ дней — репозитории для этой версии уже не существуют.
Причины страха перезагрузки рациональны: файлы загрузки могут быть повреждены, железо деградирует (смазка густеет, конденсаторы высыхают), обновления безопасности не установлены годами.
Призраки в системе: утечки памяти в Apache/PHP/PostgreSQL, зомби-процессы исчерпывают PID, протухший DNS-кэш на всех уровнях, разросшиеся логи съедают диск. Долгий аптайм усугубляет все это.
Решение — смена философии. От «серверов-питомцев» (их лечат) к «серверам-стаду» (их заменяют). Неизменяемая инфраструктура: золотой образ, регулярная замена серверов, никаких ручных правок. Проблема долгого аптайма исчезает, утечки сбрасываются, дрейф конфигурации невозможен.
Главное правило: если боитесь перезагружать сервер — вы уже потеряли над ним контроль.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#webdev
🔖 Что если не отправлять HTML вообще?
Знаете, что делает большинство фреймворков? Они генерируют HTML на сервере, отправляют его вам, а потом начинают танцы с бубном под названием "гидратация". Тяжело, медленно, дорого.
А разработчик Neo.mjs подумал: "А что если вообще не отправлять HTML?"
И сделал приложение, которое стартует с пустым body. Звучит дико?
🔸 Вот как это происходит:
Браузер получает крошечные JS-генераторы, кэширует их один раз, и всё. Дальше с сервера летит только лёгкий JSON с данными — никакого HTML-мусора. Генераторы строят интерфейс на лету, и навигация работает так быстро, что кажется, будто страницы уже загружены.
Внутри этого приложения живёт редактор Monaco — 3 мегабайта кода из VSCode. Обычно такой монстр хоронит любые метрики производительности. Но здесь он летает. Более того — вы пишете код прямо в нём, импортируете модули, и они вживую встраиваются в приложение. Без перезагрузки. Магия? Нет, SharedWorker.
🔸 Самое безумное:
Вы можете открыть компонент и буквально вытащить его в другое окно браузера. Не создать копию. Не открыть iframe. А переместить тот же самый JS-объект! Открыли три окна? Они все синхронизированы, делят состояние, работают как один организм.
И вот кульминация: production-версия приложения (минифицированная, оптимизированная) и development-код из редактора работают одновременно в одном SharedWorker, не конфликтуя. До недавнего времени это было технически невозможно.
🔸 Почему это важно?
Потому что main thread свободен. Пока другие фреймворки душат браузер вычислениями, Neo.mjs спокойно выдаёт 60 FPS, потому что вся тяжёлая работа в воркере. Плюс экономия трафика — для корпораций с тысячами пользователей это реальные деньги.
Откройте демо, покликайте по навигации. Переходы мгновенные. А ведь страницы генерируются прямо сейчас, на ваших глазах.
Код открыт, MIT-лицензия. И да, там спрятан секретный режим "cube layout". Просто потому что можно 😎
Демо | GitHub
📎 Статья
🎙 Новости
📝 База вопросов
Знаете, что делает большинство фреймворков? Они генерируют HTML на сервере, отправляют его вам, а потом начинают танцы с бубном под названием "гидратация". Тяжело, медленно, дорого.
А разработчик Neo.mjs подумал: "А что если вообще не отправлять HTML?"
И сделал приложение, которое стартует с пустым body. Звучит дико?
Браузер получает крошечные JS-генераторы, кэширует их один раз, и всё. Дальше с сервера летит только лёгкий JSON с данными — никакого HTML-мусора. Генераторы строят интерфейс на лету, и навигация работает так быстро, что кажется, будто страницы уже загружены.
Внутри этого приложения живёт редактор Monaco — 3 мегабайта кода из VSCode. Обычно такой монстр хоронит любые метрики производительности. Но здесь он летает. Более того — вы пишете код прямо в нём, импортируете модули, и они вживую встраиваются в приложение. Без перезагрузки. Магия? Нет, SharedWorker.
Вы можете открыть компонент и буквально вытащить его в другое окно браузера. Не создать копию. Не открыть iframe. А переместить тот же самый JS-объект! Открыли три окна? Они все синхронизированы, делят состояние, работают как один организм.
И вот кульминация: production-версия приложения (минифицированная, оптимизированная) и development-код из редактора работают одновременно в одном SharedWorker, не конфликтуя. До недавнего времени это было технически невозможно.
Потому что main thread свободен. Пока другие фреймворки душат браузер вычислениями, Neo.mjs спокойно выдаёт 60 FPS, потому что вся тяжёлая работа в воркере. Плюс экономия трафика — для корпораций с тысячами пользователей это реальные деньги.
Откройте демо, покликайте по навигации. Переходы мгновенные. А ведь страницы генерируются прямо сейчас, на ваших глазах.
Код открыт, MIT-лицензия. И да, там спрятан секретный режим "cube layout". Просто потому что можно 😎
Демо | GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Cloudflare
🔖 Cloudflare запустила свой стейблкоин для AI-агентов
Cloudflare представила Net Dollar — криптовалюту, привязанную к доллару 1:1. Но это не очередной стейблкоин для трейдеров, а инфраструктура для "экономики агентов".
🔸 Зачем это нужно?
Идея в том, что AI-агенты смогут совершать платежи автоматически: покупать билеты, когда цена упала, оплачивать API-запросы или заказывать продукты. Всё это — без участия человека и мгновенно.
Cloudflare считает, что традиционные банковские переводы слишком медленные для такого сценария. Net Dollar обещает:
🔸 Что говорит CEO:
"Десятилетиями интернет жил на рекламе и банковских переводах. Следующая эра — это оплата по факту использования и микротранзакции", — Мэтью Принс.
🔸 Скептически:
Вопрос в том, нужен ли для этого ещё один стейблкоин, или это решение в поисках проблемы. Пока что AI-агенты с кошельками звучат как концепция из далёкого будущего.
🔸 Бонус: на прошлой неделе Cloudflare также анонсировала свой email-сервис — Cloudflare Email Service, который объединит отправку и маршрутизацию писем в одном интерфейсе.
📎 Статья
🎙 Новости
📝 База вопросов
Cloudflare представила Net Dollar — криптовалюту, привязанную к доллару 1:1. Но это не очередной стейблкоин для трейдеров, а инфраструктура для "экономики агентов".
Идея в том, что AI-агенты смогут совершать платежи автоматически: покупать билеты, когда цена упала, оплачивать API-запросы или заказывать продукты. Всё это — без участия человека и мгновенно.
Cloudflare считает, что традиционные банковские переводы слишком медленные для такого сценария. Net Dollar обещает:
• Платежи из любой точки мира
• Мгновенные микротранзакции
• Новую модель монетизации для разработчиков
"Десятилетиями интернет жил на рекламе и банковских переводах. Следующая эра — это оплата по факту использования и микротранзакции", — Мэтью Принс.
Вопрос в том, нужен ли для этого ещё один стейблкоин, или это решение в поисках проблемы. Пока что AI-агенты с кошельками звучат как концепция из далёкого будущего.
Please open Telegram to view this post
VIEW IN TELEGRAM
#GitHub
🔖 Рабочий процесс на GitHub: как работать профессионально
Работа в команде требует чёткой организации. Разбираем ключевые этапы GitHub workflow — от создания issue до слияния кода.
🔸 1. Issues — начало всего
Формулируем задачи по шаблону:
Крупные задачи разбиваем на подзадачи с префиксом
🔸 2. Ветки
Создаём ветку отдельно от main, чтобы ошибки не попали в продакшн. GitHub позволяет привязать issue к ветке — после мержа проблема закроется автоматически.
Формат именования:
🔸 3. Коммиты
Правила хорошего коммита:
• Коммитим часто, не ждём завершения всей фичи
• Пишем понятные сообщения до 50 символов
• Используем настоящее время и повелительное наклонение
Примеры:
Для монорепозиториев добавляем scope:
🔸 4. Pull Request
После пуша создаём PR. Название должно отражать ветку без номера issue:
Добавляем описание, связываем с issue, назначаем ревьюверов, ставим метки (bug, feature, enhancement).
🔸 5. Code Review
Рекомендуется минимум 2 ревьювера на каждый PR. Это помогает найти больше проблем и делиться знаниями внутри команды.
🔸 6. Merge
После аппрува мержим PR — связанная issue закроется автоматически. Не забываем удалить ветку, чтобы держать репо в чистоте.
✔️ Итого:
Issue → Branch → Commits → PR → Review → Merge
Полезные типы:
feat, style, fix, enhance, refactor, docs
Scope'ы для монорепо:
front, back, api, db, docs, test, chore
Лайфхак: используйте Git-хук
Поначалу кажется сложно, но быстро входит в привычку.
📎 Статья
🎙 Новости
📝 База вопросов
Работа в команде требует чёткой организации. Разбираем ключевые этапы GitHub workflow — от создания issue до слияния кода.
Формулируем задачи по шаблону:
[FIX]: Fix auth flow
[STYLE]: Improve login page styling
[FEATURE]: Implement admin dashboard
Крупные задачи разбиваем на подзадачи с префиксом
[SUB-FEAT].Создаём ветку отдельно от main, чтобы ошибки не попали в продакшн. GitHub позволяет привязать issue к ветке — после мержа проблема закроется автоматически.
Формат именования:
<type>/<issue-number>/<short-description>
fix/92/fix_auth_flow
feature/15/implement_dashboard
Правила хорошего коммита:
• Коммитим часто, не ждём завершения всей фичи
• Пишем понятные сообщения до 50 символов
• Используем настоящее время и повелительное наклонение
Примеры:
feat: implement dashboard header
fix: fix data fetching
refactor: improve API readability
Для монорепозиториев добавляем scope:
feat(front): implement dashboard header
feat(back): implement dashboard APIs
После пуша создаём PR. Название должно отражать ветку без номера issue:
feature/implement-dashboard
style/improve-login-page-styling
Добавляем описание, связываем с issue, назначаем ревьюверов, ставим метки (bug, feature, enhancement).
Рекомендуется минимум 2 ревьювера на каждый PR. Это помогает найти больше проблем и делиться знаниями внутри команды.
После аппрува мержим PR — связанная issue закроется автоматически. Не забываем удалить ветку, чтобы держать репо в чистоте.
Issue → Branch → Commits → PR → Review → Merge
Полезные типы:
feat, style, fix, enhance, refactor, docs
Scope'ы для монорепо:
front, back, api, db, docs, test, chore
Лайфхак: используйте Git-хук
pre-commit для автоматической проверки формата коммитов.Поначалу кажется сложно, но быстро входит в привычку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
#Video
🔖 Улучшение воспроизведения видео с помощью ExoPlayer
Команда Reddit поделилась практическими советами по оптимизации видео на Android, подкреплёнными реальными production-данными. Разбираем ключевые находки.
🔸 Доставка контента: MP4 vs DASH
75% видео на Reddit длятся менее 45 секунд. Команда провела эксперимент: для коротких роликов заменили адаптивный DASH на обычный MP4.
Результаты для видео < 45 сек:
• Ошибки воспроизведения: -5,5%
• Выход до старта видео: -2,5%
• Общие просмотры: +1,7%
Вывод: для короткого контента адаптивные протоколы избыточны — MP4 быстрее и надёжнее.
🔸 Кэширование: подводные камни
Проблемы SimpleCache:
• ExternalDir недоступен везде (например, на OPPO) — лучше использовать internalDir
• Может удалять другие файлы — нужна отдельная папка
• Бьёт по диску в конструкторе — создавайте в фоновом потоке
• URL как ключ — если у вас разные сигнатуры, нужна своя фабрика ключей
🔸 Предзагрузка контента
Протестировали варианты: следующее видео, два параллельно, только MP4. Лучше всего сработала предзагрузка только следующего видео:
• Загрузка < 500ms: +1,9%
• Загрузка > 1000ms: -0,872%
Попытка учитывать пропускную способность (2-20 Мбит/с) провалилась — метрики ухудшились.
🔸 LoadControl: настройка буферизации
По умолчанию значения буфера в ExoPlayer слишком большие для коротких видео. Reddit снизил:
•
•
Результаты:
• Загрузка < 250ms: +2,7%
• Загрузка < 500ms: +4,4%
• Загрузка > 1000ms: -11,9%
• Ребуферинг: -4,8%
• Общие просмотры: +1,5%
Самый впечатляющий эксперимент!
🔸 BandwidthMeter и адаптивный битрейт
Проблема: предзагрузка через DownloadManager не учитывалась в общей пропускной способности. После фикса:
• Разрешение видео: +1,4%
• Просмотры в цепочке: +0,5%
• Смена битрейта: -0,5%
• Загрузка > 1000ms: +0,3% (компромисс)
🔸 Декодеры
Ошибка 4001 (декодер недоступен) — частая проблема. Решения:
• Включить fallback на программный декодер
• Запрашивать audio focus явно
• Рассмотреть пул плееров или один экземпляр
Fallback снизил ошибки на 0,9%.
🔸 Рендеринг: SurfaceView vs TextureView
SurfaceView эффективнее (рендерит на GPU напрямую), но до Android N были проблемы с анимациями.
В Compose постоянное re-inflation занимало до 30ms. Решение — собственный ViewPool:
• Загрузка < 250ms: +1,7%
• Просмотренные минуты: +1,4%
• P50 создания: улучшено в 30 раз (1ms)
🔸 Ключевой вывод
Всё упирается в аналитику и A/B-тесты. Обязательные метрики:
• Время до первого кадра
• Ребуферинг
• Старт/стоп воспроизведения
• Ошибки
ExoPlayer предоставляет
📎 Статья
🎙 Новости
📝 База вопросов
Команда Reddit поделилась практическими советами по оптимизации видео на Android, подкреплёнными реальными production-данными. Разбираем ключевые находки.
75% видео на Reddit длятся менее 45 секунд. Команда провела эксперимент: для коротких роликов заменили адаптивный DASH на обычный MP4.
Результаты для видео < 45 сек:
• Ошибки воспроизведения: -5,5%
• Выход до старта видео: -2,5%
• Общие просмотры: +1,7%
Вывод: для короткого контента адаптивные протоколы избыточны — MP4 быстрее и надёжнее.
Проблемы SimpleCache:
• ExternalDir недоступен везде (например, на OPPO) — лучше использовать internalDir
• Может удалять другие файлы — нужна отдельная папка
• Бьёт по диску в конструкторе — создавайте в фоновом потоке
• URL как ключ — если у вас разные сигнатуры, нужна своя фабрика ключей
Протестировали варианты: следующее видео, два параллельно, только MP4. Лучше всего сработала предзагрузка только следующего видео:
• Загрузка < 500ms: +1,9%
• Загрузка > 1000ms: -0,872%
Попытка учитывать пропускную способность (2-20 Мбит/с) провалилась — метрики ухудшились.
По умолчанию значения буфера в ExoPlayer слишком большие для коротких видео. Reddit снизил:
•
bufferForPlaybackAfterRebufferMs: 1000ms•
minBuffer и maxBuffer: 20000msРезультаты:
• Загрузка < 250ms: +2,7%
• Загрузка < 500ms: +4,4%
• Загрузка > 1000ms: -11,9%
• Ребуферинг: -4,8%
• Общие просмотры: +1,5%
Самый впечатляющий эксперимент!
Проблема: предзагрузка через DownloadManager не учитывалась в общей пропускной способности. После фикса:
• Разрешение видео: +1,4%
• Просмотры в цепочке: +0,5%
• Смена битрейта: -0,5%
• Загрузка > 1000ms: +0,3% (компромисс)
Ошибка 4001 (декодер недоступен) — частая проблема. Решения:
• Включить fallback на программный декодер
• Запрашивать audio focus явно
• Рассмотреть пул плееров или один экземпляр
Fallback снизил ошибки на 0,9%.
SurfaceView эффективнее (рендерит на GPU напрямую), но до Android N были проблемы с анимациями.
В Compose постоянное re-inflation занимало до 30ms. Решение — собственный ViewPool:
• Загрузка < 250ms: +1,7%
• Просмотренные минуты: +1,4%
• P50 создания: улучшено в 30 раз (1ms)
Всё упирается в аналитику и A/B-тесты. Обязательные метрики:
• Время до первого кадра
• Ребуферинг
• Старт/стоп воспроизведения
• Ошибки
ExoPlayer предоставляет
AnalyticsListener для трекинга.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from YeaHub
🚀 Прокачиваем подготовку к собеседованиям на максимум!
Если ты ещё не заглядывал(а) в👍 «Авось Прорвёмся» — самое время.
Это проект Ани для самостоятельной подготовки, где есть:
- 1000+ записей реальных собеседований с разбором задач и вопросов;
- контакты рекрутеров;
- гайды по резюме, трудоустройству и стратегиям поиска работы.
- задачи и вопросы с собеседований
Мы в YeaHub продолжаем добавлять собеседования из этих чатов — теперь их можно проходить в тренажёре, тренируя ответы на реальные вопросы работодателей.
🎧 Сначала слушай, как проходят настоящие собесы,
💡 потом — разбирай и практикуй те же кейсы в тренажёре.
Направления: iOS, Android, Frontend, Python, Go, Java, C#, QA, Analytics.
👉 Обучайтесь, общайтесь, растите вместе с YeaHub и Авось Прорвемся
Если ты ещё не заглядывал(а) в
Это проект Ани для самостоятельной подготовки, где есть:
- 1000+ записей реальных собеседований с разбором задач и вопросов;
- контакты рекрутеров;
- гайды по резюме, трудоустройству и стратегиям поиска работы.
- задачи и вопросы с собеседований
Мы в YeaHub продолжаем добавлять собеседования из этих чатов — теперь их можно проходить в тренажёре, тренируя ответы на реальные вопросы работодателей.
🎧 Сначала слушай, как проходят настоящие собесы,
💡 потом — разбирай и практикуй те же кейсы в тренажёре.
Направления: iOS, Android, Frontend, Python, Go, Java, C#, QA, Analytics.
👉 Обучайтесь, общайтесь, растите вместе с YeaHub и Авось Прорвемся
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3🤝3