Каталог специалистов

Найдите проверенных специалистов для решения ваших задач
В нашей базе более 24250 проверенных специалистов
banner
Найдено 5 специалистов в публичном доступе
Новые специалисты
Ключевые навыки
Частичное совпадение Полное совпадение
Цена, ₽/час
Цена включает НДС
Дата бронирования
Подкатегории
Страна
Город
Опыт работы
Формат работы
Тип занятости
Готов выйти в штат
Отрасли работы
Готов работать на зарубежных проектах
Владение языком
Пол
Возраст
Найдено 5 специалистов в публичном доступе
Yii3
E-commerce & Retail • EdTech • FinTech & Banking • Marketing, Advertising & Design • Travel, Hospitality & Restaurant business
БС
Богдан С.
Санкт-Петербург
PHP разработчик
Middle+
1 142,86 Р/час
AdminLTE 2+
Amazon S3
AMQP
API integration
API сервисы
API на PHP
atlassian/bitbucket
AWS S3
Backend development
Backend testing
+231

Свободно владею PHP, нравятся новые функции 8.2+ для работы с Enum и аннотациями. Умею работать с легаси, хотя указываю на необходимость развития в новые - ради удобства, предоставляемые новыми возможностями языка php, следования стандартам, а также для возможности добавления нового функционала (для систем, закончивших жизненный цикл, зачастую, нет запрашиваемых возможностей). Наиболее частый фреймворк, с которым работал: YII 2. Работал с фреймворками: PHP, YII, YII 2, меньше с symphony, использовал модули из предрелизного yii3. Также, ранее был опыт с Zend 2; Относительно JS - JQuery, React; предпочитаемый css шаблон - bootstrap; во времена, когда это было актуально, имел опыт создания собственного движка, создания плагинов к Joomla, модулей Yii/Yii2, etc. Предпочитаемая система контроля версий: git. Интерфейс - command line + web ui gitlab/github + phpstorm. (в т.ч. Issues, Pull requests); Предпочитаемая среда разработки: PHPStorm (+XDebug). Ранее работал с netbind (+XDebug), sqlyog, notepad++, phpmyadmin; Система контроля задач Redmine и подобные ей. Работаю с Docker, docker compose. Сторонник официальной идеологии Docker из "лучших практиках" - "один образ - один процесс". Допускаю использование, при наличия обоснования, в качестве изоляции приложения как группы процессов. Также считаю отличным инструментом для использования одного и того же окружения как всеми разработчиками, так и на live-сервере, а также удобного и быстрого дублирования-развёртывания. Тестирование - codeception, docker композиции для запуска и для github actions (воркеры gitlab для lint). Предпочитаемая OS для работы - Ubuntu (последняя версия длительной поддержки). Образы docker на основе alpine, где возможно. Для симуляции особенностей - сборки на основе данных о проде. Пример разделения по слоям, версионирования. Пример композиции с очередями. https://github.com/bscheshirwork/wiam-test

Подробнее
Telecom
РЯ
Роман Я.
Волгоград
PHP разработчик
Senior
3 116,88 Р/час
tss
AAC
ZDD
code igniter
Yii3
Laravel 7
ML SQ
cps
SOLID
PRTG
+77

Какие паттерны я использую чаще : Мост (Bridge) , Адаптер (Adapter) , Декоратор (Decorator) , Цепочка обязанностей (Chain of responsibility) , Стратегия (Strategy) , Строитель (Builder) , Шаблонный метод (Template Method) , Шина сообщений, Event Sourcing / Event-driven, DTO DDD : Domain, Application, Presentation, Infrastructure, Model, Services, Mappers, Immutable . Версии php с какими работал : 5.6 , 7.0 , 7.4 , 8.0 , 8.1 , 8.2 , 8.3 Версии Laravel с какими работал : 5.5 , 6 , 8 , 9 , 10 Версии Symfony с какими работал : 5.0 , 5 ,3 , 6.3 Тестирование : Itegration testing, Unit testing, негативное тестирование. Mock, Assert, Factor, Data provider. RabbitMQ : Создавал несколько очередей, которые работали параллельно, у каждой из очереди был свой Consuming и 1 Handler который ожидал получения сообщения из шины очереди, у всех очередей была одна биржа и по одной привязке для каждой очереди, протокол обмена AMQP. Запись в очередь и чтение из очереди делал через supervisor. Какие типы обменов я использовал : direct, fanout. -Транзакции : Какие аномалии я знаю : - Когда видим в транзакции не зафиксированные изменения др. транзакции. Блокировки на уровне строк : pessimistic read, pessimistic write, for update - Первая транзакция обновляет данные вторая транзакция в это же время читает эти данные и фиксирует изменения и получает неверные данные так как потом фиксирует изменения первая транзакция и данные теперь изменились. - Это воспроизводиться когда работает с больше чем одной строкой, в базе у 2 строк значение колонки в сумме равно 100 , первая транзакция уменьшает одну строку на 50 и не фиксирует изменения (sql первой транзакции нет в примере) , вторая транзакция делает этот sql и подвисает так как первая транзакция не зафиксировалась

Подробнее
Нет подходящего специалиста?
Создайте бесплатный запрос на поиск в закрытом каталоге платформы