Как стать автором
Обновить
-6
0

Пользователь

Отправить сообщение

Прокачиваем навыки CSS с помощью селектора :has()

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров7.3K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, посвященной продвинутому использованию нового CSS-селектора :has().


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


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

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии3

Декаплинг: качество питания микросхем

Время на прочтение13 мин
Количество просмотров28K

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

Читать далее
Всего голосов 86: ↑85 и ↓1+107
Комментарии146

React hooks, как не выстрелить себе в ноги. Разбираемся с замыканиями. Совместное использование хуков

Время на прочтение7 мин
Количество просмотров11K

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

Как работать с запросами в useEffect

Как предотвращать лишние запросы в useEffect с помощью useRef и использовать useRef как стабильную переменную

Уже этих примеров будет достаточно для многих прочих случаев. Главное обсудим, как ведет себя замыкание в хуках, почему именно так, и почему useRef работает как стабильная переменная.

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии5

Микроконтроллеры Megawin серии MG32F02 на базе ядра Cortex-M0

Время на прочтение23 мин
Количество просмотров9.8K

Компания Megawin Technology Co., Ltd. была основана в Тайване в 1999 году.
С 2004 г. было запущено массовое производство 8-битных микроконтроллеров (МК).
На российском рынке компания известна прежде всего своими МК серий MG82 и MG84 на ядре 80C51.

Однако сегодня наш интерес привлекли 32-разрядные микроконтроллеры Megawin Technology серии MG32F02 на базе ядра Cortex-M0, которые компания с 2019 г. массово производит и поставляет в Россию. Отличное соотношение цены и качества, богатый набор встроенных периферийных модулей делают эти микроконтроллеры серьезным конкурентом в своем классе аналогичным чипам таких мировых брендов как Microchip, STM32, NXP и пр.

Этой статьей на хабре мы открываем цикл публикаций, в котором постараемся всесторонне рассмотреть все возможности микроконтроллеров Megawin серии MG32F02. Глубоких знаний по архитектуре ARM или большого опыта разработки на Cortex-M от читателя не потребуется. В то же время предлагаемый материал будет интересен разработчикам устройств на 8-разрядных ядрах 80C51 или AVR, планирующим переход на 32-разрядные системы, где любой МК на ядре Cortex-M0 — первый кандидат на замещение 8-разрядных МК.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии17

Все хуки и концепты React в одной статье

Время на прочтение10 мин
Количество просмотров42K

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

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии38

Согласование импедансов: о пользе формул

Время на прочтение17 мин
Количество просмотров23K

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

Подставить значения
Всего голосов 35: ↑35 и ↓0+35
Комментарии43

Операционные усилители. Часть 6: Однополярное включение ОУ. Помехи, экранирование, «развязки» и защиты

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров26K

В предыдущей публикации цикла были рассмотрены примеры реализации активных фильтров и генераторов на ОУ.

В данной публикации цикла мы разберём аспекты питания ОУ, защиту от помех (как входных, так и по питанию), а также защиты и «развязки» входных цепей.

Большая часть материала будет разобрана на «сквозном» примере схемы предусилителя-корректора, по характеристике RIAA на одном ОУ.
Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии9

Проблемы современного машинного обучения

Время на прочтение41 мин
Количество просмотров43K

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

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

Читать далее
Всего голосов 91: ↑90 и ↓1+102
Комментарии26

Эффект Спирито у полевых транзисторов

Время на прочтение3 мин
Количество просмотров16K

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

Прежде всего - небольшое введение: важной характеристикой транзисторов является “область безопасной работы”, или SOA (safe operation area). Особенно важна эта характеристика для полевых транзисторов, так как их возможности работы в линейном и ключевом режимах очень сильно различаются: мелкий полевик размером с ноготок способен прокачать через себя десятки ампер в ключевом режиме, и выгореть при токе в пару десятков миллиампер в режиме линейном. Доходит до того, что молодым схемотехникам говорят, что “в линейном режиме полевые транзисторы использовать нельзя”. Примерный вид этой характеристики приведён на рисунке 1.

Читать далее
Всего голосов 49: ↑49 и ↓0+49
Комментарии37

О шаблонах в С++, чуть сложнее

Время на прочтение40 мин
Количество просмотров34K

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

Потрогать здесь
Всего голосов 50: ↑50 и ↓0+50
Комментарии31

Vange-rs: взгляд на реализацию WebAssembly в Rust

Время на прочтение7 мин
Количество просмотров8K

Вангеры одна из самых почитаемых и технологичных игр своего времени, продолжает жить и развиваться. Благодаря сплоченному сообществу игра получила множество усовершенствований: HD, 60 FPS, новые сетевые режимы и много другое. Vange-rs один из интереснейших проектов по Вангерам. Это rust версия игры, основной изюминкой которой является 3D рендер основанный на wgpu.

Запустить в браузере
Всего голосов 25: ↑24 и ↓1+32
Комментарии14

Корреляция между временными рядами: что может быть проще?

