• АМА с Хабром #21. Тестируем новый WYSIWYG

      У меня есть причины не любить аббревиатуру WYSIWYG. Во-первых, я до сих пор не могу сходу её написать — всё время сначала проговариваю про себя расшифровку (What You See Is what You Get) и только потом пишу. Во-вторых, она ужасно читается, «визивиг» или, что ещё хуже, «висивиг» — отвратительнее только иметь дело с бандой tough-though-trough-through-thorough-thought-throw. В третьих, в ней аж две буквы «y», которая залипает в моём ноутбуке, но это так, совсем уж личное.

      Читать далее
    • Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

      • Tutorial

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


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


      Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

      Читать дальше →
    • Долгий DNS resolve в Kubernetes

      Эта статья посвящена проблемам работы DNS в Kubernetes, с которыми столкнулась наша команда. Как оказалось, иногда проблема лежит гораздо глубже, чем кажется изначально.


      Вступление


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


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


      11 часов, начало рабочего дня. В системе мониторинга не хватает части сообщений от одного из приложений.

      Читать дальше →
    • Как использовать запятые в английском: 15 правил и примеры ошибок

      • Translation


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

      В общем, здесь немало трудных моментов, разобраться с которыми самостоятельно может быть нелегко. Я нашла интересный пост с правилами использования запятых в английском языке и примерами ошибок. Представляю вашему вниманию его адаптированный перевод.
      Читать дальше →
    • Изготовление печатных плат ЛУТ'ом от А до Я

      Доброго времени суток! Среди моих знакомых бытует мнение, что самостоятельно изготавливать печатные платы (ПП) бесполезно. Учитывая, что современные компоненты далеко ушли от DIP корпусов, то кустарно травить платы под них даже и не стоит пытаться. Тем не менее необходимость в быстрой оценке того или иного компонента всегда есть, и ждать несколько суток заказанной платы времени нет. И это учитывая, что заказ за «несколько суток» дорог, для одноразовой задачи.

      В данной статье я хочу изложить порядок действий, которые позволят быстро изготавливать ПП под компоненты в корпусах подобных TQFP-100, то есть с ногами 0,2мм и таким же зазором, и при этом сводить брак к минимуму.

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

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

      Под катом подробности и трафик.
      Подробности
    • Для чего хакерам Микротик и как я спрятал 100 тыс. RouterOS от ботнета

        RouterOS очень мощный инструмент в руках профессионалов и ответственных специалистов. Но в руках новичков или тех, кто делает всё на «и так сойдёт» Mikrotik начинает жить своей жизнью и превращается в ноду ботнета.

        Ещё в мае 2018 я писал статью с рекомендациями как защитить свой Микротик.

        Как ни странно, но в сети до сих пор тысячи «открытых» роутеров Mikrotik и армия ботнета пополняется.

        Я в свободное от работы и отдыха время искал уязвимые устройства по всей сети и делал настройки в соответствии со своими рекомендациями, то есть добавлял правила фаервола, которые закрывали доступ к роутеру не из локальной сети. В комментариях писал информацию об уязвимости и оставлял адрес телеграм-канала @router_os, где можно было мне задать интересующие вопросы (у нормального админа они должны были появиться).



        С мая по сегодняшний день я «вырвал» из лап ботнета более 100 тысяч устройств Mikrotik.

        Учитывая то, что я не могу выступить на MUM 2018 в Москве, то свой доклад я решил опубликовать на habr.com
        Читать дальше →
      • Luna. Высокоскоростная установка операционных систем

          Всем привет. Представляю на суд общественности новую утилиту для высокоскоростного bare-metal provisioning-а северов.


          TL;DR


          Конкурент xCAT/Warewulf/Rocks. Использует BitTorrent для раздачи образов OC. Поддерживаемые ОС — RHEL-семейство. Debian/Ubuntu — в работе. Самый масштабный тест на данный момент: холодная загрузка HPC кластера из 512 нод производится за 4 минуты. Автоматическое определение имени ноды на базе switch-port пар.


          Линк: https://github.com/dchirikov/luna


          Чуть больше деталей

          Читать дальше →
        • Два DHCP сервера на Centos7 с failover, dhcp-relay и динамическим обновлением зон

          Приветствую всех хабраюзеров. Мой первый опыт написания статей на Хабре, так что любая конструктивная критика приветствуется. Написать решил только лишь потому, что недавно столкнулся с задачей, решения которой «в лоб» не нашел.

          Суть задачи в том, что в большой организации нужен был отказоустойчивый DHCP-сервер, с dhcp-relay и возможностью быстро синхронизировать конфигурацию. Основной момент, что в большинстве найденных мной руководствах рассматривается либо вариант failover, либо dhcp-relay и нигде оба варианта не рассматривались вместе да ещё и с удобным методом синхронизации конфигурации. Вдруг кому моя статья немного поможет?
          Читать дальше →
        • Как понять, что происходит на сервере



            Александр Крижановский ( krizhanovsky, NatSys Lab.)


            По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


            Читать дальше →
          • Let's Encrypt и nginx: настройка в Debian и Ubuntu

            • Tutorial

            image


            Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


            Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


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


            Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

            Читать дальше →
          • Очередная статья про Docker для новичка [nginx + php-fpm + postgresql + mongodb]

            image

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

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

            Добро пожаловать под кат!
            Читать дальше →
          • Телевидение через Acestream на Raspberry PI. Теперь в docker контейнерах

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


              А теперь хорошая новость для обладателей медиаплеера на основе raspberry (OSMC, LibreELEC): нашлась сборка acestream под arm, что позволило установить его прямо на raspberry pi. В этой статье предлагается инструкция по установке acestream, и всего необходимого для просмотра ТВ в докер-контейнерах под raspberry. На момент написания статьи, предлагаемое решение позволяет смотреть бесплатно большое количество телеканалов, впрочем без гарантий: acestream в любой момент может перестать быть бесплатным.


              kodi live tv channels list screenshot

              Читать дальше →
            • Полное практическое руководство по Docker: с нуля до кластера на AWS

              • Translation



              Содержание



              Вопросы и ответы


              Что такое Докер?


              Определение Докера в Википедии звучит так:


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



              Ого! Как много информации.

              Читать дальше →
            • Исследуем защиту и восстанавливаем аркады Namco System ES1

                Tank! Tank! Tank! Arcade

                Введение

                Эта история началась практически сразу после написания статьи об исследовании аркады небезызвестной корейской компании: в аркадном автомате Tank! Tank! Tank! от Namco вышел из строя жесткий диск (что неудивительно, т.к. производитель установил в автомат не отличающиеся надежностью Seagate 7200.12), диск взяли с рабочей аркады и скопировали его через WinHex, после чего игра перестала запускаться. Предположив, что целостность диска была нарушена неосторожным нажатием клавиши в окне редактирования данных на диске в WinHex, был взят другой диск с еще одного рабочего автомата, скопирован аналогичным образом, который также перестал запускаться. Тут-то и стало понятно, что в диск каким-то образом встроена защита от копирования.
                Arcade Linux Error
                Читать дальше →
              • Прокачиваем\реанимируем электрическую зубную щетку Braun (Oral-b)

                  Еще пару-тройку лет назад попробовав электрическую зубную щетку познал Дзен.
                  Как в песне — вкалывают роботы, а не человек (с). Зубного налета в разы меньше, длительность процедуры регулирует — не профилонишь.
                  Выбор мой тогда пал на Braun Prof 500, начальная в проф линейке, без наворотов.
                  Потом у них случилась любовь с Oral-B и теперь эти щетки идут под их брендом.
                  Внутри несъемный Ni-MH элемент, тут производитель явно заложил «запрограммированное старение». Эффект памяти спустя три года привел к ожидаемому — заряда еле хватает на одну чистку.
                  Но как выяснилось, для восстановления подойдет обычный АА ni-mh аккумулятор.

                  Читать дальше →
                • Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP



                    Эта статья поможет ответить на вопросы владельцев, разработчиков и системных администраторов PHP-сайтов:



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


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

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

                    И если говорить о серверах для PHP, то такой проблемой является способ исполнения php кода, ровно как и другие значимые настройки окружения на сервере.
                    Не зависимо от того, есть ли проблема в вашем коде или её нет, высокая у вас посещаемость или нет, от настроек сервера зависит очень многое. Что бы все сказанное не звучало пустыми словами и была написана эта статья.

                    В этом обзоре я протестирую только что установленный сайт на одном из самых распространённых движков управления контентом Drupal 7.33.

                    Для теста выбрана лишь одна составляющая php-хостинга. Мы будем тестировать web-серверы Nginx и Apache2, модули mod_php и php-fpm, версии php php53 и php56, посмотрим, как влияют оптимизаторы apc и opcache на скорость работы сайта.

                    Читать дальше →
                  • Nginx и https. Получаем класс А+

                    • Tutorial
                    image

                    Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

                    Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
                    Читать дальше →
                  • Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 3

                    Подключение транзистора к линии порта ввода/вывода

                    Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.


                    Пример будем рассматривать на микроконтроллере ATMega8.

                    Программу писать будем в Atmel Studio 6.0.

                    Эмулировать схему будем в Proteus 7 Professional.
                    Читать дальше →
                  • Доставка из США за 5-10 дней по цене USPS

                      До наступления 2013 года оставалось 30 дней, когда я решил подарить жене ipad mini. Официальный store.apple.com не справлялся со спросом на mini, о чем красноречиво свидетельствовала надпись est shipping in 2 weeks.

                      Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.

                      До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
                      И я ее получил, за 10 дней, тариф за отправку составил $48.5.
                      Читать дальше...
                    • PayPal и американский адрес доставки

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

                        Казалось бы, ничего не остается, как купить у соответствующих товарищей credit card with US billing понуро закрыть страницу магазина, уйдя на поиски более дружелюбного продавца, как тут вы замечаете знакомый шильдик PayPal, который повесил владелец сайта, приглашая всех приобрести его товар, заплатив максимально удобным для вас способом. И вот она, победа, вы деловито шествуете по страницам чекаут процесса, как вдруг осознаете, что продавец малого того, что не принимает православные карты к оплате, так еще и на настолько обнаглел, что отправляет свой товар только в пределах своей отчизны, забивая на весь мир и связанные с международной отправкой проблемы.

                        Если получить адрес для получения посылок в США уже давно не проблема, то вот как получить американский адрес, доступный для выбора при оплате PayPal? Да, система PayPal не позволяет штатным образом владельцам аккаунтов, зарегистрированных в стране, отличной от США, добавить американский адрес доставки.

                        Но на каждую хитрую жопу, как известно…
                        Читать дальше →