Доклады
AI/ML + PHP (1)
Машинное обучение и параллельные вычисления на GPU в PHP
* Преимущества обучения моделей нейронных сетей на GPU перед аналогичной задачей, выполняемой на CPU.
* Как происходит вычислительный процесс на GPU.
* Существующие инструменты машинного обучения на PHP.
* Первые шаги по внедрению параллельных GPU-вычислений на PHP.
* Оценка производительности.
Доклад принят в программу конференции
Производительность (2)
(En) Using and (slightly) abusing APCu cache in high load concurrent environments
APCu is a very performant form of in memory cache, almost as fast as using local variables and thus a good candidate for high load applications.
Despite that it's usage is rare because it resides in a single computing node. Most high load applications use an underlying infrastructure of autoscaling VMs or K8s, which means that there are multiple computing nodes with no cache coherency. This presentation explores these issues, possible strategies for establishing internode communications (hint: they don't reliably work), infrastructure side solutions and how one can use the APCu despite this shortcoming. We will present in broad terms how Altenar GP incorporated APCu in our system that receives 3.5K requests per second, the failures we had along the way and the performance benefits we saw with our final implementation. We also clarify critical shortcomings of the APCu documentation that may have severe consequences.
Доклад принят в программу конференции
Continuous Profiling — что, зачем и как
Информация о том, как приложение на самом деле ведет себя в продакшне, обычно невидима для разработчиков. Профилировщики показывают, какой код выполняет приложение, но только лишь немногие профилируют — и делают это, как правило, в локальной (или очень ограниченной) среде.
Без реальной нагрузки такое профилирование сомнительно. И даже с нагрузочными тестами — их постоянные поддержание и проверка того, насколько адекватно они представляют продакшн, отнимают много времени и сил. Более того, железо и софт, которые находятся на проде, обычно отличаются от локальной среды (и очень сильно).
Этот доклад поможет понять тонкости профилирования в производственной системе. Расскажу о методах и подходах, которые помогут понять, что на самом деле происходит с продакшном. И поможет если не решить, то выявить :) проблемы производительности и планирования роста.
Доклад принят в программу конференции
Devops под PHP (1)
Twelve-factor app для PHP-приложений. Как стать cloud native?
Приспосабливаемся к современности: начинаем работать в облаках по принципам The Twelve-Factor App. Погрузимся в каждый принцип и научимся настраивать приложения на базе трех популярных фреймворков (Symfony, Laravel, Yii2).
Доклад принят в программу конференции
Лучшие практики (5)
Как умирал PHP
Рассмотрим, как «хоронили» PHP и где теперь его «убийцы», почему так произошло. Как развивался язык, и какие есть решения, ветки. Разберём современные тенденции в разработке, как использовать и чем они могут быть полезны.
Доклад принят в программу конференции
Исключения в PHP: сложнее, чем кажется
Исключения в PHP сложнее, чем может показаться на первый взгляд.
Начнем с обсуждения иерархии исключений и недостатка строгих стандартов, затем перейдем к тонкостям их обработки и логирования. Рассмотрим, почему исключения в PHP требуют особого внимания, как правильно выбирать и обрабатывать их, а также коснемся таких важных аспектов, как коды ошибок. Завершим обзором специфических особенностей, которые могут привести к неожиданным проблемам в работе с исключениями.
Доклад принят в программу конференции
Под капотом WordPress — разбираем движок и изучаем инструменты
21 год и 43% Интернета — архитектурные решения, доказавшие свою эффективность и новые API — заглянем внутрь WordPress и детально изучим, как работает самая популярная в мире CMS, а также познакомимся с инструментами экосистемы.
Мы рассмотрим:
* порядок загрузки системы;
* работу с базой данных;
* кэширование;
* безопасность;
* многочисленные API;
* обработку ошибок и профилирование;
* мультиязычность и мультидоменность;
* статус проекта Гутенберг;
* вспомогательные инструменты.
Доклад принят в программу конференции
9 шагов безопасной обработки пользовательских файлов на сайте
Обработка файлов от пользователей — это частая задача для сайтов или приложений. Это могут быть фото- или видеовложения к отзывам, приложенные файлы к обращениям в поддержку и прочее. Несмотря на то, что видится это довольно простой задачей, тут есть множество факторов, способных поставить под угрозу приложение или серверную инфраструктуру. Но когда закрываем бреши безопасности, всё может начать медленно работать, и придётся, кроме безопасности, ещё докручивать и быстродействие. Рассмотрим на примерах способы хакерских атак и варианты противодействия.
Доклад принят в программу конференции
Что происходит на рынке труда?
Никогда такого не было, и вот опять рынок труда изменился. Что сейчас происходит? Какую з/п просить? Они правда опять поднялись или только кажется?
На нашем митапе мы хотим обсудить тему трендов, которые присутствуют на рынке труда. Как мы с вами влияем на этот рынок и как адаптироваться к его изменениям. Какие приняты бонусы, как сейчас оцениваются результаты работы и чего ожидать, если вы решите менять работу.
Доклад принят в программу конференции
Новые крутые либы (1)
PHP 8.4: живее всех живых!
На момент проведения конференции выйдет PHP 8.4 — мощнейший релиз языка со времён 8.0 и 8.1. Среди фич новый JIT, хуки и асимметричная видимость свойств, new без скобок, объектная обёртка BCMath\Number, новые функции для работы с массивами и HTTP-запросами, ленивые объекты и атрибут #[Deprecated].
Одного доклада маловато, чтобы всё это подробно презентовать, но я постараюсь расставить для вас акценты. В процессе обязательно позапускаем и побенчмаркаем код и обсудим, как поскорее затащить PHP 8.4 в ваши проекты. До встречи!
Доклад принят в программу конференции
Альтернативные рантаймы (1)
Чем вам не угодил асинхронный PHP?
Чтобы разобраться в асинхронности на уровне реализации, можно рассмотреть несложный асинхронный рантайм в PHP, лишенный сахара, которым обладают популярные языки вроде раста, го и котлина, прячущие асинхронность за кодогенерацию, корутины, фьючи и другие примитивы.
Доклад принят в программу конференции
Новые фреймворки (1)
Yii3
Обзор новой большой версии фреймворка Yii. Что умеет, чем отличается от Yii2, почему сделан так, а не иначе.
Доклад принят в программу конференции
Опыт больших сложных проектов на PHP (4)
Общение с умными устройствами силами PHP
Введение
* Краткое описание IoT (Internet of Things) и его важности в современном мире.
* Преимущества MQTT-протокола для IoT: легковесность, простота реализации, поддержка публикации/подписки.
* Роль PHP в контексте IoT, его сильные стороны (доступность, гибкость, масштабируемость).
MQTT на практике:
* пояснение работы MQTT-протокола: издатели, подписчики, брокеры;
* обзор популярных MQTT-библиотек для PHP;
* демонстрация основных функций библиотек:
** подключение к брокеру;
** публикация сообщений (управление устройствами);
** подписка на темы;
** обработка входящих сообщений.
Примеры использования
* Реализация простого сценария:
** сбор данных умных устройств;
** получение команд от сервера и управление устройствами.
Заключение
* Подведение итогов: PHP — отличный инструмент для работы с MQTT и IoT.
* Преимущества использования PHP для IoT:
** упрощение разработки;
** снижение затрат на разработку;
** высокая гибкость и масштабируемость.
* Перспективы развития IoT и MQTT, включая использование PHP.
Доклад принят в программу конференции
Как работать с легаси, чтобы ни вы, ни проект не сгорели
* Что такое легаси.
* Как появляется легаси.
* Когда рефакторинг действительно необходим.
* Как оценить затраты на рефакторинг.
* Методы и подходы для безопасного рефакторинга.
* Признаки создания будущего легаси.
* Практики для предотвращения создания легаси.
* Как не превратить Rector'ом проект в тыкву.
* Как не превратить CS Fixer'ом проект в тыкву.
Доклад принят в программу конференции
Страх и ненависть в крипте
* Структуры данных для работы с криптовалютами.
* Путь транзакции: от запроса пользователя до блокчейна.
* Работа со смарт-контрактами на PHP.
Доклад принят в программу конференции
Как мы организовали отказоустойчивую тарификацию в каршеринге BelkaCar
Тарификация, ценообразование и биллинг — это одни из самых критичных систем для каршеринга.
Я расскажу о том, как мы связали эти сервисы вместе так, чтобы получившаяся система успешно переживала любые проблемы.
Доклад принят в программу конференции
Резерв (2)
Повышаем гибкость проекта через фича-флаги Unleash
Фича-флаги позволяют изменять поведение системы без правки кода и повторного развертывания. На нашем проекте мы могли бы их имплементировать сами, но, как говорят ребята из Unleash, «друзья не позволяют друзьям создавать свою собственную систему фича-флагов», поэтому мы взяли их Open Source-решение. И не прогадали!
Из моего доклада вы узнаете, как фича-флаги участвуют в бизнес-процессах и влияют на развитие продукта, как их правильно интегрировать в код и, наконец, про особенности эксплуатации самого Unleash.
Доклад принят в программу конференции
В чем смысл? Принципы семантического проектирования
Почему читаемый код не только легко читать, но и легко поддерживать. В чем смысл основных практик проектирования. Поговорим о прямой и обратной зависимостях языковых конструкций в коде и человеческом языке. Обсудим общие принципы проектирования чистого, легко поддерживаемого кода в классах/сервисах/модулях, используя семантику, с примерами на PHP.
Доклад принят в программу конференции