Время на прочтение25 мин
Количество просмотров26K

Все чаще объектами статистического анализа становятся не массивы (таблицы) значений, а временные ряды. Такие ряды формируются при наблюдениях за природными процессами и явлениями, изучении социологических или макроэкономических показателей, при промышленном производстве и сбыте продукции. Главное, что отличает временной ряд от других типов данных – это то, что номер (время) наблюдения имеет значение. То есть, важен не только результат измерения, но и тот момент времени, когда оно выполнено. К сожалению, при применении статистических методов на этот нюанс часто не обращают внимания. Однако, именно эта "мелочь" приводит к очень серьезным и нетривиальным следствиям с точки зрения обработки таких сигналов. Самые обычные формулы, описанные во всех учебниках, внезапно отказываются работать. А попытки их применения "в лоб" иногда дают, мягко говоря, весьма неожиданные результаты. Например, статистическая связь между числом пиратов и глобальным потеплением оказывается не просто "значимой", а "практически достоверной". Что удивительно, столкнувшись с такой ситуацией, даже достаточно грамотные исследователи не всегда понимают, где же тут "порылась собака" . Данные вроде бы правильные, математика (как и жена Цезаря) – точно вне подозрений. А результат – ни в какие ворота... А Вы твердо уверены, что всегда правильно оцениваете значимость таких корреляций?

Если не очень – прошу под кат.
Всего голосов 17: ↑16 и ↓1+23
Комментарии19

Виндолинукс. Тестируем Q4OS с Trinity

Время на прочтение4 мин
Количество просмотров17K


Философы утверждают, что наша жизнь — это вечный поиск. Кто-то ищет собственное призвание, кто-то — идеальную любовь, кто-то — славы и достатка, я же ищу нормальную операционную систему для древнего нетбука Acer Aspire One, которая не вешалась бы намертво при попытке открыть больше двух вкладок в браузере. В первой серии я вполне успешно установил на этого динозавра CloudReady, затем не очень удачно — попытался поставить дохлую Dahlia OS. И вот настала очередь для Q4OS, протестировать которую мне посоветовали читатели.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии22

Next.js: подробное руководство. Итерация первая

Время на прочтение35 мин
Количество просмотров216K


Привет, друзья!


Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится).


Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных приложений.


Как известно, основным недостатком SPA являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO.


Впрочем, по моим личным наблюдениям, в последнее время ситуация стала меняться к лучшему, по крайней мере, страницы моего небольшого SPA-PWA-приложения нормально индексируются.


Кроме того, существуют специальные инструменты, такие как react-snap, позволяющие превратить React-SPA в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head с помощью таких утилит, как react-helmet. Однако Next.js существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap). Он также предоставляет множество других интересных возможностей.



Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React. Также обратите внимание, что заметки не сделают вас специалистом по Next.js, но позволят получить о нем исчерпывающее представление.


Заметки состоят из 2 частей. Это часть номер раз.


Итерация вторая.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+12
Комментарии3

Ventoy. Мультизагрузочная флешка

Время на прочтение3 мин
Количество просмотров168K

Мультизагрузочная флешка, сколько раз она меня выручала, с нее я чистил компы от вирусов, ставил Оси и т.д. В общем объяснять для чего она на хабре не нужно. Я знаю две самых известных утилиты для создания МФ - Easy2Boot и Win Setup From USB. Чем отличается Ventoy от них? Сейчас посмотрим.

Читать далее
Всего голосов 20: ↑19 и ↓1+21
Комментарии62

Растаможка своими силами

Время на прочтение7 мин
Количество просмотров17K

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

Читать далее
Всего голосов 25: ↑24 и ↓1+31
Комментарии36

Советские мечты о будущем

Время на прочтение9 мин
Количество просмотров93K


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Всего голосов 138: ↑136 и ↓2+134
Комментарии144

Советские мечты о будущем, часть 2. Теперь с сепульками

Время на прочтение8 мин
Количество просмотров28K


В предыдущей серии: мы составили подборку советской мультипликационной научной фантастики. Собрали комментарии о тех мультфильмах, которые не вошли в первую часть — и рассказываем о них сейчас.
Всего голосов 51: ↑50 и ↓1+49
Комментарии24

Tic Tac Toe: содержание цикла статей

Время на прочтение1 мин
Количество просмотров5.3K

Tic Tac Toe, часть 0: Сравнение Svelte и React
Tic Tac Toe, часть 1: Svelte и Canvas 2D
Tic Tac Toe, часть 2: Undo/Redo с хранением состояний
Tic Tac Toe, часть 3: Undo/Redo с хранением команд
Tic Tac Toe, часть 4: Взаимодействие с бэкендом на Flask с помощью HTTP
Tic Tac Toe, часть 5: Бэкенд на С++ Boost.Beast, HTTP
Tic Tac Toe, часть 6: Flask и Celery/RabbitMQ
Tic Tac Toe, часть 7: pytest и Travis CI


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

Всего голосов 20: ↑13 и ↓7+6
Комментарии8

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность