В эту пятницу в 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
April 9, 2024
Пых
Я на месте. Кто тут и хочет поболтать, пишите.
April 12, 2024
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
April 18, 2024
Своя игра PHP!
Вчера на Подлодке я проиграл Кириллу, сегодня постараюсьнадрать задницу выиграть у Петра и Алексея!
https://www.youtube.com/watch?v=ef0LPaVNJLs
Вчера на Подлодке я проиграл Кириллу, сегодня постараюсь
https://www.youtube.com/watch?v=ef0LPaVNJLs
YouTube
Своя игра от CutCode. Второй выпуск викторины по PHP
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 20:00 (мск) 25 апреля на YouTube-канале CutCode стартует игра-викторина в стиле “Своей игры”
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
April 25, 2024
Уязвимость в 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: Hypertext Preprocessor
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
April 26, 2024
Пых
📝 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
May 9, 2024
Пых
Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
May 13, 2024
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
Local AI Completion support for Android Studio is currently not available Designed to supercharge your code completion with multi-token proposals utilizing a deep...
May 14, 2024
Пых
Дмитрий Стогов одобрил мой 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, не оборачивая их в скобки. Во избежание неоднозначности…
May 24, 2024
Пых
Официально объявляю свой RFC принятым! Не буду ждать утра, чтобы сообщить, что я только что закрыл голосование на отметке в 25 голосов против 4. Это означает, что в PHP 8.4 мы с вами сможем писать new без скобок! Осталось только дождаться мёрджа PR в мастер.…
После исправления косяка, замеченного зорким глазом Никиты Попова, мой PR был окончательно одобрен и наконец-то попал в master! У них там как-то странно это происходит — через отдельный commit и закрытый PR, хотя у меня во всех проектах на GitHub аналогичный squash + rebase по кнопке даёт фиолетовый статус "merged", а не красный "closed". Но не суть.
Тем временем я закинул в internals ещё одну идею. Я предложил вынести методы
ArrayAccess::offsetExists
, offsetGet
в отдельный интерфейс с рабочим названием ArrayAccessRead
, чтобы можно было делать иммутабельные коллекции, поддерживающие $object['key']
синтаксис только в режиме чтения. Но выяснилось, что уже есть драфт отличного RFC, который предлагает куда более глубокое переосмысление кривого ArrayAccess
. Надеюсь, что он тоже попадёт в 8.4, а я пока подумаю над чем-то ещё. Please open Telegram to view this post
VIEW IN TELEGRAM
May 28, 2024
В этот четверг в 19:00 на
Максим Хасанов расскажет про RoadRunner, Алексей Сидоркин про Swoole, а у меня будет секция про память. Обсудим, откуда берутся утечки и как подготовить код для запуска в неумирающих рантаймах.
Только оффлайн, без трансляции и записи. Если ты в Москве, регистрируйся и приходи!
https://beerphp.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
June 3, 2024
Пых
BeerPHP сменил локацию!
Митап пройдёт в лофте "Событие" на Таганке. Организаторы говорят, что эта площадка значительно лучше. Дата и время те же самые: 6 июня (завтра) в 19:00.
Также мне разрешили поделиться с вами записью доклада после мероприятия!
https://beerphp.ru/
Митап пройдёт в лофте "Событие" на Таганке. Организаторы говорят, что эта площадка значительно лучше. Дата и время те же самые: 6 июня (завтра) в 19:00.
Также мне разрешили поделиться с вами записью доклада после мероприятия!
https://beerphp.ru/
Яндекс Карты
Событие Лофт, конференц-зал, Николоямская ул., 28, Москва — Яндекс Карты
Рейтинг 5,0. 60 отзывов, 74 фото. Написать в whatsapp, посмотреть меню, номер телефона, часы работы и построить маршрут вы можете в Яндекс Картах.
June 5, 2024
К 29-ому дню рождения PHP Рома Пронский опубликовал ролик, в котором он скомпилировал и запустил первую версию языка!
https://youtu.be/0BPExYh5Anw
И ещё несколько ссылок для любознательных:
• интервью с Расмусом про то, как он изобрёл PHP,
• статья Артёма Украинского про PHP 1 на Хабре,
• музей PHP.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Running PHP 1.0 in 2024
I downloaded the source of PHP 1.0, compiled it on modern MacBook, then wrote a simple CGI server using PHP 8.3, and then tried to understand what was PHP 1.0 actually capable of doing. Spoiler alert: not much.
The code can be found here: https://github…
The code can be found here: https://github…
June 10, 2024
Завтра (12 июня) в
20:00
встретимся с Димой Елисеевым на новом канале Станислава Ракчаева и команды LivePHP "Абстрактный программист", чтобы обсудить типизацию. Ребята подкупили меня фразой "затронем Typhoon". В общем, заходите, задавайте вопросы, расскажу всё, что знаю.
https://youtu.be/eXfsU-x3bMg
P.S.: Видео с прошедшего BeerPHP обязательно будет, но нужно ещё подождать.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
#1.1 Стримкаст. Типы и типизирование. ООП. Часть I.
Обсудим типизацию, что это такое, какая бывает, зачем нужна. Типы данных в PHP, встроенные типы. Поговорим о том, для чего нужны кастомные типы. Как всё это мешает или помогает при разработке. Конечно, затронем Typhoon. Ответим на вопросы зрителей.
June 11, 2024
Разбор резюме от Егора Бугаенко
https://youtu.be/af6bidlat6Q
Прям очень зашло! Когда снова буду искать работу, обязательно переделаю резюме.
Мои заметки:
• свой документ вместо типовой выгрузки с HH,
• две версии анкеты: сжатая и яркая для технаря, подробная и скучная для HR,
• убрать подработки верстальщиком в интернет-магазине в студенческие времена,
• уникальный опыт на каждом месте работы (так-то все мы рефакторим, пилим фичи и тестируем),
• каждый факт должен подтверждаться ссылкой.
Понравилась следующая мысль. Если я, например, указываю в резюме "Git" и "Symfony 6", то я лукавлю, потому что это неравноценные навыки. Я никогда не просматривал исходники гита, не делал про него докладов, тем более не контрибьютил. Да, я умею в
https://youtu.be/af6bidlat6Q
Прям очень зашло! Когда снова буду искать работу, обязательно переделаю резюме.
Мои заметки:
• свой документ вместо типовой выгрузки с HH,
• две версии анкеты: сжатая и яркая для технаря, подробная и скучная для HR,
• убрать подработки верстальщиком в интернет-магазине в студенческие времена,
• уникальный опыт на каждом месте работы (так-то все мы рефакторим, пилим фичи и тестируем),
• каждый факт должен подтверждаться ссылкой.
Понравилась следующая мысль. Если я, например, указываю в резюме "Git" и "Symfony 6", то я лукавлю, потому что это неравноценные навыки. Я никогда не просматривал исходники гита, не делал про него докладов, тем более не контрибьютил. Да, я умею в
rebase
, знаю разные flow, но это само собой разумеется. В то же время у меня суммарно под сотню PR и issue в symfony/symfony, я выступал на SymfonyCon, лично знаком с Core-командой и читаю курс с использованием этого фреймворка. Принципиально другой уровень! Так что в версии резюме для технаря "Git" я уж точно уберу.YouTube
BB1: Будьте смелее, покажите свое резюме
Разобрали несколько резюме программистов в прямом эфире.
Здесь подробнее: https://www.yegor256.com/2016/03/08/pimp-up-your-resume.html
Приходите к нам в группу и покажите свое резюме, обсудим: https://t.me/resumania
Blog: https://www.yegor256.com
Books:…
Здесь подробнее: https://www.yegor256.com/2016/03/08/pimp-up-your-resume.html
Приходите к нам в группу и покажите свое резюме, обсудим: https://t.me/resumania
Blog: https://www.yegor256.com
Books:…
June 11, 2024
Пых
YouTube
#1.1 Стримкаст. Типы и типизирование. ООП. Часть I.
Обсудим типизацию, что это такое, какая бывает, зачем нужна. Типы данных в PHP, встроенные типы. Поговорим о том, для чего нужны кастомные типы. Как всё это мешает или помогает при разработке. Конечно, затронем Typhoon. Ответим на вопросы зрителей.
June 12, 2024
Пых
BeerPHP сменил локацию! Митап пройдёт в лофте "Событие" на Таганке. Организаторы говорят, что эта площадка значительно лучше. Дата и время те же самые: 6 июня (завтра) в 19:00. Также мне разрешили поделиться с вами записью доклада после мероприятия! ht…
Наконец-то мы смонтировали ролик! Помимо доклада в нём есть признание в любви к вам, матерные слова и подробная история моего RFC.
Получилось очень задорно! Спасибо организаторам и участникам BeerPHP за такую крутую атмосферу.
https://youtu.be/56I5C0NYjv8
https://vudaltsov.github.io/memory-leaks-slides/
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Пишем на PHP и не теряем память • Валентин Удальцов • BeerPHP • 6 июня 2024
0:00 Крутой монтаж BeerPHP
0:20 Приветствие под Катюшу
1:15 RFC: new without parentheses
2:00 Ставь RoadRunner сегодня вечером!
3:08 Что такое утечка памяти?
4:04 Почему сложно искать и предотвращать утечки?
5:19 Не мешай PHP убираться!
7:15 Декомпозируй…
0:20 Приветствие под Катюшу
1:15 RFC: new without parentheses
2:00 Ставь RoadRunner сегодня вечером!
3:08 Что такое утечка памяти?
4:04 Почему сложно искать и предотвращать утечки?
5:19 Не мешай PHP убираться!
7:15 Декомпозируй…
June 19, 2024
Хотите музыкальный стрим сегодня с 17 до 18 МСК? Позже, к сожалению, не получится из-за договорённостей с соседями. Сыграю несколько песен на барабанах (можно будет даже заказать), отвечу на ваши вопросы. Посмотрим, что из этого выйдет.
Ставь
Please open Telegram to view this post
VIEW IN TELEGRAM
June 20, 2024
Пых
Please open Telegram to view this post
VIEW IN TELEGRAM
June 20, 2024
28 и 29 ноября в Москве пройдёт конференция Highload, в рамках которой 16 докладов будут выделены под PHP Russia.
Наилучший способ туда попасть — выступить! Плюшки спикера: куратор из программного комитета для подготовки крутого доклада (например, я), транспорт до Москвы и комфортное проживание, бейдж с полным доступом ко всем залам и зонам Highload. А ещё спикер навсегда вписывает себя и свои идеи в историю PHP. Короче, грех не податься!
Дай угадаю. Если ты раньше не выступал, то сейчас думаешь: "Ой, ну мне не о чем рассказывать, у нас всё стандартно." Поверь, так не бывает! У каждой компании есть ноу-хау, иначе она была бы неприбыльной и ты работал бы в другой. А раз "every company is a software company", то ноу-хау должно быть и в софте. Твоя задача — найти его и заполнить форму. Ещё можно предложить доклад про это самое "стандартно" и как его правильно готовить. Дальше мы уже решим, что впишется в программу, а что нет.
Итак, темы этого года:
• FFI, практическое применение
• AI/ML + PHP
• Производительность
• Devops под PHP
• Лучшие практики
• Новые крутые либы
• Альтернативные рантаймы
• Новые фреймворки
• Опыт больших сложных проектов на PHP
Ждём твой доклад по адресу https://cfp.phprussia.ru/ до 2-ого сентября.
Please open Telegram to view this post
VIEW IN TELEGRAM
cfp.phprussia.ru
PHP Russia 2024
Подайте доклад на конференцию PHP Russia
June 24, 2024