Proglib

Proglib

«Библиотека программиста» — все самое полезное для программиста. Сайт: https://proglib.io Список наших тг-каналов: https://t.me/proglibrary/9197
На Пикабу
4894 рейтинг 11 подписчиков 0 подписок 22 поста 1 в горячем
1

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

🧟 Как работает Kafka

Kafka – разносторонний инструмент: его можно рассматривать как брокера сообщений, распределенное хранилище событий и платформу для потоковой обработки данных. Изначально Kafka разрабатывался как внутренний проект LinkedIn, но в итоге стал ключевым элементом большинства событийно-ориентированных систем. Вот всего несколько примеров того, что можно сделать с помощью Кафки:

  • Гиганты уровня Netflix и Uber обрабатывают большие объемы данных в реальном времени.

  • Ecommerce-платформы отслеживают действия пользователей, изменение заказов и состояние запасов.

  • Финансовые организации анализируют данные о транзакциях и обнаруживают подозрительные операции.

  • Трейдеры выявляют рыночные тренды и аномалии в торгах.

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

Почему Kafka стал настолько популярным? Основные причины – надежность и масштабируемость: Kafka эффективно управляет потоками данных в самых крупномасштабных системах. Если вам еще не приходилось использовать Кафку, давайте разберемся, как он работает: возможно, его возможности выведут ваш проект на новый уровень.

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире бэкенда. В еженедельных письмах ты найдешь:

  • Языки программирования и фреймворки для бэкенда

  • Архитектура и проектирование серверных приложений

  • Базы данных и управление данными

  • Безопасность и защита данных

  • Облачные технологии и DevOps

  • API и интеграции

  • Тестирование и отладка

  • Инструменты и утилиты для бэкенд-разработчиков

  • Лучшие практики и паттерны проектирования

Сообщения и пакеты

В Kafka основной единицей данных является сообщение. Сообщение можно сравнить с записью в таблице базы данных, но фактически это просто байтовый массив. Структуру сообщения задают с помощью JSON, XML или системы сериализации Apache Avro.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Структура сообщения Kafka

Сообщения записываются пакетами. Пакет – это набор сообщений, относящихся к одной теме и одному разделу. Пакетная запись снижает нагрузку на систему и повышает эффективность передачи данных. Сжатие пакетов делает передачу данных и их хранение более эффективными – меньший объем данных быстрее передается по сети и экономит место на диске. Использование пакетов подразумевает компромисс между задержкой и пропускной способностью:

  • Большие пакеты позволяют передавать больше сообщений за одно действие, что увеличивает пропускную способность системы – можно обработать больше данных за меньшее время.

  • Однако это также приводит к увеличению задержки для отдельных сообщений. Пока пакет не будет полностью заполнен, отдельное сообщение может дольше ждать отправки.

Поэтому идеальный размер пакета зависит от конкретного сценария использования. Если важнее производительность обработки, лучше использовать большие пакеты. Если же важна низкая задержка (например, при обработке критически важных событий), пакеты должны быть меньше.

👾 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека хакера»

Темы и разделы

Тема в Kafka похожа на таблицу в базе данных или папку в файловой системе. Все сообщения распределены по темам. Темы делятся на разделы. Сообщения в теме добавляются в один из ее разделов, причем всегда в конец. Внутри одного раздела сообщения хранятся в порядке отправки, но между разделами порядок не гарантируется.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Структура раздела

Разделы позволяют масштабировать систему, так как они могут находиться на разных серверах (брокерах). Это также повышает надежность: если один сервер выйдет из строя, данные можно будет получить с другого.

Производители и потребители

Основные пользователи Kafka – это производители и потребители, которые взаимодействуют в соответствии с известным паттерном «издатель – подписчик». Производители создают и отправляют сообщения в брокер Kafka, указывая, в какую тему их отправить:

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Производителей также можно назвать издателями

Потребители считывают сообщения из тем, работая в составе групп потребителей. Каждая группа следит за тем, чтобы один раздел обрабатывался только одним участником группы. Если один потребитель выходит из строя, другие участники группы перенимают его задачи:

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Потребители по сути являются подписчиками

🤖 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека дата-саентиста»

Брокеры и кластеры

Каждый сервер Kafka называется брокером. Со стороны производителей брокер выполняет три основные задачи:

  • Получает сообщения от производителей.

  • Назначает смещение (порядковый номер, индекс) для сообщений.

  • Сохраняет сообщения на диске.

Со стороны потребителей брокер выполняет эти задачи:

  • Обрабатывает запросы на получение данных из разделов.

  • Отправляет опубликованные сообщения в ответ на эти запросы.

Один брокер может управлять тысячами разделов и миллионами сообщений в секунду. Брокеры обычно объединяются в кластер. В кластере один из брокеров выполняет роль контроллера, распределяя разделы и отслеживая сбои.

Репликация

Главное преимущество кластера Kafka – возможность репликации сообщений. Репликация обеспечивает резервирование хранящихся в разделе сообщений. В Kafka каждый раздел всегда принадлежит одному брокеру в кластере, который называется лидером этого раздела. Однако, когда раздел реплицируется, он также назначается дополнительным брокерам. Эти дополнительные брокеры являются последователями (фолловерами) раздела. Если у раздела есть несколько копий, взаимодействие производителей и потребителей выглядит так:

  • Производители всегда подключаются к лидеру раздела, чтобы публиковать сообщения в этот раздел.

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

  • Потребители могут получать сообщения как от лидера, так и от одного из последователей. Это позволяет распределить нагрузку и улучшить производительность.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Эта архитектура обеспечивает баланс между доступностью, согласованностью и производительностью в кластере Kafka

☕ Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека джависта»

Преимущества Kafka

Kafka обладает рядом преимуществ, которые делают его уникальным инструментом для обработки больших потоков данных в реальном времени:

  • Поддержка множества производителей. Kafka может легко работать с несколькими источниками данных одновременно. Например, если у вас есть веб-приложение со множеством микросервисов, каждый из которых отслеживает действия пользователей, Kafka может собирать данные о просмотрах страниц в единую тему. Это позволяет агрегировать данные из разных источников и приводить их к единому формату.

  • Поддержка множества потребителей. Kafka позволяет нескольким потребителям одновременно читать один и тот же поток сообщений, не мешая друг другу. В отличие от других систем очередей, где сообщение удаляется после его обработки, в Kafka одно и то же сообщение может быть прочитано разными процессами. Кроме того, несколько потребителей могут объединяться в группы, и тогда каждое сообщение будет обрабатываться только одним участником группы.

  • Гибкие правила сохранения на диске. Kafka дает возможность настроить правила хранения. Это позволяет потребителям не беспокоиться о том, что они могут отстать из-за медленной обработки, резкого увеличения нагрузки или временного выхода из строя. Сообщения не потеряются, и потребители смогут продолжить работу с того места, на котором остановились. Это также упрощает администрирование потребителей, так как их можно отключать и перезапускать без опасений потерять данные.

  • Масштабируемость. Kafka способен обрабатывать любые объемы данных: на этапе разработки можно начать с одного брокера, а затем в продакшене постепенно увеличить количество до нескольких десятков или даже сотен брокеров. Расширение можно выполнять без остановки системы, что делает Кафку особенно удобным для использования в  высоконагруженных приложениях.

Недостатки Kafka

Как и любое другое ПО, Kafka не идеален:

  • Сложность настройки. Правильная настройка системы требует глубокого понимания всех опций, что порой затрудняет оптимизацию работы, поскольку Кафка предлагает огромное количество конфигурационных параметров. Разобраться в них не так просто даже для опытных разработчиков, не говоря уже о начинающих.

  • Встроенные инструменты управления Kafka оставляют желать лучшего. Например, названия аргументов командной строки отличаются непоследовательностью.

  • Недостаток зрелых клиентских библиотек. Хотя Kafka отлично поддерживается в Java и C/C++, клиентские библиотеки для других языков программирования не всегда достигают нужного уровня качества. Впрочем, эта проблема скоро будет решена: сообщества нескольких ЯП интенсивно работают над улучшением качества библиотек.

  • Отсутствие полноценной мультиарендности. Kafka не поддерживает настоящую мультиарендность – пока что нет возможности создавать полностью изолированные логические кластеры внутри физического кластера. Это ограничивает использование Kafka для раздельной работы нескольких команд или организаций в одном кластере.

🐍 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»

📬 Чем заменить Postman: 5 отличных инструментов для разработки API

Postman долгое время был основным инструментом для разработки и тестирования API, но сейчас для большинства разработчиков его ограничения стали перевешивать преимущества. Рассмотрим альтернативные инструменты, которые могут предложить больше возможностей, чем Postman – даже в бесплатной версии.

Apidog – комплексная платформа для разработки API

Apidog – это многофункциональная платформа, которая сочетает в себе тестирование, проектирование, документацию и мокирование API. Предлагает щедрый бесплатный план.

Особенности и возможности:

  • Неограниченные запуски коллекций в бесплатном плане.

  • Интеграция проектирования и тестирования API в едином интерфейсе.

  • Настраиваемые серверы мокирования без необходимости перехода на платные тарифы.

  • Совместная работа в реальном времени с возможностью легко делиться коллекциями и документацией.

  • Есть браузерный вариант.

Почему Apidog лучше Postman:

  • Нет ограничений на запуски коллекций.

  • Удобный интерфейс и низкий порог входа.

  • Доступные платные тарифы.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Apidog можно установить на комп или использовать в браузере

Insomnia – простой и мощный инструмент для тестирования API

Insomnia – это простой в использовании инструмент с поддержкой REST, GraphQL, WebSockets, SSE и gRPC API. Он привлекает внимание разработчиков своей минималистичностью и быстрой работой.

Особенности и возможности:

  • Поддержка GraphQL для выполнения запросов и мутаций в реальном времени.

  • Удобное управление окружениями (разработка, тестирование, продакшн).

  • Плагинная экосистема, позволяющая расширять функциональность.

  • Настраиваемые рабочие процессы для упрощения тестирования API.

