Composer — всё дело в lock файле

Composer давно и, видимо, надолго занял твердое место в качестве менеджера пакетов для PHP. Он довольно прост, эффективен и встречается повсеместно. Известно, что достаточно создать файл composer.json, в котором просто перечислить список необходимых пакетов и их версий и запустить composer install. Потом просто сохраняете вашу версию в систему контроля версий, и любой человек […]

Тестирование веб-приложений с помощью Codeception

Проектирование и создание большого веб-приложения означает, что ваш рабочий процесс и архитектура предрасполагают к постоянному совершенствованию разрабатываемого продукта. Для того, чтобы ваш продукт стабильно работал и вы были уверены, что новые коммиты не создают новые ошибки на существующем коде, необходимо использовать автоматизированные методы тестирования. И так же, как необходима надлежащая […]

Как в Symfony 3.4 сгенерировать ссылку на основе роута

Достаточно хорошая практика не хардкодить генерацию ссылок на страницы и эндпоинты своего веб-сайта или сервиса, а использовать генерацию урлов роутером. Для генерации полного URL делается это примерно так: $url = $container->get(‘router’)->generate(‘route_name’, [‘param’ => $value], UrlGeneratorInterface::ABSOLUTE_URL);

Помню времена, когда вебмастера вставляли баннеры в код сайта и вручную считали переходы

В 2018 году погодному сервису Gismeteo исполнилось 20 лет. Сайт остаётся одним из наиболее популярных в рунете: согласно данным LiveInternet, в сентябре 2018 года его посетили 33 млн уникальных пользователей. За последние 20 лет директор по рекламе Gismeteo Павел Алашкин успел поработать в одном из старейших агентств интернет-рекламы A-Net, главным […]

Русскоязычный чат-бот Boltoon: создаем виртуального собеседника

Несколько лет назад было опубликовано интервью, в котором говорят об искусственном интеллекте и, в частности, о чат-ботах. Респондент подчеркивает, что чат-боты не общаются, а имитирует общение. В них заложено ядро разумных микродиалогов вполне человеческого уровня и построен коммуникативный алгоритм постоянного сведения разговора к этому ядру. Только и всего. На мой взгляд, […]

Как в Symfony получить все get-параметры из Request

Опять таки достаточно тривиальная и чуть ли не ежедневная задача в Symfony выполняется через жопу. В версии 3.4 сработает такой способ: $Request->query->all(); Сам не пробовал, но в более ранних версиях, говорят нужно было делать так: $Request->request->all();

Пишем свою нейросеть: пошаговое руководство

Отличный гайд про нейросеть от теории к практике. Вы узнаете из каких элементов состоит ИНС, как она работает и как ее создать самому. Если вы в поисках пособия по искусственным нейронным сетям (ИНС), то, возможно, у вас уже имеются некоторые предположения относительно того, что это такое. Но знали ли вы, […]

Чудесный мир Word Embeddings: какие они бывают и зачем нужны?

Начать стоит от печки, то есть с постановки задачи. Откуда берется сама задача word embedding? Лирическое отступление: К сожалению, русскоязычное сообщество еще не выработало единого термина для этого понятия, поэтому мы будем использовать англоязычный. Сам по себе embedding — это сопоставление произвольной сущности (например, узла в графе или кусочка картинки) некоторому […]

Symfony 2 Joboard : Подробнее о моделях

Объект Doctrine Query Из требований второй части у нас должно быть: “На домашней странице пользователь должен видеть последние активные вакансии”. На данный момент отображаются все вакансии вне зависимости от того активные они или нет. <?php # src/App/JoboardBundle/Controller/JobController.php class JobController extends Controller { // … public function indexAction() { $em = $this->getDoctrine()->getManager(); $entities […]