• Поняв Docker

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


      К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


      UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


      Что мы имеем сегодня


      • Зоопарк дубовых VPS-хостингов.
      • Дорогие IaaS и PaaS с гарантированным vendor lock in.
      • Уникальные сервера-снежинки.
      • Ворох устаревших зависимостей на неподдерживаемой операционке.
      • Скрытые связи частей приложения.
      • Незаменимый админ полубог на скейтборде.
      • Радуга окружений: development, testing, integration, staging, production.
      • Генерация конфигов для системы управления конфигами.
      • Feature flagging.
      docker run docker
    • Junior FPGA Design Engineer: как стать?

        Всем привет!

        Иногда начинающие разработчики не очень хорошо представляют, какую литературу надо читать для серьезного изучения того или иного языка.

        Разработка под FPGA (ПЛИС) — это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов.

        В этой статье вы найдете:
        • список тем, которые должен освоить начинающий разработчик под FPGA
        • рекомендуемую литературу по каждой из тем
        • набор тестовых вопросов и лабораторных работ
        • классические ошибки новичков (и советы по исправлению)

        Добро пожаловать под кат!
        Читать дальше →
      • Взаимодействие программных и аппаратных средств

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

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

          Формирование канала передачи данных
          Рассмотрим канал передачи данных, который имеет всего два состояния, например, наличие или отсутствие напряжения. Передатчик должен устанавливать напряжении в линии в соответствии с передаваемыми данными, а приемник по измеряемому напряжению выделять данные линии. Простейший передатчик включает источник напряжения и идеальный ключ, который изменением собственного сопротивления (ноль или бесконечность) замыкает или размыкает провода. В качестве идеального приемника используется измеритель напряжения (мультиметр) с бесконечным входным сопротивлением.
          image
          Рис. 1. Схема с неопределенным напряжением в линии передачи. В реальной схеме функцию ключа может выполнять транзистор.

          В схеме Рис. 1 при замыкании ключа приёмнику передается 5В источника, однако, когда ключ разомкнут на входе приемника находится неопределенное напряжение.
          Этой неопределенности нет в схеме Рис. 2, которая имеет два устойчивых состояния 5В или 0В. Сопротивление R добавлено в схему передатчика для ограничения тока через замкнутый ключ. Переходный процесс в линии пропорционален произведению ёмкости линии на выходное сопротивление передатчика, которое отличается при установлении и сбросе напряжения в линии. При установке напряжения в линии происходит заряд ёмкости через сопротивление R. Во время сброса напряжения ёмкость разряжается через сопротивление замкнутого ключа.

          image
          Рис. 2. Передача двух состояний 5В и 0В. Тождественные схемы. Постоянная времени (R*C) перехода из 0В в 5В (заряда емкости) больше постоянной разряда линии через идеальный ключ с нулевым сопротивлением.
          Читать дальше →
          • +10
          • 13,5k
          • 2
        • Как работает радиоинтерфейс в GSM-сетях



            Думаю, многие когда-либо задумывались над тем, как работают сотовые сети. Ведь мы пользуемся мобильными телефонами почти каждый день. Количество абонентов увеличивается с каждым днем, так же как и площади сетевого покрытия… На смену старым стандартам приходят новые, растут и «аппетиты» пользователей мобильного интернета. Если Вас интересует, как все это работает, добро пожаловать под кат! Поскольку инфраструктура сотовых сетей довольно велика, а ее описание может занять целую книгу, в данной статье мы остановимся на Um-интерфейсе, с помощью которого наши телефоны взаимодействуют с оборудованием оператора, а также другими абонентами.

            Осторожно, злая собака много картинок!
            Читать дальше →
          • Прокачиваем умную зарядку Imax B6

            Воистину говорят: лень — двигатель прогресса! Вот и мне, взбудоражила голову мысль, автоматизировать процесс измерения и тренировки кислотных аккумуляторных батарей. Ведь кто, в здравом уме, будет, в наш век умных микросхем, корпеть над аккумулятором с мультиметрами и секундомером? Наверняка, многие знают «народное» зарядное устройство Imax B6. На хабре есть статья про него (и даже не одна). Ниже я напишу, что я с ней сделал и зачем.


            Читать дальше →
          • «Аюша» — контроллер на процессоре 6502

            Arduino, RaspberryPi,… Эти слова всё чаще встречаются в Сети в контексте создания управляющих контроллеров для всякого применения, от умного дома до мигания светодиодами. Несмотря на техническую навороченность, эти железки до ужаса скучные. Посудите сами: подал питание, загрузил программу,… и всё! А что делается внутри кремния, установленного на печатную плату — сие нам не ведомо. Или неинтересно?
            Поводом решения проблемы «неинтересности» стала любовь к процессору 6502, на котором собирались первояблоки и еще кое-кем помнимые «Агаты», а также кучка валяющихся без дела микросхем. Схем на этом процессоре в Интернете много, но тех, которые могли бы быть полезными в хозяйстве — практически нет. Результат работы — контроллер «Аюша», уже готовый захватывать управлять миром, помогать нам в любительской лаборатории, схемотехнику которого мы знаем, можем изменять по своим прихотям, и который в большинстве случаев применения заменяет *дуины и аналогичные борды.
            image
            И как оно там дальше?
          • Беспилотник на базе Raspberry Pi. Часть 1

            Привет, %хабраюзер%. Хочу поделиться историей о своем беспилотнике (БЛА) на малинке.

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

            Читать дальше →
          • Что происходит в интернете за 1 минуту? (инфографика)

              «Население» Интернета уже больше 2 миллиардов человек. Что успевает сделать такое количество людей за минуту? Вот некоторые цифры:

              за одну минуту —
              • пользователи заливают на Youtube 48 часов видео;
              • делают 2 миллиона запросов к Google;
              • тратят в онлайн-магазинах 272 070 долларов;
              • загружают 3125 фотографий на Flickr;
              • создают 571 веб-сайт;
              • отправляют 100 000 твитов;

              Остальное - под катом
            • Марк Руссинович написал новую книгу


                Известный в узких кругах пользователей Windows, автор мегаполезных утилит Sysinternals Suite, Марк Руссинович написал художественный роман.
                Называется «Zero Day».
                В продажу книга выйдет в середине марта (Амазон пишет, что 15 марта).
                Предзаказ можно оформить на специально созданном сайте www.zerodaythebook.com
                Марк пишет, что книга будет интересна интересующимся компьютерной безопасностью любителям триллеров.

                P.S. В какой блог переместить? (пишите в личку)
              • Отказоустойчивый узел передачи данных

                  Каждый оператор ШПД думает о том, как выпускать пользователей в сеть интернет и грамотно ограничивать скорость работы в сети по имеющимся тарифным планам и иметь резерв на случай отказа оборудования или работ связанных с отключением оборудования. Попытаюсь рассказать и показать на примере то, как это реализовано у нас (к нам подключены более 3х тысяч пользователей и описанный мною вариант работает очень даже неплохо)
                  Читать дальше →
                • Почему RAID-5 — «mustdie»?



                    В последнее время в мировой компьютерной прессе стало появляться довольно много статей на тему: «Почему RAID-5 это плохо» (пример раз, два, и другие)

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

                    И почему же?
                  • 50 цитат о программировании всех времён

                    • Перевод
                    Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

                    49. Lisp — это не язык, а строительный материал.
                    — Alan Kay

                    48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
                    — Edward V Berard
                    Читать дальше →
                  • Небольшая японская хитрость по организации своей записной книжки

                    • Перевод
                    • Tutorial
                    Инструменты типа Evernote позволяют находить и организовывать информацию действительно просто. Однако, временами я нахожу записные книжки более удобными, особенно на ходу.

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

                    Если это Вам знакомо, то Вы, наверное, полюбите эту хитрость, которой я научился в Японии. Это может выглядеть слегка неряшливо, и я не использую это каждый раз, но временами такой вид навигации бывает очень даже полезен. Начнем наш урок прямо под катом!
                    Читать дальше →
                  • Управление яркостью подсветки 7-ми дюймового TFT LCD

                    Введение


                    В настоящее время я занимаюсь проектом на Arduino с использованием TFT дисплея. Недавно мне захотелось добавить в него, казалось бы, простую функцию — функцию регулировки яркости. Нашёл в документации к библиотеке для работы с TFT дисплеем (UTFT Library) нужный метод: setBrightness(br);

                    Написал весь код, сделал все, как надо. Решил проверить, но, к моему удивлению, ничего не происходило. Начал разбираться. Спустя два дня, заметил небольшое примечание к методу: "This function is currently only supported on CPLD-based displays." То есть, данная библиотека, не поддерживает мой дисплей. Но я узнал, что сам дисплей регулировку яркости поддерживает. Очень долго искал в интернете способы настройки, но так и не нашёл, поэтому решил добиться своей цели сам, несмотря ни на что, и у меня это получилось. И вот решил поделиться с теми, кому это может пригодиться.


                    Читать дальше →
                  • Система управления мини-дирижаблем

                    Добрый день уважаемый читатель, вашему вниманию предоставляется проект разработки системы сенсорного управления мини-дирижаблем.
                    Задачей управления является движение дирижабля по линии. Также была реализована простая система дистанционного управления.
                    Объектом управления является мини-дирижабль разработанный на кафедре ЭиМ, ТТИ ЮФУ.


                    Рисунок 1 — Общий вид мини-дирижабля.

                    В проекте ставится цель: разработка системы технического зрения для обнаружения линии (траектории движения); разработка курсового регулятора, учитывающего факторы положения линии и угла наклона линии относительно дирижабля; разработка регулятора высоты; разработка системы дистанционного управления.
                    Читать дальше →
                  • Полет квадрокоптера на высоте 1км

                      Всегда было интересно как мир выглядит с высоты. Что видят птицы, чего не видно на картах googleEarth. Так пришло увлечение мультикоптерами, летать под облаками, фотографировать, снимать видео.


                      Подробности полета
                    • Тяжелый FPV-квадрокоптер — продолжение: APM 2.5 и активный подвес для камеры



                        Часть первая — в которой я придумал и построил свой квадрокоптер.

                        Продолжаю рассказ о своем квадрокоптере. Со времени опубликования первой статьи я налетал немало часов, и проделал множество модификаций на коптере. Обо всех мелких деталях рассказывать — будет долго, да и малоинтересно. Поэтому ограничусь основными изменениями, а именно:
                        • Новый полетный контроллер — простенькая платка Crius MultiWii SE уступила место новому ArduPilot Mega 2.5, резко улучшив летные характеристики и добавив коптеру некое кол-во продвинутых фич.
                        • Активный подвес для камеры — GoPro теперь не жестко закреплена, а установлена на стабилизирующем подвесе, который удерживает ее в горизонтальном положении при любом положении коптера.
                        • Новые моторы — в связи с выросшим весом коптера (а также с внезапной смертью одного из старых моторов) были установлены новые, болеe мощные и значительно более качественные моторы.
                        • Отдельная FPV-камера — GoPro теперь используется толькo для записи, для полета через видеоочки используется отдельная жестко монтированная камера.

                        Но обо всем по порядку…
                        Под катом многo текста и видео с подвеса
                      • Радиоуправляемый шагающий робот на MG90

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




                        Если тут видео не показывает, то: прямая ссылка.


                          Особенности:

                          1) 4 ноги 2) радиоуправление 3) легкий 4) оптимальная цена 5) без тупой ардуины.
                        Читать дальше →
                      • Мощный лабораторный блок питания

                        Не так давно приобрёл паяльную станцию. Давно занимаюсь любительской электроникой, и вот настал момент когда точно осознал что пора. До этого пользовался батиным самопальным блоком, совмещавшим лабораторный блок питания и блок питания низковольтного паяльника. И вот встала передо мной проблема: паяльную станцию я ставлю, а старый блок держать ради хилого и не точного блока питания 0-30в 3А или таки купить нечто современное, с защитой по току и цифровыми индикаторами? Поползав по ебею понял что максимум что мне светит это за 7-10 тыс купить Китайский блок с током максимум в 5А. Жаба сказала своё веское «ква», руки зачесались и…
                        Читать дальше →