Почему Insomnia лучше Postman:

  • Простота интерфейса и меньшее количество функций делает его более доступным.

  • Открытый исходный код и активное сообщество разработчиков.

  • Встроенная поддержка GraphQL, которая делает работу с ним более простой и естественной, чем в Postman.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Insomnia работает на Linux, Windows и macOS

➕➕ Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека C/C++-разработчика»

Hoppscotch – легкий и быстрый инструмент для разработки API

Hoppscotch (ранее Postwoman) – это браузерный инструмент, разработанный в качестве быстрой, простой и опенсорсной альтернативы Postman.

Особенности и возможности:

  • Полностью браузерное решение, не требующее установки.

  • Совместная работа в реальном времени, аналогичная Postman, но бесплатно.

  • Быстрая обработка запросов благодаря легковесной архитектуре.

  • Открытый исходный код с возможностью кастомизации.

Почему Hoppscotch лучше Postman:

  • Опенсорсный.

  • Работает намного быстрее.

  • Нет необходимости в установке – доступен с любого устройства.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Hoppscotch работает без установки

Paw – инструмент, разработанный для macOS

Paw – это нативный API-инструмент для macOS, бесшовно интегрирующийся с экосистемой Apple, что делает его отличным выбором для разработчиков на этой платформе.

Особенности и возможности:

  • Глубокая интеграция с macOS, включая поддержку Touch Bar и шорткатов.

  • Использование динамических значений (например, временные метки, UUID) для гибкости тестирования.

  • Расширенные инструменты отладки запросов.

  • Большой выбор всевозможных расширений.

  • Красивый и удобный интерфейс.

Почему Paw лучше Postman:

  • Интеграция с macOS делает его более удобным для пользователей Apple.

  • Более продвинутая отладка запросов.

  • Нативный интерфейс, оптимизированный для macOS.

  • Бесплатный.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Удобный и красивый интерфейс Paw

♾️ Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека девопсa»

SoapUI – расширенное тестирование API и веб-сервисов

SoapUI – это мощный инструмент, ориентированный на функциональное и нагрузочное тестирование API и веб-сервисов.

Особенности и возможности:

  • Поддержка функционального, нагрузочного и тестирования безопасности API.

  • Автоматизация тестов для упрощения сложных тестов.

  • Продвинутые возможности мокирования API.

  • Расширенные функции для крупных команд, включая интеграцию с CI/CD.

Почему SoapUI лучше Postman:

  • Есть бесплатная опенсорсная версия.

  • Расширенные возможности для тестирования нагрузки и безопасности, которых нет в Postman.

  • Мощные функции автоматизации, снижающие необходимость ручного тестирования.

  • Ориентирован на разработчиков крупных проектов, которым необходимы расширенные инструменты для работы с API.

Итоги недели в мире бэкенда и обзоры новых сервисов: 5 лучших альтернатив Postman. Как работает Kafka Backend, Инновации, Микросервисы, Программирование, Разработка, Технологии, API, IT, Javascript, Postman, Длиннопост

Бесплатной версии SoapUI достаточно для большинства проектов 

Подведем итоги

Каждая из рассмотренных выше альтернатив предлагает уникальные преимущества, которые могут сделать работу с API проще, быстрее и дешевле. Выбирайте инструмент, исходя из своих предпочтений и особенностей проекта:

  • Apidog – для комплексной разработки и тестирования API.

  • Insomnia – для встроенной поддержки GraphQL и gRPC API.

  • Hoppscotch – для скорости и работы в браузере.

  • Paw – для пользователей macOS.

  • SoapUI – для расширенного тестирования сложных веб-сервисов.

Автор рассылки: Наталья Кайда

Показать полностью 10
1

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя Bing, ChatGPT, Digital, Gemini, Github, Google, IT, Openai, Microsoft, YouTube, YouTube (ссылка), Инновации, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост

📰 Новости

Google DeepMind представила две новые ИИ-системы, ALOHA Unleashed и DemoStart, которые помогают роботам выполнять операции, требующие моторики и гибкости человеческого уровня.

Исследователи Оксфордского университета доказали, что ИИ-модели неизбежно деградируют, если их обучать на сгенерированном (а не созданном людьми) контенте. Качественные синтетические данные, создаваемые специально для обучения моделей, не приводят к деградации, но сгенерированные тексты в интернете обычно сильно уступают им по ценности. Между тем, на долю малоценного сгенерированного контента уже приходится 57% всех создаваемых текстов, а в 2025 году этот показатель достигнет 90% – ИИ медленно убивает и себя, и интернет.

Microsoft вошла в группу крупных инвесторов, которые собираются вложить $100 млрд в развитие ИИ-инфраструктуры в США.

Энтузиасты сравнили возможности ChatGPT-o1 и ChatGPT-4o. Выяснилось, что:

  • GPT-o1 превосходит уровень знаний специалистов со степенью PhD (кандидат наук по стандартам РФ, доктор наук по международным стандартам) в области физики, биологии и химии.

  • GPT-o1 лучше справляется с задачами, требующими сложных рассуждений и глубокой проработки ответов.

  • GPT-4o лучше подходит для общих задач, связанных с написанием текстов, генерацией тестового контента и кратким изложением информации.

  • GPT-o1 показывает лучшие результаты при работе с простыми и прямыми запросами, тогда как GPT-4o требует более детализированных и структурированных инструкций для достижения оптимальных результатов.

Runway заключила контракт с кинокомпанией Lionsgate, выпустившей немало блокбастеров, включая суперпопулярные франшизы «Сумерки», «Голодные игры» и «Джон Уик». Runway получит доступ ко всему каталогу Lionsgate и разработает кастомный видеогенератор для кинокомпании. Кроме того, Runway объявила о запуске API для доступа к Gen-3 Alpha Turbo – по примеру Luma, которая предоставила API для Dream Machine чуть раньше конкурента.

На YouTube в ближайшее время появятся несколько новых AI-инструментов. Среди них – продвинутый генератор для создания коротких видеоклипов Veo, разработанный Google DeepMind. А генератор инструментальной музыки для шортсов Dream Track и функция автоматического перевода и дубляжа станут доступными для более широкого круга пользователей платформы.

🚀 Внимание, джедаи кода!
Пришло время освоить силу шаблонов проектирования!

🎮 Обучайтесь, создавая легендарную игру «Звездные войны»!
С 18 по 25 сентября действует космическая акция: –30% на курс «Архитектуры и шаблоны проектирования» по промокоду MIDDLE.

🔥 Что вас ждет:

  • Погружение в мир профессионального проектирования

  • Практические навыки на реальном проекте

  • Создание собственной игры по мотивам «Звездных войн»

🔮 Инструменты

FactBot – проверяет утверждения и новости на соответствие реальным и доказанным фактам.

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя Bing, ChatGPT, Digital, Gemini, Github, Google, IT, Openai, Microsoft, YouTube, YouTube (ссылка), Инновации, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост

The truth is out there

KickИИ-бухгалтер для управления личными финансами.

Tripo AI – создает 3D-модели на основе текстовых описаний или изображения в считанные секунды. С помощью Tripo AI можно с нуля создать 3D-игру или  визуализировать любой интерьер.

Fletzr – создает динамические сайты, используя данные из электронных таблиц Google Spreadsheets.

Resemble AI – делает редактирование аудио таким же простым процессом, как редактирование текстового документа.

Jsonify – автоматизирует процесс сбора, очистки, валидации и синхронизации данных из любых источников, от веб-сайтов до локальных документов.

Marblism – генератор фулстек-приложений.

SellerPic – превращает тапкофотки в профессиональные студийные снимки.

Death Clock AI – предсказывает дату смерти на основе ваших привычек и дает советы по отодвиганию этого трагичного момента на более поздний срок. Интересный опыт использования этого приложения описан в этой статье.

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя Bing, ChatGPT, Digital, Gemini, Github, Google, IT, Openai, Microsoft, YouTube, YouTube (ссылка), Инновации, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост

Death Clock AI поможет избавиться от нездоровых привычек ради продления жизни

Hume AI – голосовой чат с несколькими персонажами, озвученными моделью EVI 2. Это первая модель, которая обладает эмоциональным интеллектом: она способна понимать все эмоции и интонации человека.

Superflex – ИИ-помощник фронтендера, выполняющий большую часть рутинной работы.

🤖🎨 Все самое полезное про нейросети для генерации изображений вы найдете на нашем телеграм-канале «Библиотека нейрокартинок»

🍄 Сделай сам

Линейка моделей Qwen 2.5 от Alibaba Cloud пополнилась вариантами для генерации кода и решения математических задач – Qwen2.5-Coder и Qwen2.5-Math.

Void – опенсорсный ИИ-редактор кода, альтернатива Cursor.

Mentat – ИИ-агент для написания кода, полностью интегрирован с GitHub.

Aider – ИИ-напарник программиста. Подключается к любой LLM и работает в терминале.

CogVideo – модель для генерации реалистичных видеоклипов. Теперь может использовать нужное изображение в качестве фона. Демо-версия доступна на HuggingFace.

Microsoft выпустила мини-модель GRIN MoE, предназначенную для написания кода и решения математических задач. Демо-версия работает на HugginFace, код модели доступен на GitHub.

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя Bing, ChatGPT, Digital, Gemini, Github, Google, IT, Openai, Microsoft, YouTube, YouTube (ссылка), Инновации, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост

GRIN MoE неплохо решает логические задачки

🤖✍️ Все самое полезное про ИИ-помощников вроде ChatGPT, Gemini, Bing и других вы найдете на нашем телеграм-канале «Библиотека нейротекста»

🥷 Путь ML-самурая: от школьной математики до передового машинного обучения

Машинное обучение (ML) находится на стыке компьютерных наук и математики; ML использует сложные математические концепции для создания алгоритмов, способных обучаться на данных и делать прогнозы. Насколько высокий уровень математических знаний нужно иметь, чтобы без труда разобраться в передовых методах машинного обучения? Посмотрите любую серьезную ML-статью на arxiv.org, например, эту: если формулы в ней не кажутся вам иероглифами, то с вашим уровнем математики все в порядке.

Итоги недели в мире ИИ и обзоры новых сервисов: ИИ убивает интернет и себя Bing, ChatGPT, Digital, Gemini, Github, Google, IT, Openai, Microsoft, YouTube, YouTube (ссылка), Инновации, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост

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

