• Полёты на падающих снежинках

      1. Вступление


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

      Читать дальше →
      • +10
      • 4,7k
      • 2
    • Конструктор XML-строки из PHP-массива

      Как часто приходится работать с XML PHP-разработчикам? Не так часто, на самом деле. Обычно потребность возникает при интеграции со сторонним сервисом, такие как BetaPRO, OnTime или CDEK. И вот тут обычно возникает такая ситуация, когда ваш код становится похожим на


      $date = '2016-09-25T12:45:10';
      $account = 'f62dcb094cc91617def72d9c260b4483';
      $secure = '81ad561784277fa864bf644d755fb164';
      $count = 1;
      $copy = 4;
      $dispatchNumber = '1033229706';
      $orderDate = '2016-09-25T12:45:10';
      
      $request = <<<XML
      <?xml version="1.0" encoding="UTF-8"?> 
      <OrdersPrint Date="{$date}" Account="{$account}" Secure="{$secure}" OrderCount="{$count}" CopyCount="{$copy}">
          <Order DispathNumber="{$orderNumber}" Date="{$orderDate}"/>
      </OrdersPrint>
      XML;

      и это еще не все! Нужно позаботиться о том, чтобы значения атрибутов и содержимое, заключенное в теги, не содержало спецсимволов, присущие XML. Если для конкретно этого запроса можно быть уверенным, что ничего из спецсимволов сюда не попадет, то контролировать каждый запрос вовсе бы не хотелось. Поэтому через "фильтр" пропускается все. Отсюда следует, что нужно еще "загнаться" с htmlspecialchars или с CDATA, или с XMLWriter, и знать, как это применить и не раз еще "свернуть себе кровь". Как вы видите, времени стоит "убить" достаточно, а результат-то хочется уже сейчас. Эх… А как хотелось бы, чтобы XML можно было бы создавать так же быстро, как JSON: отдал массив, а тебе XML-строку, и никаких заморочек. Опечалившись сложившейся ситуацией я в далеком 2015ом году я решил сделать такой конструктор.


      Вашему вниманию представляю xml-constructor для PHP начиная с версии 5.4 и до 7.2 на момент публикации данной статьи.

      Читать дальше →
    • Вышел PHP 7.2.0

      • Перевод
      image

      Вчера, 30 ноября 2017г. команда разработки PHP объявила о релизе PHP 7.2.0
      Это второй минорный релиз в серии PHP 7.

      PHP 7.2.0 включает в себя некоторые улучшения а также новый функционал.
      Читать дальше →
    • Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

        В интернетах не прекращается хайп вокруг чат-ботов (в частности, Telegram) благодаря шуму в СМИ, неоспоримых достоинствах платформы, политике продвижения, средствам разработки и т.д.

        Смотришь новости: ну жизни нет без чат-ботов!
        Да если их не будет, поезда с рельс сойдут, упадут самолеты, погибнут люди от тоски, когда не смогут найти картинки с котиками.

        Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет-магазине через чат-бот?

        Кто все эти люди, которые заказывают разработку ботов для своих магазинов?


        Типичный чат-бот магазина Vasya Limited:
        >> автоматизирует поток водопад заявок из 5 человек в день,
        >> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ,
        >> если повезет, человек найдет номер телефона и позвонит,
        >> но, вероятней всего, «Эээ, куда жать?», а потом закроет и уйдет гуглить дальше.

        Чем занят владелец, когда продажи «автоматизированы»:
        >> вносит заказы в excel-таблицу
        >> заполняет почтовые бланки на посылках
        >> стоит в очереди на почте с кучей посылок (каждый день!)
        >> вносит трек номера в excel-таблицу, затем рассылает клиентам

        Может, хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?
        Читать дальше →
      • Доступен PhpStorm 2017.3

          PhpStorm 2017.3


          Всем привет!


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


          Для вступления, я думаю, достаточно. Стоит разве что добавить, что статья является вольным переводом страницы “What’s new”. Скачать новую версию можно по предыдущей ссылке или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также студенты и разработчики проектов с открытым исходным кодом.


          Погнали! (Осторожно, под катом 2873.15 Кбайт картинок.)

          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Настройка среды для веб разработки в Windows на основе виртуальной машины VMware Player

          image

          Пытаться разрабатывать большие и средние PHP проекты на Windows, по моему, не совсем правильно. Поэтому если PHP разработка это ваше основное занятие, то скорее всего вас давно на рабочей машине стоит Linux и горя вы не знаете. Но если по каким-то причинам вы также, как и я, прилипли к Windows, но при этом вам необходимо работать с веб проектами, эта статья поможет вам настроить и запустить 100% полноценную среду для веб разработки с любым набором линукс софта, докером, и при всем этом красиво интегрированную в Windows.
          Читать дальше →
        • Регулярные выражения для самых маленьких

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

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

            Некоторые из них для наглядности будут показаны на примере языков программирования PHP или JavaScript, но в целом они работают независимо от ЯП.

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

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

            Поехали!


            Читать дальше →
          • Парсер на PHP-коленке или как я свою музыкальную коллекцию пополнял

            А началось все с чего? А началось все одним домашним, зимним, субботним вечером… Ну и конечно же с проблемы, для которой искалось решение)

            На днях, по своей же глупости, я потерял навеки всю свою коллекцию музыки (Я — DJ, музыкант). Было очень жалко, ведь коллекция была идеально рассортирована, проанализирована на битрейт, тональность и т.д.

            Смирился, думаю ладно, буду заново качать все треки. Качать буду с сайта promodj.com
            Почему «промоднище», а не какой нибудь soundcloud? Первая причина — я сижу на этом сайте гораздо чаще, чем на остальных музыкальных порталах. Вторая причина — там есть очень удобный поиск с фильтрами а-ля «Топовое за январь 2017 с качеством 320kbps, длиной не больше 10 минут и не является мэшапом».

            Как вы сами понимаете, совсем скоро мне настое… надоело нажимать руками кнопочку «Скачать». И тут и началось самое интересное).
            Читать дальше →
          Самое читаемое