Рубрика «Промышленное программирование» - 3

Всем привет. На связи Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. В преддверии старта нового потока курса «Архитектор высоких нагрузок» я решил написать небольшой авторский материал, которым хочу поделиться с вами.

Почему может понадобится полусинхронная репликация? - 1


Введение

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

На текущий момент имеются 2 паттерна масштабирования базы: репликация и шардирование. Шардирование позволяет масштабировать операцию записи, и, как следствие, снижать rps на запись, приходящийся на один сервер вашего кластера. Репликация позволяет делать тоже самое, но с операциями чтения. Именно этому паттерну и посвящена данная статья.Читать полностью »

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

image

Уже более 4-х лет на рынке доступны цифровые светодиодные ленты на базе IC LED чипов (смарт пикселей). Суть таких пикселей довольно проста, в RGB SMD/DIP светодиод интегрируется микросхема, которая им управляет. Такие ленты обеспечивают высокую плотность — 144/100/60 пикселей на метр, малый вес, низкое напряжение питания, и простоту управления внешним контроллером.

image

Среди наиболее распространенных и популярных LED чипов можно выделить: WS2812B, WS2813, APA102, SK9822, UCS1903 с питанием 3,5-5В. В настоящее время также набирают популярность IC LED чипы с питанием +12В, это WS2815, GS8208.

image

Каждый пиксель такой ленты может управляться индивидуально, также как пиксель на экране монитора, т.о. это дает возможность построить на базе цифровой светодиодной ленты продвинутый LED костюм или «Пиксельный костюм».
Читать полностью »

Сенсорный терминал для суровых условий - 1
Устройства Advantech TPC — это тонкие клиенты для запуска приложений человеко-машинного интерфейса (англ. Human-machine interface, HMI). Представляют из себя полноценный x86 компьютер с пассивным охлаждением, встроенный в защищенный монитор с тачскрином.

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

В статье мы протестируем устройства в работе в перчатках и разберем характеристики нескольких моделей.
Читать полностью »

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

Анатолий Островский megatolya объясняет, как его команда решила эту проблему, и делится практиками, специфичными для Маркета, но в целом актуальными для любого большого сервиса. Его доклад основан на собственном опыте развёртывания нового маркетплейса в довольно сжатые сроки. Толя несколько лет руководил командой разработки интерфейсов в Маркете, а сейчас перешёл в направление беспилотных автомобилей.
Читать полностью »

Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта курса я решил написать небольшой авторский материал, которым хочу поделиться с вами.


Предыстория

Spring содержит внутри себя много «магии», осуществляя самостоятельно некоторые неочевидные вещи. Незнание или непонимание этого может приводить к side-эффектам, с которыми вы можете столкнуться в процессе написания своего приложения, используя данный framework.

Одной из таких неочевидных вещей является injection интерфейсов Java Collection Framework'а. Самостоятельно наступив на грабли, связанные с этой темой, и услышав очередные вопросы от коллег, я решил с ней разобраться и зафиксировать результаты своих исследований в виде статьи с надеждой, что она кому-то поможет уже в работе или при начальном освоении Spring'а.
Читать полностью »

Ментальные Модели Реактивного Программирования для начальников - 1
Эта статья рассчитана на широкий круг читателей которые хотели бы узнать, что такое Реактивное Программирование. Цель этой статьи — сформировать у вас базовые Ментальные Модели Реактивного Программирования (ММ РП), не вдаваясь в технические детали.
Читать полностью »

Зависимые типы в Haskell: почему это будущее разработки программного обеспечения - 1

В Serokell мы занимаемся не только коммерческими проектами, но стараемся изменить мир к лучшему. Например, работаем над улучшением главного инструмента всех хаскелистов – Glasgow Haskell Compiler (GHC). Мы сосредоточились на расширении системы типов под впечатлением от работы Ричарда Айзенберга "Зависимые типы в Haskell: теория и практика".

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

Читать полностью »

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

Содержание

  1. Скачать все необходимое
  2. Установка SDK
  3. Проверка SDK
  4. Установка Eclipse
  5. Подключение GTK к Eclipse
  6. Настройка проекта Eclipse
  7. Результат

Скачаем все необходимое:

Первое — это SDK для платы, которое можно скачать на официальном сайте Toradex.
Второе — нам нужен хост с Ubuntu 16.04 LTS.
Третье — непосредственно Eclipse для C/C++.
Читать полностью »

image
В связи с современными требованиями, предъявляемыми к промышленным контроллерам, об открытости архитектуры, а также, с бурным ростом производства PC-совместимых компьютеров, последние все чаще стали использоваться в качестве контроллеров для задач промышленной автоматизации. Такие РС-совместимые контроллеры получили название SoftPLC. Это название свидетельствует о том, что большинство функций обычных PLC, которые решались на аппаратном уровне могут решаться с помощью программного обеспечения.

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

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

Компания Advantech, выпускающая промышленные компьютеры уже 30 лет, в 2019 году анонсировала выпуск нового промышленного PC-совместимого контроллера WISE-5580 c высокими показателями производительности и быстродействия.
Читать полностью »

Всегда работа с CAN была простой, но что-то пошло не так (в устройстве на КДПВ)…
image
В последнее время мне часто удается использовать микроконтроллер STM32H750VB, и вот в одном устройстве понадобилось задействовать шину CAN, но первая же попытка, которую я предпринял показала всю мою самоуверенность дала странный результат. Ниже описана история

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js