Изучение фундаментальной математики похоже на то, как мы учимся читать. Как только мы научимся читать, перед нами открывается целый мир новых знаний. Без этого навыка доступ к этим знаниям закрыт. Точно так же без понимания основ математики невозможно двигаться дальше в машинном обучении – все дальнейшие темы будут просто недоступны.

Математика для ML: что действительно нужно знать

Дорожная карта для перехода от школьной математики к передовому ML включает 4 основных этапа.

1. Базовая математика. Фундаментальная математика необходима для понимания того, как работают модели машинного обучения и как они обучаются на данных. Для большинства людей этот этап – самый сложный, переломный момент на пути к машинному обучению. Именно на этой ступени многие бросают обучение. В необходимую математическую базу входят:

  • Алгебра – фундаментальный раздел математики, который формирует основу для большинства математических операций и вычислений в машинном обучении. Ключевые концепции:

    • Уравнения и неравенства – важно уметь решать линейные и нелинейные уравнения, так как они часто возникают при обучении моделей, например, в задачах оптимизации.

    • Полиномы – многие функции, которые используются в машинном обучении, могут быть приближены полиномами.

    • Логарифмы и экспоненты – широко используются в функциях активации нейронных сетей, расчетах вероятностей и задачах оптимизации.

  • Математический анализ – дифференциальное и интегральное исчисление функций одной переменной. Помогает понимать поведение функций и их изменения. В машинном обучении эти понятия часто встречаются в задачах, связанных с настройкой гиперпараметров модели и минимизацией ошибок:

    • Пределы и непрерывность – важны для понимания функций потерь и того, как они зависят от параметров модели.

    • Производные – широко используются в задачах оптимизации, где необходимо минимизировать функции потерь с помощью методов градиентного спуска.

    • Интегралы – применяются для нахождения площадей под кривыми и в вероятностных расчетах, например, при вычислении функций распределения.

  • Линейная алгебра – важнейший инструмент для работы с многомерными данными и построения сложных моделей. Лежит в основе многих алгоритмов машинного обучения, особенно тех, что работают с большими объемами данных. Основные темы:

    • Векторы и матрицы – применяются для представления данных (например, векторы признаков).

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

    • Определители и обратные матрицы – используются в некоторых алгоритмах, таких как метод наименьших квадратов.

    • Собственные значения и собственные векторы – применяются в методах снижения размерности данных (например, PCA – метод главных компонент).

  • Теория вероятностей и статистика. Играют ключевую роль в понимании того, как работают модели машинного обучения и как интерпретировать их результаты. Основные моменты:

    • Основы теории вероятностей – вероятность событий, условные вероятности, байесовская статистика – все это критично для создания вероятностных моделей.

    • Распределения вероятностей – нормальное распределение, распределение Пуассона и другие – часто используются для моделирования случайных процессов.

    • Оценка параметров и гипотез – необходимо понимать, как оценивать параметры моделей и проверять гипотезы, например, используя тестирование гипотез и доверительные интервалы.

    • Корреляция и ковариация – помогают выявить связи между переменными, что важно при выборе признаков для модели.

  • Основы многомерного анализа – интегральное и дифференциальное исчисление для функций с несколькими переменными. Знание многомерного анализа важно для работы со сложными моделями машинного обучения, где требуется оптимизация в многомерных пространствах. Необходимые темы:

    • Частные производные – используются в многомерных задачах оптимизации для расчета градиентов в методе градиентного спуска.

    • Градиенты и гессианы – важны для определения направления и скорости изменения функций потерь в многомерном пространстве параметров.

    • Многомерные интегралы – применяются для расчета вероятностей в многомерных пространствах и в методах Монте-Карло.

2. Классическое машинное обучение. На этом этапе нужно научиться писать код для базовых моделей регрессии и классификации, чтобы самостоятельно реализовать, например, модель линейной регрессии (для предсказания числового значения) и логистической регрессии (для классификации данных на категории). Также надо разобраться в архитектуре небольших многослойных нейросетей.

3. Глубокое обучение. Надо научиться создавать многослойные нейронные сети с большим числом параметров. Архитектура сети будет подбираться под конкретные задачи: компьютерное зрение, обработка текста и так далее. Здесь уже нужно понимать, как оптимизировать сеть, выбирать правильные гиперпараметры и использовать мощные инструменты для работы с большими объемами данных.

4. Передовые технологии машинного обучения. Здесь изучаются самые современные и продвинутые модели: трансформеры, большие языковые модели (LLM), диффузионные модели и другие новейшие методы. Именно они вызывают у начинающих интерес к машинному обучению и привлекают внимание исследователей и разработчиков по всему миру.

Почему не стоить изучать математику для ML по обычным учебникам

В интернете достаточно бесплатных материалов, и при желании математику можно изучать самостоятельно. Следует, однако, отдавать предпочтение книгам и курсам, которые изначально создавались с учетом ML-специфики. Обычные учебники не подходят потому, что далеко не каждый раздел математики используется в ML полностью. Например, из раздела дифференциального исчисления для функций с несколькими переменными обязательно нужно знать, как вычислять градиенты. Градиенты постоянно используются в методах оптимизации, таких как градиентный спуск, который помогает обучать модели машинного обучения. Также важно хорошо понимать цепное правило дифференцирования сложных функций. Эти концепции лежат в основе алгоритма обратного распространения ошибки, который используется для обучения нейронных сетей.

В то же время дивергенция, ротор, сферические координаты и теорема Стокса вообще не встречаются в машинном обучении. Эти понятия важны в физике и многих других областях, но для работы с ML их знать не нужно. Вреда от лишних знаний, конечно же, не будет, но у такого широкоохватного подхода есть два серьезных минуса:

  • Много времени будет потрачено на изучение аспектов, которые никогда не пригодятся в работе.

  • Чем обширнее и сложнее программа подготовки, тем выше вероятность сдаться раньше времени и не дойти до цели вообще.

А специализированные книги и курсы, напротив, предлагают несколько весомых преимуществ (помимо сжатой программы):

  • Практические примеры – работа с градиентным спуском, матрицами признаков или вероятностными моделями, которые помогают лучше понять, как математические концепции применяются в машинном обучении.

  • Развитие интуитивного понимания специфических математических подходов, например, регуляризации для предотвращения переобучения или использования градиентных методов для минимизации функций потерь.

  • Современные методы и алгоритмы. Машинное обучение – быстро развивающаяся область, и специализированные книги часто содержат новейшие подходы и методы, которые еще не вошли в общие учебники математики.

Как не потерять мотивацию

Человеку с математическим образованием эта дорожная карта вряд ли покажется сложной, но для большинства остальных людей объем математики, необходимый для ML, выглядит пугающим. Чтобы не потерять мотивацию, стоит иногда отвлекаться – на чтение статей о передовых исследованиях, тестирование новых моделей машинного обучения и эксперименты с библиотеками. Это поможет поддержать живой интерес и энтузиазм. Также важно помнить, что после того, как вы освоите фундаментальную математическую базу и классическое машинное обучение, дело пойдет гораздо проще: вам уже будет по силам процесс создания и дообучения моделей по описаниям в публикациях на arxiv.org, а это откроет вход в ML-нишу на джуниорскую позицию.

🤖🧮 Освежите знания по математике или начните с основ и подготовьтесь к собеседованию в Big Tech на онлайн-курcе «Математика для Data Science»

Автор рассылки: Наталья Кайда

Показать полностью 4 8
2

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

⚛️ Улучшенная обработка асинхронных операций в React 19

Оригинал статьи – здесь.

Новая функциональность в React 19 направлена, прежде всего, на улучшение:

  • Управления состоянием.

  • Обработки ошибок.

  • Работы с асинхронными операциями.

Рассмотрим ключевые улучшения подробнее.

Действия (Actions)

Действия предназначены для обработки асинхронных запросов и автоматизации управления отложенными состояниями, ошибками и оптимистичными обновлениями. Фронтендеры теперь могут работать с асинхронными операциями более интуитивно, сохраняя пользовательский интерфейс отзывчивым в любое время – даже когда запросы выполняются в реальном времени.

Мониторинг состояния с помощью переменных типа isPending или isLoading во время асинхронных операций теперь можно заменить новым хуком useTransition.

UseTransition позволяет обновлять состояние компонента без блокировки пользовательского интерфейса. Другими словами, приложение будет работать и откликаться на действия пользователя при выполнении асинхронных операций в фоновом режиме, например, сетевых запросов. Пример использования:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Важно отметить, что startTransition объединяет все изменения состояния. Это значит, что любые обновления состояния, которые происходят внутри startTransition, не приведут к перерисовке интерфейса до тех пор, пока весь код внутри этого блока не выполнится. Например, в приведенном выше примере вызывается только одна функция – setError. Но если бы их было больше, все изменения состояния произойдут за один раз в конце. Это делает useTransition очень полезным, потому что он вызывает только одно обновление пользовательского интерфейса вместо нескольких. Если у вас внутри функции handleSubmit происходит несколько изменений состояния, например, N изменений, то без startTransition интерфейс обновлялся бы N раз, а с ним – только один раз.

Ранее приходилось вручную отслеживать состояние загрузки. До появления useTransition для отслеживания завершения операции, как в примере с updateName, нужно было использовать переменную состояния, например, isPending. Это выглядело бы так:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Обратите внимание, что при использовании такого подхода может возникнуть ситуация, когда состояние isPending будет установлено в false, но ошибка еще не произошла.

Предположим, что между моментами, когда isPending сбрасывается в false и когда проверяется ошибка (через if(error)), в приложении выполняется несколько асинхронных операций. Раньше это могло бы привести к негативному пользовательскому опыту – интерфейс обновился бы раньше, чем закончилась вся работа с данными, и пользователь увидел бы неполную информацию. Но при использовании startTransition такой проблемы не возникнет, потому что он вызывает обновление состояния только один раз – после того, как завершатся все операции. Это делает работу с асинхронными действиями более предсказуемой и даже упрощает код, убирая лишнюю строчку.

