declare(strict_types=1)
Пятиминутка PHP
Проставить declare(strict_types=1) во все файлы! Так ли просто взять и обновить старые исходники? Рассказываю про свои приключения!
Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее.
Передавая переменную в качестве аргумента внутрь функции, мы передаём значение этого идентификатора, т.е. передача происходит по значению. Важно понимать, что значением является не сам объект, а его идентификатор.
Таким образом снаружи функции и внутри мы, имея одинаковое значение идентификатора объекта, работаем с одним и тем же объектом.
Передавая переменную в качестве аргумента внутрь функции, мы передаём значение этого идентификатора, т.е. передача происходит по значению. Важно понимать, что значением является не сам объект, а его идентификатор.
Таким образом снаружи функции и внутри мы, имея одинаковое значение идентификатора объекта, работаем с одним и тем же объектом.
Объекты передаются по ссылке или нет?
Пятиминутка PHP
Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее.
Наткнулся на интересную заметку Никиты Попова 10-летней давности: "Operator precedence and associativity specify grouping, but they do not specify in which order the groups are executed. PHP does NOT specify what will actually happen."
Пример:
Применяем приоритет операций:
Теперь левую ассоциативность сложения:
Вопрос: какая группа будет вычислена раньше?
Ответ Никиты: "PHP does NOT specify what will actually happen... 🤷♂️ One version of PHP can give you one result and a different version another. Don't write code that depends on some particular evaluation order."
Я, честно говоря, думал что всегда слева направо (и практика подтверждает), но правильный ответ: "не стоит полагаться на порядок!" - PHP для анархистов!
Пример:
$a + $b + $c * $dПрименяем приоритет операций:
$a + $b + ($c * $d)Теперь левую ассоциативность сложения:
($a + $b) + ($c * $d)Вопрос: какая группа будет вычислена раньше?
Ответ Никиты: "PHP does NOT specify what will actually happen... 🤷♂️ One version of PHP can give you one result and a different version another. Don't write code that depends on some particular evaluation order."
Я, честно говоря, думал что всегда слева направо (и практика подтверждает), но правильный ответ: "не стоит полагаться на порядок!" - PHP для анархистов!
Forwarded from PHP Russia Channel
🔥Конференция PHP Russia и компания Skyeng организуют дискуссионный стрим.
PHP-разработчики часто учат Go как «второй язык», порой продолжая писать на нем, как на PHP. 15 августа возьмем реальный код двух типовых приложений и разберем, где и правда стоит переключиться на новый, а где – выбрать старый-добрый.
На youtube-трансляцию в 11:00 МСК придут:
✏️ Елена Граховац (GetYourGuide)
✏️ Илья Шихалеев (iSpring)
✏️ Александр Макаров (Yii)
✏️ Руслан Ханов (ИТМО)
Рассмотрим код двух типовых приложений: на PHP и на Go. А затем обсудим примеры 8–10 сервисов, где опытные разработчики сознательно отказались бы от языка, на котором обычно привыкли писать.
Модератором дискуссии выступит Антон Морев (WormSoft). Будет возможность задать вопросы голосом (достаточно браузера и микрофона) и продолжить общение в Zoom.
✅Присоединяйтесь по ссылке 👉 youtube.com/watch?v=6AhJWUTGHTo
PHP-разработчики часто учат Go как «второй язык», порой продолжая писать на нем, как на PHP. 15 августа возьмем реальный код двух типовых приложений и разберем, где и правда стоит переключиться на новый, а где – выбрать старый-добрый.
На youtube-трансляцию в 11:00 МСК придут:
✏️ Елена Граховац (GetYourGuide)
✏️ Илья Шихалеев (iSpring)
✏️ Александр Макаров (Yii)
✏️ Руслан Ханов (ИТМО)
Рассмотрим код двух типовых приложений: на PHP и на Go. А затем обсудим примеры 8–10 сервисов, где опытные разработчики сознательно отказались бы от языка, на котором обычно привыкли писать.
Модератором дискуссии выступит Антон Морев (WormSoft). Будет возможность задать вопросы голосом (достаточно браузера и микрофона) и продолжить общение в Zoom.
✅Присоединяйтесь по ссылке 👉 youtube.com/watch?v=6AhJWUTGHTo
Forwarded from devSchachtChannel (Andrey Melikhov)
Хакатон помощи беларусам https://eventornado.com/event/build-for-belarus
Обеспечение безопасных решение для коммуникации, безопасности, здоровья и поддержки тех, кто может пострадать.
Пройдёт полностью онлайн.
Обеспечение безопасных решение для коммуникации, безопасности, здоровья и поддержки тех, кто может пострадать.
Пройдёт полностью онлайн.
Forwarded from DevOpsConf Channel
Пройдите опрос о состоянии DevOps в России!
31 августа — последний день, когда можно будет пройти опрос о состоянии DevOps в России. Мы призываем вас найти полчаса, чтобы ответить на вопросы и рассказать, как DevOps-трансформация проходит в вашей компании.
🟡 Участвовать могут IT-специалисты любых компаний любого размера: инженеры, разработчики, тимлиды, CTO. Нам интересно посмотреть какие компании практикуют DevOps. Мы ждем ответы от каждого, кто знает слово DevOps — участвуйте!
🟡 Зачем это нужно?
Тимур Батыршин и Андрей Шорин провели мини-исследование и выяснили, что скорость экспериментов определяет успех как стартапа, так и бизнеса со зрелым продуктом, что подтверждает важность DevOps для бизнеса. Своим исследованием мы копнем глубже:
🔸увидим срез индустрии на 2020 год;
🔸поймём, помогли ли инженерные практики пережить пандемию;
🔸узнаем, отличается ли DevOps в России и на Западе;
🔸наметим зоны развития.
✅ Опрос анонимный 👉 ru.surveymonkey.com/r/VQZRLN6
Но вы можете оставить адрес электронной почты для связи, если хотите принять учаcтие в лотерее: среди прошедших опрос разыграем 1 билет на конференцию Highload++, 5 билетов на конференцию DevOps Live и 30 книг по DevOps.
31 августа — последний день, когда можно будет пройти опрос о состоянии DevOps в России. Мы призываем вас найти полчаса, чтобы ответить на вопросы и рассказать, как DevOps-трансформация проходит в вашей компании.
🟡 Участвовать могут IT-специалисты любых компаний любого размера: инженеры, разработчики, тимлиды, CTO. Нам интересно посмотреть какие компании практикуют DevOps. Мы ждем ответы от каждого, кто знает слово DevOps — участвуйте!
🟡 Зачем это нужно?
Тимур Батыршин и Андрей Шорин провели мини-исследование и выяснили, что скорость экспериментов определяет успех как стартапа, так и бизнеса со зрелым продуктом, что подтверждает важность DevOps для бизнеса. Своим исследованием мы копнем глубже:
🔸увидим срез индустрии на 2020 год;
🔸поймём, помогли ли инженерные практики пережить пандемию;
🔸узнаем, отличается ли DevOps в России и на Западе;
🔸наметим зоны развития.
✅ Опрос анонимный 👉 ru.surveymonkey.com/r/VQZRLN6
Но вы можете оставить адрес электронной почты для связи, если хотите принять учаcтие в лотерее: среди прошедших опрос разыграем 1 билет на конференцию Highload++, 5 билетов на конференцию DevOps Live и 30 книг по DevOps.
Surveymonkey
Бесплатные онлайн-опросы от SurveyMonkey: опрос закрыт
В настоящее время этот опрос закрыт. Для получения дополнительной помощи свяжитесь с автором данного опроса.
Forwarded from Пых
Forwarded from UfoStation
Короткое, но лаконичное видео о 7 парадигмах баз данных, https://www.youtube.com/watch?v=W2Z7fbCLSTw
YouTube
7 Database Paradigms
Learn about seven different database paradigms and what they do best. https://fireship.io/lessons/top-seven-database-paradigms/
00:00 Intro
00:45 Key-value
01:48 Wide Column
02:47 Document
04:05 Relational
06:21 Graph
07:22 Search Engine
08:27 Multi-model…
00:00 Intro
00:45 Key-value
01:48 Wide Column
02:47 Document
04:05 Relational
06:21 Graph
07:22 Search Engine
08:27 Multi-model…
Интересные активности на Russian Python Week: батлы Python vs Go и Python vs PHP. В последнем выступят Алексей Фирсов (aiopg) и Александр Макаров (Yii)! Трансляция 15 сентября в 17:00, нужно зарегистрироваться на открытую часть конференции: https://conf.python.ru/moscow/2020#free
conf.python.ru
Профессиональная конференция для Python-разработчиков 2020
Это неделя уникального профессионального общения в форматах: мастер-классов, круглых столов, битв с Go и PHP, интервью, консультаций и анонимных признаний в провалах.
Forwarded from PHP задачи с собеседований
У нас есть 2 бывалых разработчика c разными бэкграундами и популярный опенсорс-проект. Посмотрим на ход мыслей ребят, какие инструменты применят в рефакторинге и что может пойти не так.
📍Разберем тему не на словах 1 октября в 19 в стриме - ставь колокольчик, чтобы не забыть.
🎙 За рефакторинг ответят Валентин Удальцов и Леонид Корсаков. Вести лайв будут Александр Макаров и Валентин Назаров.
💡 Лицензии на PhpStorm авторам 5 вопросов, заданных голосом.
🐘 Фирменный пхп-слон за лучшую зрительскую историю о рефакторинге!
Читай подробнее о лайве и ищи фото того самого слона тут
📍Разберем тему не на словах 1 октября в 19 в стриме - ставь колокольчик, чтобы не забыть.
🎙 За рефакторинг ответят Валентин Удальцов и Леонид Корсаков. Вести лайв будут Александр Макаров и Валентин Назаров.
💡 Лицензии на PhpStorm авторам 5 вопросов, заданных голосом.
🐘 Фирменный пхп-слон за лучшую зрительскую историю о рефакторинге!
Читай подробнее о лайве и ищи фото того самого слона тут
В какой файл вы добавляете игнорирование .idea для git?
Anonymous Poll
19%
В глобальный .gitignore
74%
В .gitignore проекта
5%
Не добавляю, комичу .idea в гит
3%
Не добавляю, хз почему
Forwarded from Laravel World
Бесплатный видеокурс «Что нового в PHP 8»
14 уроков от BeyondCode
https://beyondco.de/course/whats-new-in-php-8/
14 уроков от BeyondCode
https://beyondco.de/course/whats-new-in-php-8/
Прямая трансляция от краснодарского PHP-сообщества про работу с legacy, про автотесты и истории из практики работы с реляционными БД НЕ ХАЙЛОАД (наконец-то!). Уже началось, присоединяйтесь: https://youtu.be/Uezd5ocJQ9I
YouTube
Доклады от краснодарского PHP-сообщества: искусство автотестов, борьба с легаси и жизнь без хайлоада
Запись первого митапа чата https://t.me/phpkrd в смешанном онлайн-офлайн режиме.
7:00 - Быстрый способ разобраться с легаси и начать жить (Сергей Жук, Skyeng)
30:34 - Вопросы из зала и трансляции
55:53 - Автотесты: как тестировать нетестируемое (Артем…
7:00 - Быстрый способ разобраться с легаси и начать жить (Сергей Жук, Skyeng)
30:34 - Вопросы из зала и трансляции
55:53 - Автотесты: как тестировать нетестируемое (Артем…
PHP комьюнити из Нижнего Новгорода наконец расставит все точки в вопросе MySQL vs Postgres, трансляция 14 ноября: https://www.youtube.com/watch?v=pe3b0DHVnq8&feature=youtu.be
YouTube
Доклады от сообщества PHP NN: MySQL vs Postgres, провалы проектов и привычки программистов
Запись третьего митапа от чата https://t.me/php_nn
6:25 - С MySQL на Postgres: подводные камни и не только (Антон Робуль)
1:02:59 - Вопросы из чата и трансляции
1:28:17 - Программист после 30: как оставаться на плаву и продолжать расти (Олег Скляров,…
6:25 - С MySQL на Postgres: подводные камни и не только (Антон Робуль)
1:02:59 - Вопросы из чата и трансляции
1:28:17 - Программист после 30: как оставаться на плаву и продолжать расти (Олег Скляров,…
25 ноября в 19:00 соберёмся, чтобы отметить выпуск PHP 8 и посмотреть:
Готовьте вопросы, не стесняйтесь задавать их во время митапа.
Регистрация здесь — https://phpcommunity.ru/php-8.
• доклад «PHP 8: юзерленд» — нескучный обзор с примерами и рекомендациями, • дискуссию о развитии языка, • и сессию Q&A с Никитой Поповым (вопросы соберем по ходу эфира).Готовьте вопросы, не стесняйтесь задавать их во время митапа.
Регистрация здесь — https://phpcommunity.ru/php-8.
Очень полезный плагин для PhpStorm - значительно улучшает поддержку Laravel. Плагин платный, но сегодня со скидкой. Я купил.
Forwarded from adelf on programming
Провожу сейчас небольшой эксперимент. Скидку на кибер-понедельник(ссылка если вдруг кому интересно - https://laravel-idea.com/promo/cyber-monday-2020, но не подумайте, что рекламирую). Всегда было интересно насколько выгодно делать такие акции и выгодно ли вообще. Где-то внутри есть уверенность, что если покупают со скидкой, то и без скидки купят, соответственно, лишь теряю деньги с этих скидок.
С другой стороны, программные продукты - не пылесосы. От того, что я продам двум людям вместо одного, у меня расходов не прибавится, а денег это принесёт больше. Этот день в итоге побьёт рекорд по дневным продажам(я уже вижу статистику), но как это отразится на декабрьских продажах?
P.S. Как же я задолбался заниматься этой ерундой, вместо того, чтобы просто разрабатывать софт... Но без этого никак нельзя. Кстати, я начал на плагине зарабатывать чуток больше, чем зарплата на последнем месте работы. Это большой прогресс и давняя мечта потихоньку реализуется.
P.P.S. По нескольким просьбам сделал обсуждения. Если вдруг кто хочет высказываться - милости просим.
С другой стороны, программные продукты - не пылесосы. От того, что я продам двум людям вместо одного, у меня расходов не прибавится, а денег это принесёт больше. Этот день в итоге побьёт рекорд по дневным продажам(я уже вижу статистику), но как это отразится на декабрьских продажах?
P.S. Как же я задолбался заниматься этой ерундой, вместо того, чтобы просто разрабатывать софт... Но без этого никак нельзя. Кстати, я начал на плагине зарабатывать чуток больше, чем зарплата на последнем месте работы. Это большой прогресс и давняя мечта потихоньку реализуется.
P.P.S. По нескольким просьбам сделал обсуждения. Если вдруг кто хочет высказываться - милости просим.
Clockwork — отладочная панель для PHP
Пятиминутка PHP
Clockwork – это библиотека и расширение для браузера предоставляющие удобный интерфейс отладки производительности бэкенд кода. Из коробки есть не плохая интеграция с Laravel, Lumen, Symfony, Slim. Можно подключить и к самописному фреймворку на PHP.
Расскажу про свой опыт использования и сделаю небольшое сравнение с альтернативами.
https://underground.works/clockwork/
Расскажу про свой опыт использования и сделаю небольшое сравнение с альтернативами.
https://underground.works/clockwork/