• Пишем GUI к 1С RAC, или снова о Tcl/Tk

      По мере вникания в тему работы 1С-овских продуктов в среде linux, обнаружился один недостаток — отсутствие удобного графического мультиплатформенного инструмента для управления кластером серверов 1С. И решено было этот недостаток исправить, путём написания GUI для консольной утилиты rac. Языком для разработки был выбран tcl/tk как, на мой взгляд, наиболее подходящий для этой задачи. И вот, некоторые интересные аспекты решения хочу представить в данном материале.
      Читать дальше →
      • +16
      • 2,5k
      • 4
    • «20 тысяч IOPS на узел — хорошие показатели с учётом задержек в 5 мс». Для OLTP — нет

        КДПВ


        Поводом написать эту статью стал весьма достойный обзор Как мы тестировали VMware vSAN... компании КРОК. Обзор-то достойный, но в нем есть фраза, с которой я борюсь уже больше десятка лет. Админы СХД, виртуализаторы и интеграторы раз за разом повторяют: "Задержки в 5 мс — это отличный показатель". Даже цифра в 5 мс десять лет не меняется. Я это слышал вживую от весьма уважаемых админов уже не меньше десятка раз. От менее уважаемых — десятки, а уж сколько раз читал в интернете… Нет, нет, нет. Для OLTP нагрузок 5 мс, особенно так, как их обычно измеряют — это epic fail. Мне приходилось объяснять причины этого уже много раз, на этот раз я решил собрать свои мысли в переиспользуемую форму.


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

        Читать дальше →
      • Git снизу вверх

        • Перевод
        У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


        Изображение из твиттера @girlie_mac

        Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
        Читать дальше →
      • Zabbix 3.4: Массовый сбор данных на примерах счетчика Меркурий и smartmontools

        • Tutorial


        Всем привет, ранее мы уже упоминали о возможностях по массовому сбору данных в новой версии опенсорс системы мониторинга Zabbix 3.4. Теперь остановимся на этом функционале поподробнее, и чтобы было нагляднее, расскажем о нем на двух примерах:

        • сбор всех данных за раз, полученных в JSON от консольной утилиты счетчика электроэнергии Меркурий 236
        • сбор показателей S.M.A.R.T. жестких дисков и SSD, полученных в табличном виде от smartmontools.
        Читать дальше →
      • Allure 2: тест-репорты нового поколения

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

          Есть люди, которые не знают об этом инструменте. Поэтому мы начнем с краткого вступления в Allure report.



          В основу данного материала легло выступление Артема Ерошенко на конференции Гейзенбаг 2017 Piter. На московской конференции 8-9 декабря Артем выступит с новым докладом.
          Читать дальше →
          • +19
          • 15,7k
          • 5
        • Сударь, ваша команда — не команда

            За свои 12 лет работы в сфере разработки ПО, мне посчастливилось поработать в команде только два раза. Хотя я сменил порядка десяти мест работы. Но попробовав раз, ем и сейчас… Т.к. я не жадный, и готов своими достижениями делиться с сообществом, то решил я предпринять попытку вывести из равновесия неумных руководителей, которые до сих пор не осознали важность команды, а также тех руководителей, которые профессионально занимаются самообманом — мол, они строят команду, а на деле — тьфу, а не команда.
            Читать дальше →
          • Оживляя динозавров: TDD vs Test-Last

              image
              Simon Stålenhag — Tyrannosaurus (http://www.simonstalenhag.se)
              “Будьте осторожны с использованием следующего кода — я лишь доказал, что он работает, но я не тестировал его” Дональд Кнут
              Техника “Сначала Тест” (Test-First Design, далее TFD) появилась вместе с экстремальным программированием (Extreme Programming, далее XP, кстати, эта абревиатура никак не связана с Windows) и является одним из основных подходов этой методологии. Впервые книжное упоминание этой техники было в Extreme Programming Explained 1999 K.Beck
              Читать дальше →
            • NetApp FAS оптимизация производительности

                В этой статье я сфокусируюсь на оптимизации производительности систем NetApp FAS.

                Объектами оптимизации с точки зрения СХД могут быть настройки:
                • SAN в СХД
                • Ethernet в СХД
                • NAS в СХД
                • Дисковой подсистемы на Back-End СХД
                • Дисковой подсистемы на Front-End СХД
                • Проверка совместимости прошивок
                • Ускорители



                Для поиска узкого места обычно выполняют методику последовательного исключения. Предлагаю перво-наперво начать с СХД. А дальше двигаться СХД -> Сеть (Ethernet / FC) -> Хост ( Windows / Linux / VMware ESXi 5.Х и ESXi 6.X ) -> Приложение.
                Читать дальше →
              • Как я использую git

                  Intro


                  Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
                  С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


                  • git add <path>
                  • git commit
                  • git checkout <path/branch>
                  • git checkout -b <new branch>

                  И дополнительно:


                  • git push/pull
                  • git merge <branch>
                  • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

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

                  Читать дальше →
                • «Магическая константа» 0x5f3759df

                  • Перевод
                  В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

                  Вот полная реализация этого алгоритма:

                  float FastInvSqrt(float x) {
                    float xhalf = 0.5f * x;
                    int i = *(int*)&x;  // представим биты float в виде целого числа
                    i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
                    x = *(float*)&i;
                    x = x*(1.5f-(xhalf*x*x));
                    return x;
                  }

                  Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

                  image

                  Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
                  В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

                  Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
                  Читать дальше →