🎓☕ Подтянуть свои знания по Java вы можете на нашем телеграм-канале «Библиотека Java для собеса»

Улучшенная работа с формами

В React 19 появился новый хук useActionState, который предоставляет разработчикам встроенную поддержку для обработки состояний и отправки формы. Этот хук позволяет автоматически управлять состояниями и результатами:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Несколько важных моментов в этом примере:

  • Код внутри useActionState – это код действия. Все, что находится внутри хука useActionState, выполняется при отправке формы (или при каком-либо действии). Это, по сути, логика, которая выполняется при событии, например, при нажатии кнопки «Отправить».

  • formData не является типобезопасным. При вызове formData.get(name) нет гарантии, что будет возвращен текст. Может вернуться что угодно, и данные могут быть некорректными. Чтобы избежать ошибок, можно создать свой кастомный хук, который использует useActionState вместе с валидатором данных. Это позволит проверить данные перед отправкой на сервер (API).

  • submitAction передается напрямую в свойство action элемента.

  • useActionState создан специально для действий, особенно для работы с формами. Этот хук полезен, когда нужно управлять состоянием действий (например, отправкой формы), делая код более чистым и организованным.

Кроме useActionState, появился еще один полезный хук – useFormStatus. Он упрощает работу с элементами формы в React 19. С его помощью разработчики могут получать информацию о состоянии формы в дочерних компонентах, не передавая вручную пропсы и не используя контексты – это делает работу с формами более простой и интуитивной:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

useFormStatus предоставляет доступ к четырем свойствам формы (pending, data, method и action):

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Важно отметить, что только дочерние компоненты элемента формы смогут получить доступ к этим свойствам, т. е. DesignButton является дочерним компонентом в приведенном выше примере.

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире фронтенда. В наших еженедельных рассылках ты найдешь:

  • Современные JavaScript-фреймворки и библиотеки

  • HTML5 и CSS3: новые возможности и трюки

  • Оптимизация производительности веб-приложений

  • Тестирование и отладка кода

  • UX/UI лучшие практики

  • Новые веб-стандарты и браузерные технологии

  • Тренды в веб-дизайне и интерфейсах

  • Прогрессивные веб-приложения (PWA)

Оптимистические обновления

Оптимистические обновления – это способ мгновенно показать пользователю предполагаемый финальный результат в интерфейсе, даже если в фоновом режиме продолжается обработка данных. Это делает приложение более отзывчивым, особенно в случаях плохого соединения или долгих запросов. Если при выполнении возникает ошибка, интерфейс возвращается к исходному состоянию.

В React 19 можно реализовать оптимистические обновления с помощью нового хука useOptimistic:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Важные моменты:

  • useOptimistic работает как useState – он принимает начальное значение (в данном случае это currentName) и позволяет его изменять.

  • Если отправка данных завершится ошибкой, React автоматически вернет значение optimisticName обратно к currentName. Это обеспечивает безопасность данных – если что-то пойдет не так, пользователь увидит реальное состояние данных.

➕➕🧩 Интересные задачи по C++ для практики можно найти на нашем телеграм-канале «Библиотека задач по С++»

API use

В React 19 появилась новая возможность – использовать API use для работы с ресурсами, такими как промисы и контексты, прямо внутри функции рендеринга. Это новшество позволяет использовать use даже в условных конструкциях, что ранее было невозможно с хуками. Благодаря этому разработчики могут эффективнее управлять зависимостями данных и создавать более динамичные приложения. Пример работы с промисами:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Важные моменты:

  • Когда используется промис, use приостановит выполнение компонента до тех пор, пока промис не завершится. Это удобно для сетевых запросов, где данные еще загружаются. Вместе с компонентом Suspense можно показывать фолбэк (например, сообщение о загрузке) до завершения запроса.

  • Нельзя использовать промисы, созданные прямо в рендере. Если промис создается в процессе рендеринга, use не сможет его обработать. Промис должен быть заранее подготовлен и закэширован или должен использовать совместимые с Suspense библиотеки.

Пример работы с контекстом и условным рендерингом:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Важные моменты:

  • В отличие от других хуков, use можно использовать в условных операторах (но не в блоке try-catch). Как в примере выше, для переключения тем оформления можно использовать use в зависимости от условий (темная или светлая тема).

  • Нет необходимости в явных потребителях контекста. Вместо того чтобы использовать компоненты-контекстные потребители (Context.Consumer), теперь можно просто вызвать use для получения значения контекста прямо в компоненте, даже в условных выражениях. Так же, как и useContext, use находит ближайший провайдер контекста, который находится выше по дереву компонентов.

Серверные компоненты

Server Components в React 19 – новый способ рендеринга компонентов. Рендеринг происходит заранее: либо один раз во время сборки, либо при каждом запросе на сервере, который отделен от клиентской части приложения. Похожим образом реализован серверный рендеринг в Next.js.

С помощью серверных компонентов разработчики могут контролировать, когда создается HTML-страница: на сервере, во время сборки или в процессе выполнения запроса. Это дает больше гибкости и возможностей для оптимизации.

Раньше для получения статических данных, например, из CMS (системы управления контентом) часто использовали хук useEffect. Подобный код выполнялся после первого рендеринга страницы:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Проблема в том, что при этом:

  • Клиент загружает лишние библиотеки (например, 75 Кб для работы с Markdown и его очистки).

  • Данные загружаются после первого рендеринга страницы, что делает интерфейс медленнее.

Теперь все это можно загрузить сразу на сервере во время рендеринга, и клиенту не нужно ждать второй запрос или загружать лишние библиотеки:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🦫🎓 Подтянуть свои знания по Go вы можете на нашем телеграм-канале «Библиотека Go для собеса»

Серверные действия

Server Actions – это новая функция в React, позволяющая компонентам на клиенте вызывать асинхронные функции, выполняемые на сервере. Она создает связь между клиентом и сервером с помощью директивы use server. Это своего рода туннель, через который клиент может отправлять данные серверу для обработки.

Server Actions создаются в Server Components и могут передаваться в компоненты клиента как свойства (пропсы) или импортироваться и использоваться напрямую в Client Components.

Директива use server не указывает, что это компонент сервера, а создает связь между сервером и клиентом. Подобно тому, как use client говорит React отправлять JavaScript-код на клиент, use server создает «туннель», через который клиент может отправлять данные на сервер для обработки.

Допустим, у нас есть серверный компонент для создания заметок в базе данных. Этот компонент передает действие на клиент для выполнения по нажатию кнопки:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Когда React рендерит компонент EmptyNote, он создает ссылку на функцию createNoteAction и передает ее в клиентский компонент Button. Когда пользователь нажимает кнопку, React отправляет запрос на сервер для выполнения этой функции. Клиентский компонент выглядит так:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Также можно вынести серверное действие в отдельный файл и импортировать его:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Клиентский код:

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Преимущества Server Actions:

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

  • Улучшение SEO. Данные могут быть подготовлены на сервере заранее, что делает содержимое доступным для поисковых систем.

  • Повышение модульности и переиспользуемости. Возможность использовать как серверные, так и клиентские действия улучшает организацию кода и упрощает повторное использование логики в разных местах приложения.

🔌 15 суперполезных плагинов Chrome в помощь фронтендеру

Эти инструменты помогут значительно упростить и ускорить процесс разработки и тестирования фронтенда.

CSS Peeper для извлечения CSS-стилей

CSS Peeper упрощает процесс изучения и извлечения CSS-стилей с веб-сайтов, позволяя пользователям быстро получать доступ к стилям без необходимости разбираться в сложном многоуровневом коде.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

CSS Peeper предоставляет описание стилей, шрифтов, цветов и других элементов дизайна в удобном и понятном виде

Fake Filler для автоматического заполнения форм

Fake Filler пригодится и фронтендерам, и тестировщикам: расширение автоматически заполняет все поля формы вымышленными данными. Есть возможность кастомизации.

🧩☕ Интересные задачи по Java для практики можно найти на нашем телеграм-канале «Библиотека задач по Java»

Мобильный симулятор для тестирования адаптивности

Mobile Simulator проверяет адаптивность фронтенда на различных устройствах. Расширение обеспечивает симуляцию множества устройств Android и iPhone и позволяет увидеть ваш сайт именно так, как он будет выглядеть на реальном гаджете.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Симулятор может делать скриншоты приложения вместе с передней панелью устройства – пригодится для демонстрации

Wappalyzer для анализа технологического стека

Wappalyzer показывает, с помощью каких инструментов и технологий созданы веб-сайты: он определяет CMS, фреймворки, платформы электронной коммерции и другие технологии, используемые под капотом приложения.

Font Tester для тестирования шрифтов

Расширение Font Tester позволяет тестировать и просматривать более 1000 шрифтов Google на любом веб-сайте, что упрощает эксперименты с разными вариантами типографики. Всего несколькими кликами можно настроить толщину шрифта, высоту строки, применить курсив и многое другое. Плагин даже позволяет копировать необходимый код для выбранных шрифтов. Исходный код расширения можно взять на Github.

Ultimate Color Picker для выбора цвета

Ultimate Color Picker – простое и удобное расширение для выбора цвета, которое позволяет скопировать цвета в формате HEX и RGB с любого элемента страницы.

WAVE Evaluation Tool для оценки доступности

WAVE проверяет веб-приложения на соответствие стандартам доступности (для пользователей с ограниченными возможностями). Плагин выделяет потенциальные проблемы прямо на странице и предоставляет обратную связь по всем аспектам доступности, включая контраст, отсутствие альтернативного текста и атрибуты ARIA.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

WAVE помогает быстро выявить и устранить барьеры доступности

Image Downloader для загрузки изображений одним кликом

Image Downloader поможет скачать несколько или все изображения с веб-страницы одновременно, не кликая на каждой картинке.

➕➕🎓 Подтянуть свои знания по C++ вы можете на нашем телеграм-канале «Библиотека С++ для собеса»

Ahrefs SEO Toolbar для SEO-оптимизации

Ahrefs SEO Toolbar – бесплатный набор мощных инструментов, специально разработанный для SEO-специалистов. Он предлагает все необходимое для эффективной оптимизации и вывода сайта в топ поисковой выдачи.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Ahrefs SEO Toolbar анализирует все аспекты, влияющие на ранжирование в поисковиках

