• Domain-driven design, Hexagonal architecture of ports and adapters, Dependency injection и Python

      Пролог

      - Глянь, статью на Хабр подготовил.
      - Эм... а почему заголовок на английском?
      - "Предметно-ориентированное проектирование, Гексагональная архитектура портов и адаптеров, Внедрение зависимостей и Пайто..."

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

      --

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

      Читать далее
    • По зубам: гигиена, часть 1

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



        Зубной налёт (макрофото с электронного микроскопа)

        Читать дальше →
      • Stm32 + USB на шаблонах C++. Продолжение. Делаем HID

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

          Читать далее
        • USB на регистрах: bulk endpoint на примере Mass Storage



            Еще более низкий уровень (avr-vusb)
            USB на регистрах: STM32L1 / STM32F1
            USB на регистрах: interrupt endpoint на примере HID
            USB на регистрах: isochronous endpoint на примере Audio device

            В прошлый раз мы познакомились с общими принципами организации USB и собрали простое устройство, иллюстрирующее работу конечной точки типа Control. Пришло время изучать следующий тип — Bulk. Конечные точки такого типа предназначены для обмена большими объемами информации, причем чувствительной к надежности, но не скорости обмена.

            Классические примеры — запоминающие устройства и переходники вроде USB-COM. Но переходники требуют еще наличия конечной точки типа Interrupt, которую мы пока «не проходили», так что остановимся на эмуляции флешки. Точнее, двух флешек одновременно.
            Читать дальше →
          • Синхронные двигатели с постоянными магнитами на роторе: управление (синус и/или трапеция)

            • Tutorial

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

            От теории к практике, наглядно, понятно и занимательно.

            Читать далее
          • 3. Частотные характеристики систем автоматического управления (АФЧХ, ЛАХ, ФЧХ) ч. 3.1

            • Tutorial

            Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!


            Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


            В предыдущих сериях:
            1. Введение в теорию автоматического управления.
            2. Математическое описание систем автоматического управления 2.1 — 2.3, 2.3 — 2.8, 2.9 — 2.13


            В этом разделе мы будем изучать частотные характеристики. Тема сегодняшней статьи:
            3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ


            Будет интересно, познавательно и жестко.



            Читать дальше →
          • C++ template аллокатора с потокобезопасным циклическим буфером

              Вашему вниманию простой C++ template аллокатора с потокобезопасным циклическим буфером.

              Вся реализация в одном заголовочном .h файле: [fast_mem_pool.h]

              Фишки, чем этот аллокатор лучше сотни подобных — под катом.
              Читать дальше →
            • Сэмулируй сборку приложения ARM на x86 процессоре на примере Qt

              • Tutorial
              Мощность современных процессоров растёт, как в стационарных компьютерах, так и в различных embedded устройствах, на борту которых процессоры на базе ARM с операционной системой linux. Сегодня в рамках данной статьи мы запустим эмулятор процессора ARM на x86 компьютере и в нём попробуем собрать Qt из исходников и тестовое приложение, т.е. так сказать сиэмулируем сборку ARM приложения.

              В первой части статьи будем использовать эмулятор QEMU для aarch64, во второй части запустим эмулятор Raspberry и проверим работоспособность приложения в нём.

              От себя хочу отметить, это все делается не быстро, и если Вы попробуете все это выполнить, то полный цикл займет у вас несколько дней!)


              Читать дальше →
              • +16
              • 6.3k
              • 7
            • Всё-таки я не зря учился! Как клёвые алгоритмы и школьные формулы помогают создавать инновационные лекарства

                image


                Введение


                Меня зовут Александр Садовников, я выпускник корпоративной магистерской программы ИТМО и JetBrains «Разработка программного обеспечения» и по совместительству старший разработчик биоинформатического ПО в департаменте вычислительной биологии компании BIOCAD.


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


                Понять, как взаимодействуют две молекулы, можно, если предсказать структуру комплекса, который они формируют в природе. Предсказание структуры молекулярного комплекса по-научному называется задачей докинга. Частого использования этого термина я, к сожалению, избежать не смогу. Главная новость заключается в том, что задачу докинга человечество уже умеет с переменным успехом решать с помощью компьютерного моделирования. Это стало возможным, в частности, за счёт использования довольно известных за пределами биоинформатики алгоритмов и математических подходов. На их примере я покажу, как очень частные знания, которые мы получаем на протяжении многих лет учёбы в школе и вузе, оказываются полезными на практике, причём зачастую не самым очевидным образом.

                Читать дальше →
              • Нейробиология зависимости

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

                  Всем здоровья и свободы разной: внешней и внутренней.

                  image
                  Читать дальше →
                • Антикакеры

                    Собрал для вас цитаты из разных книг по важной, на мой взгляд, теме: что нужно для изменений – инструкция или принципы.

                    Несмотря на всю абсурдность идеи брать чей-нибудь готовый кейс и использовать его у себя, именно так и поступают менеджеры в большинстве случаев. Это вполне объяснимо: сделать по инструкции проще, чем брать какие-то принципы, кубики, и лепить из них собственный кейс, с учетом особенностей своей компании. А главное: за результат отвечать не надо. Если не сработало, то виноват кейс. Так появляются тысячи статей, постов, видео и выступлений о неэффективности повышения эффективности.

                    Цитаты я собрал не для менеджеров – они будут продолжать действовать по-своему. Рынок продуктов для «здорового образа жизни организаций» слишком велик и привлекателен, чтобы начинать думать головой.

                    Цитаты я собрал для нас – «глобусов», на которых «натягивают сову». Большинство книг, из которых взяты цитаты, входят в обязательный менеджерский набор. Так что можно крыть их же козырями.

                    Некоторые цитаты длинноваты — не хотел прерывать авторов, вырывать мысль из контекста.
                    Читать дальше →
                    • +10
                    • 6.2k
                    • 5
                  • Книга «Эмоциональный интеллект в бизнесе: решение сложных лидерских задач»

                      image
                      Даже самые успешные компании теряют ключевых сотрудников из-за быстрого карьерного роста, конфликтов, выгорания, стрессов. Почему? Любая команда сопротивляется изменениям, в результате компания не способна выйти на новый уровень. В такие моменты особенно важную роль играет лидер.

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

                      Если вы не обладаете навыками эмоционального интеллекта, не знаете, как эмоции влияют на достижение целей организации, даже самый высокий профессионализм не поможет решить возникшие проблемы. Хотите стать эффективным лидером? Эта книга предоставит практические навыки и советы по использованию эмоций в бизнесе.

                      Эмоционально-интеллектуальный лидер меняет мир к лучшему, не навязывая своего мнения. Быть великим руководителем — значит выстраивать доверительные и крепкие отношения с сотрудниками.
                      Читать дальше →
                    • Немного о релокациях в ядре Linux

                      Решим простую задачу — выделим в пространстве ядра Linux блок памяти, поместим в него какой-нибудь бинарный код и выполним его. Для этого напишем модуль ядра, в нем определим функцию foo, которая будет играть роль нужного нам бинарного кода, далее при помощи функции module_alloc выделим блок памяти, скопируем в него через memcpy эту функцию целиком и передадим ей управление.

                      Вот как это выглядит:
                      Читать дальше →
                    • Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная)

                        drawing

                        Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
                        собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


                        Статью разделил на две части:


                        • в первой части была описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
                        • в этой части расскажу про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
                        Читать дальше →
                      • LED-драйвер со стоимостью BOM-а меньше 1$. Это возможно?

                          Разработка LED-драйвера – интересная и комплексная задача. Рынок в этом направлении весьма насыщен – иногда кажется, что производство светодиодных светильников везде. Начиная от гаража и заканчивая огромными заводами. Что касается драйверов, гиганты типа Philips или Meanwell с одной стороны, добротные китайцы вроде Moso и Billion с другой, noname китайцы с третьей… В этих условиях к инженерным составляющим (схемотехнической и конструкторской) добавляется задача оптимизации изделия по цене.



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

                          Все началось с того, что на очередном обсуждении дальнейшей судьбы проекта, над которым я тогда работал, кто-то сказал: «А давайте прикрутим меш-сети, ведь это круто, модно и молодёжно!». И именно с этого момента началась моя неравная борьба с меш-сетями, из которой мы с товарищем вышли победителями. Хоть и с небольшой оговоркой.


                          image
                          Читать дальше →
                        • С++, метапрограммирование и регистры микроконтроллера

                          Привет, Хабр!


                          Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++.


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


                          Во избежание лишних вопросов: я использую связку QtCreator+gcc+gdb+openocd. Как с ней работать, описано многократно, поэтому не буду на этом останавливаться, а вот о своих подходах к работе с микроконтроллерами расскажу подробнее.


                          На нижнем уровне проекта, как правило, находятся драйвера периферии. С них и начнём.

                          Читать дальше →
                        • Освободи свой Android



                            Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.

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

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

                            image

                            Уже сегодня банки формируют свои предложения исходя из данных собранных их приложениями на смартфонах клиентов. В частности ставка по кредиту, которую вам предложат, сильно зависит от файлов, размещенных на вашем устройстве, и сайтов, которые вы посещали. Именно поэтому банки так настойчиво предлагают их установить (даже отказывая в обслуживании, сославшись на возможность выполнения необходимых действий самостоятельно). Для этого банковские клиенты требуют максимальных прав на устройстве. Например, Сбербанк Онлайн утверждает, что ему необходим доступ к файловой системе для… поиска вирусов на устройстве.

                            Вам может показаться, что получение низкой ставки по кредиту за социально полезные действия- перспектива далекого будущего. Но уже сегодня ставка ипотеки для молодой семьи находится в районе 10%, тогда как остальные предложения близки к 20%. Т.е. это уже давно реальность, просто вы не придавали этому значения.

                            Я считаю, что ряд непопулярных решений будет принят в течении последнего президентского срока Владимира Путина: этому человеку больше не надо «сохранять лицо». Поэтому до 2024 года мы увидим новый виток «закручивания гаек», в том числе введение социального рейтинга в России.
                            Читать дальше →
                          • 12 лет с МКБ F41.2. То, что нас не убивает, делает сильнее… и лучше

                            Привет всем. У меня депрессивное-тревожное расстройство. Вот уже 12 лет. 5 полноценных эпизодов. 4 ремиссии. МКБ F41.2 — эти цифры легко запоминаются… уже на первом эпизоде.


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


                            Когда-то я спрашивал, за что мне природа и генотип наградили пограничным расстройством психики. А потом один мудрый человек подправил вопрос — не «Почему?» и даже не «За что?», а «Для чего?». Мне понадобилось несколько лет и три эпизода депрессивно-тревожного расстройства, чтобы понять его правоту.


                            Болезнь сделала меня лучше, чем я был до неё. Я в этом уверен. Это моя история. Пусть она послужит маяком для тех, кто потерялся в штормовом море F41.2 под тяжёлым свинцовым небом — и не знает, что делать, к кому обратиться и как жить дальше. А рядом нет хорошего специалиста психиатра.


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



                            Три самых главных вещи:

                            Читать дальше →