Pull to refresh
23
13
Дмитрий @xEpozZ

Готовлю кофе в аэропрессе, а php в докере.

Send message

Meta Storm Plugin – еще один плагин для PHPStorm

Level of difficultyEasy
Reading time4 min
Views881

Логично ведь, что если ты пишешь функцию, которая должна принимать значение из набора, то нужно показать этот набор. А может еще и свалидировать ошибку. А еще и провалиться внутрь по CTRL+Click. А еще и обратный референс найти. Ну и рефакторинг общий сделать, раз уж разошлись.

Ребята делающие плагины под свои технологии молодцы, но как мне сделать то же самое с моим MyClass::readFile('users.csv')? А если нужно подсказать свойства текущей модели $model->getAttributeLabel('id')? А если я хочу сделать подсказки в query builder?

Да и вообще, зачем мне еще один плагин, PHPStorm ведь и без него справлялся годами?

Узнать подробнее

Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker

Level of difficultyMedium
Reading time3 min
Views1.3K

Как в PHP заставить функции из стандартной библиотеки, например \time() или \date() выдать нужный результат?

С помощью инструмента xepozz/internal-mocker такое возможно сделать. Для этого необходимо выполнить несколько подготовительных шагов и можно запускать тесты в любом окружении.

Читать далее

Yii3 Overview 3. Обзор app-* шаблонов и demo

Reading time8 min
Views4.7K

Текущая статья будет посвящена обзору app, app-api и app-console шаблонов, а также demo приложений.

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

Читать далее

Yii3 Overview 2. Вспомогательные инструменты разработки

Reading time7 min
Views4.4K

Самое ужасное, что может предоставить рабочий код – внезапную проблему. Будь то отложенная бага или неудачное обновление. Для того чтобы избежать такую ситуацию, мы в команде договорились покрывать тестами как можно больше написанного кода, проверять все допустимые варианты, делать статический анализ и проверять обратную совместимость будущих версий библиотек.

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

Читать далее

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

Reading time6 min
Views15K

Yii3 – пакетный фреймворк. А это значит, что вы можете использовать библиотеки из фреймворка в отвязке от экосистемы Yii. Например, такие пакеты можно подключить к Yii 2, Symfony, Laravel, к проекту без фреймворка или в любой другой PHP-проект.

В этой серии статей разберемся с основами "тройки", принципами построения фреймворка, готовыми библиотеками, инструментами для разработки, рассмотрим готовые шаблоны и demo приложения.

Кстати, чтобы следить за прогрессом существующих пакетов в Yii3 есть отдельная страничка: https://www.yiiframework.com/status/3.0.

Читать далее

Как мы перевели операторов на единую платформу и стали закрывать по 240 тысяч задач в месяц

Reading time11 min
Views5.1K

Так масштабировался сервис с марта 2020. Каждый цвет — группа операторов.

В Skyeng есть несколько отделов, которые сопровождают учеников. Например, отделы, отвечающие за входящую телефонную линию и техподдержку в чате на сайте. Есть группа Awake, работающая с учениками, которые брали перерыв в обучении. Есть группа Quality Control — она проверяет кейсы качества: например, что-то случилось на уроке и ученик оставил жалобу.

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

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

О жизни с внешними сервисами


Для работы с обращениями мы использовали такие системы как Usedesk, Omnidesk и Google Sheets. Это накладывало ограничения:

  • Операторам и менеджерам приходилось вручную создавать задачи. Такая рутина забирала много времени. Ошибиться проще простого.
Читать дальше →

Information

Rating
500-th
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Software Architect
Lead
From 500,000 ₽
PHP
PostgreSQL
Python
Docker
Symfony
React
JavaScript
TypeScript
Designing application architecture
Monitoring