• На вкус и цвет: градации подходов к Умному дому


      Сегодня я буду Капитаном Очевидность и расскажу банальные вещи применительно к теме домашней автоматизации, он же “Умный дом”. Для чего? Чтобы показать новичкам, как глубока кроличья нора, скрывающаяся под этим названием, и облегчить (или усложнить) муки выбора в том или ином случае. Это не прямая протоптанная дорога, а ветвящаяся тропа, когда приходится выбирать, как поступить и куда пойти.


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

      Читать дальше →
      • +12
      • 5,7k
      • 9
    • Trio – асинхронное программирование для людей

        image

        В Python существует библиотека Trio – библиотека асинхронного программирования.
        Знакомство с Trio в основном будет интересно тем, кто работает на Asyncio, потому что это хорошая альтернатива, позволяющая решать часть проблем, с которыми не может справиться Asyncio. В этом обзоре рассмотрим, что из себя представляет Trio и какие фичи она нам дает.
        Читать дальше →
      • BarsUP.AM: как мы разрабатывали средство защиты информации web-приложений

          image

          BarsUp.Access Manager (BarsUp.AM) — наш программный комплекс по защите конфиденциальной информации. При проектировании и разработке этой системы в соответствии с требованиями нормативных документов ФСТЭК России мы столкнулись со сложностями по управлению доступом к web-приложениям с использованием сертифицированных средств защиты информации.

          Приказ ФСТЭК России № 17 говорит, что должен осуществляться выбор средств защиты информации, сертифицированных на соответствие требованиям по безопасности информации, с учетом их стоимости, совместимости с информационными технологиями и техническими средствами. Мы посмотрели, что было на тот момент на рынке и поняли: стоимость решений, совместимых с нашими информационными системами, зачастую превышала стоимость самих систем, либо они были несовместимы.
          Читать дальше →
        • Советы айтишника заказчику, или как нельзя автоматизировать бардак

            Всем привет, я работаю в ИТ-бизнесе (в той части, которая занимается созданием ИТ-систем) более 20 лет. Захотелось обобщить опыт в нескольких советах заказчику, как сделать автоматизацию деятельности организации эффективным и успешным проектом.

            О целях и границах проекта




            Начнем с определения целей, которых вы хотите достичь путем реализации ИТ-проекта. В конечном счете, ИТ – не более чем технологии со своими возможностями. Но создание информационной системы не может быть самоцелью. Цель должна быть сформулирована в терминах вашего бизнеса.
            Читать дальше →
            • +11
            • 6,1k
            • 3
          • Эволюция HighLoad приложения на примере регионального портала госуслуг

              image

              «Завтра 20-е число, а значит снова будет шторм. Остановить его невозможно, только подготовиться и надеяться, что в этот раз пронесет, случится чудо, и наш озерный паром покорит океан». Такие мысли одолевали команду, занимающуюся поддержкой портала муниципальных услуг еще несколько лет назад. Как мы попали в эту ситуацию и как мы из нее нашли выход будет рассказано ниже.
              Читать дальше →
            • Мой путь к секционированию в PostgreSQL



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

                Привет, Хабр! Меня зовут Алмаз и сейчас я хочу поделиться методом, который помог мне реализовать секционирование.
                Читать дальше →
              • Разработка ПО как важнейшее из искусств (сразу после кино)

                  Во многих источниках упоминается, что программирование — это творчество. Другие же сравнивают его со строительством. А третьи с выращиванием сада. Но в общем сходятся во мнении, что это больше похоже на искусство. А как известно, важнейшим из искусств для нас является — кино.
                  Задумывались ли вы о том, насколько похожи процессы искусства кино и искусства разработки ПО (раз уж мы относим себя к творческим людям)? В обоих этих случаях результатом является произведение искусства… либо гадость, которой конечный потребитель останется не удовлетворен. Для еще большего понимания сравнения сделаем несколько шагов от фильма до приложения.
                  Первый шаг. Ближайший родственник фильма — мультфильм, анимация. Но по большому счету, большинство современных фильмов являются по своей сути мультфильмами.
                  Следующий шаг. Мультфильмы (особенно современные) безумно похожи на видео-игры. Им недостает интерактивности от поведения зрителя. В свою очередь, современные игры лишь чуть-чуть уступают качеству картинки мультфильмам и даже фильмам.
                  И вот мы уже в разработке игр, от которых рукой подать до производства прикладных программных систем. Цели разные, а вот процесс и подход к разработке одинаков.
                  Предлагаю взглянуть на процесс разработки ПО, через призму кинопроизводства. Быть может кто-то просто потешит себя сравнением и этой аллегорией, а кто-то начнет больше понимать и ценить свою роль в этом процессе.
                  (Скажу сразу — не снимал и не снимался в кино, но участвовал и участвую в разработке. Это фантазия — не судите строго.)
                  Итак, с чего начинается кино?
                  Читать дальше →
                • Отчет о прошедших 26-го марта мастер-классах

                    Доброго времени суток!

                    Как и обещали, мы провели второй мастер-класс по python и django в прошлую субботу. Было много интересного.

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

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

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

                    Самое читаемое