What Font для поиска шрифтов

What Font – самый простой способ узнать, как называется приглянувшийся вам шрифт и как его настроить так, чтобы он выглядел в точности как в приложении-источнике. Это расширение обеспечивает идентификацию шрифтов и всех их свойств – цвета, размера, насыщенности (веса) и т. д.

Tab Manager для управления вкладками

Tab Manager придет на помощь, если вы работаете одновременно над несколькими проектами, а время работы вам приходится держать открытыми множество вкладок и часто переключаться между ними.

Detailed SEO Extension для анализа SEO

Detailed SEO Extension предоставляет набор продвинутых инструментов и метрик для всестороннего анализа SEO-показателей. Помогает проверить и откорректировать все элементы разметки и описания страницы, которые влияют на результаты поисковой выдачи.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Проверка корректности метаинформации структуры страницы с помощью Detailed SEO Extension

Redux DevTools для управления состоянием приложения

Redux DevTools – незаменимый инструмент для всех, кто использует Redux для управления состоянием сложных React-приложений. С помощью Redux DevTools можно «путешествовать во времени» через изменения состояния приложения, просматривать дерево состояний в удобном формате и даже вручную отправлять действия. Это расширение помогает более эффективно отслеживать проблемы, понимать, как развивается состояние, и гарантирует, что управление состоянием работает так, как ожидается.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Redux DevTools предоставляет мощный интерфейс для отладки и проверки изменений состояния Redux, действий и редьюсеров

Ember Inspector для отладки приложений

Ember Inspector предназначен для отладки приложений на основе Ember.js. Расширение предоставляет подробную информацию о структуре и состоянии приложения в реальном времени – с его помощью можно:

  • Просматривать все маршруты, определенные в приложении.

  • Ориентироваться в соглашениях по именованию для URL-адресов, включая правила наименования контроллеров, шаблонов, маршрутов и других компонентов.

  • Показывать информацию о том, какие шаблоны, контроллеры и модели в данный момент отображаются.

  • Инспектировать модели и контроллеры с помощью интерфейса, который полностью поддерживает привязки и вычисляемые свойства.

  • Делать объекты приложения доступными в консоли через переменную $E.

  • Показывать все загруженные записи, если вы используете Ember Data.

Итоги недели в мире фронтенда и обзоры новых сервисов: улучшенная обработка асинхронных операций в React 19 Программирование, Разработка, Шаблон, Angular, Bootstrap, Google Chrome, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Отладка приложения с Ember.js

🦫🧩 Интересные задачи по Go для практики можно найти на нашем телеграм-канале «Библиотека задач по Go»

Scrnli для записи экрана

Scrnli предлагает множество опций для записи экрана и редактирования полученного видео. Расширение пригодится для записи рабочего процесса, демонстрации возможностей приложения, фиксирования ошибок, создания учебных материалов и документации.

Автор рассылки: Наталья Кайда

Показать полностью 21

Итоги недели в мире бэкенда и обзоры новых сервисов: 3 эпических сбоя, вызванных регулярками

Итоги недели в мире бэкенда и обзоры новых сервисов: 3 эпических сбоя, вызванных регулярками Backend, Искусственный интеллект, Инновации, Микросервисы, Программирование, Разработка, Технологии, Cloudflare, Отдел кадров, IT, Javascript, Nodejs, Regex, Stack Overflow, Windows, Видео, Длиннопост, YouTube, YouTube (ссылка)

😈 Осторожно – Regex! 3 эпических сбоя, вызванных регулярками

Регулярные выражения – мощный, гибкий и многофункциональный инструмент для обработки текста и валидации данных. С их помощью можно решать сложные задачи буквально одной строкой кода. Однако неправильно составленное регулярное выражение может превратиться в настоящую бомбу замедленного действия, готовую взорваться при определенных входных данных. Последствия могут быть сложноустранимыми, а иногда катастрофическими – как в этих реальных кейсах.

Сбой Stack Overflow

В 2016 году Stack Overflow испытал 34-минутный перебой в работе. Причиной стало регулярное выражение, используемое для обработки пользовательского ввода:

^[\s\u200c]+|[\s\u200c]+$

Это выражение должно было находить пробелы в начале и конце строки. Проблема возникла, когда какой-то пользователь запостил комментарий, содержащий около 20 000 последовательных пробелов. Механизм обработки регулярных выражений начал проверять каждый пробел. Когда после 20 000-го пробела встретился другой символ, движок начал откатываться назад, пытаясь найти соответствие, начиная со второго пробела, третьего и так далее.

Это привело к катастрофическому возврату (catastrophic backtracking) – ошибке, которая возникает, когда движок регулярных выражений тратит чрезмерное количество времени на попытки найти соответствие шаблону, перебирая различные комбинации. Количество проверок начало лавинообразно увеличиваться и быстро достигло 199 990 000 – это вызвало значительную задержку и в итоге сбой системы.

Для решения проблемы потребовалось 10 минут на обнаружение причины, 14 минут на написание исправления и еще 10 минут на развертывание решения. В результате регулярное выражение было заменено на функцию подстроки.

📖#️⃣ Больше полезных книг вы найдете на нашем телеграм-канале

«Книги для шарпистов | C#, .NET, F#»

Сбой Cloudflare

2 июля 2019 года произошел крупный сбой в работе платформы Cloudflare. Один из инженеров написал регулярное выражение, которое привело к действительно катастрофическому возврату – вызвало экстремальную перегрузку всей инфраструктуры. Использование процессоров выросло до 100%, а большинство сайтов, подключенных к Cloudflare, замедлились до крайности или вовсе оказались недоступными.

Коварная регулярка выглядела так:

(?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|\||\+)*.*(?:.*=.*)))

Самую большую опасность в этом выражении представляет

.*(?:.*=.*)

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

Глобальный сбой Windows/CrowdStrike

19 июля 2024 года произошел самый массовый сбой в истории – из строя вышли около 8,5 млн Windows-компьютеров с ПО CrowdStrike. Причиной сбоя стало несоответствие между ожидаемым количеством входных параметров (21) и фактическим количеством параметров (20), которые были переданы в интерпретатор контента (этот компонент отвечает за обработку содержимого с использованием регулярных выражений). Когда система получила ввод с 21 параметром, интерпретатор контента попытался считать данные за пределами выделенной памяти, что и привело к сбою системы.

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире бэкенда. В еженедельных письмах ты найдешь:

  • Языки программирования и фреймворки для бэкенда

  • Архитектура и проектирование серверных приложений

  • Базы данных и управление данными

  • Безопасность и защита данных

  • Облачные технологии и DevOps

  • API и интеграции

  • Тестирование и отладка

  • Инструменты и утилиты для бэкенд-разработчиков

  • Лучшие практики и паттерны проектирования

🤵 Как не завалить собеседование в крупной ИТ-компании

Разработчик с 10-летним коммерческим опытом поделился провальным опытом прохождения технического собеседования в одной из лидирующих компаний. Из этого провала он извлек три основных урока:

  • Перед собеседованием нужно освежить знания о структурах данных – и не только о списках, массивах и словарях. Не стоит игнорировать и те структуры, с которыми вы в последний раз сталкивались в университете и никогда не используете на практике – очереди, кучи и деревья. Автору попался как раз вопрос о деревьях, с которыми он с университетских времен не встречался и которые, скорее всего, на новой работе ему бы тоже не понадобились. Однако на собеседовании зачастую проверяются не только практические навыки, но и общая ИТ-эрудиция.

  • Для тренировки нужно использовать самый простой редактор кода и таймер. Хотя в реальной работе повсеместно используются IDE с автодополнением кода и прочей ИИ-функциональностью, крупные компании при проведении теста обычно настаивают на старомодном способе решения задач, без каких-либо подсказок со стороны IDE. Писать код надо быстро – поэтому во время подготовки к собеседованию обязательно нужно пользоваться таймером для самоконтроля.

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

📖🤖 Больше полезных книг вы найдете на нашем телеграм-канале

«Книги для дата-сайентистов | Data Science»

🛠️ Инструменты

BullMQ – библиотека для Node.js, которая реализует быструю и надежную систему очередей, основанную на Redis и предназначенную для решения всех основных задач в современных микросервисных архитектурах (сглаживание пиков нагрузки, создание надежных каналов связи между сервисами, распределение ресурсоемких задач между несколькими обработчиками и тому подобное).

Основные возможности и преимущества BullMQ:

  • Точная обработка сообщений – библиотека гарантирует доставку как минимум один раз.

  • Горизонтальное масштабирование – можно добавить сколько угодно обработчиков для параллельной обработки заданий.

  • Высокая производительность – благодаря эффективным Lua-скриптам и конвейерной обработке.

  • Минимальное использование CPU.

  • Распределенное выполнение заданий на основе Redis.

  • Поддержка очередей LIFO и FIFO.

  • Приоритезация и отсроченное выполнение заданий.

  • Запланированные и повторяющиеся задачи по расписанию.

  • Настройка параллельности для каждого обработчика.

  • Многопоточные (изолированные) функции обработки.

  • Автоматическое восстановление после сбоев процесса.

  • Поддержка зависимостей между задачами (родительские и дочерние задачи).

📖🦫 Больше полезных книг вы найдете на нашем телеграм-канале

«Книги для Go-разработчиков»

SigNoz – опенсорсный инструмент для мониторинга и устранения неполадок в развернутых приложениях. Это отличная бесплатная альтернатива коммерческим решениям – DataDog и New Relic.

Основная функциональность:

  • Единый интерфейс для метрик, трассировок и логов.

  • Визуализация метрик производительности приложений (RPS, процентили задержек, частота ошибок).

  • Распределенная трассировка для выявления проблем в сервисах.

  • Управление логами с продвинутым построителем запросов.

  • Мониторинг инфраструктуры.

  • Отслеживание исключений в различных языках программирования.

  • Настраиваемые оповещения.

  • Поддержка OpenTelemetry для инструментирования приложений.

  • Возможность агрегации данных трассировки для получения бизнес-метрик.

