• Про безопасность банкоматов и разработку охранного извещателя (продолжение)

      В своей предыдущей статье я рассказал в целом про проблему безопасности банкоматов и немного про свой опыт разработки устройства обеспечения этой самой безопасности.

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


        Сейчас об этом принципе слышал любой, кто занимается программированием. Чуть меньше тех, кто думает, что его знает. Гораздо меньше тех, кто действительно умеет его использовать. Я постараюсь объяснить суть, назначение и применение этого принципа как можно проще и короче.


        Определение


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


        Пример


        Lazy<T> — обертка для объекта, чье создание откладывается до первого обращения к нему.


        Антипример


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


        Еще антипример


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


        Назначение


        Упрощение создания, анализа и модификации программных систем.

        Читать дальше →
      • Вести с полей больших и умных данных: программа конференции SmartData 2017 Piter

          В 2016/2017 годах мы обнаружили, что на каждой из наших конференций есть 1-3 доклада о Big Data, нейросетях, искусственном интеллекте или машинном обучении. Стало понятно, что под эту тему можно собрать хорошую конференцию, о чём я сегодня вам и расскажу.

          Вкусно: мы решили собрать под одной крышей учёных, инженеров-практиков, архитекторов и сделать упор на технологии — казалось бы, обычное дело, но нет.

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

          Учёные строят нейросети в теории, архитекторы делают распределённые системы для корпораций с целью обработки огромных потоков данных в реальном времени, без конечной цели унифицировать к ним доступ, инженеры-практики пишут под это всё софт для сугубо узких задач, которые потом нереально перенести на что-то другое. В общем, каждый копает свою грядку и не лезет к соседу… Так? Да нет же!

          На деле: Все занимаются частью общего. Как сама Smart Data (а «умные данные» — это очень узкий перевод) по природе своей, так и те, кто с ней работает, по сути, делают распределённую сеть различных наработок, которые могут создавать порой неожиданные сочетания. Это и формирует фундамент Умных данных в своей красоте и практической значимости.

          Итак, что это за кусочки паззла и кто их создает, можно будет посмотреть и даже обсудить с создателями на конференции SmartData 2017 Piter 21 октября 2017. Подробности под катом.

          image

          Дальше будет много букв, мы же за большие и умные данные, хотя исторически анонс подразумевает быстрый и ёмкий текст, краткий и точный, как выстрел снайпера в ясную летнюю ночь.
          Читать дальше →
          • +34
          • 2,9k
          • 4
        • Единый репозиторий для управления Enterprise Architecture

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

            Что я подразумеваю под «сложным»: это несколько сотен бизнес-приложений с довольно внушительной дисперсией атрибутов — технологии, разнородность функциональности, связанность с другим приложениями, критичность, возраст, размер и так далее. Добавьте сюда динамику, поскольку ландшафт неустанно меняют несколько десятков внутренних и внешних команд. Иными словами — самый отпетый, или, на устойчивом жаргоне, «кровавый» энтерпрайз.
            Читать дальше →
          • Тестирование в Openshift: Интеграция с Openstack

              Здравствуйте, уважаемые участники ИТ сообщества. Данный материал является незапланированным продолжением серии статей (первая статья, вторая статья, третья статья), которые посвящены тестированию ПО в Openshift Origin. В данной статье будут рассмотрены аспекты интеграции контейнеров и виртуальных машин посредством Openshift и Openstack.


              Какие цели я преследовал интегрируя Openshift с Openstack:


              1. Добавить возможность запускать контейнеры и виртуальные машины в единой сети (L2, отсутствие вложенных сетей).
              2. Добавить возможность использования опубликованных в Openshift сервисов виртуальными машинами.
              3. Добавить возможность интеграции физического сегмента сети с сетью контейнеров/виртуальных машин.
              4. Иметь возможность обоюдного разрешения FQDN для контейнеров и виртуальных машин.
              5. Иметь возможность встроить процесс развертывания гибридных окружений (контейнеры, виртуальные машины) в существующий CI/CD.

              Примечание: в данной статье не пойдет речи об автоматическом масштабировании кластера и предоставлении хранилищ данных.

              Читать дальше →
            • Участникам чемпионата RAIF стали доступны бизнес-данные «М.Видео»



                Напоминаем, что уже полным ходом идёт чемпионат «RAIF-Challenge 2017», который финиширует 25 октября. В Чемпионате могут испытать свои силы разработчики в сфере ML/AI и им сочувствующие! На момент старта участникам были доступны две номинации — «AI в страховании» и «AI в банках». С понедельника компания «М.Видео» также предоставила свои исходные бизнес-данные для номинации «AI в ритейле».

                Подробности под катом.
                Читать дальше →
              • Реклама помогает поддерживать и развивать наши сервисы

                Подробнее
                Реклама
              • Аналитика в госсекторе: особенности больших систем хранения данных

                  Принято считать, что информационные технологии в государственных ведомствах приживаются тяжелее, и для этого мнения есть ряд объективных причин. Однако, как говорил Альф: «Вы не любите котов? Значит, вы не умеете их готовить!». И сегодня мы хотим поговорить о том, как отличаются проекты в госкомпаниях с точки зрения бизнес-IT интегратора, и для каких целей госы создают большие хранилища для аналитических проектов.

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

                  Читать дальше →
                • Моделирование смешанных схем на System Verilog

                  Жили были, не, не так… Однажды рано утром, придя в очередной раз на работу, я узнал, что у нас в серверной всего один ввод электропитания и он может отгорать. Целый день было нечего делать, и я решил написать статью на Хабр. Статья ориентирована на начинающих и праздно интересующихся.


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


                  Так как мы живем в аналоговом мире, то даже цифровая микросхема должна уметь с этим миром общаться. Цифровые микросхемы содержат на кристалле десятки больших аналоговых блоков, таких как АЦП, ЦАП, ФАПЧ, блоки вторичного питания и т.д. Исключением из этого правила, вероятно, являются только большие процессоры, типа Core i и т.п., где все это хозяйство вынесено в чипсет.

                  Читать дальше →
                  • +14
                  • 2,1k
                  • 1
                • DPI-дайджест: ИБ, виртуализация и регулирование

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

                    Другие выпуски дайджеста:


                    Читать дальше →
                  • Анатомия распределённых бизнес-процессов: Oracle SOA и BPM


                      Все переплетено, море нитей, но.
                      Потяни за нить, за ней потянется клубок.
                      Этот мир – веретено
                      Oxxxymiron – Переплетено

                      Мир построения крупных ИС в топ-100 компаниях, как и любые другие ИТ-направления, подвержен веяниям моды. Еще пять лет назад SOA казалось решением всех проблем сложных архитектур. Банки и крупные ритейлеры активно перестраивали свои системы в интеграционном SOA-стиле. BPM-платформы внедряли там, где руководство придерживается современного подхода в построении бизнес-приложений и интеграционной архитектуры самой компании.

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

                      Но велико число тех организаций, где всё делается «по-старинке» — такие заказчики очень часто мыслят категориями имеющихся у них ИТ-систем. Мол, «мы купили вот такую крутую CRM-систему и счастливы». Или «у нас есть SAP ERP, нам его хватает на все случаи жизни». Хотя на самом деле сложности возникают: нередка ситуация, когда компания приобретает какую-то систему и начинает нашпиговывать её несвойственной ей функциональностью и ставить задачи, на которые вендоры и не рассчитывали. В итоге система превращается в неповоротливого монстра, чьи дополнительные возможности плохо задокументированы, с ней очень тяжело разбираться и работать. И самое главное — её тяжело развивать.

                      Вторая распространённая ситуация: каждый отдел внутри организации лепит что-то своё. В одном подразделении скачали Open Source систему учёта заявок, в другом заказали решение у местного программиста, и так далее. В итоге возникает зоопарк систем, решающих одни и те же задачи.

                      И выходом из двух этих крайних ситуаций по-прежнему являются интеграционные и BPM-решения. Замечательные представители которых — Oracle SOA Suite и Oracle BPM Suite. Что это такое и зачем они нужны?
                      Читать дальше →
                      • +14
                      • 2,8k
                      • 6
                    Самое читаемое