• Вся программа Backend Conf: от микросервисов до бесконечных данных

      Последнее время, на фестивале РИТ++ докладов по серверному программированию меньше, чем по клиентскому. Связано ли это с популярностью noBackend подходов, общим смещением фокуса в сторону фронтенда, или просто традициями конференции, сказать трудно.

      Тем не менее, в программе Backend Conf целых 25 докладов, и мы решили составить полный гид по ним всем. Потому что это все равно два потока, и все равно придется выбирать, куда податься.



      Не так много докладов этого направления в силу своей специфики пройдут в главном зале, поэтому отдельно их не выделяем, а пойдем прямо по расписанию.

      Однако обратите внимание, что онлайн трансляцию главного зала смогут посмотреть все желающие, ссылку опубликуем накануне фестиваля в отдельной новости — не пропустите.
      Читать дальше →
    • DevConf 2018 уже в пятницу, 18 мая

        В эту пятницу, 18 мая, состоится профессиональная конференция веб-разработчиков DevConf 2018. Приглашаем принять участие. Очень кратко про программу:

        DevConf::BackEnd: Агрегатное мышление, переписывание проекта с Drupal 8 на Yii 2, Yii 2.1, PHP и фреймворки, Service Oriented Architecture, отправка уведомлений, sample profiling, open tracing, Business Intelligence.

        DevConf::FrontEnd: HOC в React, WebRTC: видеозвонки из браузера, Headless Chrome, архитектура большого легаси проекта, JSON API, Фреймворк для индивидуального дизайна, Тестируй это, Node.js и бесплатный митап LuaInMoscow.

        DevConf::Storage: MySQL/MariaDB/Percona Server: что нового, логическая репликация в PostgreSQL, SphinxSearch, ClickHouse, ProxySQL для отказоустойчивости MySQL, обзорный доклад про разные механизмы сжатия данных от Андрея Аксенова.
        Читать дальше →
      • PHP, GDB и массивы

        Зачем простому PHP разработчику может понадобится дебаг исходников? Ну например если он заметил какое-то не очевидное поведение и хочет разобраться в нем на максимально “низком” уровне. О таком интересном для меня поведение, а так же процессе “дебага сурсов” я и хотел бы поговорить.

        Мотивация


        Начнем с места в карьер, вот два похожих куска кода:

        Раз
        $arr = [];
        
        for ($i =0; $i < 300; $i++)
        {
          $arr[rand(1,1000)] = 1;
        }
         
        $sum = 0;
        for ($i = 1001; $i < 200000000; $i++){
          if (array_key_exists($i, $arr)){
            $sum++;
          }
        }
        


        Два
        $arr = [];
        
        for ($i =0; $i < 300; $i++)
        {
          $arr[rand(1,1000)] = 1;
        }
        
        sort($arr);
         
        $sum = 0;
        for ($i = 1001; $i < 200000000; $i++){
          if (array_key_exists($i, $arr)){
            $sum++;
          }
        }
        


        Разница между ними в том, что во втором случае мы отсортировали массив $arr, тем самым обновили ключи 0..count($arr)-1. А заинтересовал меня тот момент, что первый скрипт выполняется 6.0 секунд, тогда как второй 4.7 секунды. Получается около 20 процентов разницы.

        Если Вы знакомы с внутренним устройством хэш-таблицы php, а так же с хэш функцией, то Вы или уже знаете ответ или можете без особого труда догадаться. Ну а для остальных я расскажу как настроить среду для дебага и выяснить в чем же дело.
        Читать дальше →
        • +22
        • 4,1k
        • 1
      • Система автоматического документирования REST-API в Laravel проектах

        Преамбула


        Для того, чтоб описать и задокументировать правила клиент-серверного
        взаимодействия используя Rest-api можно выделить три основных метода:


        1. Описывать своим коллегам правила обращения к серверу на пальцах
          Этот метод быстр и не требует долгосрочной поддержки, но высока вероятность, что вас за это будут бить.
        2. Руками составлять Google-docs/Wiki/Readme в проекте
          Удобно тем, что однажды написанная документация не требует повторного объяснения. Её можно показать коллегам и даже иногда заказчику. Минусом данного метода является долгосрочная поддержка такой документации. Когда Api в проекте вырастает до таких размеров, что сама мысль "А когда же я обновлял документацию?" вызывает холодок по спине, тогда вы понимаете, что дальше так продолжаться не может. Формально вы можете обновлять документацию очень часто и маленькими фиксами, но это до первого отпуска.
        3. Использовать систему автодокументирования
          И вот для того, чтобы решить минусы первых двух методов человечество придумало системы автоматического документирования. Основная идея заключается в том, что к проекту пристыковывается некий плагин, который собирает информацию по вашему коду, сам составляет документацию и обёртывает её в удобочитаемый формат. Но большинство решений по этому методу не идеальны. Давайте попробуем сделать инструмент, который поможет получить документацию нашего проекта с минимальным количеством телодвижений

        Читать дальше →
        • +14
        • 5,8k
        • 6
      • PHP-Дайджест № 130 (1 – 13 мая 2018)


          Свежая подборка со ссылками на новости и материалы. В выпуске: конференция PHP fwdays'18, объявлены релиз-менеджеры PHP 7.3, предложение из PHP Internals, видеозаписи с прошедших митапов, порция полезных инструментов, и многое другое.

          Приятного чтения!
          Читать дальше →
        • Как за один день разработать SIEM (систему управления инцидентами информационной безопасности)

          • Tutorial
          Архитектутра SIEM системы

          «Коллеги, напоминаю, в этом квартале запланированы курсы повышения квалификации для партнеров на тему управления информационной безопасностью. Нашему коллективу предлагается подготовить практическое занятие, посвященное вопросам построения SIEM систем!» – после такого предложения начальника возникла пауза во время очередной летучки.

          Участники заседания из числа предполагаемых исполнителей понимали, к чему обязывает такое предложение (слава и почет затраты времени, сил, нервов). Но, поскольку проведение исследований решений SIEM (Security Information and Event Management, системы управления инцидентами безопасности) – одно из направлений нашей деятельности, отказываться от предложения не представлялось возможным. Выдохнули и приступили.

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

          Делимся материалами практикума по разработке собственной SIEM системы за один день с убедительными примерами.

          Дисклеймер. Материал — объемный, рассчитанный на полный учебный день занятий в размеренном темпе. Пример — примитивный. Авторы сомневаются в возможности промышленного применения open-source решений SIEM, но вместе с тем считают, что изучение практических примеров позволит лучше разобраться в предметной области.
          Читать дальше →
        • Ой, у вас баннер убежал!

          Ну. И что?
          Реклама
        • Обработка сигналов в PHP, или готовим вкусно

          На просторах интернета, в том числе и Хабра, неоднократно поднималась тема обработки сигналов с помощью средств php, но в своем большинстве они достаточно старые, содержат неактуальную информацию, и не отвечают на часто задаваемый вопрос: «зачем?», вот с него мы и начнем.
          Читать дальше →
          • +14
          • 6,9k
          • 7
        • Backend United #1. Винегрет — видео, фотоотчёт, презентации и отзывы слушателей

            18 апреля у нас в офисе прошел первый митап, посвященный кросс-языковым решениям для разработки серверной части. «Винегрет», судя по нашим впечатлениям и отзывам гостей митапа, удался. Значит, будем продолжать практику объединения бэкендеров, чаще встречаться и обсуждать общие подходы и инструменты для разных языков. Ну а пока публикуем видео, слайды, отзывы и фото. Всё это — под катом.


            Читать дальше →
          • PHP может стать еще лучше

              PHP слоник для привлечения внимания


              Шутки про PHP — уже отдельный жанр в различных сообществах программистов. Некоторые не любят PHP, потому что {lang_name} намного лучше. А кого-то он вполне обоснованно расстраивает.


              Я же PHP люблю. Не смотря на его косяки. Этот язык был создан для конкретной цели и решает он свою задачу хорошо. Схема "принял — обработал — отдал — умер" очень эффективна и решает проблему небольших утечек памяти.


              В моей работе PHP используется постоянно. Так сказать, это основной backend язык, используемый в моих проектах. За время работы у меня появились некоторые пожелания и замечания. Решил поделиться с обществом. Кому интересно, добро пожаловать под кат.

              Читать дальше →
            • DevConf 2018 — голосование за доклады

                18 мая 2018 в Digital October(Москва) пройдет DevConf — большая ежегодная конференция для веб-разработчиков, где обсуждают обо всем самом новом в мире программирования для веб. Программа определяется голосованием за доклады.


                В секции BackEnd: будущее PHP, мышление агрегатами, сервис-ориентированная архитектура, немного про блокчейн, трудности переписывания проекта, tracing, profiling, etc.

                В секции FrontEnd: React, GraphQL, Node.JS, WebRTC видеозвонки, телевизоры, тесты и разработчик PhantomJs.

                В секции Storage: PostgreSQL, MySQL, ProxySQL, SphinxSearch, ClickHouse и немного(много) про сжатие данных.
                Читать дальше →
                • +31
                • 2,3k
                • 1
              Самое читаемое