Итоги недели в мире бэкенда и обзоры новых сервисов: 3 эпических сбоя, вызванных регулярками Backend, Искусственный интеллект, Инновации, Микросервисы, Программирование, Разработка, Технологии, Cloudflare, Отдел кадров, IT, Javascript, Nodejs, Regex, Stack Overflow, Windows, Видео, Длиннопост, YouTube, YouTube (ссылка)

Интерфейс SigNoz

📖➕➕ Больше полезных книг вы найдете на нашем телеграм-канале «Книги для C/C++-разработчиков»

Infisical – опенсорсная платформа для удобного и безопасного управления секретами и конфигурационными данными. Основные возможности:

  • Централизованное хранение секретов – позволяет безопасно хранить в одном месте все важные данные (API-ключи, пароли от баз данных и другие конфиденциальные настройки приложений).

  • Синхронизация между командой и инфраструктурой – гарантирует, что все члены команды и все части инфраструктуры будут получать доступ к актуальным секретам и ключам.

  • Предотвращение утечек – помогает предотвратить случайное раскрытие секретной информации, например, путем коммита в Git-репозиторий.

  • Управление конфигурациями – позволяет управлять общими настройками приложений для разных сред (разработка, тестирование, продакшн).

  • Безопасный доступ – предоставляет инструменты (SDK, CLI, API) для безопасного получения секретов в приложениях и инфраструктуре.

  • Контроль доступа – позволяет настраивать права доступа к секретам для разных пользователей и систем.

  • Аудит и версионирование – ведет лог всех действий с секретами и позволяет отслеживать их изменения во времени.

  • Интеграция с инфраструктурой – легко интегрируется с популярными платформами и инструментами (GitHub, AWS, Kubernetes и т. п.).

  • Управление внутренней PKI – позволяет создавать и управлять собственной инфраструктурой открытых ключей для выпуска цифровых сертификатов.

KubeAI – инструмент для развертывания и управления опенсорсными LLM-моделями в среде Kubernetes. Среди основных функций и особенностей:

  • Совместимость с OpenAI. Предоставляет API, совместимый с OpenAI, что позволяет легко заменить сервисы OpenAI в любых ИИ-приложениях на локальные.

  • Поддержка различных моделей. Может работать с различными моделями, включая языковые (LLMs), модели для преобразования речи в текст (например, Whisper) и другие.

  • Мультиплатформенность. Может работать на разных аппаратных платформах, включая системы только с CPU, системы с GPU, а в будущем планируется поддержка TPU.

  • Масштабирование. Обеспечивает автоматическое масштабирование в зависимости от нагрузки, включая возможность масштабирования до нуля (когда ресурсы не используются).

  • Простота развертывания. Не требует никаких дополнительных зависимостей типа Istio или Knative.

  • Встроенный пользовательский интерфейс. Предоставляет чат-интерфейс OpenWebUI для взаимодействия с моделями.

  • Управление серверами vLLM, Ollama и FasterWhisper.

  • Интеграция с системами обмена сообщениями. Поддерживает потоковую передачу и пакетную обработку через интеграции с Kafka и другими PubSub-системами обмена сообщениями.

Zed – опенсорсный многопользовательский редактор кода, предназначенный для совместной работы над проектом в реальном времени. Основные особенности и возможности:

  • Написан на Rust и отличается высокой скоростью и минимальными требованиями к ресурсам.

  • Предусматривает интеграцию с LLM для генерации, анализа и рефакторинга кода.

  • Имеет встроенный терминал.

  • Предоставляет несколько удобных функций для совместной работы – демонстрацию экрана, общие заметки и т. п.

  • Разработан с учетом конфиденциальности пользователей и не собирает личные данные.

📖☕ Больше полезных книг вы найдете на нашем телеграм-канале

«Книги для джавистов | Java»

Warp – современный высокопроизводительный терминал с ИИ-функциональностью. Основные особенности и возможности:

  • Производительность. Написан полностью на Rust и использует рендеринг на GPU через Metal API, что обеспечивает высокую скорость работы (60+ FPS даже на 4K- и 8K-мониторах).

  • Поддержка совместной работы в реальном времени.

  • Улучшенный ввод команд. Редактор ввода команд представляет собой полноценный текстовый редактор с поддержкой выделения текста, позиционирования курсора, привычных пользователям сочетаний клавиш и автодополнения.

  • Встроенный чат-бот. Понимает указания на естественном языке, дает рекомендации и отвечает на вопросы.

  • Блоки команд. Команды и их вывод визуально группируются в блоки, что улучшает организацию и читаемость информации в терминале.

  • Совместимость с популярными оболочками. Работает с Bash, ZSH и Fish, сохраняя существующие привязки клавиш.

  • Кроссплатформенность. Работает на macOS и Linux, вскоре будет поддерживать Windows и WASM.

  • Продвинутый UI. В отличие от традиционных терминалов, может отображать различные элементы интерфейса (всплывающие уведомления, меню и т. д.).

Автор рассылки: Наталья Кайда

Показать полностью 1 2
3

Итоги недели в мире ИИ и обзоры новых сервисов: OpenAI близка к созданию супер-ИИ

Итоги недели в мире ИИ и обзоры новых сервисов: OpenAI близка к созданию супер-ИИ ChatGPT, Digital, Doom, Gemini, Google, IT, Openai, Nvidia, Tesla, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост, YouTube, YouTube (ссылка), Инновации

📰 Новости

Anthropic открыла бесплатным пользователям Claude доступ к Artifacts – интерактивной фиче, особенно полезной для генерации и тестирования кода, – и поделилась своими системными промптами.

Исследователи Google представили модель GameNGen, способную симулировать прохождение DOOM в реальном времени.

Испанские исследователи создали модель AINU, способную определять онкологические и вирусные заболевания на самых ранних стадиях, до появления каких-либо видимых или ощущаемых симптомов. Этот ИИ замечает клеточные поражения на наноуровне, даже если их размер не превышает всего 20 нм (что в 5 000 раз меньше диаметра человеческого волоса).

Plaud представила новый носимый ИИ-гаджет, NotePin, стоимостью $169. Он предназначен для создания заметок и суммаризации всего, что происходит в жизни владельца.

В Gemini появились Gems – аналог кастомных GPT и Copilot Studio. Можно воспользоваться одним из преднастроенных Gem (среди них есть ассистент по программированию, редактор текста, карьерный консультант и т. п.) или создать нужного помощника с нуля.

Илон Маск недавно объявил, что Tesla теперь – в первую очередь компания по производству роботов, и электромобили она будет собирать только ради финансирования этой великой цели. Однако свежая модель Optimus совсем не впечатлила посетителей конференции в Пекине: роботы китайских производителей, например Unitree, выглядят очень продвинуто на фоне Tesla-бота.

🤖🎨 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion»

Бывший исследователь OpenAI сообщил, что компания близка к созданию супер-ИИ, но его безопасностью буквально некому заниматься: за 2024 год из 30 специалистов по безопасности ИИ осталось всего 16.

Грядущий GPU от NVIDIA, Blackwell, демонстрирует 4-кратное увеличение скорости работы по сравнению со своим популярным предшественником, H100. Эта разработка подтверждает лидирующую позицию компании в нише, но потенциальные конкуренты тоже готовы сделать весомый вклад в развитие AI-инфраструктуры: стартапы Tenstorrent, Cerebras Systems, D-Matrix, Groq и SiMa.ai недавно представили чипы, которые во многом превосходят возможности существующих GPU от NVIDIA.

Итоги недели в мире ИИ и обзоры новых сервисов: OpenAI близка к созданию супер-ИИ ChatGPT, Digital, Doom, Gemini, Google, IT, Openai, Nvidia, Tesla, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост, YouTube, YouTube (ссылка), Инновации

Wormhole (Tenstorrent) и WSE-3 (Cerebras Systems) – самый большой ИИ-чип в мире

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире искусственного интеллекта. Наша цель – держать подписчиков в курсе самых интересных открытий, исследований и приложений ИИ.

В еженедельных письмах ты найдешь:

  • Новости о прорывных исследованиях в области машинного обучения и нейросетей.

  • Материалы о применении ИИ в разных сферах – медицине, бизнесе, науке, производстве и образовании.

  • Статьи об этических аспектах развития технологий.

  • Подборки лучших онлайн-курсов и видеолекций по машинному обучению.

  • Обзоры инструментов и библиотек для разработки нейронных сетей.

  • Ссылки на репозитории с открытым исходным кодом ИИ-проектов.

  • Фильмы, сериалы и книги, которые заслуживают внимания AI-энтузиастов.

🛠️ Инструменты

GPT Engineer – разрабатывает веб-приложения любой сложности.

Photoroom – продвинутый ИИ-редактор со множеством функций для модификации и улучшения качества изображений.

Documind – чат с PDF-документами.

Viggleоживляет изображения, воспроизводя нужные движения из видеореференса.

Reddit Scout – ищет нужные обсуждения на Reddit и делает суммаризацию.

JobTailor – поможет найти работу вашей мечты.

MakeMyAnime – генерирует анимешные видео в любом стиле.

AI Ease – бесплатно создает профессиональные фотопортреты по селфи.

Итоги недели в мире ИИ и обзоры новых сервисов: OpenAI близка к созданию супер-ИИ ChatGPT, Digital, Doom, Gemini, Google, IT, Openai, Nvidia, Tesla, Искусственный интеллект, Нейронные сети, Программирование, Чат-бот, Видео, Длиннопост, YouTube, YouTube (ссылка), Инновации

AI Ease генерирует фото для профайлов и резюме

🤖✍️ Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека нейротекста | ChatGPT, Gemini, Bing»

VoiceGen – гиперреалистичная озвучка и клонирование голоса.

Magicamзаменяет лицо на видео в реальном времени.

PackPack – браузерное расширение для сохранения, организации и суммаризации любого контента.

🤖 История случайного создания генеративного ИИ

