Пых – Telegram
Пых
8.28K subscribers
260 photos
14 videos
6 files
566 links
Блог Валентина Удальцова о разработке на PHP.

Хобот @phpyhobot
https://youtube.com/@phpyh
https://vkvideo.ru/@phpyh
https://news.1rj.ru/str/isPHPdying

Статистика: https://news.1rj.ru/str/INOTAROBOT?start=st1219340804

Для связи используйте личные сообщения канала.
Download Telegram
C Новым Годом, дорогие подписчики! 🎩

Только что вдумчиво прошёл опрос от phpcommunity.ru. Всем, кому, как и мне, было некогда в конце года, предлагаю сделать это прямо сейчас — до закрытия опроса осталось 3 дня.

Результаты будут в конце января, из них мы узнаем демографию пыхаря и его предпочтения в технологиях, а также получим список самых крутых статей, видео и докладов в 2023 году.

https://forms.gle/n9QErGz5iGYrWEzj9
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🎄12🔥5🤮3💩2🥱2
Публичный собес на Senior PHP разработчика!

Завтра в 12:00 по Москве на YouTube-канале { между скобок } я проведу собеседование с Виталием Лихачевым.

У Виталия отличное CV: он занимался и фронтом, и бэком, и devops, владеет PHP, Python и Go. Ну а я со времён первого собеседования на PHP Point придумал новые вопросы по PHP и вокруг него, так что мне самому очень интересно, что у нас получится!

Подключайтесь завтра к YouTube трансляции или в Zoom, а также подписывайтесь на Telegram-канал { между скобок }, чтобы не пропустить анонсы других крутых стримов.
👍103🔥476🤩1💅1
Нужен алгоритмист для публичного собеседования!

Канал, у нас тут в Пыхтелке назрела идея провести публичный литкод собес по алгоритмам на канале PHP Point. Собеседуемый — отважный Иван Лещёв из Авито. А вот интервьюер сходу не нашёлся.

Отпишитесь в комментариях, кто готов задать ему жару!

Update. Всё, интервьюер есть, ждите анонса.
👍29🔥8🤡2
Всех люблю! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
159💘9😱8🥰4🤮4🌚4👨‍💻3🤔2👍1🤨1😘1
В Питере — Пых!*

15 февраля на Live PHP SPb будет мощный лайн-ап:

▸ Кирилл Несмеянов продемонстрирует Анастейше все оттенки асинхронности,
▸ Дмитрий Елисеев принесёт переносное окружение для разработки и тестов,
▸ ну а я расскажу про половой полиморфизм туркестанского термита.

Ждём всех завтра в 19:00 в баре Failover (к сожалению, только тех, кто ранее прошёл регистрацию) и в трансляции.

* Автор заголовка — Дима Елисеев, завтра мы попробуем его обыграть. 😉
👍50🔥17👎3🌭2🍾2😱1
Пых
Нужен алгоритмист для публичного собеседования! Канал, у нас тут в Пыхтелке назрела идея провести публичный литкод собес по алгоритмам на канале PHP Point. Собеседуемый — отважный Иван Лещёв из Авито. А вот интервьюер сходу не нашёлся. Отпишитесь в комментариях…
📹 Публичное собеседование по алгоритмам!

Через 2 часа встречаемся на канале PHP Point, чтобы посмотреть схватку двух бессменных админов Пыхтелки: Сергея и Ивана. Второй собес на канале спустя 3 года!

Готовьтесь похоливарить в комментариях про ценность алгоритмических задач при тестировании бэкенд-разработчиков.

https://youtu.be/ZPGjJDIZm4Y
https://gist.github.com/vudaltsov/ed246caaef9e8ef4c46a328075d38e72
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🤡8🔥2👏1
Тест на циклические ссылки

Как проверить, что объект не содержит циклических ссылок и автоматически высвобождается из памяти?

Оказывается, очень просто: через WeakReference. После зачистки переменной WeakReference будет пустым, если других ссылок на объект не останется. Первый тест на скриншоте из Typhoon Reflection. Он помог мне найти несколько проблем и улучшить архитектуру библиотеки.

Аналогичный тест для PHP Parser, например, не пройдёт. Парсер ссылается сам на себя через анонимные функции, записанные в приватное свойство, и не может быть автоматически утилизирован, см. мой тикет. Тривиально исправить там вроде не получится, нужно менять архитектуру, поэтому PR я пока не делал.

Имеет смысл задумываться о таких вещах, так как выключение GC ускоряет PHP, да и в целом циклические зависимости — антипаттерн.

Update: Никита пофиксил парсер.
🔥45👍18🤝1
Пых
📹 Публичное собеседование по алгоритмам! Через 2 часа встречаемся на канале PHP Point, чтобы посмотреть схватку двух бессменных админов Пыхтелки: Сергея и Ивана. Второй собес на канале спустя 3 года! Готовьтесь похоливарить в комментариях про ценность алгоритмических…
📹 Публичное собеседование по алгоритмам, часть 2

