Полезные ссылки 📖 Пых t.me/phpyh 📖 PHP Point th-cam.com/users/PHPPoint 📖 Как разобраться во внутрянке php www.phpinternalsbook.com/ 📖 Что еще почитать про устройство php npopov.com/ 📖 Как держать растущие нагрузки www.scalingphpbook.com/ 📖 Как начать по-настоящему понимать работу postgresql на больших проектах postgrespro.ru/education/books/internals 📖 Возможности pg th-cam.com/video/HKfgZrqVkP4/w-d-xo.html 📖 Если вы хотели свитчнуться в go, middle+ с опытом, но не знаете с чего начать, welcome slurm.io/go 📖 PHP weekly www.phpweekly.com/ 📖 Postgres weekly postgresweekly.com/ 📖 K8s weekly learnk8s.io/learn-kubernetes-weekly 📖 Software lead weekly softwareleadweekly.com/
Очень познавательно, огромная благодарность, вернули веру в себя. Я думал это только я сижу и размышляю над простым вопросом, выискивая все кейсы, ожидая подвоха, думая как это потом убрать в очереди, треды и т.д.😂 а мне говорят, молодой человек, мы уже полтора часа сидим, вы половину только сделали. Это называется overqualified. Тебе отказывают и ты такой сидишь и думаешь, да как так.. да это же фигня, я такое умею.. я такое писал. Я легко всю ночь пишу нон стоп, а час на собесе чувствую себя идиотом, не то что там синьором, еле еле на мидла тяну)) Ребята, еще раз спасибо, с меня + и подписка:)
@@SemyonF89 сейчас пересмотрел, и не помню, что у меня было в голове тогда и почему я этот вопрос задал). Я предполагаю, что можно накапливать хоть в тот же редис или любую другую БД, а потом резолвить по крону
@@snikitin32 культуру письма не отменяли, но графоманить нас не заставляют, большинству, предположу, пофигу. Мы тут в курилке вышли перекинуться мыслями) Энтропия от транслита на русском не падает. Вся програмота давно привыкла к таким профессиональным приемам. Човы, подколоть так решили, не заточенным шилом) .
Господи, чего только сейчас не вешают на бедных PHP-шников: и настроить *nix под работу, и html, css, js, и вью всякие, теперь вот и ci/cd настраивать... Что дальше будет, возврат от фронтендер/бэкендер/девопс к веб-мастерам?
@@solvex8304 , от **современного** Senior PHP я ожидаю, что он хорошо разбирается в современных инструментах PHP и готов сказать, что должно быть добавлено в пайплайн для успешного Continuous Integration. Это часть методологии dev-ops. По-вашему ops должен знать специфику PHP? Всякие линтеры, статанализаторы, фреймворки для тестирования? Нет, конечно, это ответственность разработчиков. И вместе с ops-ами они заинтересованы в том, чтобы прод всегда был в отличном состоянии, насколько это возможно. При чём тут html/css/js я вообще не понял.
@@vudaltsovПочему, PHP-программист же не пойдёт в компанию, где питон или нода на бэке. Если девопс идёт туда, где используется php, то да, должен знать специфику. А html/css/js - при том, что такая тенденция пошла, всё это вешать на php-шника. Откроешь практически любую вакансию PHP-программист и в них это всё указано в требованиях.
@@vudaltsovНо ведь если у нас не все свойства DTO будут задействованы, то в случае, когда возникает необходимость юзать пару-тройку и они в конструкторе будут в конце, то придётся проставлять null'ы / дефолтные значения для тех, которые перед ними. Выглядит такое грамоздко и некрасиво. А так, вызов пары сеттеров и всё супер
@@sergeykozhenkov371 если в DTO очень много ненужных полей, то её нужно декомпозировать на несколько DTO, по одной на юзкейс. Для дефолтных значений в PHP >=8.0 есть именованные аргументы, при помощи них легко изящно пропускать необязательные параметры.
@@sergeykozhenkov371 Используйте именованные аргументы и все будет красиво. Плюс если у вас настолько разное поведение метода, принимающего DTO, возможно стоит разбить его на два и более и для каждого создать свой DTO.
Ну там по контракту возвращается default из метода get. И он по умолчанию null. Так что можно предположить, что кэш вернёт ?Report. Но поскольку дженериков в этом месте нет, то, строго говоря, лучше проверить instanceof.
отличная тема в этом РФС. Если будет работать с динамическим именем класса будет ещё круче). Насколько я помню я видел в патч ноутсах следующей минорной версии это изменение, так что можно поздравить с успешным РФС)
Я 20 лет в IT и делаю вывод, что часть людей это энергетические вампиры, а остальная часть жертвы для этих энергетических вампиров, которые медленно из жертвы вытягивают жизненные силы с изощренностью маньяка! Даже здесь это происходит!
Люди добрые, подскажите где можно подписать петицию "за дженерики в php". Как долго нам придется писать эти громоздкие аннотации? По хорошему, их вообще при компиляции можно опускать. Они в 99% случаев, нужны лишь для удобного написания кода, чтобы не стрелять себе в ногу. Да, PHP интерпретируемый и с них толку практически нет, но как же удобно будет писать код. Атрибуты перекочевали с аннотаций, в чем проблема то же самое сделать и с дженериками?
Классический сеньер, ивент-драйвинг😂, тип вообще не дупляет, что в мире последние 20 лет происходит, в описании написано солиды, ддд, архитектура, по факту, еле продукт разбил, инкапсуляция и инварианты - слова видел, как и кохижин собственно, вообще все базворды на уровне чтения документации, просто слова знает, да и за ооп тоже, есть класс значит ооп, в общем прискорбна, что индустрия таким вот переполнена, очень прискорбна😢😢😢 тупа 99 из 100 вот такое, в лучшем случае, а самое главное, что Валентин прекрасно понимает, но лицемерит говоря все топ, просто поощряет бестолковство
Приходите на похожий собес. Расскажите, как нужно, я с удовольствием послушаю квалифицированного специалиста. Чужой опыт всегда полезен! Все контакты в описании
На самом деле действительно есть такой момент, что интервьювер сглаживает углы, но это нормально, это психология) К интервьюируемому тоже вопросов немного, учитывая что это вообще не основной его язык, а забывать то, с чем долго не работаешь это нормально)
Полезные ссылки
📖 Пых t.me/phpyh
📖 PHP Point th-cam.com/users/PHPPoint
📖 Как разобраться во внутрянке php www.phpinternalsbook.com/
📖 Что еще почитать про устройство php npopov.com/
📖 Как держать растущие нагрузки www.scalingphpbook.com/
📖 Как начать по-настоящему понимать работу postgresql на больших проектах postgrespro.ru/education/books/internals
📖 Возможности pg th-cam.com/video/HKfgZrqVkP4/w-d-xo.html
📖 Если вы хотели свитчнуться в go, middle+ с опытом, но не знаете с чего начать, welcome slurm.io/go
📖 PHP weekly www.phpweekly.com/
📖 Postgres weekly postgresweekly.com/
📖 K8s weekly learnk8s.io/learn-kubernetes-weekly
📖 Software lead weekly softwareleadweekly.com/
Очень познавательно, огромная благодарность, вернули веру в себя. Я думал это только я сижу и размышляю над простым вопросом, выискивая все кейсы, ожидая подвоха, думая как это потом убрать в очереди, треды и т.д.😂 а мне говорят, молодой человек, мы уже полтора часа сидим, вы половину только сделали. Это называется overqualified. Тебе отказывают и ты такой сидишь и думаешь, да как так.. да это же фигня, я такое умею.. я такое писал. Я легко всю ночь пишу нон стоп, а час на собесе чувствую себя идиотом, не то что там синьором, еле еле на мидла тяну)) Ребята, еще раз спасибо, с меня + и подписка:)
Спасибо, очень интересно!
40:25 @vudaltsov, забавно было услышать, что cache->get() вместо cache->has()/cache->get() решает проблему гонки в мировозрении пхп-шника :D
1:04:19 А как на уровне ивентов сделать батчинг? Куда будет накапливаться декремент? Консюмер же будет убивать инстанс
Вы нашли ответ. Повторно смотрел стрим, тоже интересует этот момент
@@SemyonF89 сейчас пересмотрел, и не помню, что у меня было в голове тогда и почему я этот вопрос задал). Я предполагаю, что можно накапливать хоть в тот же редис или любую другую БД, а потом резолвить по крону
А обязательно половину слов использовать английские слова русскими буквами? 😂лухари лайф
@@snikitin32 культуру письма не отменяли, но графоманить нас не заставляют, большинству, предположу, пофигу. Мы тут в курилке вышли перекинуться мыслями) Энтропия от транслита на русском не падает. Вся програмота давно привыкла к таким профессиональным приемам. Човы, подколоть так решили, не заточенным шилом) .
@@snikitin32 естественно.
Господи, чего только сейчас не вешают на бедных PHP-шников: и настроить *nix под работу, и html, css, js, и вью всякие, теперь вот и ci/cd настраивать... Что дальше будет, возврат от фронтендер/бэкендер/девопс к веб-мастерам?
От вакансии и компании зависит. Могут и принтеры заправлять заставить, если вы на такое подписались ;)
@@aragnophy Собес называется Senior Software Engineer (PHP). Я так понимаю, что вакансия PHP-шная, причём тут CI/CD?
@@solvex8304 , от **современного** Senior PHP я ожидаю, что он хорошо разбирается в современных инструментах PHP и готов сказать, что должно быть добавлено в пайплайн для успешного Continuous Integration. Это часть методологии dev-ops. По-вашему ops должен знать специфику PHP? Всякие линтеры, статанализаторы, фреймворки для тестирования? Нет, конечно, это ответственность разработчиков. И вместе с ops-ами они заинтересованы в том, чтобы прод всегда был в отличном состоянии, насколько это возможно. При чём тут html/css/js я вообще не понял.
@@vudaltsovПочему, PHP-программист же не пойдёт в компанию, где питон или нода на бэке. Если девопс идёт туда, где используется php, то да, должен знать специфику. А html/css/js - при том, что такая тенденция пошла, всё это вешать на php-шника. Откроешь практически любую вакансию PHP-программист и в них это всё указано в требованиях.
@@vudaltsovты как та женщина с видео 😂 половину слов на английском, половину на русском😂
Крутой собес. Кот очень любит, доверяет❤
где почитать про version в запросах
Optimistic lock
Прекрасное интервью!🎉
1:04:00 - очень хороший подход.
Каким образом лучше создавать DTO'шки: передавая аргументы в конструктор при вызове new или путём цепочки вызовов сеттеров (текучий интерфейс)?
DTO желательно чтобы были иммутабельные. Так что только через конструктор. Менять через with методы, получая новые инстансы.
@@vudaltsovНо ведь если у нас не все свойства DTO будут задействованы, то в случае, когда возникает необходимость юзать пару-тройку и они в конструкторе будут в конце, то придётся проставлять null'ы / дефолтные значения для тех, которые перед ними. Выглядит такое грамоздко и некрасиво. А так, вызов пары сеттеров и всё супер
@@sergeykozhenkov371 если в DTO очень много ненужных полей, то её нужно декомпозировать на несколько DTO, по одной на юзкейс. Для дефолтных значений в PHP >=8.0 есть именованные аргументы, при помощи них легко изящно пропускать необязательные параметры.
@@sergeykozhenkov371 Используйте именованные аргументы и все будет красиво. Плюс если у вас настолько разное поведение метода, принимающего DTO, возможно стоит разбить его на два и более и для каждого создать свой DTO.
Если у вас есть сеттеры и геттеры, то зачем они вообще нужны? почему бы просто не сделать поле public?
Собеседование кое-как начинается с 15 минуты. Уважайте людей, добавляйте тайм-коды либо обрезайте лишнее.
А тебя кто-то заставлял это видео смотреть? 🤡
30:00 Мутационное тестирование это fuzzing?
38:20 - а зачем тут проверка только на null? А если cache->get(...) отдаст false? То он выдаст false наружу.. что не дело.
Ну там по контракту возвращается default из метода get. И он по умолчанию null. Так что можно предположить, что кэш вернёт ?Report. Но поскольку дженериков в этом месте нет, то, строго говоря, лучше проверить instanceof.
Что нужно делать, если не попадем в условия select?
Когда параллельно выполнился другой запрос и значение quantity или version уже обновилось?
Ретраить или кидать ошибку
отличная тема в этом РФС. Если будет работать с динамическим именем класса будет ещё круче). Насколько я помню я видел в патч ноутсах следующей минорной версии это изменение, так что можно поздравить с успешным РФС)
Мой синдром самозванца крутанул на максимум))
Круто
А вам гофер не нужен?
Если интересно пройти собес по го, пиши в телеграмм @Gskoba
Я 20 лет в IT и делаю вывод, что часть людей это энергетические вампиры, а остальная часть жертвы для этих энергетических вампиров, которые медленно из жертвы вытягивают жизненные силы с изощренностью маньяка!
Даже здесь это происходит!
Крутое видео! Спасибо! Плиз, на будушее решайте заранее вопросы с микро... а то бубубу бубубу... не блин... 2024 год же... а ошибки все теже...
А чей именно звук не понравился?
@@mezhdu_skobok У Виталия конечно, хотя в целом разобрать всё можно было.
45:48
Люди добрые, подскажите где можно подписать петицию "за дженерики в php". Как долго нам придется писать эти громоздкие аннотации? По хорошему, их вообще при компиляции можно опускать. Они в 99% случаев, нужны лишь для удобного написания кода, чтобы не стрелять себе в ногу. Да, PHP интерпретируемый и с них толку практически нет, но как же удобно будет писать код. Атрибуты перекочевали с аннотаций, в чем проблема то же самое сделать и с дженериками?
Гугл в помощь. Проблемы уже давно описаны.
ООП головного мозга.
Классический сеньер, ивент-драйвинг😂, тип вообще не дупляет, что в мире последние 20 лет происходит, в описании написано солиды, ддд, архитектура, по факту, еле продукт разбил, инкапсуляция и инварианты - слова видел, как и кохижин собственно, вообще все базворды на уровне чтения документации, просто слова знает, да и за ооп тоже, есть класс значит ооп, в общем прискорбна, что индустрия таким вот переполнена, очень прискорбна😢😢😢 тупа 99 из 100 вот такое, в лучшем случае, а самое главное, что Валентин прекрасно понимает, но лицемерит говоря все топ, просто поощряет бестолковство
Приходите на похожий собес. Расскажите, как нужно, я с удовольствием послушаю квалифицированного специалиста. Чужой опыт всегда полезен! Все контакты в описании
На самом деле действительно есть такой момент, что интервьювер сглаживает углы, но это нормально, это психология)
К интервьюируемому тоже вопросов немного, учитывая что это вообще не основной его язык, а забывать то, с чем долго не работаешь это нормально)