• Никто и не заметил, как вышел MySQL 8.0

      Неожиданно для себя обнаружил, что mysql вдруг релизнулся буквально на днях (19 апреля), а статьи на хабре нет — все обсуждают сами-знаете-что.


      Постараюсь перевести выжимку из "What's new". Для тех, кто следит за разработкой, тут вероятно не будет ничего или почти ничего нового, для интересующихся время от времени — может показаться интересным. Сразу скажу, что в оригинальном посте более детальный
      разбор всех пунктов — тут лишь краткая выжимка со ссылочками.


      Оригинал

      Читать дальше →
    • Знакомство с гео-библиотекой S2 от Google и примеры использования

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

        Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада.



        Введение


        Сейчас у большинства людей в мире есть смартфон с постоянным доступом в Интернет. Если говорить в цифрах, то в 2018 году смартфон будет у почти 5 млрд людей, и 60% из них пользуются мобильным Интернетом.

        Это огромные числа. Компаниям получать координаты пользователей стало легко и просто. Эти лёгкость и доступность породили (и продолжают порождать) огромное количество сервисов, основанных на координатах.

        Всем нам известны компании типа Uber, игры, покорившие мир, такие как Ingress и Pokemon Go. Да что уж там, в любом банковском приложении есть возможность увидеть банкоматы или скидки поблизости.

        Мы в Badoo также очень активно используем координаты, чтобы предоставлять своим пользователям лучший, актуальный и интересный для них сервис. Но о каком именно использовании идёт речь? Давайте посмотрим на примеры сервисов, которые у нас есть.
        Читать дальше →
      • Проблемы при работе с кэшем и способы их решения

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

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

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


          Wild horses stampeding. Оригинал картинки.

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

          При работе я исхожу из того, что рассматриваемая система состоит из приложения, базы данных и кэша для данных. Вместо базы данных может использоваться любой другой источник (например, какой-то микросервис или внешний API).
          Читать дальше →
        • Самые распространённые вопросы на собеседовании программиста графики

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

          Вопросы делятся по темам: С++, математика, оптимизация и компьютерная графика. Очевидно, это главные темы в повседневной работе. C++ часто используется в реальных задачах, поэтому естественно, что на собеседовании задают много вопросов по нему. Кроме того, в программировании графики требуется лучшее знание математики, чем в большинстве других видов программирования, поэтому математические навыки имеют первостепенное значение. Наконец, для достижения 60 FPS и рендеринга с высокой графической точностью обязательными являются сильные навыки оптимизации. Давайте рассмотрим популярные вопросы в каждой категории.
          Читать дальше →
        • Готовим Juniper сеть с помощью Ansible



            В один прекрасный день я решил перейти с обычного rsyslog собирающего логи со всех устройств на что-то другое, выбор и прочее к данной теме мало относится (выбрали Graylog2), но по итогу появилась задача заменить на всех устройства Juniper настройки syslog хоста.

            В принципе пробежаться ручками (или накидать скрипт на perl) по сотне устройств и кликнуть команду не проблема, но в голове уже висела еще добрая пачка задач по автоматизации управления как сетевыми устройствами, так и еще парой сотней серверов. Если с Windows`ами проблем в моем окружении нет (используем SCCM), то с Linux окружением массовые операции обрастают либо ручными операциями, либо баш скриптами (можно и SCCM`ом управлять, но данный вариант мягко говоря неудобен).

            А так как уже давно хотелось начать использовать Ansible, то он был выбран как старт для этой задачи (для Chef и Puppet все-таки задачи не такие крупные, а порог вхождения уже больше).
            Читать дальше →
          • Cuckoo 2.0. Собираем лучшую open source платформу анализа вредоносных файлов

            • Tutorial

            Cuckoo Sandbox logo
            Приветствую Хабр!


            4 года назад я публиковал инструкцию по сборке платформы динамического анализа вредоносных файлов Cuckoo Sandbox 1.2. За это время проект успел обрасти внушительным функционалом и огромным комьюнити, недавно обновившись до версии 2.0, которая больше полутора лет висела в стадии Release Candidate.


            Я наконец-то подготовил для вас полнейший мануал по сборке Cuckoo Sandbox 2.0.5 со всеми плюшками, какие есть в проекте на данный момент, с упаковкой Cuckoo в venv и без использования root, добавив более 12-ти security утилит в песочницу! По совокупности собранного материала, не побоюсь сказать: "Это самый полный и выверенный шаг в шаг гайд из всех опубликованных в интернете на данный момент". Тем кто, осилит статью до конца — дам маленький совет, что делать, когда песочница собрана и как получить максимальный профит с автоматизации процессов ИБ своими сиилами с помощью опенсорса. Всем гикам, вирусным аналитикам, безопасникам, ребятам из SOC, CERT, CSIRT и просто любителям потыкать кнопки в терминале — добро пожаловать под кат!

            Читать дальше →
            • +15
            • 8,6k
            • 6
          • Шпаргалка для технического собеседования


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

              Читать дальше →
            • Автоматизация работы с Logs API в AppMetrica. Лекция в Яндексе

                Данные, которые собирает AppMetrica, можно заставить работать как угодно, а не только для аналитики. Они позволяют автоматизировать множество процессов, прямо или косвенно связанных с поведением пользователей. О том, как настроить выгрузку, что за данные можно использовать и какие подводные камни встретились при разработке Logs API, рассказал разработчик Николай Волосатов.


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

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

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

                  Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
                  Читать дальше →
                • Наглядное объяснение чисел с плавающей запятой

                  • Перевод
                  image

                  В начале 90-х создание трёхмерного игрового движка означало, что вы заставите машину выполнять почти не свойственные ей задачи. Персональные компьютеры того времени предназначались для запуска текстовых процессоров и электронных таблиц, а не для 3D-вычислений со частотой 70 кадров в секунду. Серьёзным препятствием стало то, что, несмотря на свою мощь, ЦП не имел аппаратного устройства для вычислений с плавающей запятой. У программистов было только АЛУ, перемалывающее целые числа.

                  При написании книги Game Engine Black Book: Wolfenstein 3D я хотел наглядно показать, насколько был велики были проблемы при работе без плавающей запятой. Мои попытки разобраться в числах с плавающей запятой при помощи каноничных статей мозг воспринимал в штыки. Я начал искать другой способ. Что-нибудь, далёкое от $(-1)^S * 1.M * 2^{(E-127)}$ и их загадочных экспонент с мантиссами. Может быть, в виде рисунка, потому что их мой мозг воспринимает проще.

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