• Что не так с интерфейсами SCADA-систем

      В этой статье хочу рассказать и поделиться своим мнением насчет пользовательских интерфейсов scada-систем и систем диспетчеризации в целом.

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

      Для наглядности разберем пример с торговым центром. Чтобы привлечь как можно больше посетителей, руководство ТЦ старается сделать их шоппинг максимально комфортным и, как следствие, ТЦ оборудован десятками сложных систем: свет, вентиляция, кондиционирование, теплоснабжение, водоотведение и многие другие, которые скрыты от глаз посетителей.

      Нарушение работы любой из этих систем недопустимо. Но если «умный» дом, как правило, делается для хозяина, то SCADA-система (или в данном случае более уместно BMS) разрабатывается для максимально быстрого донесения актуальной информации обслуживающему персоналу. Об этом я и хочу вам рассказать.

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

      Читать далее
    • ModBus Slave RTU/ASCII без смс и регистрации

        image

        В открытом доступе присутствует множество библиотек для реализации ModBus Slave устройства, но они зачастую, содержат избыточный функционал, сложны в освоении и содержат грубые ошибки. В данной статье рассматривается библиотека, по скромному мнению автора, лишенная этих недостатков.
        Читать дальше →
      • Основы правил проектирования базы данных

        Введение


        Как это часто бывает, архитектору БД нужно разработать базу данных под конкретное решение.
        Однажды в пятницу вечером, возвращаясь на электричке домой с работы, я подумал о том, как бы я создал сервис по найму сотрудников в разные компании. Ведь ни один из существующих сервисов не позволяет быстро понять насколько подходит тебе кандидат. Нет возможности создать сложные фильтры, включающие или исключающие совокупность определенных навыков, проектов или позиций. Максимум, что обычно предлагают сервисы — фильтры по компаниям и частично по навыкам.

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

        Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

        Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
        Читать дальше →
      • Новый формат отдела разработки ПО

          В начале зафиксируем, что имеем сейчас по разработке ПО, какие есть проблемы и к чему необходимо прийти.

          Классическая схема отдела такая — народ сидит в офисе (ну или как сейчас на удалёнке) за повременную оплату (8 часов в день) или в бодишопах на почасовке. Добираются на работу в течении 30 — 120 минут. Найм человека происходит через hh или похожие сайты, кандидат проходит hr’а, техсобес где пытаются составить матрицу компетенций. В Москве кандидатов много с любым уровнем знаний, в регионах с этим проблема.
          Читать дальше →
        • Нужен ли Вооруженным Силам России и другим структурам Министерства обороны РФ стандарт для описания алгоритмов?

            В чем проблема


            Существует ли в России стандарт на алгоритмы?
            Да, существует — действующий стандарт ГОСТ 19.701—90. Он называется:
            Схемы алгоритмов, программ, данных и систем

            Данный стандарт обладает существенными недостатками; он устарел и непригоден для записи алгоритмов. Эту мысль я детально изложил в документе на 70 страницах bit.ly/3dPZb7K, который предлагается вашему вниманию.

            Чтобы сузить круг вопросов, я ограничил свой анализ и аргументацию только военно-промышленной сферой, то есть Вооруженными Силами РФ, Министерством обороны РФ (включая медицинское и тыловое обеспечение), а также оборонно-промышленным комплексом России.
            Читать дальше →
          • Договор на разработку сайта с точки зрения управления проектами (теория + образец)

            • Tutorial
            Договор на разработку, формирующий правильное взаимодействие заказчика с исполнителем, закрывающий риски и регламентирующий все этапы работы — довольно непростая вещь. Мы строили свой 2 года, собирая обратную связь от клиентов с одной стороны и проектной команды с другой. Стратосфера — веб-интегратор, специализирующийся на е-коммерс, b2b и цифровой трансформации. Соответственно, вся статья дальше будет написана на примере именно веб-разработки.
            Читать дальше →
          • Уведомление Роскомнадзора об обработке персональных данных в 2020 г

            image

            Перед тем, как начать собирать персональные данные, оператору необходимо уведомить об этом Роскомнадзор в соответствии ч. 1 ст. 22 Федерального закона от 27.07.2006 г. № 152-ФЗ «О персональных данных».

            Без уведомления Роскомнадзора можно обойтись если вы:

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

            Бумажный носитель vs электронный документ: форма уведомления об обработке персональных данных в Роскомнадзор


            При отправке уведомлений об обработке персональных данных в Федеральную службу по надзору в сфере связи, информационных технологий и массовых коммуникаций у операторов часто возникает вопрос: нужно ли отправлять письмо с распечатанным уведомлением или достаточно заполнить электронную форму уведомления на портале Роскомнадзора.
            Читать дальше →
          • Русский Язык Программирования

              Начал разработку русского языка программирования.
              Сокращенно: РЯП.
              Ну и, как следствие, начал разработку интерпретатора РЯП.
              РЯП напоминает язык КуМир, но будут существенные отличия и преимущества в сравнении с другими языками.
              Читать дальше →
            • Как я свой мессенджер писал

              Одним вечером, после очередного расстраивающего дня, наполненного попытками наладить баланс в своей игре, я решил, что мне срочно требуется отдых. Переключусь на другой проект, быстренько его сделаю, верну на место скатившуюся за время разработки игры самоооценку и с новыми силами возьму игру штурмом! Главное выбрать проект nice and relaxing… Написать свой месседжер? Ха! How hard can it be?

              Код можно посмотреть здесь.

              Читать дальше →
            • Утилита Power Stage Designer — инструмент разработчика силовой электроники

              Приветствую! Хочу рассказать о весьма интересной для разработчика электроники утилите, которую я уже давно применяю в своей профессиональной деятельности. Утилита Power Stage DesignerTM от компании Texas Instruments — инструмент из «маст хэв» набора разработчика источников питания, преобразователей, силовой электроники. Как следует из названия, утилита предназначена для расчёта параметров силовой части (power stage), а также включает в себя некоторые дополнительные возможности, помогающие в решении смежных задач.


              Основные возможности утилиты:


              • Расчёт основных параметров преобразователя;
              • Калькулятор параметров петли обратной связи «Loop Calculator»;
              • Расчёт потерь MOSFET-транзистора «FET Losses»;
              • Расчёт конденсаторов «Capacitor Calculator»;
              • Расчёт демпфирующих цепей «Snubber Calculator»;
              • Расчёт параметров цепей регулирования/стабилизации выходного напряжения «Output Voltage Scaling»;
              • Конвертер единиц измерения «Unit Converter».
              Читать дальше →
            • Почему разработчикам не нравится Agile?

                HR-специалист одной компании недавно сказал такую фразу: “разработчики не хотят к нам идти, как только узнают, что мы работаем по Agile”. И хотя я сам нередко слышу недовольство, высказываемое разработчиками в отношении Agile, такая категоричность меня удивила.


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


                Почему же не стыкуются отзывы реальных разработчиков с декларируемыми целями Agile?

                Читать дальше →
              • Коммерциализация доработок свободного ПО под Copyleft лицензиями

                  Я планировал начать эту статью с информации о том, что всегда существуют значительные сложности при попытках коммерциализировать доработки свободного программного обеспечения, а в качестве показательного примера привести ситуацию с проектом Redis.

                  Но потом понял, что ситуация с Redis (Redis вновь меняет лицензию) в качестве примера не очень подходит. И не только из-за адской смеси различных используемых в проекте лицензий, но и дополнительной путаницы, возникающей из-за толкования терминов Open Source и Свободное ПО.

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

                  Ведь цифры говорят сами за себя. Суммарная выручка облачных провайдеров за последний квартал 2019 года превысила $30 миллиардов долларов. Среди них лидер — Amazon (32.4% рынка), Microsoft Azure почти в два раза меньше (17.6%), далее идут Google Cloud (6%) и Alibaba Cloud (5.4%).

                  Тем не менее, для компаний меньшего размера, подобный бизнес как правило не достижим. Поэтому для них вопрос коммерциализации доработок свободного программного обеспечения под Copyleft лицензиями (такими, как GPL), может оказаться вполне актуальным.
                  Предлагаю вашему вниманию практический способ коммерциализация доработок свободного программного обеспечения под Copyleft лицензиями, в том числе применительно к законодательству РФ.
                  Читать дальше →
                • Как я бросил журналистику и стал программистом

                  Привет, я Алексей. Стал программистом в 29 лет. Сегодня у меня 4 года стажа, я работаю удаленно на английскую компанию, мой оклад привязан к фунту стерлингов и приблизительно в 10 раз больше средней ЗП по стране. Впервые с программированием я столкнулся… в 29 лет, когда начал учиться кодить.
                  Читать дальше →
                • Наилегчайший старт в STM через «одно место»

                  Уже, наверное, прошло время религиозных войн AVR против STM, но нет-нет да наблюдаются вспышки столкновений двух лагерей. Практически у любой публикации на тему поделок на AVR обязательно будет каммент вроде «Да сколько уже можно лохматить бабушку, давно пора перейти на STM», дальше вариации на тему цены, количества ног и таймеров. Если STMщик более продвинут, обязательно будет указание, что DMA в AVR нет и не будет, по этому AVR должна умереть. Зачем простому блинку-вольтметру-градуснику DMA, гора 16 разрядных таймеров, 100 ног и 12 битный АЦП никто как правило не объясняет. Зачем нужен такой комбайн в устройстве, которое легко вывозит Tiny13, которая при этом не загружена даже на треть своих ресурсов никто не будет разбираться. Просто надо переходить на STM32, и баста. Ибо вот.

                  И надо сказать, есть у людей тяга к новизне. А действительно, может попробовать? А вдруг понравится? Вот только Референс Мануал на популярный STM32F103C8T6, на котором основана самая массовая Голубая таблетка в 1126 страниц что-то как-то не очень располагает к «быстрому старту». Даже отдельную утилиту, так ненавидимый аксакалами «калокуб», и ту надо изучать, что там к чему. Да и вникнув в Cube, стартовать за 5 минут вряд ли получится, генерируемая им портянка не самое доступное чтиво на ночь, просто «в лоб» врубиться, о чём там речь получится не у каждого.
                  Читать дальше →
                • Как создать IT компанию с нуля — без опыта работы в данной сфере и навыков программирования?

                  Проанализировав путь своей компании, разделил его на несколько этапов и добавил интересные истории и курьезы, которые сопровождали нас на этом пути.

                  «Поиск себя и болей клиентов (нет наемных сотрудников)»


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

                  Начали сталкивать с болями, которые есть в этом бизнесе: постоянно проср*нные сроки, увеличение в несколько раз изначального бюджета, не до конца внедренный продукт и т. п. И поймали себя на мысли, что можем просто аутсорсить разработку.
                  Начали уже продавать не свою экспертизу, а полноценные проекты, благодаря сотрудникам на аутсорсе.

                  И что вы думаете: с какими проблемами мы столкнулись? Да, именно с теми же, что и наши клиенты. Поэтому наступил новый этап нашего развития.
                  Читать дальше →
                • Серийное производство электроники в России. Автоматизация тестирования



                    Продолжаю рассказывать про наш опыт организации серийного производства коммерческой электроники.

                    Прошлая статья была про историю производства изделия. Там много статистики, полученной в результате использования тестовых станций. Но мало про то, что собой представляют сами станции. Сегодня — подробнее о том, как мы автоматизировали функциональное тестирование печатных плат на производстве и как устроена тестовая станция, которая нам в этом помогает.
                    Читать дальше →
                  • Zabbix: топология сети наглядно и автоматически

                      Управляете сетью большего размера, чем локалхост? Не управляете, но хотите научиться? Приглашаем вас на курс «Linux. Уровень 5. Zabbix. Мониторинг IT инфраструктуры предприятия». На бесплатном семинаре учебного центра «Специалист» при МГТУ имени Баумана вы узнаете, как научить Zabbix мониторить сеть автоматически: находить существующие и добавлять новые узлы, рисовать и обновлять топологию.



                      Проведёт семинар ведущий преподаватель центра «Специалист» при МГТУ имени Баумана, главный системный администратор сети МГТУ им. Н. Э. Баумана Вячеслав Александрович Лохтуров. Записывайтесь (или смотрите в записи) наши бесплатные семинары.
                      Читать дальше →
                    • Особенности установления соединения между участниками сетевой игры типа «равный к равному»

                      Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP.

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

                      Опытные геймдевелоперы вряд ли найдут тут для себя что-то новое. Но буду благодарен за замечания и комментарии.


                      Читать дальше →
                    • Еще одно FM радио на RDA5807 под управлением Ардуино

                      На эту тему было много толковых публикаций, однако я сделал все по-своему, вдобавок создал трехмерную модель корпуса с практичным и оригинальным дизайном. В результате получился вполне законченный проект, достаточно простой для повторения начинающим любителем электроники. Счастливый владелец 3D принтера сможет похвастаться красивой самоделкой, способной конкурировать с фабричной продукцией.

                      image

                      Читать дальше →
                    • Об уравнениях высших степеней



                        Как правило в физике, информатике и экономике мы сталкиваемся с простейшими линейными, или дробно-рациональными уравнениями, реже с квадратными. А что до уравнений третьей и четвёртой степени? Если вам интересно, то прошу под кат.
                        Читать дальше →