Отчёт о PHP Russia 2019
Вот и выступил в пятницу на конференции PHP Russia 2019:
Покапитанил про ООП, сервисный слой и Doctrine:
Отстрелял кликером свои 212 слайдов:
Сразу видна отлаженная позитивная замороченность организаторов на мелочах. На регламенте, питании, озвучке, фотографии, онлайн-трансляции и хороших декорациях:
Извиняюсь от лица организаторов за небольшой зал, так что все не вместились:
Почти весь день разговаривал со зрителями и отвечал на вопросы:
и дал небольшое интервью, так что другие доклады почти не смотрел.
Спасибо зрителям и команде за конференцию! Было круто!
- Сайт конференции
- Страница в ВК
- Фотоальбом в VK
- Лента по хештегу в VK
- Страница в FB
- Фотоальбом в FB
- Лента по хештегу в FB
- Страница в Twitter
- Лента по хештегу в Twitter
Ну и не забывайте подписываться на наши страницы:
- Страница сайта в VK
- Страница сайта в FB
- Блог обо всём в VK
- Блог обо всём в FB
- Блог обо всём в Instagram
- Профиль в Twitter
Смонтировали официальный видеоотчёт:
Видеозаписи самих докладов откроют участникам в кабинете и для приобретения остальным. В публичный доступ по традиции всё выложат через полгода-год.
Теперь продолжим проводить наш мастер-класс и выкладывать новые видео в базу знаний. До скорой встречи!
Дмитрий, если вы не в курсе, то цены под конец были заоблачные и по итогу этот митап выглядит как простое набивание карманов, а выступление спикеров просто как пиар. Все спикеры бывают и на других конфах, ничего нового нет.
Просто зашквар чистой воды.
Мы с коллегами просто не пошли и не пойдём на будущие, смысл платить по 30к с лишним кусков за один день просто послушать.
> Цены под конец были заоблачные
Цены постепенно росли с 9к до 21к. Ничем не заоблачные.
> И по итогу этот митап выглядит как простое набивание карманов, а выступление спикеров просто как пиар. Все спикеры бывают и на других конфах, ничего нового нет.
Лучше сходите на двухчасовой концерт Лепса или Металлики за эту цену. Может у этих спикеров что-то новое найдёте.
> Мы с коллегами просто не пошли и не пойдём на будущие, смысл платить по 30к с лишним кусков за один день просто послушать.
Ну если просто послушать, то тогда да, бесполезно.
Цена была 36к. То что сейчас поменяли, ну пусть будет на их совести.
То есть 9к это норм? Ну ok.
Конфе такого уровня цена 2к, не более.
В последнюю неделю цена взлетает везде: на самолёт, в гостиницу, в театр, на футбол. Неорганизованные люди страдают всегда. Привыкайте.
2к с человека стоит только обед с кофе-брейками. Ещё 300к за аренду зала + по столько же и больше на оплату проезда и проживания докладчиков, рекламу, изготовление стендов и атрибутики, работу команды и налоги. Так что 9к для такого уровня – это чуть больше себестоимости.
Лол. Назови хоть один футбольный матч, у которого цена на билет "взлетела в последнюю неделю".
https://www.rbc.ru/society/05/06/2018/5b1521d19a79471f0c44ea6e
Дмитрий, спасибо за ваш доклад!
Очень интересный и полезный, особенно понравилась идея с использованием Use Case'ов,
Жаль, что было так мало времени и пришлось так быстро пробежаться по этой теме.
Было бы очень здорово, если бы вы написали хотя бы небольшой пост на эту тему,
хочется подробнее узнать про способы организации Use Case'ов, про ваше мнение, насчет того, где в такой схеме правильнее осуществлять проверку прав?
Например, в том же блоге, проверка может ли авторизованный пользователь редактировать определенный пост.
Как лучше на ваш взгляд, проверять права прямо внутри Use Case или внутри того сервиса, который вызывается в Use Case?
В общем, очень надеюсь, что будет больше информации на тему доклада в виде видео лекции или поста в блоге.
Можно проверить и в контроллере.
А стикеры с котиками?!
Дома лежат.
Класс! Спасибо за доклад, не был на конфе, но слайды занятные. Очень интересна тема с immutability объектов. Например Lot меняет внутренее состояние по команде (например, makeBid). Это не вредит поддерживаемости приложения? Какие ваши мысли на счет immutability в архитектуре?
Спасибо!
У нас каждый Lot - это уникальная изменяемая сущность. Копий одного и того же лота в системе никогда не создаётся, так что конфликтов с отличающимися копиями не возникает. Здесь иммутабельность бессмысленна.
Id, Content и Price - иммутабельные значения. Их может создаваться сколько угодно и присваиваться в несколько мест одновременно (в поле сущности, в строку истории изменений и в объект события). Здесь иммутабельность удобна, так как избавляет от случайной порчи остальных мест при изменении в одном из них.
Да, понимаю, вы разделяете эти две вещи. У вас нет риска, что вы передадите куда-то Lot и там его случайно изменят? та же опасность, о которой вы пишете: "избавляет от случайной порчи остальных мест при изменении в одном из них".
Сравнивая с Вашим подходом, я пишу код, который "никому не доверяет", если я меняю условный Lot, то делаю это так:
$lot = $lot->makeBid(...); // вернет НОВЫЙ instance типа Lot с измененным внутренним состоянием. Т.о. $lot безопасно передавать куда угодно - нет возможности изменить конкретный instance.
> У вас нет риска, что вы передадите куда-то Lot и там его случайно изменят?
Я никому не передаю Lot из юзкейса, поэтому его никто кроме меня не изменит.
> ... вернет НОВЫЙ instance типа Lot с измененным внутренним состоянием.
Этот кто-то спокойно породит свой $lot3 из вашего $lot2 и сделает save($lot3). Так что никакая иммутабельность от осознанной диверсии до конца не защитит.
Проблемы с мутабельными сущностями возникают только по человеческому недосмотру и решаются дисциплинарно. А проблемы с мутабельными объектами-значениями возникают больше не по вине программиста, а сами по себе из-за специфики хранения объектов.
Блин проспал. А где было?