Большинство ИИ-энтузиастов знает, что архитектура трансформера, которая стала основой нынешней технологии генеративных ИИ-моделей, была впервые представлена исследователями Google в 2017 году в публикации «Внимание – это все, что вам нужно». Однако мало кто знает, что генеративные способности трансформера возникли буквально сами собой. Это стало полной неожиданностью для разработчиков модели – изначально они ее создавали для продвинутого машинного перевода, а не для генерации текста.

«Я был шокирован, ошеломлен. Я думал, что мы придем к чему-то подобному через двадцать, двадцать пять лет, а оно просто появилось», – сказал Эйдан Гомес, один из разработчиков первого GPT, о своем революционном детище. Даже сейчас, спустя годы после создания, исследователи команды признают, что многие аспекты работы трансформеров остаются непонятными для них. Как именно было совершено одно из самых важных технологических открытий XXI века, разработчики рассказали журналисту The New Yorker.

Команда из восьми человек работала без устали в течение 12 недель, иногда даже ночуя в офисе. Их задачей было разработать более эффективную систему перевода, способную обрабатывать язык без строгой последовательности, которая замедляла все существующие системы.

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

🤖🦾 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей»

Прорыв произошел, когда они обнаружили, что их модель достигла впечатляющего показателя по BLEU (метрика оценки качества машинного перевода) – более 26 баллов для перевода с английского на немецкий, превзойдя предыдущие системы за считанные часы обучения вместо дней.

Однако настоящий сюрприз ждал их впереди – оказалось, что трансформер способен не только переводить, но и генерировать текст. Исследователи обучили модель на статьях из Википедии (это заняло два дня, в течение которых было обработано чуть менее половины контента энциклопедии) и дали ей задание – написать несколько статей о несуществующем объекте под названием The Transformer. К их изумлению, система сгенерировала пять совершенно правдоподобных статей о вымышленных объектах, включая детальные описания несуществующей японской панк-группы и австралийского ситкома.

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

  • Механизм самовнимания позволяет системе находить релевантные связи между словами в большом объеме текста.

  • Система учится на основе паттернов в данных, не ограничиваясь предписанными правилами грамматики или синтаксиса.

  • Трансформер обучается продолжать текст, устанавливая отношения между токенами (группами букв, знаков препинания и пробелов).

  • Увеличение размера модели и объема данных для обучения приводит к значительному улучшению производительности.

🎥 Лучшие AI-инструменты для редактирования видео

Adobe Premiere Pro, известный видеоредактор, теперь предлагает множество инструментов на основе искусственного интеллекта. Некоторые из самых интересных функций включают:

  • Редактирование клипов с помощью текстовых промптов.

  • Автоматическую категоризацию аудио – распознает тип звука (музыка, звуковые эффекты, диалоги и т. д.) и предлагает соответствующие инструменты.

  • Преобразование речи в текст – автоматически создает транскрипты и субтитры на 18 языках.

Подходит для: проектов и специалистов среднего/профессионального уровня.

DaVinci Resolve также предлагает множество инструментов на основе ИИ. Одна из самых интересных функций – распознавание лиц. Она позволяет автоматически группировать клипы по лицам. Это особенно полезно при работе с видеозаписями мероприятий с большим количеством людей.

Подходит для: пользователей и проектов любого уровня.

CapCut – популярное приложение для редактирования видео, известное простотой в использовании. Оно предлагает множество инструментов на основе ИИ, включая автоматическое создание коротких клипов из длинных видео.

Подходит для: создания коротких видео формата TikTok, Instagram* Reels или YouTube Shorts.

🤖🎥 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека нейровидео | Sora AI, Runway ML, дипфейки»

Runway специализируется на ИИ-инструментах для генерации и редактирования видеоконтента. Предлагает очень широкую функциональность, но редактирование может быть сложным для начинающих пользователей (а вот генерацией пользоваться очень просто).

Подходит для: опытных специалистов.

InVideo – очень простой и в то же время достаточно мощный инструмент для генерации и редактирования коротких видео.

Подходит для: новичков без опыта редактирования.

ClipChamp – приложение для редактирования и озвучивания видео от Microsoft. Отличается огромным выбором и гибкостью настройки голосов.

Подходит для: начинающих, желающих создавать короткие видео.

Descript – предлагает разные инструменты для обработки видео, включая автоматическое создание транскриптов.

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

Wondershare Filmora – кроссплатформенный видеоредактор, известный простотой и многофункциональностью. Предлагает множество инструментов на основе ИИ, включая интерполяцию кадров и удаление вокала.

Подходит для: пользователей и проектов начального/среднего уровня.

🤖🔊 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка»

✊ Сделай сам

Генераторы изображений зачастую работают слишком медленно, а все существующие методы ускорения этих моделей требуют большого количества тренировочных изображений. Разработчики SwiftBrush представили новый метод обучения, который не требует реальных изображений. Этот метод вдохновлен технологией создания 3D-моделей по текстовым описаниям и позволяет быстро обучить модель для создания качественных изображений с одного раза.

Video Foundation Model Evaluation Framework – мощный инструмент для работы с видеоданными. Он позволяет анализировать видео, сравнивать их и извлекать из них полезную информацию. Основная функциональность:

  • Оценивает качество эмбеддингов на разных наборах данных (Kinetics-400, Something-Something-v2, Moments-in-Time, Diving 48).

  • Находит похожие видео на основе векторных представлений.

  • Определяет начало и конец действий в видео.

  • Разбивает видео на сегменты, соответствующие разным действиям.

  • Визуализирует векторные представления.

LayerPano3D – генератор иммерсивных 3D-сцен, которым можно найти применение в AR/VR, геймдеве и интерактивном обучающем контенте.

* Instagram принадлежит компании Meta, деятельность которой признана экстремистской и запрещена на территории РФ.

Автор рассылки: Наталья Кайда

Показать полностью 2 8
6

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🔮 10 полезных JavaScript-трюков

Деструктуризация с переименованием (алиасингом)

Деструктуризация – это способ извлечь значения из массивов или свойства из объектов и присвоить их отдельным переменным. Алиасинг (переименование) позволяет дать новые имена этим переменным в процессе деструктуризации:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Зачем это нужно:

  • Улучшает читаемость кода.

  • Помогает избежать конфликтов имен – если у вас уже есть переменная city, можно использовать hometown.

  • Пригодится при работе с API, если он возвращает данные с неподходящими для вашего кода именами.

Каррирование

Каррирование – техника преобразования функции с несколькими аргументами в серию функций, каждая из которых принимает только один аргумент. Это делает функции более гибкими и переиспользуемыми. Например, это обычная функция расчета скидки:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Та же функция, но с использованием каррирования:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Зачем это нужно:

  • Обеспечивает переиспользуемость функций.

  • Повышает читаемость и модульность кода.

  • Позволяет создавать новые функции на лету, используя уже существующие, например:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🤖🎓 Подтянуть свои знания по DS вы можете на нашем телеграм-канале «Библиотека DS для собеса»

debounce() и throttle()

Дебаунсинг и троттлинг – техники оптимизации, которые помогают контролировать частоту вызова функций. Они особенно полезны при работе с событиями, которые могут происходить очень часто, например, прокрутка страницы или ввод текста.

debounce() работает так:

  • Функция вызывается только после того, как прошло определенное время с момента последнего вызова.

  • Если функция вызывается снова до истечения этого времени, таймер сбрасывается.

В этом примере функция поиска будет вызвана только через 300 миллисекунд после того, как пользователь перестанет вводить текст. Это позволяет избежать лишних запросов к серверу при каждом нажатии клавиши:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

throttle() работает так:

  • Функция вызывается не чаще, чем раз в заданный интервал времени.

  • Если попытка вызвать функцию происходит до истечения интервала, вызов игнорируется.

В этом примере функция handleScroll будет вызываться не чаще, чем раз в 300 миллисекунд, независимо от того, сколько раз пользователь прокрутил страницу за это время:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Мемоизация

Мемоизация – техника оптимизации, связанная с кэшированием промежуточных результатов сложных вычислений. Вместо того чтобы каждый раз заново решать сложную задачу, мы записываем ответ и в следующий раз просто смотрим в наш кэш:

  • Когда функция вызывается с определенными аргументами, мы сначала проверяем, вычисляли ли мы уже результат для этих аргументов.

  • Если да, мы возвращаем сохраненный результат.

  • Если нет, мы выполняем вычисление, сохраняем результат и возвращаем его.

Пример мемоизации при вычислении ряда Фибоначчи:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Без мемоизации вычисление fibonacci(40) заняло бы очень много времени, потому что функция вызывала бы себя рекурсивно миллионы раз, повторяя одни и те же вычисления.

  • С мемоизацией каждое число Фибоначчи вычисляется только один раз. При повторном запросе того же числа результат берется из кэша, что значительно ускоряет работу.

Когда использовать мемоизацию:

  • Для функций с очень сложными вычислениями.

  • Когда функция часто вызывается с одними и теми же аргументами.

  • Когда функция  возвращает один и тот же результат для одних и тех же входных данных.

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

🐘🧩 Интересные задачи по PHP для практики можно найти на нашем телеграм-канале «Библиотека задач по PHP»

Proxy

Proxy позволяет нам обернуть объект и контролировать взаимодействие с ним. Мы можем перехватывать и изменять основные операции – чтение свойств, их запись, вызов функций и т. д. Proxy особенно полезен, когда нужно добавить дополнительное поведение к объектам, не изменяя их напрямую: это может быть полезно для отладки, для реализации реактивных систем (как в Vue.js), для создания умных объектов и многого другого:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Для чего еще можно использовать Proxy:

  • Валидация – проверка данных перед их установкой в объект.

  • Логирование – отслеживание использования и изменений свойств объекта.

  • Создание вычисляемых на лету свойств.

  • Безопасность – можно контролировать доступ к свойствам объекта.

Генераторы

Генераторы – особый тип функций в JavaScript:

  • Могут приостанавливать свое выполнение и возобновлять его позже.

  • Сохраняют свое состояние между вызовами.

  • Используют ключевое слово yield для возврата значений.

Пример итерации по свойствам объекта:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Преимущества генераторов:

  • Ленивые вычисления – вычисляют значения, когда они действительно нужны.

  • Создание бесконечных последовательностей, не занимающих бесконечный объем памяти.

  • Упрощение асинхронного кода – можно сделать асинхронный код более похожим на синхронный.

  • Создание кастомных итераторов для сложных структур данных.

