#RFC Именованные аргументы функций
https://wiki.php.net/rfc/named_params
Никита идет по списку, предложенному Ларри Гарфильдом, и выдвигает на обсуждение обновленный и проработанный документ.
Именованные аргументы позволяют передавать аргументы в функцию на основе имени параметра, а не его позиции. Причем можно комбинировать именованные и позиционные.
Пропуск дефолтных значений:
https://wiki.php.net/rfc/named_params
Никита идет по списку, предложенному Ларри Гарфильдом, и выдвигает на обсуждение обновленный и проработанный документ.
Именованные аргументы позволяют передавать аргументы в функцию на основе имени параметра, а не его позиции. Причем можно комбинировать именованные и позиционные.
Пропуск дефолтных значений:
htmlspecialchars($string, ENT_COMPAT | ENT_HTML401 , ini_get("default_charset"), false);станет:
htmlspecialchars($string, double_encode: false);Еще это важно для атрибутов, так как сейчас с ними вот такой PHPDoc:
/**выглядел бы вот так:
* @Route("/api/posts/{id}", methods={"GET","HEAD"})
*/
<<Route("/api/posts/{id}", ["methods" => ["GET", "HEAD"]])>>А с этим RFC будет красиво:
<<Route("/api/posts/{id}", methods: ["GET", "HEAD"])>>Сообщество разделилось: некоторые считают, что это может создать проблемы для мейнтейнеров пакетов, потому что просто так поменять имя параметра без поломки обратной совместимости нельзя.
Принят #RFC о приведении чисел с плавающей точкой к строке без учета локали.
https://wiki.php.net/rfc/locale_independent_float_to_string
Сейчас выражение
В PHP 8 в результате принятия предложения приведение чисел с плавающей точкой будет работать одинаково во всех локалях.
@vudaltsov | https://twitter.com/vudaltsov
https://wiki.php.net/rfc/locale_independent_float_to_string
Сейчас выражение
(string) 3.14
возвращает различный результат для, например, английского и русского языков: https://3v4l.org/MaUIT. Это может приводить к неприятным ошибкам в мультиязычных системах (интересные примеры в RFC).В PHP 8 в результате принятия предложения приведение чисел с плавающей точкой будет работать одинаково во всех локалях.
setlocale(LC_ALL, 'ru_RU');Для приведения с учетом локали можно пользоваться функциями семейства
$f = 3.14;
(string) $f; // 3,14 would become 3.14
strval($f); // 3,14 would become 3.14
var_dump($f); // float(3,14) becomes float(3.14)
settype($f, "string"); // 3,14 would become 3.14
implode([$f]); // 3,14 would become 3.14
printf
со спецификатором f: sprintf('%f', 3.14)
.@vudaltsov | https://twitter.com/vudaltsov
PHP Russia Online – Live 🔴
Конференция уже в эфире. Ссылки на трансляции:
С синхронным переводом на русский
https://www.youtube.com/watch?v=zYWDlaOOFTU
Оригинальная на английском
https://www.youtube.com/watch?v=cQZBS3u3SeU
Конференция уже в эфире. Ссылки на трансляции:
С синхронным переводом на русский
https://www.youtube.com/watch?v=zYWDlaOOFTU
Оригинальная на английском
https://www.youtube.com/watch?v=cQZBS3u3SeU
YouTube
PHP Russia 2020 Online по-русски
Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
Приглашаем на HighLoad++ Foundation — крупнейшую в России профессиональную…
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
Приглашаем на HighLoad++ Foundation — крупнейшую в России профессиональную…
PHP-Дайджест № 180
2 принятых, 2 отклоненных и 6 новых RFC предложений из PHP Internals, обзор PHP 8, порция полезных инструментов, онлайн мероприятия, видео, подкасты и многое другое. #дайджест
https://habr.com/p/502442/
2 принятых, 2 отклоненных и 6 новых RFC предложений из PHP Internals, обзор PHP 8, порция полезных инструментов, онлайн мероприятия, видео, подкасты и многое другое. #дайджест
https://habr.com/p/502442/
Habr
PHP-Дайджест № 180 (4 – 18 мая 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: 2 принятых, 2 отклоненных и 6 новых RFC предложений из PHP Internals, обзор PHP 8, порция полезных инструментов, онлайн мероприятия,...
Принят RFC, который добавит тип mixed в PHP 8
Есть два основных аргумента в его пользу:
- mixed сигнализирует о том, что тип не забыли указать, просто он не может быть уточнён,
- mixed часто фигурирует в документации PHP.
Смешанный тип эквивалентен объединению типов
О других нюансах использования смешанного типа читайте в RFC: https://wiki.php.net/rfc/mixed_type_v2.
@vudaltsov | https://twitter.com/vudaltsov
Есть два основных аргумента в его пользу:
- mixed сигнализирует о том, что тип не забыли указать, просто он не может быть уточнён,
- mixed часто фигурирует в документации PHP.
Смешанный тип эквивалентен объединению типов
null|bool|int|float|string|array|object|callable|resource
. При наследовании mixed по общему правилу может использоваться в следующих ситуациях:abstract class AТип
{
abstract public function bar(string $arg): mixed;
}
final class B extends A
{
/**
* тип аргумента расширен в подклассе
* тип возвращаемого значения сужен в подклассе
*/
public function bar(mixed $arg): int
{...}
}
?mixed
считается невалидным и избыточным: mixed
по определению включает null
. Код с таким типом сгенерирует фатальную ошибку.О других нюансах использования смешанного типа читайте в RFC: https://wiki.php.net/rfc/mixed_type_v2.
@vudaltsov | https://twitter.com/vudaltsov
На ближайших выходных сразу два крутых PHP-мероприятия. Ребята уже скоординировались и больше таких коллизий не будет. Ну а в этот раз можно насладиться выбором.
Про 3-й виртуальный PHP-митап вы наверняка уже слышали. Но если вдруг нет, то в субботу, 30 мая, будет 5 докладов, включая историю от того самого слепого разработчика, и зум с крутыми гостями.
Кроме того, 30 и 31 мая будет проходить PHP fwdays online. Программа вот тут https://fwdays.com/en/event/php-fwdays-2020#program-event.
Сам жду доклад Макса Рафалко (Infection) о принципах проектирования пакетов. Уж очень понравился его документ о выделении пакета из Infection https://github.com/infection/infection/issues/922.
Организаторы PHP fwdays предоставили пару билетов для розыгрыша — он в следующем сообщении.
Про 3-й виртуальный PHP-митап вы наверняка уже слышали. Но если вдруг нет, то в субботу, 30 мая, будет 5 докладов, включая историю от того самого слепого разработчика, и зум с крутыми гостями.
Кроме того, 30 и 31 мая будет проходить PHP fwdays online. Программа вот тут https://fwdays.com/en/event/php-fwdays-2020#program-event.
Сам жду доклад Макса Рафалко (Infection) о принципах проектирования пакетов. Уж очень понравился его документ о выделении пакета из Infection https://github.com/infection/infection/issues/922.
Организаторы PHP fwdays предоставили пару билетов для розыгрыша — он в следующем сообщении.
PHP fwdays Online — 30 и 31 мая
https://fwdays.com/en/event/php-fwdays-2020
Промокод на скидку 15%: PHPDIGEST2020
Разыгрываем 2 билета, победителей определяет бот @VoterBiBot сегодня, 27 мая, в 20:00.
(Счетчик кнопки обновляется с задержкой)
*****
Победители: Sergii Gzh, Maksim Aleshchenko
https://fwdays.com/en/event/php-fwdays-2020
Промокод на скидку 15%: PHPDIGEST2020
Разыгрываем 2 билета, победителей определяет бот @VoterBiBot сегодня, 27 мая, в 20:00.
(Счетчик кнопки обновляется с задержкой)
*****
Победители: Sergii Gzh, Maksim Aleshchenko
Fwdays
PHP fwdays'20- the largest PHP conference in Ukraine
Fwdays - large-scale tech conferences, meetups and workshops for developers on JavaScript, Frontend, PHP, .NET, Highload, PM in Ukraine
Стартовал PhpStorm 2020.2 EAP
В этом релизе будем улучшать подсистемы, фиксить старые баги, готовиться к PHP 8 и не обойдется без новых фич.
В первом билде можно пощупать полную поддержку пул-реквестов GitHub — теперь все действия доступны прямо в IDE. Можно ревьювить, комментировать, мерджить.
Добавили виджет инспекций — он позволяет быстро сконфигурировать, какие ошибки показывать, и пробежаться по всем ошибкам.
И также сильно переработали анализ потока выполнения PHP. Это позволяет добавить новые инспекции и дает возможность исправить много старых багов.
Как и всегда, EAP-версию можно использовать бесплатно.
https://blog.jetbrains.com/phpstorm/2020/05/phpstorm-2020-2-early-access-program-is-now-open/
В этом релизе будем улучшать подсистемы, фиксить старые баги, готовиться к PHP 8 и не обойдется без новых фич.
В первом билде можно пощупать полную поддержку пул-реквестов GitHub — теперь все действия доступны прямо в IDE. Можно ревьювить, комментировать, мерджить.
Добавили виджет инспекций — он позволяет быстро сконфигурировать, какие ошибки показывать, и пробежаться по всем ошибкам.
И также сильно переработали анализ потока выполнения PHP. Это позволяет добавить новые инспекции и дает возможность исправить много старых багов.
Как и всегда, EAP-версию можно использовать бесплатно.
https://blog.jetbrains.com/phpstorm/2020/05/phpstorm-2020-2-early-access-program-is-now-open/
PHP-Дайджест № 181
3 новых и 4 принятых RFC предложения для PHP 8, включая объявление свойств в конструкторе, о блокировке PHP-ML из-за плагиата, почему разработчики ненавидят PHP, порция полезных инструментов и многое другое. #дайджест
https://habr.com/p/504734/
3 новых и 4 принятых RFC предложения для PHP 8, включая объявление свойств в конструкторе, о блокировке PHP-ML из-за плагиата, почему разработчики ненавидят PHP, порция полезных инструментов и многое другое. #дайджест
https://habr.com/p/504734/
Habr
PHP-Дайджест № 181 (18 мая – 1 июня 2020)
Фото Erika Heidi Свежая подборка со ссылками на новости и материалы. В выпуске: 3 новых и 4 принятых RFC предложения для PHP 8, включая объявление свойств в конструкторе, о блокировке PHP-ML из-за...
Голосования по RFC
Сейчас на стадии голосования находятся три предложения:
• Проверка корректности сигнатур магических методов;
• Оптимизации без кеширования опкодов;
• Использование зарезервированного неймспейса
Голосовать могут, как всегда, только контрибьюторы. Кстати, чтоб получить право голоса, можно контрибьютить в документацию и тесты — для них знания C не требуется.
Тем временем Bejamin Eberlei (автор атрибутов) сделал на сайте https://php-rfc-watch.beberlei.de/ голосование для комьюнити. Силы никакой оно не имеет, но все равно интересно.
Сейчас на стадии голосования находятся три предложения:
• Проверка корректности сигнатур магических методов;
• Оптимизации без кеширования опкодов;
• Использование зарезервированного неймспейса
\PHP
в ядре.Голосовать могут, как всегда, только контрибьюторы. Кстати, чтоб получить право голоса, можно контрибьютить в документацию и тесты — для них знания C не требуется.
Тем временем Bejamin Eberlei (автор атрибутов) сделал на сайте https://php-rfc-watch.beberlei.de/ голосование для комьюнити. Силы никакой оно не имеет, но все равно интересно.
Разыгрываем билеты на PHP fwdays'20 | Special edition, которая пройдет онлайн 6 июня
https://fwdays.com/en/event/php-fwdays-special-edition
Вторая часть конференции со звездным составом: Jordi Boggiano (Composer), Sebastian Bergmann (PHPUnit), Nikita Popov (PHP Core), Marco Pivetta (aka Ocramius) и другие.
Код на скидку 15%: PHPDIGEST20.
Разыгрываем 2 билета, победителей определяет @VoterBiBot сегодня, 4 июня, в 20:00.
(Счетчик кнопки обновляется с задержкой)
*****
Победители: Игорь Драндин, Cactus
https://fwdays.com/en/event/php-fwdays-special-edition
Вторая часть конференции со звездным составом: Jordi Boggiano (Composer), Sebastian Bergmann (PHPUnit), Nikita Popov (PHP Core), Marco Pivetta (aka Ocramius) и другие.
Код на скидку 15%: PHPDIGEST20.
Разыгрываем 2 билета, победителей определяет @VoterBiBot сегодня, 4 июня, в 20:00.
(Счетчик кнопки обновляется с задержкой)
*****
Победители: Игорь Драндин, Cactus
Fwdays
PHP fwdays'20 | Special edition
Fwdays - large-scale tech conferences, meetups and workshops for developers on JavaScript, Frontend, PHP, .NET, Highload, PM in Ukraine
25 лет PHP и скидка 50% на PhpStorm
8 июня 1995 года, программист родом из Гренландии Расмус Лердорф публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools.
Иногда говорят, что первые версии PHP были написаны на Perl. Это, конечно же, неправда.
Главные факты и события из 25 лет истории PHP смотрите в таймлайне.
https://jb.gg/php25
Заревьюить и дополнить его помогли непосредственные участники событий: Andi Gutmans, Derick Rethans, Peter Kokot, Александр Макаров, Дмитрий Стогов и другие.
Еще 27 мая исполнилось 10 лет PhpStorm. Чтоб отметить сразу два дня рождения делаем скидку 50% на персональную годовую подписку. FAQ по скидке на Хабре.
С днем рождения PHP!
8 июня 1995 года, программист родом из Гренландии Расмус Лердорф публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools.
Иногда говорят, что первые версии PHP были написаны на Perl. Это, конечно же, неправда.
Главные факты и события из 25 лет истории PHP смотрите в таймлайне.
https://jb.gg/php25
Заревьюить и дополнить его помогли непосредственные участники событий: Andi Gutmans, Derick Rethans, Peter Kokot, Александр Макаров, Дмитрий Стогов и другие.
Еще 27 мая исполнилось 10 лет PhpStorm. Чтоб отметить сразу два дня рождения делаем скидку 50% на персональную годовую подписку. FAQ по скидке на Хабре.
С днем рождения PHP!
Где купить PHP слоника
Прямо сейчас доступны серый и черный слоники Symfony
https://shop.symfony.com/collections/all
Пушистый PHP Roundtable
https://store.osmihelp.org/collections/frontpage/products/the-official-elephpant-plush-toy-of-the-php-roundtable
Белый ConFoo
https://shop.confoo.ca/white-elephpant
Парочка, в том числе оригинальный синий, есть у коллекционера Тима Бонда
https://www.tim-bond.com/elephpants/
Черного панк-слоника PhpStorm пока купить нельзя. Но его можно получить другими способами. (Карантинные меры ослабляют и мы их наконец-то можем отправить)
В самом разгаре программа раннего доступа PhpStorm 2020.2 и для того чтоб получить слоника достаточно зарепортить 5+ подтвержденных (!) багов в ЕАПе.
https://blog.jetbrains.com/phpstorm/2020/06/whats-coming-in-phpstorm-2020-2-eap-video-series-episode-1/
Прямо сейчас доступны серый и черный слоники Symfony
https://shop.symfony.com/collections/all
Пушистый PHP Roundtable
https://store.osmihelp.org/collections/frontpage/products/the-official-elephpant-plush-toy-of-the-php-roundtable
Белый ConFoo
https://shop.confoo.ca/white-elephpant
Парочка, в том числе оригинальный синий, есть у коллекционера Тима Бонда
https://www.tim-bond.com/elephpants/
Черного панк-слоника PhpStorm пока купить нельзя. Но его можно получить другими способами. (Карантинные меры ослабляют и мы их наконец-то можем отправить)
В самом разгаре программа раннего доступа PhpStorm 2020.2 и для того чтоб получить слоника достаточно зарепортить 5+ подтвержденных (!) багов в ЕАПе.
https://blog.jetbrains.com/phpstorm/2020/06/whats-coming-in-phpstorm-2020-2-eap-video-series-episode-1/
В продолжение вчерашнего стрима. Вот Marcel Pociot, вместо жалоб о том, что в PHP нет асинхронности, берет и делает аналог ngrok на PHP, используя ReactPHP.
https://github.com/beyondcode/expose
Инструмент позволяет пробросить туннель и сделать локальный ресурс доступным глобально. Очень удобно когда надо быстро продемонстрировать сайт. Или отладить веб-хуки например.
Есть пост с описанием внутреннего устройства: https://pociot.dev/28-introducing-expose-an-easy-to-use-tunneling-service-implemented-in-pure-php
Конечно, сервер Expose можно запустить и на своем домене: https://beyondco.de/docs/expose/server/starting-the-server
Справедливости ради у меня сходу не все заработало, так что продукт еще WIP и если нужна стабильность, то можно переждать на ngrok.
https://github.com/beyondcode/expose
Инструмент позволяет пробросить туннель и сделать локальный ресурс доступным глобально. Очень удобно когда надо быстро продемонстрировать сайт. Или отладить веб-хуки например.
Есть пост с описанием внутреннего устройства: https://pociot.dev/28-introducing-expose-an-easy-to-use-tunneling-service-implemented-in-pure-php
Конечно, сервер Expose можно запустить и на своем домене: https://beyondco.de/docs/expose/server/starting-the-server
Справедливости ради у меня сходу не все заработало, так что продукт еще WIP и если нужна стабильность, то можно переждать на ngrok.
PHP-Дайджест № 182
3 принятых и 6 новых RFC-предложений из PHP Internals, включая голосование за новый синтаксис для атрибутов — @@ и почему #[] был бы лучше, переименования black/whitelist в PHP-мире, как отлаживают PHP-разработчики, видео, подкасты и многое другое.
https://habr.com/p/507636/
3 принятых и 6 новых RFC-предложений из PHP Internals, включая голосование за новый синтаксис для атрибутов — @@ и почему #[] был бы лучше, переименования black/whitelist в PHP-мире, как отлаживают PHP-разработчики, видео, подкасты и многое другое.
https://habr.com/p/507636/
Habr
PHP-Дайджест № 182 (1 – 22 июня 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: 3 принятых и 6 новых RFC-предложений из PHP Internals, включая голосование за новый синтаксис для атрибутов — @@ и почему #[] был бы...
Сегодня в 17:00 по UTC+3 (Киев/Москва/Минск) будем общаться в формате стрима с Антоном Моревым про PHP, PhpStorm, дайджесты и всякое разное.
https://www.youtube.com/watch?v=KvTQWv0phgE
https://www.youtube.com/watch?v=KvTQWv0phgE
YouTube
MoreView #11 | Роман Пронский - создатель PHP Digest и PMM в Jetbrains
Если вы знакомы с PHP, то вы точно знакомы с PHP-дайджестом (https://habr.com/ru/users/pronskiy/posts/). Его автор, Рома Пронский, будет у меня в гостях 26 июня в 17.00. Помимо ведения дайджестов Рома работает PMM в JetBrains. Поговорим про Рому, PhpStorm…
Media is too big
VIEW IN TELEGRAM
Открытое собеседование — ищем участников
Бывало, засидишься на одном месте и не знаешь, актуален ли ты еще на рынке... Хотя бы какие там тренды? Что спрашивают-то сейчас вообще на собеседованиях?
Вот и решили с Валентином Удальцовым провести публичное онлайн-собеседование с вопросами на актуальные темы мира PHP.
Трудоустройство не гарантируем, скорее это возможность рассказать о себе, проверить знания, узнать что-то новое да и просто хорошо провести время.
Собеседование будет проходить в режиме стрима в теплой обстановке, примерно как на видео, только Валентин будет без усов.
Требования для участия:
• уровень middle/senior;
• PHP 7.x, Composer, PSR;
• ООП, SOLID, coupling/cohesion, вот это все;
• тестирование, PHPUnit;
• желателен опыт с Symfony 4/5;
• SQL, желательно PostgreSQL;
• представление о современных трендах в архитектуре приложений.
Заявки на участие можно отправить до 8 июля через форму: https://forms.gle/ES3nXiwf4ycosGEy9.
Вопросы в личку: @vudaltsov, @pronskiy.
Бывало, засидишься на одном месте и не знаешь, актуален ли ты еще на рынке... Хотя бы какие там тренды? Что спрашивают-то сейчас вообще на собеседованиях?
Вот и решили с Валентином Удальцовым провести публичное онлайн-собеседование с вопросами на актуальные темы мира PHP.
Трудоустройство не гарантируем, скорее это возможность рассказать о себе, проверить знания, узнать что-то новое да и просто хорошо провести время.
Собеседование будет проходить в режиме стрима в теплой обстановке, примерно как на видео, только Валентин будет без усов.
Требования для участия:
• уровень middle/senior;
• PHP 7.x, Composer, PSR;
• ООП, SOLID, coupling/cohesion, вот это все;
• тестирование, PHPUnit;
• желателен опыт с Symfony 4/5;
• SQL, желательно PostgreSQL;
• представление о современных трендах в архитектуре приложений.
Заявки на участие можно отправить до 8 июля через форму: https://forms.gle/ES3nXiwf4ycosGEy9.
Вопросы в личку: @vudaltsov, @pronskiy.
Стрим про код-ревью с камрадами Макаровым, Буркалевым, Жуком и Моревым в эфире прямо сейчас.
Upd: закончился, доступна запись.
https://www.youtube.com/watch?v=JP7lppzWaLg
Upd: закончился, доступна запись.
https://www.youtube.com/watch?v=JP7lppzWaLg
YouTube
Как готовить код-ревью: обсуждаем плохие и хорошие практики с подкастом SDCast
Слушайте аудиоверсию на других платформах https://sdcast.ksdaemon.ru/
3:30 - Кто пришел говорить и что болит у аутсорса, продуктовой разработки и опенсорса
7:35 - Для чего нам код-ревью и почему это не про баги (Сергей)
11:57 - Идеальный процесс код-ревью…
3:30 - Кто пришел говорить и что болит у аутсорса, продуктовой разработки и опенсорса
7:35 - Для чего нам код-ревью и почему это не про баги (Сергей)
11:57 - Идеальный процесс код-ревью…
PHP-Дайджест № 183
Все про PHP 8: первая альфа, новое выражение match, баг в синтаксисе @@ для атрибутов, реальные бенчмарки JIT, 4 новых предложения. И, как всегда, инструменты, статьи, видео и подкасты.
https://habr.com/p/509738/
Все про PHP 8: первая альфа, новое выражение match, баг в синтаксисе @@ для атрибутов, реальные бенчмарки JIT, 4 новых предложения. И, как всегда, инструменты, статьи, видео и подкасты.
https://habr.com/p/509738/
Habr
PHP-Дайджест № 183 (22 июня – 5 июля 2020)
Фото James Titcumb Свежая подборка со ссылками на новости и материалы. В выпуске все про PHP 8: первая альфа, новое выражение match , баг в синтаксисе @@ для атрибутов, реальные бенчмарки JIT, 4 новых...
Открытое собеседование № 1
Cтрим в четверг, 16 июля, в 17:00 по Москве/Киеву/Минску
https://www.youtube.com/watch?v=FQNd9W3nb3A
Валентин @phpyh и я @phpdigest совместно проведём открытое собеседование с Патриком Фельдешем.
Начнём со знакомства, перейдём к PHP, пробежимся по SOLID и закончим где-то в архитектуре и вопросами из чата. В конце расскажем, что было хорошо, а что не очень, и прошел ли бы кандидат реальное собеседование.
Трансляция будет на новом YouTube канале PHP Point — подписывайтесь, чтоб не пропустить следующие проекты.
Cтрим в четверг, 16 июля, в 17:00 по Москве/Киеву/Минску
https://www.youtube.com/watch?v=FQNd9W3nb3A
Валентин @phpyh и я @phpdigest совместно проведём открытое собеседование с Патриком Фельдешем.
Начнём со знакомства, перейдём к PHP, пробежимся по SOLID и закончим где-то в архитектуре и вопросами из чата. В конце расскажем, что было хорошо, а что не очень, и прошел ли бы кандидат реальное собеседование.
Трансляция будет на новом YouTube канале PHP Point — подписывайтесь, чтоб не пропустить следующие проекты.
YouTube
Открытое собеседование PHP Point #1 / Валентин Удальцов vs Патрик Фельдеш
О Патрике: https://career.habr.com/sspat
Код для ревью: https://gist.github.com/vudaltsov/e6f7dd83a88b349cd5ee0e0d1795e5aa
Задача на SQL: https://gist.github.com/vudaltsov/e3d06ef2158a248337aa262a9fb60b5f
Большое спасибо Антону Мореву за помощь с трансляцией.…
Код для ревью: https://gist.github.com/vudaltsov/e6f7dd83a88b349cd5ee0e0d1795e5aa
Задача на SQL: https://gist.github.com/vudaltsov/e3d06ef2158a248337aa262a9fb60b5f
Большое спасибо Антону Мореву за помощь с трансляцией.…