Дайджест новостей из мира фронтенд-разработки за последнюю неделю 11 — 17 апреля 2022.
Программист
Обработка ошибок на React с помощью Error Boundary
Привет, когда разрабатываем любой проект на React, мы, при выборе что рендерить, больше всего имеем дело с условными операторами или просто с передачей компонентов в определенный компонент, функцию или тому подобное. Но если происходит неожиданная ситуация и в React компоненте или функции случается ошибка, то, зачастую мы видим белый экран смерти. И после этого нам надо открыть инструменты разработчика, чтобы увидеть в консоли ошибку. А это точно не лучший способ обработки ошибок. Решением данной проблемы является Error Boundary.
Байесовская Сеть Доверия: Практика
Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этой статье.
В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на примере данных “Титаника” мы будем строить БСД.
Совместные конфиденциальные вычисления на пальцах
В этой небольшой заметке я хочу затронуть тему совместных конфиденциальных вычислений и попробовать кратко изложить суть этих подходов и развеять несколько неоднозначностей, сложившихся в трактовке этого термина в современном информационном поле. Надеюсь получиться ?
Начну немного издалека, я в целом интересуюсь темой распределенной обработки данных с сохранением конфиденциальности, в частности активно смотрю на развитие такого направления, как Federated Learning. Часто попадаются статьи и материалы на эту тему, в которых наблюдаю некоторую терминологическую путаницу, тк термины Federated Learning и Confidential Computing часто используют как синонимы, но это не совсем так. Может быть я не совсем прав, но набор методов, для "обучения" (learning) и для "вычислений" вообще-то отличаются и не являются подмножеством друг друга. Поэтому в первую очередь хочу высказаться про мое понимание их фундаментальной разницы:
TypeScript: разрабатываем WebAssembly-компилятор
Привет, друзья!
Представляю вашему вниманию перевод этой замечательной статьи, в которой автор рассказывает о том, как разработать компилятор для WebAssembly на TypeScript.
Обратите внимание: мой вариант компилятора можно найти в этом репозитории, а поиграть с его кодом можно в этой песочнице.
Если вам это интересно, прошу под кат.
Сортировка подсчётом beSort или как я изобретал велосипед?
Как я изобрёл весьма быстрый велосипед и узнал, что на нём уже кто-то ездит.
Агрегаты
Я считаю, что именно агрегаты из Domain-Driven Design лежат в основе поддерживаемых информационных систем. Однако эта концепция малоизвестна за пределами DDD-сообщества и довольно сложна для понимания, поэтому я решил написать очередной пост посвящённый агрегатам. В основном для чтобы структурировать собственное понимание агрегатов и создать "методичку" для своих команд, но и широкой общественности, я надеюсь, этот пост тоже может быть полезен.
Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек
В нашей прошлой статье про синтез речи мы дали много обещаний: убрать детские болячки, радикально ускорить синтез еще в 10 раз, добавить новые "фишечки", радикально улучшить качество.
Сейчас, вложив огромное количество работы, мы наконец готовы поделиться с сообществом своими успехами:
- Снизили размер модели в 2 раза;
- Научили наши модели делать паузы;
- Добавили один высококачественный голос (и бесконечное число случайных);
- Ускорили наши модели где-то примерно в 10 раз (!);
- Упаковали всех спикеров одного языка в одну модель;
- Наши модели теперь могут принимать на вход даже целые абзацы текста;
- Добавили функции контроля скорости и высоты речи через SSML;
- Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
- Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;
Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).
Попробовать модель как обычно можно в нашем репозитории и в колабе.
Все хуки и концепты React в одной статье
В первую очередь React это JS библиотека, а не полноценный фреймворк, так что для создания полноценного веб приложения тебе нужно знать много дополнительных вещей, чтобы использовать их вместе с React. В этой статье пойдет речь о React концептах, хуках и, конечно 😊 , хороших практиках.
Как создать и опубликовать библиотеку React компонентов
В этом руководстве вы пройдете через процесс создания и публикации собственной библиотеки компонентов React и размещения ее на Github.
От переводчика: в статье автор демонстрирует как создать библиотеку с React компонентом внутри, подготовить её к публикации с помощью Rollup, опубликовать через npm, настроить StoryBook, настроить тестирование с использованием React Testing Library и Jest. В оригинальной статье есть ссылка на видеоверсию текущего урока.
Генетический алгоритм для сегментаций строк в рукописном документе
Генетический алгоритм (GA)
Генетический алгоритм - это классический эволюционный алгоритм, основанный на случайной переборе параметр. Под случайным здесь мы подразумеваем, что для поиска решения с использованием ГА, случайные изменения применялись к текущим решениям для генерации новых. GA основан на теории эволюции Дарвина. Это медленный постепенный процесс, который работает путем внесения небольших и медленных изменений. Кроме того, GA медленно вносит небольшие изменения в свои решения, пока не получит лучшее решение. Подробнее можете узнать здесь
Цель
Реализовать алгоритм для сегментаций строк в рукописном документе(рис. 1 взял из интернета), чтобы при обрезаний строк, не обрезали нижнюю или верхнюю часть букв (Например: рукописные буквы р, в, б, д, з).
Тёмная тема в React с помощью Redux-toolkit
Эта статья является продолжением статьи Тёмная тема в React с использованием css переменных в scss. Если в прошлый раз мы добавляли темную тему через родной реактовский контекст, то сейчас мы попробуем сделать всё то же самое, но с помощью Redux
, точнее redux-toolkit
Основы контейнеризации (обзор Docker и Podman)
Привет, Хабр!
К 2022 году о контейнеризации не слышал только ленивый. Большинство специалистов, так или иначе имеющих отношение к ИТ, хотя бы раз в жизни запускали программное обеспечение в контейнерах. Однако так ли эта технология проста и понятна? Давайте разбираться вместе!
Главная задача данной статьи – рассказать о контейнеризации, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно упрощен.
Удивительное приключение в стране оптимизирующих компиляторов
Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не означает «совсем уж медленный», и посмотрим на приёмы программирования на Scheme, что, как мне кажется, можно сравнить с путешествием на экзотический остров.
Как выбрать правильный тип палитры для шкалы
Цвет — мощное средство визуализации данных, его неумеренное или неправильное применение губит всю работу и сбивает с толку, поэтому цвет следует подбирать тщательно, не забывая об особенностях восприятия.
О типах палитр цветов и о том, как выбрать правильную палитру, рассказываем к старту курса по анализу данных.
Как проверить данные во фрейме Pandas с помощью Pandera
В науке о данных важно тестировать не только функции, но и данные, чтобы убедиться, что они работают так, как вы ожидали. Материалом о простой библиотеке Pandera для валидации фреймов данных Pandas делимся к старту флагманского курса по Data Science.
Практические советы, примеры и туннели SSH
Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать
SSH
, но и более грамотно перемещаться по сети.Знание нескольких трюков
ssh
полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний
Оглавление
Часть I: подготовка
- Введение
- 1. Краткая история NES
- 2. Фундаментальные понятия
- 3. Приступаем к разработке
- 4. Оборудование NES
- 5. Знакомство с языком ассемблера 6502
- 6. Заголовки и векторы прерываний
- 7. Зачем вообще этим заниматься?
- 8. Рефакторинг
Часть II: графика
6. Заголовки и векторы прерываний
Содержание:
- Заголовки iNES
- Выделение процедур с помощью .proc
- Векторы прерываний
В предыдущей главе мы разобрали часть «main» тестового проекта, которая задаёт цвет фона, а затем входит в бесконечный цикл. Однако этот код составляет всего 13 из 44 строк исходного кода тестового проекта. В этой главе мы изучим оставшуюся часть кода тестового проекта и узнаем ещё несколько опкодов.
Recoil JS – новый store manager для React
Сегодня я хочу вам представить относительно новую библиотеку для управления глобальным состоянием приложения – Recoil JS. Как и React является open-source проектом при поддержке разработчиков из Meta. Пока что является экспериментальной, на момент написании статьи имеет версию 0.4.1.
Recoil располагает себя как библиотека исключительно для React, что поможет решать проблемы в диапазоне данного фреймворка, плюс ко всему разработчики, занимающиеся Recoil и React, из одной компании.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity