PHP Extended Type System v0.1.0
Пыхари, сегодня мы наконец-то увидим, как я на чём-то ставлю тег, пусть и
Встречаемся через час на уютном PHP Point!
https://youtu.be/5c0WdgAnH_k
Пыхари, сегодня мы наконец-то увидим, как я на чём-то ставлю тег, пусть и
0.1.0
!Встречаемся через час на уютном PHP Point!
https://youtu.be/5c0WdgAnH_k
YouTube
PHP Extended Type System v0.1.0
Подписывайтесь на наши каналы в Telegram:
• Пых https://www.tg-me.com/phpyh,
• PHP Digest https://www.tg-me.com/phpdigest,
• PHP умирает?! https://www.tg-me.com/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
• Пых https://www.tg-me.com/phpyh,
• PHP Digest https://www.tg-me.com/phpdigest,
• PHP умирает?! https://www.tg-me.com/isPHPdying.
Поддержите канал на Boosty: https://boosty.to/phpyh.
Пых
PHP Extended Type System v0.1.0 Пыхари, сегодня мы наконец-то увидим, как я на чём-то ставлю тег, пусть и 0.1.0! Встречаемся через час на уютном PHP Point! https://youtu.be/5c0WdgAnH_k
PHP Extended Type System 0.1.0 🚀
https://github.com/php-extended-type-system/type/releases/tag/0.1.0
https://github.com/php-extended-type-system/type-stringifier/releases/tag/0.1.0
https://github.com/php-extended-type-system/type-reflection/releases/tag/0.1.0
УРА!!! Всем спасибо!
https://github.com/php-extended-type-system/type/releases/tag/0.1.0
https://github.com/php-extended-type-system/type-stringifier/releases/tag/0.1.0
https://github.com/php-extended-type-system/type-reflection/releases/tag/0.1.0
УРА!!! Всем спасибо!
GitHub
Release 0.1.0 🚀 · typhoon-php/type
Released during live stream at PHP Point.
Спасибо Пыхарям за поддержку ❤️
Спасибо Пыхарям за поддержку ❤️
Варианты нейминга конструктора типов для php-extended-type-system/type. Отличается только имя конструктора, всё остальное одинаковое.
👨🔬 Новая лекция от Пыха. LRU мемоизация
Что такое мемоизация, как её абстрагировать и отрефакторить по TDD на LRU-алгоритм. 40 минут.
https://boosty.to/phpyh/posts/c4ba0a19-cfa2-41ec-903b-ede36fd5d28a
Что такое мемоизация, как её абстрагировать и отрефакторить по TDD на LRU-алгоритм. 40 минут.
https://boosty.to/phpyh/posts/c4ba0a19-cfa2-41ec-903b-ede36fd5d28a
Эффективность кэширования
Недавно на консультации разработчик показывал HTTP-кэширование главной страницы. Мне сразу бросилось в глаза, что для проверки If-Modified-Since в базу делается целая пачка далеко не лёгких запросов с join-ами, которые выясняют, как давно изменялись сущности, участвующие в рендеринге. Я предложил проверить, действительно ли это быстрее, чем просто отдать страницу.
Пару лет назад в докладе Павла Паршикова я познакомился с формулой целесобразности кэширования:
Получается, что кэширование имеет смысл тогда, когда взаимодействие с ним обходится дёшево, а вероятность хита близка к 1.
Как правило, наибольшее внимание уделяют
Недавно на консультации разработчик показывал HTTP-кэширование главной страницы. Мне сразу бросилось в глаза, что для проверки If-Modified-Since в базу делается целая пачка далеко не лёгких запросов с join-ами, которые выясняют, как давно изменялись сущности, участвующие в рендеринге. Я предложил проверить, действительно ли это быстрее, чем просто отдать страницу.
Пару лет назад в докладе Павла Паршикова я познакомился с формулой целесобразности кэширования:
rp + (r + c + w)(1 - p) < c
c — стоимость выполнения кэшируемой операции,
0 < p < 1 — вероятность попадания в кэш (hit),
r — стоимость чтения и валидации кэша,
w — стоимость записи в кэш.
После упрощения:
r + w(1 - p)
———————————— < c
p
Получается, что кэширование имеет смысл тогда, когда взаимодействие с ним обходится дёшево, а вероятность хита близка к 1.
Как правило, наибольшее внимание уделяют
p
, подразумевая, что сам кэш достаточно быстрый. Но r
не стоит недооценивать. В описанной в начале поста ситуации именно стоимость валидации оказалась слишком высокой, из-за чего кэширование потеряло смысл.Initial Pelican — Initial
Субботний оффтоп, важный для меня и, надеюсь, приятный для вас.
Мы с группой Initial Pelican (я в ней играю на барабанах) наконец-то выпустили свой первый альбом «Initial». Его можно послушать на всех стриминговых площадках, кроме Apple Music (если кто-то там работает, попинайте коллег, плиз 😆). Также мы дропнули на YouTube уже второй ролик со студии. Переходите по ссылке, надевайте наушники и смакуйте! Буду ждать ваши впечатления в комментариях.
🎧 Spotify
🎧 Яндекс.Музыка
🎧 YouTube
🎧 VK Музыка
🎧 Мультиссылка на все сервисы
👍 Telegram
Субботний оффтоп, важный для меня и, надеюсь, приятный для вас.
Мы с группой Initial Pelican (я в ней играю на барабанах) наконец-то выпустили свой первый альбом «Initial». Его можно послушать на всех стриминговых площадках, кроме Apple Music (если кто-то там работает, попинайте коллег, плиз 😆). Также мы дропнули на YouTube уже второй ролик со студии. Переходите по ссылке, надевайте наушники и смакуйте! Буду ждать ваши впечатления в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Initial Pelican — Hearth (Studio Video)
Initial Pelican — Initial. Released February 25th, 2023
Order album: https://rumedia.io/l/6LUsK/
Guitars & Vocals: Sergey Ivanov
Bass: Ivan Loktaev
Drums: Valentin Udaltsov
Mixing & Mastering: Denis Ivanov
Order album: https://rumedia.io/l/6LUsK/
Guitars & Vocals: Sergey Ivanov
Bass: Ivan Loktaev
Drums: Valentin Udaltsov
Mixing & Mastering: Denis Ivanov
Наводим порядок в composer.json
Если вы, как и я, испытываете наслаждение от автоматизированного порядка, могу порекомендовать пакет ergebnis/composer-normalize. Он упорядочивает ключи
Интеграция в проект предельно проста:
Ну и закрепляем наши усилия, добавив в CI-пайплайн
https://github.com/ergebnis/composer-normalize
Если вы, как и я, испытываете наслаждение от автоматизированного порядка, могу порекомендовать пакет ergebnis/composer-normalize. Он упорядочивает ключи
composer.json
в соответсвии со схемой, после чего структура файла становится логичной и узнаваемой. Под капотом, кстати, используется ergebnis/json-normalizer — он решает задачу нормализации JSON в общем случае и может быть полезен сам по себе.Интеграция в проект предельно проста:
composer req --dev ergebnis/composer-normalize
composer normalize
git commit -am 'Навёл порядок в composer.json!'
Ну и закрепляем наши усилия, добавив в CI-пайплайн
composer normalize --dry-run
.https://github.com/ergebnis/composer-normalize
GitHub
GitHub - ergebnis/composer-normalize: 🎵 Provides a composer plugin for normalizing composer.json.
🎵 Provides a composer plugin for normalizing composer.json. - ergebnis/composer-normalize
Нужно ли отбивать пробелами оператор конкатенации?
Несколько лет подряд у меня был ответ "нет", потому что в PHP-CS-Fixer concat_space по умолчанию выставлен в
Но на новой работе коллеги ставят пробелы. Почитал новый PER Coding Style: "All binary arithmetic, comparison, assignment, bitwise, logical, string, and type operators MUST be preceded and followed by at least one space". Документация подтверждает, что конкатенация относится к строковым операторам. Получается, что если следовать рекомендации, то пробелы надо ставить...
Несколько лет подряд у меня был ответ "нет", потому что в PHP-CS-Fixer concat_space по умолчанию выставлен в
none
и я привык так писать ещё со времён контрибьютинга в Symfony.Но на новой работе коллеги ставят пробелы. Почитал новый PER Coding Style: "All binary arithmetic, comparison, assignment, bitwise, logical, string, and type operators MUST be preceded and followed by at least one space". Документация подтверждает, что конкатенация относится к строковым операторам. Получается, что если следовать рекомендации, то пробелы надо ставить...
Пых
Обещанный опрос по итогам 2022 в русскоязычном PHP-сообществе! При желании в конце можно оставить почту — волей рандома подарим кому-нибудь PHP-слона и классный мерч. Итоги опроса, в том числе подборки лучших статей, докладов и библиотек, появятся в начале…
Итоги 2022 в PHP-коммьюнити
Каюсь! Я совсем забыл выложить результаты опроса PHP-сообщества. Большое спасибо всем, кто принял участиеи проголосовал за мой контент! ❤️
https://phpcommunity.ru/2022-php
Каюсь! Я совсем забыл выложить результаты опроса PHP-сообщества. Большое спасибо всем, кто принял участие
https://phpcommunity.ru/2022-php
phpcommunity.ru
2022 год в русскоговорящем PHP-сообществе
Итоги третьего ежегодного опроса.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
PHP-линч #11 • Pest • mops1k/request-object-resolver-bundle
0:00 Приветствие и болтовня про микрофон
4:31 Новости по проектам
5:10 Вышел альбом моей группы Initial Pelican https://www.tg-me.com/InitialPelican/4
5:54 Pest
41:35 mops1k/request-object-resolver-bundle
1:00:09 Helper-ы
1:03:25 Про Webinar.ru, смену работы и удалёнку…
4:31 Новости по проектам
5:10 Вышел альбом моей группы Initial Pelican https://www.tg-me.com/InitialPelican/4
5:54 Pest
41:35 mops1k/request-object-resolver-bundle
1:00:09 Helper-ы
1:03:25 Про Webinar.ru, смену работы и удалёнку…
Annotated Monthly c Ромой
Если вы, как и я, соскучились по Роме, то можете посмотреть стримы PHP Annotated с его участием.
https://youtu.be/v5VtCWgDebw
https://youtu.be/Dx4knBnuJaw
Если вы, как и я, соскучились по Роме, то можете посмотреть стримы PHP Annotated с его участием.
https://youtu.be/v5VtCWgDebw
https://youtu.be/Dx4knBnuJaw
YouTube
Laravel 10, PHPUnit 10, Readonly Properties, Hakana, and more: PHP Annotated Monthly, February
PHP Annotated Monthly is a show where Roman and Brent look at the PHP news and give their own takes and opinions on it.
#php #monthly #programming #web
Links:
- PHP Annotated Monthly's blog post: https://blog.jetbrains.com/phpstorm/2023/02/php-annotated…
#php #monthly #programming #web
Links:
- PHP Annotated Monthly's blog post: https://blog.jetbrains.com/phpstorm/2023/02/php-annotated…