Пых
В прошлый раз решили не растягивать стрим и отложили третью, самую сложную задачу. Поэтому завтра в
12:00 мы снова соберёмся, чтобы завершить собеседование. Присоединяйтесь!https://youtu.be/Wa9hUi8NeTs
https://gist.github.com/vudaltsov/ed246caaef9e8ef4c46a328075d38e72
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤3
Задача для любителей трейтов
На этой неделе я добавил полную поддержку трейтов в Typhoon Reflection 0.3.x. Вдохновившись полученными знаниями, придумал вам задачку:
На этой неделе я добавил полную поддержку трейтов в 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👍7❤2🤔2🥱2
Пых
Задача для любителей трейтов На этой неделе я добавил полную поддержку трейтов в Typhoon Reflection 0.3.x. Вдохновившись полученными знаниями, придумал вам задачку: trait T { abstract public function x(): void; } final class C { use T { …
Сколько методов нужно имплементировать в классе C, чтобы он стал корректным?
Anonymous Quiz
31%
1
26%
3
12%
4
30%
В классе C уже есть ошибка в use, методами его не спасти
🤯45❤5👨💻5💩3👎2👍1
Forwarded from Галера Морева
Прямой эфир с Валентином Удальцовым
Когда-то давно я делал стрим с Валентином, где мы общались про него, его опыт, немного про PHP и планы на будущее.
Будущее наступило — прошло почти 4 года и сегодня Валентин приедет ко мне в гости и мы проведем еще один прямой эфир и пообщаемся на разные темы.
Мне лично интересно обсудить как он решился на запуск своего образовательного проекта после стольких лет стабильной работы фуллтайм и как ему это нравится (или нет).
Правила для зрителей стандартные — задавайте вопросы и автору самого лучшего вопроса положена пицца за мой счет:)
Начнем в 19.00 сегодня!
Стрим будет тут: youtube.com/live/QPdhrhY0UGY
Когда-то давно я делал стрим с Валентином, где мы общались про него, его опыт, немного про PHP и планы на будущее.
Будущее наступило — прошло почти 4 года и сегодня Валентин приедет ко мне в гости и мы проведем еще один прямой эфир и пообщаемся на разные темы.
Мне лично интересно обсудить как он решился на запуск своего образовательного проекта после стольких лет стабильной работы фуллтайм и как ему это нравится (или нет).
Правила для зрителей стандартные — задавайте вопросы и автору самого лучшего вопроса положена пицца за мой счет:)
Начнем в 19.00 сегодня!
Стрим будет тут: youtube.com/live/QPdhrhY0UGY
🔥26👍12🤡7
Новая система типов • Трейты • Атрибуты • Совместимость с родной рефлексией • Монорепо
Жду всех на PHP Point сегодня в
19:00. Про третий поток тоже расскажу.https://youtu.be/zW0wNb_2i2s
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Typhoon 0.3.0 • Новая система типов • Трейты • Атрибуты • Совместимость с родной рефлексией
Подписывайтесь на наши каналы в Telegram:
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
🔥46👍15⚡8
Пых
Typhoon — бескомпромиссная статическая рефлексия для PHP с поддержкой phpDoc-типов и резолвингом дженериков.
https://github.com/typhoon-php/typhoon/releases/tag/0.3.0
https://youtu.be/zW0wNb_2i2s
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Release 0.3.0 New type system, traits, attributes support · typhoon-php/typhoon
New type system.
Traits, attributes, class constants support.
Native reflection compatibility.
Traits, attributes, class constants support.
Native reflection compatibility.
🔥33👍16🎉9🤡6
Ну что ж, после релиза Typhoon с чувством выполненного долга возвращаюсь к
Набор на третий поток будет осуществляться так же, как в прошлый раз. Завтра (4 марта) в 15:00 по Москве на канале Пых появится ссылка на срез знаний. При проверке я сначала буду отбирать анкеты с правильными ответами, а потом ранжировать их по времени. Удачи!
https://vudaltsov.notion.site/PHP-d4be63d0b6b7486787861fdbab080d1c
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥18
Пых
Пробная лекция Хардкорного курса PHP
По вашим просьбам сделал демо-ролик на основе лекции второго потока. Из него вы узнаете две вещи: как устроен мой курс и как конфигурировать схему базы данных в Doctrine без использования ORM, не теряя при этом поддержку миграций.
https://youtu.be/B4e7d3oYEeQ
По вашим просьбам сделал демо-ролик на основе лекции второго потока. Из него вы узнаете две вещи: как устроен мой курс и как конфигурировать схему базы данных в Doctrine без использования ORM, не теряя при этом поддержку миграций.
https://youtu.be/B4e7d3oYEeQ
YouTube
Пробная лекция Хардкорного курса PHP. Конфигурируем Doctrine Schema без ORM (1080p)
Подробнее о курсе: https://hardcorephp.ru
Подписывайтесь на наши каналы в Telegram:
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
Подписывайтесь на наши каналы в Telegram:
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
👍33🔥16❤3
Пых
Срез знаний для 3-его потока Хардкорного курса PHP!
https://forms.gle/Tr2y4JNnj9qhHytm9
Удачи!😉️️️️️️
https://forms.gle/Tr2y4JNnj9qhHytm9
Удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Docs
Срез знаний для 3-его потока Хардкорного курса PHP
Привет! При проверке я сначала буду отбирать анкеты с правильными ответами и здравыми рассуждениями, а потом ранжировать их по времени. Если не знаешь ответ, лучше пропустить вопрос или написать хоть что-то, что помнишь, чем вставить ерунду из GPT. Удачи!
🎉14👍11🔥5
Пых
Срез знаний для 3-его потока Хардкорного курса PHP! https://forms.gle/Tr2y4JNnj9qhHytm9 Удачи! 😉️️️️️️
Набор на 3-ий поток Хардкорного курса завершён!
Все принятые студенты получили письма с приглашениями на почту.
Немного статистики и наблюдений:
▸ 123 ответа на момент написания этого поста,
▸ 20 человек набралось уже на 41-ой анкете, которую отправили 4 марта в 15:50:53.
▸ ответы в этот раз более вдумчивые, "зелёные" анкеты идут более плотно.
На скриншоте общая картина. Как видите, не обязательно было отвечать на все вопросы правильно, чтобы попасть на курс. Завтра в 15:00 разберём срез и интересные ответы, приглашаю всех на стрим: https://youtu.be/-BCacGtTUY4.
P.S.: Форму не буду закрывать в демонстрационных целях.
Все принятые студенты получили письма с приглашениями на почту.
Немного статистики и наблюдений:
▸ 123 ответа на момент написания этого поста,
▸ 20 человек набралось уже на 41-ой анкете, которую отправили 4 марта в 15:50:53.
▸ ответы в этот раз более вдумчивые, "зелёные" анкеты идут более плотно.
На скриншоте общая картина. Как видите, не обязательно было отвечать на все вопросы правильно, чтобы попасть на курс. Завтра в 15:00 разберём срез и интересные ответы, приглашаю всех на стрим: https://youtu.be/-BCacGtTUY4.
P.S.: Форму не буду закрывать в демонстрационных целях.
👍29❤8🔥7
Пых
Набор на 3-ий поток Хардкорного курса завершён! Все принятые студенты получили письма с приглашениями на почту. Немного статистики и наблюдений: ▸ 123 ответа на момент написания этого поста, ▸ 20 человек набралось уже на 41-ой анкете, которую отправили 4…
Пишите в комментариях, насколько удобно смотреть стримы фоном в рабочее время. Это поможет мне понять, стоит проводить PHP-линчи днём.
https://youtu.be/-BCacGtTUY4
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Разбираем срез знаний для 3-его потока Хардкорного курса PHP
Подписывайтесь на наши каналы в Telegram:
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
• Пых https://news.1rj.ru/str/phpyh,
• PHP Digest https://news.1rj.ru/str/phpdigest,
• PHP умирает?! https://news.1rj.ru/str/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
🔥26🤡10👍7
Пых
Ilija Tovilio, на текущий момент один из самых активных контрибьюторов в PHP, только что дал мне карму для публикации RFC и пожелал удачи! Буду считать это хорошим знаком! 💪 https://externals.io/message/122052#122053
📝 new MyClass()->method() без скобок
В конце прошлого года я придумал правку для синтаксиса PHP, которая позволит не оборачивать
Только что я наконец-то опубликовал RFC через internals! В течение как минимум двух недель будет проходить обсуждение, потом открою голосование.
RFC: https://wiki.php.net/rfc/new_without_parentheses
Реализация и тесты: https://github.com/php/php-src/pull/13029
Можно следить за обсуждением на сайте, а можно подписаться на рассылку и принять в нём участие.
В конце прошлого года я придумал правку для синтаксиса 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😐7❤2
В эту пятницу в 15:20 по местному времени я выступаю в Ульяновске на Стачке с докладом про Typhoon (секция Backend). Расскажу, как мы собирали систему типов typhoon/type, вдохновляясь Psalm и PHPStan, как её редуцировали, как искали в ней место для self, parent и static.
Ульяновские пыхари, отзовитесь в комментариях! Можем дополнительно организоваться до или после конфы и где-то посидеть.
https://ul24.nastachku.ru/schedule
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥15❤6
Пых
Я на месте. Кто тут и хочет поболтать, пишите.
🔥85😁15💩15👍9😎1
Podlodka PHP Crew
На ближайшей неделе стартует очередная подлодка PHP, в этот раз про БД. Но уже сегодня пройдёт открытая сессия «Зачем переходить на MySQL 8, еслиесть PostgreSQL в 5.х всё устраивает?»
В среду 24 апреля в 19:00 мы встретимся с Кириллом Несмеяновым, чтобы найти ответ на другой вопрос: «Зачем использовать ORM, если есть чистый SQL?»
Ну а так каждый день будет что-то интересное: Redis, Elasticsearch, Doctrine, масштабирование и миграции.
Зашифрованный одноразовый бесплатный билет для пыхаря:
https://podlodka.io/phpcrew
Мем от @markin_igor из PHP Fart Time.
Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjbrpi81
На ближайшей неделе стартует очередная подлодка PHP, в этот раз про БД. Но уже сегодня пройдёт открытая сессия «Зачем переходить на MySQL 8, если
В среду 24 апреля в 19:00 мы встретимся с Кириллом Несмеяновым, чтобы найти ответ на другой вопрос: «Зачем использовать ORM, если есть чистый SQL?»
Ну а так каждый день будет что-то интересное: Redis, Elasticsearch, Doctrine, масштабирование и миграции.
Зашифрованный одноразовый бесплатный билет для пыхаря:
4655434b-2d4f-854d-ad55-53452d53514c (уже использован) и многоразовый промокод на 500 рублей: PHPYH.https://podlodka.io/phpcrew
Мем от @markin_igor из PHP Fart Time.
Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjbrpi81
🔥25❤13👍12😁4🤮4
Своя игра PHP!
Вчера на Подлодке я проиграл Кириллу, сегодня постараюсьнадрать задницу выиграть у Петра и Алексея!
https://www.youtube.com/watch?v=ef0LPaVNJLs
Вчера на Подлодке я проиграл Кириллу, сегодня постараюсь
https://www.youtube.com/watch?v=ef0LPaVNJLs
YouTube
Своя игра от CutCode. Второй выпуск викторины по PHP
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 20:00 (мск) 25 апреля на YouTube-канале CutCode стартует игра-викторина в стиле “Своей игры”
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
🔥18😁6❤5👍3
Уязвимость в iconv() в GNU C Library
Новость про CVE-2024-2961 в привязке к PHP так раздули, что у многих сложилось впечатление, будто уязвимость в самом языке и масштаб последствий для пыхарей невероятно велик. Это не так. Уязвимость проявляется только при использовании функций и стрим-фильтров расширения
Думаю, все понимают, что в современном коде это маловероятно.
Также не ждите патч-релиза со стороны PHP.
Подробнее в официальном ответе на сайте PHP: https://www.php.net/archive/2024.php#2024-04-24-1
Новость про CVE-2024-2961 в привязке к PHP так раздули, что у многих сложилось впечатление, будто уязвимость в самом языке и масштаб последствий для пыхарей невероятно велик. Это не так. Уязвимость проявляется только при использовании функций и стрим-фильтров расширения
iconv с непровалидированными кодировками, полученными снаружи. Ну то есть надо прям вот такое иметь в коде, чтобы словить атаку:
iconv('utf-8', $_REQUEST['charset'], 'my_text');
Думаю, все понимают, что в современном коде это маловероятно.
Также не ждите патч-релиза со стороны PHP.
glibc подключается динамически и не компилируется в исполняемый файл. Достаточно просто обновить glibc.Подробнее в официальном ответе на сайте PHP: https://www.php.net/archive/2024.php#2024-04-24-1
www.php.net
PHP is a popular general-purpose noscripting language that powers everything from your blog to the most popular websites in the world.
👍84🤝8😁3❤2
Пых
📝 new MyClass()->method() без скобок В конце прошлого года я придумал правку для синтаксиса PHP, которая позволит не оборачивать new выражения в cкобки для обращения к ним: final class MyClass { const CONSTANT = 'constant'; public static $staticProperty…
https://wiki.php.net/rfc/new_without_parentheses#proposed_voting_choices
Кстати, следить за всеми RFC можно через монитор: https://php-rfc-watch.beberlei.de/
P.S.: Всех с праздником!
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉71🔥36👍26🤮15👎1
Пых
Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
👍152🔥63🍾32🤮9❤8👎1
ML-assisted completion
Примерно с месяц у меня в PhpStorm включен бесплатный Full Line Code Completion. Если бы после обновления он не был "искаропки", я б, наверное, так и не попробовал ничего подобного. Но раз судьба свела, вот мои наблюдения.
Без помощника:
1. размышляю над тем, что написать дальше (по сути, это самый сложный и долгий этап),
2. пишу код, используя хоткеи, шаблоны и стандартный предсказуемый автокомплит.
С помощником:
1. размышляю над тем, что написать дальше,
2. ввожу пару символов, вижу на экране подсказку (иногда с запозданием),
3. зрительно анализирую её (дополнительная мыслительная деятельность),
4. с вероятностью 40% ассистент не угадывает точь-в-точь,
5. с вероятностью 60% угадывает, нажимаю Tab.
В итоге у меня формируется стойкое ощущение, что я парно программирую с туповатым джуном, который играет со мной в угадайку, причём в тот момент, когда я уже и так знаю, что нужно сделать. По сути, он отвлекает меня от работы! По этой причине мне скорее хочется выключить плагин, чем продолжить им пользоваться.
Возможно, я сейчас написал какой-то ретроградский пост и мне просто нужно установить полноценный AI Assistant, тогда-то всё встанет на свои места. Или я пишу не тот код — надо меньше думать, больше формошлёпить и крудить, а не тайфуны типунить... Короче, разубедите или поддержите меня — я в этой теме новичок.
Примерно с месяц у меня в PhpStorm включен бесплатный Full Line Code Completion. Если бы после обновления он не был "искаропки", я б, наверное, так и не попробовал ничего подобного. Но раз судьба свела, вот мои наблюдения.
Без помощника:
1. размышляю над тем, что написать дальше (по сути, это самый сложный и долгий этап),
2. пишу код, используя хоткеи, шаблоны и стандартный предсказуемый автокомплит.
С помощником:
1. размышляю над тем, что написать дальше,
2. ввожу пару символов, вижу на экране подсказку (иногда с запозданием),
3. зрительно анализирую её (дополнительная мыслительная деятельность),
4. с вероятностью 40% ассистент не угадывает точь-в-точь,
goto 2;5. с вероятностью 60% угадывает, нажимаю Tab.
В итоге у меня формируется стойкое ощущение, что я парно программирую с туповатым джуном, который играет со мной в угадайку, причём в тот момент, когда я уже и так знаю, что нужно сделать. По сути, он отвлекает меня от работы! По этой причине мне скорее хочется выключить плагин, чем продолжить им пользоваться.
Возможно, я сейчас написал какой-то ретроградский пост и мне просто нужно установить полноценный AI Assistant, тогда-то всё встанет на свои места. Или я пишу не тот код — надо меньше думать, больше формошлёпить и крудить, а не тайфуны типунить... Короче, разубедите или поддержите меня — я в этой теме новичок.
JetBrains Marketplace
Full Line Code Completion - IntelliJ IDEs Plugin | Marketplace
Designed to supercharge your code completion with multi-token proposals utilizing a deep learning model. Enjoy the benefits of advanced code completion offline, as it...
👍64💯33😁10❤2🤔2💩1
Пых
Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
Официально объявляю свой RFC принятым!
Не буду ждать утра, чтобы сообщить, что я только что закрыл голосование на отметке в 25 голосов против 4. Это означает, что в PHP 8.4 мы с вами сможем писать
До сих пор не верится, что шальная попытка законтрибьютить в PHP, предпринятая за завтраком 26 декабря прошлого года, увенчалась успехом. Теперь есть запал для пары других идей. Попробую летом их оформить.
Всем огромное спасибо за поддержку!
Не буду ждать утра, чтобы сообщить, что я только что закрыл голосование на отметке в 25 голосов против 4. Это означает, что в PHP 8.4 мы с вами сможем писать
new без скобок! Осталось только дождаться мёрджа PR в мастер.До сих пор не верится, что шальная попытка законтрибьютить в PHP, предпринятая за завтраком 26 декабря прошлого года, увенчалась успехом. Теперь есть запал для пары других идей. Попробую летом их оформить.
Всем огромное спасибо за поддержку!
Telegram
Пых
new MyClass()->method() без скобок!
Вдохновлённый митапом, разобрался с синтаксисом Bison и закинул свой первый Pull Request в исходники PHP. Это изменение позволит обращаться к объектам, созданным через new, не оборачивая их в скобки. Во избежание неоднозначности…
Вдохновлённый митапом, разобрался с синтаксисом Bison и закинул свой первый Pull Request в исходники PHP. Это изменение позволит обращаться к объектам, созданным через new, не оборачивая их в скобки. Во избежание неоднозначности…
🔥329👍80🎉62🤮15❤4🌚2👎1🍾1😎1