Рассмотрим реализацию запроса данных к API c помощью нового друга React Hooks и старых добрых товарищей Render Prop и HOC (Higher Order Component). Выясним, действительно ли новый друг лучше старых двух.
Пользователь
Гибкие таблицы на CSS Grid
Просмотр списка лидов («холодных» контактов)
Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view).
Это мощный компонент, который встречается в приложении семь раз. По сути, таблица на стероидах. Я мог бы много рассказать, но не хочу вас утомлять. Сосредоточусь на том, как мы реализовали подобную гибкость с помощью всего нескольких строк CSS (Grid). А именно, как мы выкладываем тяжёлые таблицы данных, как поддерживаем изменение размера столбцов и многое другое.
Во-первых, нужно объяснить контекст, начиная с цели и задачи дизайна этих таблиц. Если это не интересует, не стесняйтесь перейти сразу к технической реализации.
Реализовываем CircularRevealAnimation на Flutter и попутно публикуем библиотеку на pub.dev
В Android есть очень интересная возможность анимации View, которая называется CircularRevealAnimation
— дословно "круговое раскрытие". Flutter, в свою очередь, хотя и обладает богатыми возможностями для анимирования виджетов, не предоставляет такую анимацию из коробки.
В этой статье будет показано как реализовать такую анимацию средствами Flutter и опубликовать библиотеку на pub.dev для удобного доступа и распространения.
Docker: невредные советы
В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile.
Краткое содержание предыдущей серии: два разработчика в жестком дедлайне составляют Dockerfile. В процессе к ним заходит Ops Игорь Иванович. Итоговый Dockerfile плох настолько, что ИИ оказывается на грани инфаркта.
Сейчас разберемся, что не так с этим Dockerfile.
Итак, прошла неделя.
Unstated-next: минималистичное управление состоянием React-приложения
200 байт для управления состоянием React-компонентов
- React-хуки: это все, что нужно для управления состоянием.
- ~200 байт, min+gz.
- Знакомый API: просто пользуйтесь React, как обычно.
- Минимальный API: хватит пяти минут, чтобы разобраться.
- Написан на TypeScript, чтобы обеспечить автоматический вывод типов.
Главный вопрос: чем этот пакет лучше, чем Redux? Ну...
RxDart: магические трансформации потоков
Добро пожаловать — это третья часть моей серии статей об архитектуре Flutter.
- Введение
- Основы Dart Streams
- RxDart: магические трансформации потоков (этот пост)
- Основы RxVMS: RxCommand и GetIt
- RxVMS: Службы и Менеджеры
- RxVMS: самодостаточные виджеты
- Аутентификация пользователя посредством RxVMS
На этот раз мы совершим небольшое погружение в магическое царство реактивных расширений (Rx). Я сосредоточусь на наиболее используемых функциях Rx и объясню их применение. Если вы не читали предыдущий пост, сейчас для этого самое время, прежде чем двигаться дальше.
RxDart — это реализация концепции Rx для языка Dart, за что следует сказать спасибо Frank Pepermans и Brian Egan. Если ранее вы использовали Rx в других языках, то наверняка заметите разницу в именовании ряда функций, но это вряд ли вызовет у вас затруднения.
Код для тестирования находится здесь.
До сих пор мы использовали потоки как способ передачи данных из одного места в другое в нашем приложении, но они могут сделать гораздо больше. Давайте взглянем на некоторые функции, которые Rx добавляет в Streams.
Fish Redux — новая Redux библиотека для Flutter
В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter.
Однако, при разработке крупных приложений, немного больших, чем одностраничные 'Hello World'ы, разработчики могли столкнуться с проблемой неопределенности. Как стоит писать приложение? Фреймворк достаточно молод, ещё не существует достаточной базы хороших примеров с открытым кодом, основываясь на которых можно было бы понять плюсы и минусы применения различных паттернов, понять что стоит использовать в данном конкрентном случае, а что — нет.
Спасает ситуацию то, что Flutter имеет определенную степень схожести с React и React Native, а значит можно перенять некоторый опыт программирования на последних. Возможно, именно из-за этого появились такие библиотеки, как Flutter Flux, Flutter Hooks, MobX, а также сразу несколько реализаций Redux. Долгое время самой популярной была версия Брайана Игана под названием Flutter Redux.
Тем не менее, пару месяцев назад первый коммит увидела библиотека Fish Redux, опубликованная под именем компании Alibaba. Библиотека за короткое время собрала большую популярность, уже на первом дне обогнав реализацию Брайана по количеству звезд, а на втором опередив её в два раза.
Архитектура SPA-приложения биржи в 2019 году
Приветствую, хабровчане!
Читаю данный ресурс со времени основания, но время на написание статьи появилось только сейчас, а значит пора поделиться своим опытом с сообществом. Начинающим разработчикам, рассчитываю, статья поможет улучшить качество проектирования, а опытным выступит в качестве чек-листа, чтобы не забыть важные элементы на этапе архитектуры. Для нетерпеливых — итоговый репозиторий и демо.
Руководство по Docker Compose для начинающих
Маркетинг для стартапа: как привлечь тысячи пользователей со всего мира не потратив и $200
Стримим экран на несколько устройств по сети
Возникла у меня необходимость выводить дашборд с мониторингом на несколько экранов в офисе. В распоряжении имеется несколько стареньких Raspberry Pi Model B+ и гипервизор с практически неограниченным количеством ресурсов.
По видимому Raspberry Pi Model B+ не обладает достаточной произвольностью чтобы держать постоянно запущенным браузер и отрисовывать большое количество графики в нем, из-за чего бывает, что страница частично глючит и часто вылетает.
Нашлось достаточно простое и элегантное решение, которым я и хочу с вами поделиться.
Установка Zimbra Open-Source Edition на CentOS 7
Docker: вредные советы
Когда я учился водить машину, на первом же занятии инструктор выехал на перекресток задним ходом, а потом сказал, что делать так нельзя — вообще никогда. Это правило я запомнил сразу и на всю жизнь.
Читаешь детям «Вредные советы» Григория Остера, и видишь, как легко и непринужденно до них доходит, что так делать нельзя.
О том, как правильно писать Dockerfile, написана куча статей. Но мне не попадалось инструкций, как писать неправильные Dockerfile. Восполняю этот пробел. И, может быть, в проектах, которые я получаю на поддержку, таких докерфайлов станет меньше.
Микробиота. Какие бактерии живут в кишечниках россиян
Автор иллюстраций Rentonorama
Дозвонились! Как собрать свою Web-звонилку за час
Друзья, сегодня я хочу поговорить с вами про звонки. Для кого-то это совсем новая тема. Для других — чистой воды фан на уровне «а не зафигачить ли мне свой скайп?». Для третьих — внезапно возникшая жизненная необходимость. Последний вариант — наш вариант.
В этой статье я покажу вам маленький, но очень жизнеспособный пример реализации, который позволит вам буквально на коленке из нескольких десятков строк javascript сделать собственную WEB-звонилку и позвонить другу прямо из браузера.
Управление Raspberry через websockets
Крайне распространенным способом решения этой проблемы является использование промежуточного сервера, через который сервер и клиент подключаются друг к другую.
Схема крайне широко используется в различных пакетах удаленного доступа: VNCViewer, AmmyyAdmin и т.д.
Вариант 1-DDNS
Вариант 2 – статический IP адрес
Вариант 3 – использование промежуточного сервера
Эту схему подключения можно реализовать через протокол MQTT over Websockets, но мне было инетесно реализовать что-то значительно более простое, JSON-ориентированое, расширяемое, без ограничений протокола на размер сообщения и с более очевидной моделью безопасности.
ADAM-3600 — многофункциональный промышленный контроллер
Контроллер ADAM-3600 — универсальное устройство для дистанционного управления промышленными объектами, сбора данных, мониторинга и автоматизации процессов.
Одновременно может выступать как устройство связи с объектом (УСО), устройство сбора и передачи данных (УСПД) и программируемый логический контроллер (ПЛК).
Имеет модули расширения портов ввода-вывода, а также модули беспроводных интерфейсов Wi-Fi, 4G/3G/GPRS, ZigBee, GPS.
Устройство работает под управлением операционной системы RealTime Linux и процессора Cortex A8. Поддерживает открытые промышленные протоколы ModBus, DNP3, MQTT, HTTP REST API. Может быть интегрирован в любою SCADA-систему. Также поддерживает интеграцию в облачные системы IoT, такие как Microsoft Azure IoT Hub, Amazon AWS IoT, и другие.
В статье мы разберем основные функции устройства и познакомимся со сценариями использования контроллера в построении АСУ ТП.
Моя система домашней автоматики. Создание образа операционной системы
Установка системы на Raspberry Pi 2,3
Я опишу самый простой, на мой взгляд, способ для начинающих.
Всё действие будет происходить в Ubuntu 18.04.
Для справки по командам служит команда «man» + нужная команда.
man ls
Или нужная команда с ключём --help
ls --help
Разрабатывать приложения под Android — словно быть (демонетизированным) ютубером
Когда-то Android считался лучшей мобильной платформой: контроль, настраиваемость, продвинутые функции, реальная многозадачность, поддержка даже редких случаев использования и свобода разработчиков. Это была лучшая платформа для науки и образования: во-первых, инструменты разработки свободны и кросс-платформенны, во-вторых, Android был очень гибкой ОС, которая не мешала экспериментировать с инновационными концепциями и возиться с оборудованием. Теперь всё это быстро исчезает.
Раньше основные релизы Android приносили новые функции, которые радовали и разработчиков, и пользователей. Но с какого-то момента я уже начал бояться анонсов новых версий, и до сих пор ищу в себе силы (хех), чтобы посмотреть на список изменений и рекомендации для разработчиков к последнему релизу. И новые версии — это не единственная причина для нервотрёпки: изменения в политике Google Play Store тоже всегда забавно читать.
И снова о втором мониторе из планшета…
Information
- Rating
- Does not participate
- Location
- Украина
- Date of birth
- Registered
- Activity