В прошлый раз решили не растягивать стрим и отложили третью, самую сложную задачу. Поэтому завтра в 12:00 мы снова соберёмся, чтобы завершить собеседование. Присоединяйтесь!

https://youtu.be/Wa9hUi8NeTs
https://gist.github.com/vudaltsov/ed246caaef9e8ef4c46a328075d38e72
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥63
Задача для любителей трейтов

На этой неделе я добавил полную поддержку трейтов в Typhoon Reflection 0.3.x. Вдохновившись полученными знаниями, придумал вам задачку:


trait T
{
abstract public function x(): void;
}

final class C
{
use T {
x as x1;
x as x2;
}
use T {
x as x3;
}

// Сколько методов тут надо добавить?
}
🤮57🤯31👍72🤔2🥱2
Прямой эфир с Валентином Удальцовым

Когда-то давно я делал стрим с Валентином, где мы общались про него, его опыт, немного про PHP и планы на будущее.

Будущее наступило — прошло почти 4 года и сегодня Валентин приедет ко мне в гости и мы проведем еще один прямой эфир и пообщаемся на разные темы.

Мне лично интересно обсудить как он решился на запуск своего образовательного проекта после стольких лет стабильной работы фуллтайм и как ему это нравится (или нет).

Правила для зрителей стандартные — задавайте вопросы и автору самого лучшего вопроса положена пицца за мой счет:)

Начнем в 19.00 сегодня!
Стрим будет тут: youtube.com/live/QPdhrhY0UGY
🔥26👍12🤡7
📹 Typhoon 0.3.0

Новая система типов • Трейты • Атрибуты • Совместимость с родной рефлексией • Монорепо

Жду всех на PHP Point сегодня в 19:00. Про третий поток тоже расскажу.

https://youtu.be/zW0wNb_2i2s
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍158
👨‍🏫 Хардкорный курс PHP, 3-ий поток

Ну что ж, после релиза Typhoon с чувством выполненного долга возвращаюсь к своему Edtech преподаванию! Обновил описание курса, добавил новые отзывы и гистограмму с оценками.

Набор на третий поток будет осуществляться так же, как в прошлый раз. Завтра (4 марта) в 15:00 по Москве на канале Пых появится ссылка на срез знаний. При проверке я сначала буду отбирать анкеты с правильными ответами, а потом ранжировать их по времени. Удачи!

https://vudaltsov.notion.site/PHP-d4be63d0b6b7486787861fdbab080d1c
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥18
Пых
Срез знаний для 3-его потока Хардкорного курса PHP! https://forms.gle/Tr2y4JNnj9qhHytm9 Удачи! 😉️️️️️️
Набор на 3-ий поток Хардкорного курса завершён!

Все принятые студенты получили письма с приглашениями на почту.

Немного статистики и наблюдений:
▸ 123 ответа на момент написания этого поста,
▸ 20 человек набралось уже на 41-ой анкете, которую отправили 4 марта в 15:50:53.
▸ ответы в этот раз более вдумчивые, "зелёные" анкеты идут более плотно.

На скриншоте общая картина. Как видите, не обязательно было отвечать на все вопросы правильно, чтобы попасть на курс. Завтра в 15:00 разберём срез и интересные ответы, приглашаю всех на стрим: https://youtu.be/-BCacGtTUY4.

P.S.: Форму не буду закрывать в демонстрационных целях.
👍298🔥7
Пых
Ilija Tovilio, на текущий момент один из самых активных контрибьюторов в PHP, только что дал мне карму для публикации RFC и пожелал удачи! Буду считать это хорошим знаком! 💪 https://externals.io/message/122052#122053
📝 new MyClass()->method() без скобок

В конце прошлого года я придумал правку для синтаксиса PHP, которая позволит не оборачивать new выражения в cкобки для обращения к ним:


final class MyClass
{
const CONSTANT = 'constant';
public static $staticProperty = 'staticProperty';
public static function staticMethod(): string { return 'staticMethod'; }
public $property = 'property';
public function method(): string { return 'method'; }
public function __invoke(): string { return '__invoke'; }
}

var_dump(
new MyClass()::CONSTANT, // string(8) "constant"
new MyClass()::$staticProperty, // string(14) "staticProperty"
new MyClass()::staticMethod(), // string(12) "staticMethod"
new MyClass()->property, // string(8) "property"
new MyClass()->method(), // string(6) "method"
new MyClass()(), // string(8) "__invoke"
);


Только что я наконец-то опубликовал RFC через internals! В течение как минимум двух недель будет проходить обсуждение, потом открою голосование.

RFC: https://wiki.php.net/rfc/new_without_parentheses
Реализация и тесты: https://github.com/php/php-src/pull/13029
Можно следить за обсуждением на сайте, а можно подписаться на рассылку и принять в нём участие.
🔥135👍50👎17😐72