Эффективное использование консоли

Помимо console.log(), консоль предоставляет несколько более наглядных методов вывода информации.

  • Ошибки и предупреждения:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Вывод табличных данных:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Группировка логов:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Измерение времени выполнения:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Условное логирование:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Трассировка стека:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🐍🎓 Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека Python для собеса»

Структурированное клонирование

Структурированное клонирование – метод создания полной (глубокой) копии объекта, включающей все вложенные объекты и структуры данных. Функция structuredClone позволяет выполнять такое клонирование просто и эффективно – в  отличие от JSON.parse(JSON.stringify()), structuredClone корректно обрабатывает Date, Map, Set и другие специальные типы JavaScript:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Структурированное клонирование стоит использовать, если:

  • Нужно создать полную, независимую копию сложного объекта.

  • Данные не должны изменяться (иммутабельность).

  • Необходимо избежать побочных эффектов при изменении данных.

Самовызывающиеся функции

Самовызывающиеся функции (IIFE) выполняются автоматически сразу после их создания. Они создают временную область видимости, в которой можно безопасно определять переменные и функции, не беспокоясь о том, что они будут конфликтовать с другими частями кода и загрязнять глобальную область видимости. Эта техника особенно полезна в старых средах JavaScript, где блочная область видимости (let и const) недоступна, или в сценариях, где требуется немедленное выполнение для инициализации:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Теговые шаблоны

Теговые шаблоны позволяют разбирать шаблонные литералы с помощью функции. Первый аргумент такой функции содержит массив строковых значений, а остальные содержат выражения из подстановок. Здесь, например, функция sanitize заменяет опасные символы на их безопасные HTML-сущности, предотвращая выполнение нежелательного кода:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Как можно использовать теговые шаблоны:

  • Автоматически обрабатывать пользовательский ввод, предотвращая XSS-атаки.

  • Форматировать числа, даты и т. д.

  • Безопасно формировать SQL-запросы, экранируя ввод.

  • Создавать теги для автоматического перевода строк с одного языка на другой.

🤖🧩 Интересные задачи по DS для практики можно найти на нашем телеграм-канале «Библиотека задач по DS»

📐 Единицы измерения высоты и ширины экрана в современном CSS

На протяжении многих лет разработчики использовали vh и vw, чтобы задавать размеры элементов в процентах от высоты и ширины экрана. Например, чтобы заполнить весь экран элементом, его размеры можно задать как 100vh на 100vw. Однако эти единицы могут работать ненадежно в некоторых случаях, например, при изменении видимой области экрана на мобильных устройствах из-за скрытия адресной строки браузера при прокрутке. Сейчас CSS предлагает новые единицы измерения, которые учитывают динамические изменения интерфейса браузера.

Large Viewport Units (lvh, lvw)

Эти единицы задаются относительно максимального размера видимой области, когда интерфейс браузера минимизирован (например, скрыты панели). По сути, они ведут себя аналогично классическим vh и vw, но с учетом возможных изменений интерфейса. Этот элемент будет занимать весь экран независимо от состояния интерфейса браузера:

.full-page-element {
height: 100lvh;
width: 100lvw;
z-index: -1
background: #f51;
}

Small Viewport Units (svh, svw)

Эти единицы рассчитываются относительно минимального размера видимой области, когда интерфейс браузера максимально расширен (например, когда панели видимы). Пример – статичный заголовок, занимающий 10% от минимальной видимой области:

.header {
height: 10svh;
background-color: #642;
}

Dynamic Viewport Units (dvh, dvw)

Эти единицы измеряются с учетом динамических изменений видимой области при взаимодействии пользователя с интерфейсом (например, при прокрутке страницы или появлении виртуальной клавиатуры). Есть нюансы: использование этих единиц иногда приводит к неожиданным изменениям размеров контента и ухудшению производительности. Пример – элемент, который адаптируется к изменениям высоты видимой области:

.adjustable-element {
height: calc(100dvh - 10svh);
}

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире фронтенда. В наших еженедельных рассылках ты найдешь:

  • Современные JavaScript-фреймворки и библиотеки

  • HTML5 и CSS3: новые возможности и трюки

  • Оптимизация производительности веб-приложений

  • Тестирование и отладка кода

  • Лучшие практики UX/UI

  • Новые веб-стандарты и браузерные технологии

  • Тренды в веб-дизайне и интерфейсах

  • Прогрессивные веб-приложения (PWA)

✍️ 50 лучших ресурсов с бесплатными HTML/CSS/JS-шаблонами

  • HTMLrev – крупнейшая бесплатная библиотека шаблонов, созданных с использованием всех существующих технологий, включая HTML/CSS/JS, Bootstrap, Tailwind, Bulma, Angular, React, Vue, Next.js, Nuxt, Svelte, Astro, Laravel, Django, Gatsby, Hugo, Jekyll и BCMS.

  • HTML5 UP – бесплатная коллекция HTML-шаблонов с уникальным дизайном и высоким качеством кода.

  • StyleShout предлагает широкий выбор шаблонов для различных целей, включая SaaS, мобильные приложения, блоги, лендинги, портфолио и агентства.

  • One Page Lovе включает шаблоны на Bootstrap, Next.js, Tailwind, Carrd и Framer.

  • Cruip предлагает шаблоны на Tailwind, React, Vue, Next.js и Laravel.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🐍🧩 Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

  • Templatemo – огромная коллекция бесплатных Bootstrap-шаблонов.

  • ThemeSelection – библиотека бесплатных и платных шаблонов на Vue, Next.js, Nuxt и Laravel. Специализируется на административных панелях и UI-китах.

  • Creative Tim – шаблоны на Bootstrap, Tailwind, Angular, React, Vue, Next.js, Nuxt, Svelte, Laravel, Django и Astro.

  • Themesberg предлагает широкий выбор шаблонов для административных панелей, лендингов, дизайн-систем и UI-китов.

  • TemplateDeck – небольшая библиотека креативных Bootstrap-шаблонов высокого качества.

  • Flout UI – коллекция компонентов Tailwind и готовых шаблонов Next.js.

  • Michael Andreuzza – бесплатная подборка шаблонов Astro, созданная опытным и креативным разработчиком.

  • Just Good UI – собрание бесплатных и платных шаблонов Astro.

  • Startup Landing – подборка бесплатных шаблонов Next.js и Gatsby.

  • Web3Templates – красивые шаблоны Tailwind, Astro и Next.js, оптимизированные для конверсий.

  • Landify – красивые и современные шаблоны Gatsby.

  • Nextjs Templates – широкий выбор шаблонов для разных целей, включая SaaS, стартапы, бизнес, программное обеспечение и блоги.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • LayoutFlow – отличные шаблоны для агентств, портфолио и сайтов услуг.

  • Template Foundation – шаблоны, ориентированные на портфолио и личные сайты.

  • Templated – продуманные шаблоны на HTML/CSS и Bootstrap.

  • Freebiesbug – высококачественные шаблоны, оптимизированные для маркетинга.

  • Start Bootstrap – широкий выбор профессиональных шаблонов для стартапов, агентств, портфолио, личных сайтов и блогов.

  • MonsterOne – современные шаблоны с несколькими страницами.

  • TemplatesJungle – шаблоны для бизнеса, агентств, сервисов, портфолио, электронной коммерции и других целей.

  • 3rd Wave Media – коллекция высококачественных шаблонов, ориентированных на ИТ-сферу.

  • Tooplate – большая коллекция стильных и современных Bootstrap-шаблонов.

  • Pixel Rocket – качественные Bootstrap- и Tailwind-шаблоны.

  • HTML Codex – широкий выбор шаблонов для бизнеса, курсов, продуктов, агентств, сервисов, портфолио, резюме и других целей.

  • W3Layouts отличается широким выбором шаблонов для бизнеса.

  • Bootstrapious – шаблоны с хорошим дизайном и продвинутыми компонентами.

  • Untree – стильные шаблоны со сложными элементами.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Tailwind Toolbox – красивые шаблоны с продуманной структурой.

  • Pixelcave – современные шаблоны для сайтов и административных интерфейсов.

  • Themefisher – коллекция шаблонов для бизнеса, SaaS, блогов и других целей.

  • Tailspark – Tailwind-шаблоны для SaaS-сайтов и лендингов.

  • Red Pixel Themes – шаблоны с  хорошим дизайном и многими полезными компонентами.

  • Ari Budin – уникальные шаблоны для портфолио, агентств, журналов и дизайн-систем.

  • Treact – бесплатная библиотека React-шаблонов.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • DesignToCodes – шаблоны для стартапов, агентств, портфолио и административных панелей.

  • UI Lib – библиотека Bootstrap-, Tailwind-, Angular-, React- и Vue-шаблонов.

  • AdminMart – профессиональные шаблоны со множеством секций и компонентов.

  • WrapPixel – специализируется на административных панелях и UI-китах, предлагает широкий выбор шаблонов с разным дизайном и структурой.

  • Tabler – бесплатная библиотека Bootstrap-шаблонов, специализируется на административных панелях.

  • KeenThemes – современные шаблоны для админ-панелей со множеством компонентов.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🎮 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека разработчика игр | Gamedev, Unity, Unreal Engine»

  • EaseTemplate – подборка современных Bootstrap-шаблонов.

  • BootstrapDash – шаблоны с несколькими страницами и продвинутыми компонентами.

  • CodedThemes – профессиональные Bootstrap-, Angular-, React- и Vue-шаблоны с красивым дизайном.

  • Salvia Kit предлагает коллекцию Angular-, React-, Vue-, Nuxt- и Svelte-шаблонов. Отличается широким выбором шаблонов для административных панелей.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • JustBoil – Tailwind-, React-, Vue-, Next.js-, Nuxt- и Laravel-шаблоны для сайтов и админ-панелей.

  • Iqonic Design – библиотека React- и Vue-шаблонов, предлагает несколько бесплатных пакетов для создания современных интерфейсов.

Автор рассылки: Наталья Кайда

Показать полностью 24
Отличная работа, все прочитано!