В предыдущей части мы подробно разобрали как устроены touch события и реализовали жест rotate, самое время добавить оставшиеся.
Пользователь
Делаем HMI-панель из планшета для системы автоматизации на контроллере Wiren Board
Система автоматизации обычно работает автономно без участия пользователя, но единая точка контроля и управления системой всё равно нужна: вмешаться в работу автоматических алгоритмов, внести изменения в параметры или просто проверить, что система работает верно.
В комплекте с контроллером Wiren Board идёт программное обеспечение, которое позволяет закрыть большинство задач построения и эксплуатации системы автоматизации: графические и текстовые панели, архив данных с графиками, драйверы для устройств, скрипты wb-rules.
В статье мы сделаем панель графическую управления автоматизацией двухкомнатной квартиры, где есть: кухня, коридор, санузел, спальня и зал.
React + Styled Components — идеальная анимация. Параметризованная анимация
В данной статье продемонстрирован способ реализации “параметризованной” css анимации React компонента с помощью styled components. Параметризованная потому что css анимация описывается через параметры, которые динамически рассчитываются на основе пропсов и состояний компонента при его рендеринге.
Интеграция оплаты Юкасса в telegramm для самозанятых
Привет тем кто хочет опробовать себя в качестве бизнесмена! Недавно в голову пришла идея, получить некоторый опыт предпринимательства. В качестве продукта выступает доступ к некоторой цифровой услуге, а контроль за оплатой этой услуги ложиться на плечи телеграмм бота. В ходе поисков системы оплаты была найдена Юкасса, одна из немногих систем (если вообще не единственная), которая работает с самозанятыми.
На сайте подробно описана интеграция оплаты в telegramm бота. Однако на этапе подписания документов выясняется что интеграция недоступна для самозанятых.
FreeRTOS — операционная система реального времени
Существует целый ряд классов задач, которые должны быть выполнены за строго определённое время и не более. Среди подобных задач можно назвать: срабатывание предохранительных клапанов, катапультирование пилота из терпящего бедствие воздушного судна, срабатывание подушек безопасности у автомобиля, промышленную робототехнику и т.д. В сфере программного обеспечения также существует целый ряд задач, которые должны быть выполнены точно срок — для этого и служат операционные системы реального времени, одной из которых является FreeRTOS. Именно о ней мы и поговорим в этой статье.
Кейс интернет-магазина сезонных товаров: Как вести РК «Яндекс Директа» и увеличить ROI в 2,5 раза
Этот кейс я сделал в 2018 году и в начале 2019 впервые опубликовал в блоге «Нетологии». Сегодня я решил поделиться этим кейсом с читателями Хабра, чтобы показать, как начинался мой путь в интернет-маркетинге.
Заказчик
Заказчик — интернет-магазин товаров для бани, продает бондарные изделия, одежду, аксессуары, банные наборы. Средний чек и себестоимость товара неизвестны — клиент не предоставил информацию. Все товары в ассортименте сезонного спроса. Чаще всего покупают в декабре-марте, самая низкая покупательская активность — в июне-августе.
Проблемы и задачи клиента
Эффективность рекламы привязана к спросу. Из-за сезонных колебаний спроса сложно оценить эффективность рекламной кампании и выявить недочеты в оптимизации. Если эффективность рекламы снижается, это списывают на сезонное падение спроса.
Семантическое ядро на 50-100 фраз. Маленькое семантическое ядро обусловлено низким спросом на товары. 80% ключей, которые использует магазин, со статусом «мало показов». Периодически ключи набирают популярность, статус пропадает.
Не подключены системы calltracking. Звонки не отслеживаются, из-за этого нельзя подсчитать все обращения и заказы с рекламы и оценить ее эффективность.
Дорогие товары покупают через консультацию по телефону. Из-за отсутствия системы calltracking в магазине не полные показатели конвертации в лиды и заказы, так как дорогие товары (например, купели стоимостью от 30 тр до 80 тр) покупатели чаще заказывают по телефону.
Создание и опыт использования клавиатуры Dactyl LightCycle
Если вы работаете за клавиатурой целыми днями, скорее всего, вам знакома ноющая боль в запястьях, которая постепенно перерастает в адские муки. Всему виной примитивная, неэргономичная форма клавиатуры, которая вынуждает вас держать кисти в неестественном и неудобном положении. Это не только негативно сказывается на физическом состоянии, но и существенно влияет на скорость набора текста.
На самом деле решение проблемы лежит на поверхности. Но производители клавиатур, к сожалению, не хотят уделять должного внимания эргономике.
Клавиатур «правильного» форм-фактора крайне мало. Есть хороший вариант Kinesis Advantage, но это редкость даже за рубежом, а в России их раздобыть практически невозможно. Поэтому я решил взять производство в свои руки. И вот что из этого получилось.
Перенос сайта без потери трафика — это реально?
Причины переезда сайта на новую CMS могут быть разными — например, нужно обновить функционал, дизайн, структуру. Это могут быть требования импортёра (например, для сайтов автодилеров), когда все идентичные сайты переезжают на новую платформу. Также практикуется перенос сайта на новый хостинг и домен, но здесь мы рассмотрим переезд именно на новую платформу, так как он наиболее специфичен.
Перенос сайта на новую платформу — трудозатратная процедура. В ней задействованы разные специалисты: как правило, это SEO-специалист, программист и контент-менеджер.
Сайт можно перенести с минимальными потерями, а можно потерять весь наработанный трафик, если допустить ошибки. Именно поэтому важно соблюдать технологию переноса сайта.
В любом случае нужно быть готовыми к некоторой потере трафика. Восстанавливаться он может несколько месяцев. При этом в агентстве Alente нам удавалось переносить сайты не только с минимальными потерями, но и с быстрым ростом позиции. К примеру, успешный опыт был проведён на проектах автодилеров Hyundai — уже через месяц после переезда мы получили прирост позиций и трафика.
На основании своего опыта мы собрали чек-лист для переноса сайта на новую CMS с минимальными потерями.
Docker и Apple M1
Любопытный казус привел к исследованию совместимости процессора Apple M1, и оказалось, что не все так просто...
Впрочем, обо всем по порядку. Мой коллега, владелец MacBook Pro с M1 обратился ко мне с просьбой помочь с установкой библиотеки.
У меня почти такой же MacBook, но на Intel Core i5, macOS Big Sur. При попытке поставить библиотеку.
Мигаем светодиодом по протоколу Zigbee или модуль управления Триколор GS SMH-ZW-I1 с прошивкой PTVO
После написания поста Zigbee роутер с WiFi или прокачиваем модуль управления Триколор GS SMH-ZW-I1 меня стали терзать смутные сомнения, что многое осталось недосказанным, недопаянным и недопрошитым.
На самом деле прошить чип CC2351 в координатор или роутер Zigbee довольно тривиальная задача, и гораздо интереснее сделать на его основе END-Device. Большинство читателей Хабра знакомы с Arduino или ESP8266, и знают, что каждый новичок, изучающий основы программирования микроконтроллеров и схемотехники на этих платах для разработки первым делом учится мигать светодиодом. Поэтому предлагаю рассмотреть модуль управления Триколор GS SMH-ZW-I1 в качестве своеобразной платы для разработки и тоже помигать имеющимся на ней светодиодом. Сделать это можно не написав ни единой строчки кода, с помощью конфигуратора замечательной прошивки от ptvo , специально предназначенной для создания своих Zigbee устройств на чипах CC2530, CC2531, да еще и с поддержкой усилителей сигнала CC2590, CC2591, CC2592, RFX2401.
Тем, кому стало интересно - добро пожаловать под кат!
Балансирующий робот на Arduino Nano и шаговых моторах
Моя версия популярного балансирующего робота. Для тех, кто хочет разобраться в математике, железе и алгоритме стабилизации.
Большая Карамельная Ракета
Всем привет! Меня зовут Илья и у меня есть хобби - это любительское ракетостроение. Точнее даже, скажем так, карамельное ракетостроение. За то время, что я занимаюсь темой, я успел набить себе немало шишек, во многом действуя по наитию и ставя различные, часто неудачные, эксперименты. Возможно, кто-то скажет, что я криворук и это не моё, что нужно срочно учить матчасть, что всё придумано до меня. И, пожалуй я соглашусь. Но, на мой взгляд, в любительском ракетостроении, как хобби, важен сам процесс инженерных поисков. Решение возникающих проблем и, конечно, создание себе новых.
Как сделать и разместить статический сайт на Gatsby в Yandex.Cloud
Пошаговая инструкция по созданию и деплою статического сайта в облако, прикрутке к нему сертификата Let’s Encrypt, домена второго уровня и настройки API-шлюза.
Выкладка нетрадиционной ориентации
Все, кому приходится иметь дело с вёрсткой, знают что гриды и flexbox давно захватили CSS, позволяют очень удобно организовать классическую выкладку хедер-контент-сайдбар-футер, списки карточек, masonry и так далее. Но их настоящая крутизна не в удобстве использования, а в бескрайних возможностях, которые они открывают. Я покажу и объясню мой любимый трюк, который позволяет верстать за рамками привычной вертикально-горизонтальной прямоугольной сетки, и выглядит это очень круто.
Распознаем номера автомобилей. Разработка multihead-модели в Catalyst
Фиксация различных нарушений, контроль доступа, розыск и отслеживание автомобилей – лишь часть задач, для которых требуется по фотографии определить номер автомобиля (государственный регистрационный знак или ГРЗ).
В этой статье мы рассмотрим создание модели для распознавания с помощью Catalyst – одного из самых популярных высокоуровневых фреймворков для Pytorch. Он позволяет избавиться от большого количества повторяющегося из проекта в проект кода – цикла обучения, расчёта метрик, создания чекпоинтов моделей и другого – и сосредоточиться непосредственно на эксперименте.
Сделать модель для распознавания можно с помощью разных подходов, например, путем поиска и определения отдельных символов, или в виде задачи image-to-text. Мы рассмотрим модель с несколькими выходами (multihead-модель). В качестве датасета возьмём датасет с российскими номерами от проекта Nomeroff Net. Примеры изображений из датасета представлены на рис. 1.
useSWR – моя новая любимая библиотека React
Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управления состоянием. Вызовов API достаточно много, но мы не хотим, чтобы пользователи видели кучу загрузочных экранов. Поэтому мы храним результаты вызовов axios в unstated хранилищах.
Однако мы столкнулись с проблемой. Хранилища сами по себе становятся все более и более сложными. Порой страницы требуют нескольких вызовов API, а они в свою очередь полагаются на результаты других вызовов API. Дни превращались в недели, а недели в месяцы, тем временем наши unstated хранилища становились все более и более громоздкими. Мы сталкивались со странными ошибками, поскольку наша самодельная логика кэширования изо всех сил старалась справиться с неожиданными крайними случаями.
Экспресс-курс создания масок для Instagram
Как раз в это же время я готовил корпоративные поздравительные маски для Instagram по случаю гендерных праздников (23 февраля и 8 марта) и решил, что дополнительная маска будет не лишней и для проекта нашего заказчика.
На корпусе вашего компьютера напряжение 110 Вольт
— У меня ноутбук бьется током, чувствую легкое покалывание. Не знаешь в чем дело?
Когда я в десятый раз услышал спор о причинах этого явления в кругу программистов с макбуками, стало понятно, что пора писать статью. Иногда этот эффект проявляется как легкая вибрация при соприкосновении кожи и металлических частей ноутбука, иногда как покалывание.
Короткий ответ: корпус вашего компьютера находится под напряжением ~110V (половина от напряжения в сети), но из-за маленькой силы тока вас не ударяет слишком сильно.
Для инженеров-электриков это банальность: по тем же причинам в домах со старой проводкой может бить током стиральная машина, когда касаешься ванны, корпус стационарного компьютера и т.д. Эта тема многократно поднималась в интернете, но до сих пор большинство людей не знает о причинах этого явления. Ситуация осложняется тем, что конструкция блока питания в европейских макбуках не позволяет избавиться от этого явления!
Универсальное событие в Google Tag Manager
Если вы отслеживаете множество событий и то и дело добавляете новые, вам приходится выполнять серию одних и тех же операций:
- Повесить событие на сайте.
- Создать в GTM триггер.
- Создать в GTM тэг отправки события в Google Analytics.
- Создать в GTM тэг отправки события в Яндекс Метрику.
- Если у вас собираются данные для ретаргетинга в Facebook и VK, то для каждого из них нужно создать в GTM еще по тэгу.
При этом количество сущностей в GTM растет и ориентироваться в них становится всё утомительней. (А еще GTM не резиновый и допустимое количество сущностей ограничено.)
Я придумал и внедрил решение, которое позволяет:
- сократить рутину, избавляя от шагов 2-5;
- не плодить тэги;
- упростить управление событиями.
Нужно только один раз настроить несколько сущностей в GTM и больше вообще его не трогать при добавлении новых событий! Подробности по порядку.
API как продукт: как монетизировать свою работу, когда разбираешься только в бэкенде
В этой статье я перескажу свой опыт создания, развёртывания и продажи API на специализированном маркетплейсе. Мне не пришлось делать вебсайт или придумывать, как внедрить решение для обработки платежей – я просто написал код и развернул API.
Чтобы создать стартап, нужна команда, и каждый в этой команде должен быть мастером на все руки – программистом, маркетологом, продавцом. К тому же, это долгий и трудный путь, так что шансы на успех невелики. Но для запуска собственного проекта стартап – не обязательное условие. Я убежден, что можно сбывать продукты, не занимаясь ничем, кроме бэкенда.
За последний год я придумал план выпуска собственного продукта, который не предполагает работы с аудиторией и/или обработки платежей. Вся процедура состоит из трех шагов:
Information
- Rating
- Does not participate
- Location
- Уфа, Башкортостан(Башкирия), Россия
- Date of birth
- Registered
- Activity