Блог

SymСode St. Petersburg Meetup #8 - JetBrains (18 dec 2019)

Всем привет! 18 декабря 2019 в Санкт-Петербурге состоялась восьмая встреча сообщества SymCode. Организаторы Symfoniacs провели ребрединг, и теперь сообщество называется SymCode. Также у митапа появился новый логотип.

Логгирование изменений сущностей в Symfony 4

Всем привет. Сегоня хотел бы поделиться опытом реализации истории изменения сущностей для symfony/doctrine. Основная идея в том, чтобы логгировать какой пользователь и когда создал, изменил или удалил сущность. И если поменял, то какие поля, какие значения были и какие стали после изменения.

Загрузка торрентов на VPS

Всем привет! Сегодня будем настраивать сервер для загрузки торрентов на VPS. Собственно, ничего сложного и необычного в этой задаче нет. Речь идет о настройке transmission-daemon на сервере.

У этого подхода может быть несколько вариантов использования.

Symfony St. Petersburg Meetup #7 - ITMO (24 oct 2019)

Всем привет! 24 октября 2019 в Санкт-Петербурге состоялась седьмая встреча сообщества Symfoniacs - митап, изначально посвященный PHP фреймворку Symfony. Последнее время Symfoniacs позиционируется, как соощество профессиональных PHP разработчиков не ограниченное рамками одного фреймворка.

Elastic Search - тестирование релевантности

Всем привет! Сегодня поговорим об отладке и тестировании поиска на базе Elastic Search. Конкретно, о тестировании релевантности. Из коробки Elastic работает неплохо. Но, вероятно, может понадобится донастроить релевантность поиска. Например, установить вес различных полей в поиске. Также могут быть другие факторы, влияющие на релевантность. Подробнее про настройку и о том как все устроено можно почитать тут: https://codedzen.ru/elasticsearch-urok-6-4-relevantnost/

При этом важно понимать, что изменения настроек влияют на весь поиск. К примеру, нам не нравится результаты поиска по запросу "Fiat 500", но при этом устраивают результаты по запросам "Renault Logan", "Nissan Micra" и т.д. Если мы поменяем настройки и подгоним результаты под запрос "Fiat 500", то не факт, что все остальное будет работать нормально.

Организация Detail View в Yii2

Всем привет! Сегодня речь пойдет о Yii2, а конкретно о Detail View Widget. Этот widget позволяет выводить информацию на странице. В общем-то все, кто работал с Yii наверняка о нем знают. Чаще всего виджет используется в разных админках и т.д.

Где и как искать удаленную работу

Всем привет! Лето 2019 года выдалось для меня довольно жарким и насыщеным на события. Поэтому давно не было постов в блоге, хотя написать что-нибудь очень хотелось. Итак, я уже почти 4 месяца работаю удаленно. Сегодня хочу поделиться своим небольшим опытом поиска удаленной работы. Под удаленной работой понимается именно удаленная работа, не фриланс.

Курсы валют - бесплатно, без СМС

Всем привет! Сегодня расскажу про получение курсов валют. Сама по себе задача не сложная и ничего необычного здесь нет. Самый простой способ получить актуальный курс валюты - использовать какой-нибудь сторонний сервис для этого. Например, Fixer.io. Обращаемся к нему по Api, получаем данные ничего необычного. Обычно в подобных сервисах есть бесплатный пакет, который позволяет использовать сервис в небольшом проекте. В данном случае это 1000 запросов в месяц.

Отчет о поездке на PHP Russia 2019

Всем привет! В пятницу 18 мая в Москве в павильоне ИнфоПространство прошла конференция PHP Russia 2019.

PHP Russia 2019 - Профессиональная конференция для PHP-разработчиков. В отличии от того же DevConf конференция полностью посвящена PHP. Организатор конференции - ООО «Конференции Олега Бунина».

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

Асинхронный PHP - конспект доклада с PHP Russia 2019

Всем привет! Сегодня я в Москве на конференции PHP Russia 2019. Представляю вашему вниманию краткий конспект докалада "Асинхронный PHP". Автор доклада - Антона Шабовта из компании Onliner.

Основной смысл асихронности - не блокировать основной поток выполнения. Соответственно, асинхронная опарация - это такая вот неблокирующая операция.