Технический материал писать долго и временами сложно.
Переписывать документацию, как я это делал по-началу, больше как-то не хочется :) А сложные кейсы, возникающие на работе, порой описываются (по вечерам) за неделю-две.
Чтобы канал не простаивал по паре недель без материала, думаю добавить контента и хочу посоветоваться с вами, что вам будет интересно? Хайпить на тупых картинках, репостить новости из других каналов и заливать прочей грязью ленту я не буду.
Заметки с/о работе, как и технические статьи, я буду продолжать писать, это никуда не пропадёт :)
Переписывать документацию, как я это делал по-началу, больше как-то не хочется :) А сложные кейсы, возникающие на работе, порой описываются (по вечерам) за неделю-две.
Чтобы канал не простаивал по паре недель без материала, думаю добавить контента и хочу посоветоваться с вами, что вам будет интересно? Хайпить на тупых картинках, репостить новости из других каналов и заливать прочей грязью ленту я не буду.
Заметки с/о работе, как и технические статьи, я буду продолжать писать, это никуда не пропадёт :)
Утренний дайджест на junsenior
Всем кофе, пацаны. Утро первого дня рабочей недели знаменует новую рубрику на канале - дайджест новостей из мира технологий, которые нам интересны. Сегодня кое что вкусное из мира PHP за прошедшую неделю.
Наверняка ты слышал про асинхронный PHP (привет, ReactPHP). Вероятно, если ты подписан на мой канал, ты также слышал о Symfony.
Так вот, их объединили и запаковали в отдельный фреймворк - DriftPHP (да, мы получаем Symfony-архитектуру, реализующую событийную модель).
Обязательно посмотри свежее интервью с разработчиком (с очаровательным русским акцентом интервьюера) DriftPHP - https://www.youtube.com/watch?v=uebhqc2BZXw
Вдохновившись, я решил написать материал, где мы установим, настроим и напишем небольшое приложение посредством этого фреймворка.
Тестирование - неотъемлемая часть разработки. Важно следить и за тем, чтобы тестовый фреймворк был в актуальном состоянии, чтобы не пропустить патчи безопасности и новые фишки.
7-ого февраля зарелизили PHPUnit 9. Теперь, для написания тестов нам нужно иметь версию PHP не ниже 7.3 и можно использовать PHP7 синтакс. Помимо этого, многие методы были помечены устаревшими (например, у MockBuilder устаревшим объявлен setMethods()). Все изменения описаны в официальном релизе - https://phpunit.de/announcements/phpunit-9.html, рекомендую ознакомиться.
1 февраля в статусе черновика опубликовали RFC с предложением добавить переопределение арифметических операторов и операторов конкатенации - https://wiki.php.net/rfc/userspace_operator_overloading
Хорошо это или плохо - тема активно обсуждается. Лично мне эта идея импонирует, и я бы активно использовал такую возможность.
Ещё одна тема, активно обсуждаемая на реддите - это появление возможности кидать PR в репозиторий с английской документацией - https://github.com/php/doc-en.
Как по мне - это действительно круто. В случае адекватного ревью документация может расшириться примерами, описанием неявных мест и подводных камней.
Всем кофе, пацаны. Утро первого дня рабочей недели знаменует новую рубрику на канале - дайджест новостей из мира технологий, которые нам интересны. Сегодня кое что вкусное из мира PHP за прошедшую неделю.
Наверняка ты слышал про асинхронный PHP (привет, ReactPHP). Вероятно, если ты подписан на мой канал, ты также слышал о Symfony.
Так вот, их объединили и запаковали в отдельный фреймворк - DriftPHP (да, мы получаем Symfony-архитектуру, реализующую событийную модель).
Обязательно посмотри свежее интервью с разработчиком (с очаровательным русским акцентом интервьюера) DriftPHP - https://www.youtube.com/watch?v=uebhqc2BZXw
Вдохновившись, я решил написать материал, где мы установим, настроим и напишем небольшое приложение посредством этого фреймворка.
Тестирование - неотъемлемая часть разработки. Важно следить и за тем, чтобы тестовый фреймворк был в актуальном состоянии, чтобы не пропустить патчи безопасности и новые фишки.
7-ого февраля зарелизили PHPUnit 9. Теперь, для написания тестов нам нужно иметь версию PHP не ниже 7.3 и можно использовать PHP7 синтакс. Помимо этого, многие методы были помечены устаревшими (например, у MockBuilder устаревшим объявлен setMethods()). Все изменения описаны в официальном релизе - https://phpunit.de/announcements/phpunit-9.html, рекомендую ознакомиться.
1 февраля в статусе черновика опубликовали RFC с предложением добавить переопределение арифметических операторов и операторов конкатенации - https://wiki.php.net/rfc/userspace_operator_overloading
Хорошо это или плохо - тема активно обсуждается. Лично мне эта идея импонирует, и я бы активно использовал такую возможность.
Ещё одна тема, активно обсуждаемая на реддите - это появление возможности кидать PR в репозиторий с английской документацией - https://github.com/php/doc-en.
Как по мне - это действительно круто. В случае адекватного ревью документация может расшириться примерами, описанием неявных мест и подводных камней.
Книги # 1. Думай медленно - решай быстро
В опросе выше, где я советовался с вами, о чём ещё можно писать на канал - многие проявили интерес к книгам. Интерес к ним проявляю и я - почти каждый день, пока я еду на работу и с работы, в наушники томный мужской голос начитывает очередную книгу.
Сегодня краткая рецензия на одну из самых интересных и объемных на новую информацию книг от нобелевского лауреата Даниеля Канемана - "Думай медленно ... Решай быстро".
https://graph.org/Knigi--1-Dumaj-medlenno---reshaj-bystro-02-12
В опросе выше, где я советовался с вами, о чём ещё можно писать на канал - многие проявили интерес к книгам. Интерес к ним проявляю и я - почти каждый день, пока я еду на работу и с работы, в наушники томный мужской голос начитывает очередную книгу.
Сегодня краткая рецензия на одну из самых интересных и объемных на новую информацию книг от нобелевского лауреата Даниеля Канемана - "Думай медленно ... Решай быстро".
https://graph.org/Knigi--1-Dumaj-medlenno---reshaj-bystro-02-12
Я выздоровел и продолжаю наводить активность.
Сегодня у нас дайджест интересных материалов и новостей из мира PHP.
1. Небольшая и крутая статья, которая точно не будет лишней (а ещё её можно скидывать ответом на комментарии в твоём PR) - Как писать читаемый PHP-код - https://freek.dev/1593-writer-readable-php-avoid-indentation-by-returning-early
Или почему
3. Поговаривают, что codeigniter дропнулся с номером 4.0, после 5-ти лет разработки (жалко, что ребята обновили фреймворк, но забыли обновить сайт с web 1.0). Кто писал - что скажете? Стоит рассмотреть? Какие есть плюсы, какие минусы? С кем из передовой троицы (Symfony, Laravel, Yii) его можно сравнить?
4. Занятный, на первый взгляд, инструмент для построения консольных приложений на нативном PHP - https://github.com/minicli/minicli
Удобные контроллеры, поддержка большой работы с аргументами и огромный вывод информации. Как минималистичное решение для небольшого микросервиса, который не требует зависимостей, - вполне может подойти.
5. Laravel обновился до 7-ой версии. Из вкусного, на что стоит обратить внимание:
5.1 https://laravel.com/docs/7.x/airlock - минималистичное решение для аутентификации клиентов посредством токенов. Я, как тот, кто любит разделять backend и клиентов, обязательно рассмотрю, какие плюсы и минусы есть у этой библиотеки и чем работа с ней отличается от аутентификаторов в Symfony.
5.2 Для Eloquent'а появилась возможность писать кастомные get/set-методы, инкапсулирующие логику работы с какой-либо структурой данных. Например, можно написать get/set для Json (где будет json_encode/json_decode), а потом работать с json-типом как с базовым.
5.3 Обновился HTTP-клиент! Ребята сделали обёртку поверх Guzzle, за что им огромное спасибо. Вместо не особо красивых интерпретаций вроде
6. SymfonyCast (https://symfonycasts.com/screencast/symfony) дропнул плейлист с уроками по Symfony 5. Теперь тебе есть что посмотреть вечером со своей девушкой.
Сегодня у нас дайджест интересных материалов и новостей из мира PHP.
1. Небольшая и крутая статья, которая точно не будет лишней (а ещё её можно скидывать ответом на комментарии в твоём PR) - Как писать читаемый PHP-код - https://freek.dev/1593-writer-readable-php-avoid-indentation-by-returning-early
Или почему
public function doSomething($someParameter, $someOtherParameter)Гораздо лучше, чем
{
if ($someParameter !== 0) {
return;
}
if ($someOtherParameter !== 0) {
return;
}
// do the actual work
}
if ($someParameter !== 0 || $someOtherParameter !== 0)2. https://github.com/shivammathur/setup-php - надстройка над github actions, специально для PHP. Последнее время много и часто говорят об этом инструменте от github, так что в конце недели у нас на канале выйдет материал по настройке и работе с github actions.
3. Поговаривают, что codeigniter дропнулся с номером 4.0, после 5-ти лет разработки (жалко, что ребята обновили фреймворк, но забыли обновить сайт с web 1.0). Кто писал - что скажете? Стоит рассмотреть? Какие есть плюсы, какие минусы? С кем из передовой троицы (Symfony, Laravel, Yii) его можно сравнить?
4. Занятный, на первый взгляд, инструмент для построения консольных приложений на нативном PHP - https://github.com/minicli/minicli
Удобные контроллеры, поддержка большой работы с аргументами и огромный вывод информации. Как минималистичное решение для небольшого микросервиса, который не требует зависимостей, - вполне может подойти.
5. Laravel обновился до 7-ой версии. Из вкусного, на что стоит обратить внимание:
5.1 https://laravel.com/docs/7.x/airlock - минималистичное решение для аутентификации клиентов посредством токенов. Я, как тот, кто любит разделять backend и клиентов, обязательно рассмотрю, какие плюсы и минусы есть у этой библиотеки и чем работа с ней отличается от аутентификаторов в Symfony.
5.2 Для Eloquent'а появилась возможность писать кастомные get/set-методы, инкапсулирующие логику работы с какой-либо структурой данных. Например, можно написать get/set для Json (где будет json_encode/json_decode), а потом работать с json-типом как с базовым.
5.3 Обновился HTTP-клиент! Ребята сделали обёртку поверх Guzzle, за что им огромное спасибо. Вместо не особо красивых интерпретаций вроде
$this->guzzleClient->request('POST',
'.../url/...',
[
'headers' => $content['headers'],
'json' => [
"paramsNames" => $content['content'],
]
]
);
Можно будет писать красивые:$response = Http::withHeaders([Надо будет протестировать и с радостью заюзаю в своих проектах.
'X-First' => 'foo',
'X-Second' => 'bar'
])->post('http://test.com/users', [
'name' => 'Taylor',
]);
6. SymfonyCast (https://symfonycasts.com/screencast/symfony) дропнул плейлист с уроками по Symfony 5. Теперь тебе есть что посмотреть вечером со своей девушкой.
Всем карантин, пацаны.
Разбавим этот смутный понедельник интересным дайджестом из мира близких нам технологий.
1. За прошедшую неделю была пара интересных RFC. Например, предлагают добавить возвращаемое значение из switch, чтобы вместо
можно было написать:
Меньше кода, читается не хуже, почему бы и нет?
Ещё один RFC, который предлагают включить в следующий релиз - это возможность объявления полей класса в конструкторе, как в TypeScript:
Лично мне такая идея не кажется хорошей - кода явно меньше, но не пострадает ли от этого его качество? Мне кажется, что объявление на уровне класса и инициализация уже объявленных переменных - не должна быть в одном месте.
2. Ребята из Psalm (самый, наверное, популярный статический анализатор для PHP) добавили ссылки в сообщения анализатора, чтобы можно было быстро ознакомиться с проблемой более подробно. Теперь сообщения линтера выглядят так:
Мелочь, а приятно :)
3. SkyEng 28-ого числа провели очень крутую вещь - online PHP-митап. В условиях карантина (я надеюсь ты его не нарушаешь), самоизоляции и плохого настроения такие события всегда радуют. Обсуждали легаси, GraphQL, работу на удалёнке, монолиты и прочие прелести разработки. Посмотреть можно тут.
Надеюсь, что и другие митапы, которые должны были пройти в офлайне, не отменятся, а пройдут в онлайн-режиме (календарь митапов на русском языке можно чекать тут)
4. Опубликовали библиотеку для разработки мини-игр на PHP (со статусом - work in progress). Смысла в ней я особо не вижу, но выглядит мило :) В любом случае респект разработчику за такую работу.
5. Немного о VUE: релизнули в статусе WIP 3-ю версию VueJS:
Изменения можно посмотреть тут.
Не болейте, друзья, и соблюдайте карантин - сейчас это наиболее важно. Всем хорошего начала недели!
Разбавим этот смутный понедельник интересным дайджестом из мира близких нам технологий.
1. За прошедшую неделю была пара интересных RFC. Например, предлагают добавить возвращаемое значение из switch, чтобы вместо
switch ($x) {
case 0:
$y = 'Foo';
break;
case 1:
$y = 'Bar';
break;
case 2:
$y = 'Baz';
break;
}
var_dump($y);можно было написать:
$y = $x switch {
0 => 'Foo',
1 => 'Bar',
2 => 'Baz',
};
var_dump($y);Меньше кода, читается не хуже, почему бы и нет?
Ещё один RFC, который предлагают включить в следующий релиз - это возможность объявления полей класса в конструкторе, как в TypeScript:
class Point {
public function __construct(
public float $x = 0.0,
public float $y = 0.0,
public float $z = 0.0
) {}
}Лично мне такая идея не кажется хорошей - кода явно меньше, но не пострадает ли от этого его качество? Мне кажется, что объявление на уровне класса и инициализация уже объявленных переменных - не должна быть в одном месте.
2. Ребята из Psalm (самый, наверное, популярный статический анализатор для PHP) добавили ссылки в сообщения анализатора, чтобы можно было быстро ознакомиться с проблемой более подробно. Теперь сообщения линтера выглядят так:
ERROR: InvalidArgument - somefile.php:8:19 - Argument 1 of getAttribute expects string, int provided (see https://psalm.dev/004)
Мелочь, а приятно :)
3. SkyEng 28-ого числа провели очень крутую вещь - online PHP-митап. В условиях карантина (я надеюсь ты его не нарушаешь), самоизоляции и плохого настроения такие события всегда радуют. Обсуждали легаси, GraphQL, работу на удалёнке, монолиты и прочие прелести разработки. Посмотреть можно тут.
Надеюсь, что и другие митапы, которые должны были пройти в офлайне, не отменятся, а пройдут в онлайн-режиме (календарь митапов на русском языке можно чекать тут)
4. Опубликовали библиотеку для разработки мини-игр на PHP (со статусом - work in progress). Смысла в ней я особо не вижу, но выглядит мило :) В любом случае респект разработчику за такую работу.
5. Немного о VUE: релизнули в статусе WIP 3-ю версию VueJS:
Изменения можно посмотреть тут.
Не болейте, друзья, и соблюдайте карантин - сейчас это наиболее важно. Всем хорошего начала недели!
Дайджест интересного за 30 марта - 5 апреля от JunSenior
Начнём с приятного - с обновлений. Объявили о датах релизов PHP 8! Альфа-версия, рассчитанная на тесты и поиск ошибок, должна быть выложена в июне этого года, а основная версия - в начале декабря. О новых функциях, возможностях и приятных ништяках можно прочитать тут.
Предложен интересный и удобный, как по-мне, RFC: https://wiki.php.net/rfc/throw_expression - предлагают приравнять оператор throw к выражению. Это позволит выбрасывать исключение в тех местах, где можно использовать только выражения (стрелочные функции, тернарные операторы). Например, появится возможность использовать такие конструкции:
Либо мы получаем значение $nullableValue, если оно не null, либо выбрасываем исключение. В принципе - удобно, позволяет отказаться от лишнего условия ниже.
В календарь митапов занесли новый онлайн-митап от минского сообщества PHP of By.
Информацию о том во сколько, где и как я пока не нашёл, так что мониторим и ждём - онлайн-митапы в период карантина - это то, что нужно. А ещё в чате ребята обсуждали, что хотят повторить опыт онлайн-митапа от skyeng по отправке пиццы тебе домой, если задашь годный вопрос :)
На фоне обрушения валюты, бушующей пандемии коронавируса и вхождения в мировую финансовую рецессию, какой-то чувак сидит и безмятежно пилит крутое OpenGL-демо на чистом PHP. Пока реддиторы активно это обсуждают, я хочу задать автору пару вопросов: зачем, ради чего и скольких слёз это стоило? А в целом - очень круто :) Поставь автору звёздочку на гитхабе, он заслужил.
Немного о Vue:
Образовательная платформа pluralsight с курсами по vue, firebase, node, js на период апреля открыла бесплатный доступ к множеству курсов. Отличная возможность, если ты хотел узнать что-то новое из этого стека. А ребятам из pluralsight - респект.
Начнём с приятного - с обновлений. Объявили о датах релизов PHP 8! Альфа-версия, рассчитанная на тесты и поиск ошибок, должна быть выложена в июне этого года, а основная версия - в начале декабря. О новых функциях, возможностях и приятных ништяках можно прочитать тут.
Предложен интересный и удобный, как по-мне, RFC: https://wiki.php.net/rfc/throw_expression - предлагают приравнять оператор throw к выражению. Это позволит выбрасывать исключение в тех местах, где можно использовать только выражения (стрелочные функции, тернарные операторы). Например, появится возможность использовать такие конструкции:
$value = $nullableValue ?? throw new InvalidArgumentException();
Либо мы получаем значение $nullableValue, если оно не null, либо выбрасываем исключение. В принципе - удобно, позволяет отказаться от лишнего условия ниже.
В календарь митапов занесли новый онлайн-митап от минского сообщества PHP of By.
Информацию о том во сколько, где и как я пока не нашёл, так что мониторим и ждём - онлайн-митапы в период карантина - это то, что нужно. А ещё в чате ребята обсуждали, что хотят повторить опыт онлайн-митапа от skyeng по отправке пиццы тебе домой, если задашь годный вопрос :)
На фоне обрушения валюты, бушующей пандемии коронавируса и вхождения в мировую финансовую рецессию, какой-то чувак сидит и безмятежно пилит крутое OpenGL-демо на чистом PHP. Пока реддиторы активно это обсуждают, я хочу задать автору пару вопросов: зачем, ради чего и скольких слёз это стоило? А в целом - очень круто :) Поставь автору звёздочку на гитхабе, он заслужил.
Немного о Vue:
Образовательная платформа pluralsight с курсами по vue, firebase, node, js на период апреля открыла бесплатный доступ к множеству курсов. Отличная возможность, если ты хотел узнать что-то новое из этого стека. А ребятам из pluralsight - респект.
thephp.website
PHP 8's Release Schedule is Available
According to the official schedule, PHP 8 shall be released in the first week of December. Read for more details.
Forwarded from PHP Digest
PhpStorm 2020.1
Первое мажорное обновление в этом году зарелизили из дома. Под капотом поддержка composer.json, покрытие кода с PCOV и PHPDBG, улучшения для метаданных и вывода типов в PHP, инструменты для PHPUnit, проверка правописания и грамматики и много другого.
Возможно, вы уже успели обновиться и посмотреть, что нового. Но если нет, то вот подробный разбор всех изменений на русском:
https://habr.com/ru/company/JetBrains/blog/497358/
Первое мажорное обновление в этом году зарелизили из дома. Под капотом поддержка composer.json, покрытие кода с PCOV и PHPDBG, улучшения для метаданных и вывода типов в PHP, инструменты для PHPUnit, проверка правописания и грамматики и много другого.
Возможно, вы уже успели обновиться и посмотреть, что нового. Но если нет, то вот подробный разбор всех изменений на русском:
https://habr.com/ru/company/JetBrains/blog/497358/
Хабр
PhpStorm 2020.1: поддержка composer.json, инструменты для PHPUnit, покрытие кода с PCOV и PHPDBG, Grazie и другое
Привет, Хабр! Рады представить первый мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно...
Открыл для себя крутую библиотеку - https://github.com/lesstif/php-jira-rest-client
По-сути - небольшая обёртка на Jira-API, но в удобном и проработанном виде.
Среди прочих, у этой наибольшее число реализованных API. Особенно порадовала возможность использовать jql-запросы через builder.
Например, проверить на дубли, и если таких нет, добавить новый тикет можно так:
И даже если тебе не интересна сама либа - за аватарку ты точно поставишь звёздочку :)
По-сути - небольшая обёртка на Jira-API, но в удобном и проработанном виде.
Среди прочих, у этой наибольшее число реализованных API. Особенно порадовала возможность использовать jql-запросы через builder.
Например, проверить на дубли, и если таких нет, добавить новый тикет можно так:
$issueService = new IssueService();Чем эта либа полезная? Как минимум тем, что парой строк можно перенаправить все алерты из телеги (как это многие делают) в jira, и позволить команде не напрягаться, когда телега пищит новыми уведомлениями.
$jql = "project = $projectKey and priority = $priority and labels = $label";
$issues = (new IssueService())->search($jql)->getIssues();
if (count($issues) === 0) {
$issueField = new IssueField();
$issueField->setProjectKey(projectKey)
->setSummary("Наташ, вставай")
->setDescription("Мы всё уронили")
->setPriorityName(priority)
->addLabel($label);
$issueService->create($issueField);
}
И даже если тебе не интересна сама либа - за аватарку ты точно поставишь звёздочку :)
GitHub
GitHub - lesstif/php-jira-rest-client: PHP classes interact Jira with the REST API.
PHP classes interact Jira with the REST API. Contribute to lesstif/php-jira-rest-client development by creating an account on GitHub.
Наверное, ты видел на хабре статьи от парня с ником fillpackart (Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты, Я в одиночку отрефакторил 15 тысяч строк легаси. Это были худшие две недели в жизни, etc).
Так вот, он запустил свой подкаст - "Мы обречены". Интересно послушать человека на камеру и сравнить с тем образом, который он формирует статьями. Если думаешь, чем занять свой воскресный карантинный вечер - рекомендую.
Так вот, он запустил свой подкаст - "Мы обречены". Интересно послушать человека на камеру и сравнить с тем образом, который он формирует статьями. Если думаешь, чем занять свой воскресный карантинный вечер - рекомендую.
Хабр
Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты
Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за...
Начнём понедельник с интересного за прошедшую неделю, а интересного там было предостаточно!
Релизнули PHP 7.4.5, где исправили внушительный список багов - https://www.php.net/ChangeLog-7.php. Не забудь обновиться, будь молодцом.
На прошедшей неделе ребята из JetBrains порадовали обновлением PHPStorm под версией 2020.1 - изменений много, многое касается типизации, многое - улучшает работу в IDE, многое - анализ кода. Не забыли про тесты, на забыли про зависимости. В тематических каналах уже пролетал обзор фич в гифках - https://telegra.ph/PhpStorm-20201-podderzhka-composerjson-instrumenty-dlya-PHPUnit-pokrytie-koda-s-PCOV-i-PHPDBG-Grazie-i-drugoe-04-15, но мало ли, вдруг ты не видел ^^.
Чего-то особенного в RFC я не увидел, разве что:
1. throw скоро могут разрешить использовать как выражение - https://wiki.php.net/rfc/throw_expression (об этом я уже писал в прошлый раз, RFC перешёл на следующую стадию);
2. В скором времени, возможно, у нас будут более строгие проверки типов для арифметических и побитовых операций - https://wiki.php.net/rfc/arithmetic_operator_type_checks. Мало кто знает, но мы можем в непонятные вещи не хуже, чем JS:
Спустя 8 лет обновили мажорную версию composer. Прежде всего - загрузка пакетов стала в пару раз быстрее, потому что теперь запросы выполняются параллельно. Все изменения можно посмотреть тут - https://php.watch/articles/composer-2
Ну и не забудь:
25 апреля будет онлайн-митап от Skyeng. Ссылочка на трансляцию - https://www.youtube.com/watch?v=se3F83O0ZiY, схороняй в закладки и жди, Skyeng обычно делает хорошо.
И в заключение самое значимое событие из мира Vue - релизнули бету 3-ей версии!
https://github.com/vuejs/vue-next/releases/tag/v3.0.0-beta.1
Можно поиграться с основными фишками, например Composition API и улучшенной поддержкой TypeScript.
Релизнули PHP 7.4.5, где исправили внушительный список багов - https://www.php.net/ChangeLog-7.php. Не забудь обновиться, будь молодцом.
На прошедшей неделе ребята из JetBrains порадовали обновлением PHPStorm под версией 2020.1 - изменений много, многое касается типизации, многое - улучшает работу в IDE, многое - анализ кода. Не забыли про тесты, на забыли про зависимости. В тематических каналах уже пролетал обзор фич в гифках - https://telegra.ph/PhpStorm-20201-podderzhka-composerjson-instrumenty-dlya-PHPUnit-pokrytie-koda-s-PCOV-i-PHPDBG-Grazie-i-drugoe-04-15, но мало ли, вдруг ты не видел ^^.
Чего-то особенного в RFC я не увидел, разве что:
1. throw скоро могут разрешить использовать как выражение - https://wiki.php.net/rfc/throw_expression (об этом я уже писал в прошлый раз, RFC перешёл на следующую стадию);
2. В скором времени, возможно, у нас будут более строгие проверки типов для арифметических и побитовых операций - https://wiki.php.net/rfc/arithmetic_operator_type_checks. Мало кто знает, но мы можем в непонятные вещи не хуже, чем JS:
var_dump([] % [42]) выведет int(0). WTF, подумали авторы RFC, и реализовали кучу ошибок для подобных операций.Спустя 8 лет обновили мажорную версию composer. Прежде всего - загрузка пакетов стала в пару раз быстрее, потому что теперь запросы выполняются параллельно. Все изменения можно посмотреть тут - https://php.watch/articles/composer-2
Ну и не забудь:
25 апреля будет онлайн-митап от Skyeng. Ссылочка на трансляцию - https://www.youtube.com/watch?v=se3F83O0ZiY, схороняй в закладки и жди, Skyeng обычно делает хорошо.
И в заключение самое значимое событие из мира Vue - релизнули бету 3-ей версии!
https://github.com/vuejs/vue-next/releases/tag/v3.0.0-beta.1
Можно поиграться с основными фишками, например Composition API и улучшенной поддержкой TypeScript.
Telegraph
PhpStorm 2020.1: поддержка composer.json, инструменты для PHPUnit, покрытие кода с PCOV и PHPDBG, Grazie и другое
Рады представить первый мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно — много картинок.
Через 30 минут начинается онлайн-митап от ребят из SkyEng - https://www.youtube.com/watch?v=se3F83O0ZiY
В программе 5 докладов - залетай смотреть
В программе 5 докладов - залетай смотреть
YouTube
Онлайн-митап про как переписать проект, код-ревью, PHP для игр, экстремальный рефакторинг и Drupal
Оцени митап: https://forms.gle/SLGBzBm5QtgjeBMs9
Крутые ИТ-сообщества и подробности о докладах на https://meetups-online.ru/php-minsk-moskva
Крутые ИТ-сообщества и подробности о докладах на https://meetups-online.ru/php-minsk-moskva
Начал по-маленьку смотреть на go - набросал небольшого бота, который подтягивает инфу о вакансиях с hh.ru для PHP-разработчиков на удалёнку.
В фильтрах: Laravel, Symfony, Yii
Дампит вилку зарплаты, описание и ссылку для подробного ознакомления
Код можно закидать какашками тут - https://github.com/itxor/junsenior_vacancies_bot
Сейчас бот крутится у меня на сервере и постепенно дорабатывается - планирую стягивать вакансии ещё с нескольких источников, а самое главное - на этом проекте отработать большинство навыков, нужных для разработки веб-сервисов на go
Ближайшие доработки - перевод запросов на многопоточку, интеграция монги, ибо смотря на дубли по вакансиям json-формат хранения напрашивается сам по себе, и интеграция системы фильтрации, чтобы ты мог настроить бота под свои параметры и он будет сыпать новыми вакансиями тебе в личку по мере их публикации
P.S. Рабочий инстанс дампит вакансии сюда - @junsenior_vacancies
В фильтрах: Laravel, Symfony, Yii
Дампит вилку зарплаты, описание и ссылку для подробного ознакомления
Код можно закидать какашками тут - https://github.com/itxor/junsenior_vacancies_bot
Сейчас бот крутится у меня на сервере и постепенно дорабатывается - планирую стягивать вакансии ещё с нескольких источников, а самое главное - на этом проекте отработать большинство навыков, нужных для разработки веб-сервисов на go
Ближайшие доработки - перевод запросов на многопоточку, интеграция монги, ибо смотря на дубли по вакансиям json-формат хранения напрашивается сам по себе, и интеграция системы фильтрации, чтобы ты мог настроить бота под свои параметры и он будет сыпать новыми вакансиями тебе в личку по мере их публикации
P.S. Рабочий инстанс дампит вакансии сюда - @junsenior_vacancies
GitHub
GitHub - vpoltora/junsenior_vacancies_bot: telegram-bot для парсинга вакансий по пользовательским настройкам
telegram-bot для парсинга вакансий по пользовательским настройкам - vpoltora/junsenior_vacancies_bot
Forwarded from PHP Digest
#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"])>>
Сообщество разделилось: некоторые считают, что это может создать проблемы для мейнтейнеров пакетов, потому что просто так поменять имя параметра без поломки обратной совместимости нельзя.Решил поддержать интерактивный онлайн-холивар про тестовые задания в разработке, который продет 16 мая на ютубе.
Роман Ивлиев (Mos ru, TeamleadConf), Александр Макаров (Yii), Иван Матвеев (Skyeng), Дмитрий Симонов ("Техдирское сообщество") поспорят, нужны ли тестовые и как их готовить. А ты сможешь не только смотреть трансляцию, но и подключиться к дискуссии голосом. Не пропусти)
А пока ребята готовятся - как относишься к тестовым?
Роман Ивлиев (Mos ru, TeamleadConf), Александр Макаров (Yii), Иван Матвеев (Skyeng), Дмитрий Симонов ("Техдирское сообщество") поспорят, нужны ли тестовые и как их готовить. А ты сможешь не только смотреть трансляцию, но и подключиться к дискуссии голосом. Не пропусти)
А пока ребята готовятся - как относишься к тестовым?
Я считаю, что тестовые - это...
Anonymous Poll
12%
Абсолютное зло, резко выступаю против
59%
Практика как практика, отношусь нейтрально
28%
Нормальная практика, чего вы
Forwarded from PHP Digest
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 — крупнейшую в России профессиональную…
Через 20 минут - холиварим про тестовые задания! Ребята расскажут, как тестовое задание поможет не только компании оценить твои скиллы, но и тебе оценить компанию.
YouTube
Холивар. Тестовые в разработке: нужны ли, какие и когда?
Старт на 10:42. Обсуждаем вместе с Александром Макаровым (Yii), Иваном Матвеевым (Skyeng), Романом Ивлиевым (Mos.ru), Дмитрием Симоновым (Техдирское сообщество) и зрителями.
* ИТ-чаты и каналы по разным городам, темам, технологиям
https://meetups-onlin…
* ИТ-чаты и каналы по разным городам, темам, технологиям
https://meetups-onlin…
Нашёл отличную статью о том, что такое JIT, как он ускорит PHP и какие направления разработки открываются для этого языка с выходом 8-ой версии, в которую JIT будет интегрирован: https://habr.com/ru/company/badoo/blog/448622/
Хабр
PHP GR8: повысит ли JIT производительность PHP 8
PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно...
Перевёл небольшую статью о том, зачем нужны стандарты PSR-2/PSR-12, и почему форматирование кода может замедлить работу команды. Под катом - несколько советов, инструменты для форматирования и полезные кейсы - https://www.notion.so/PSR-2-PSR-12-d18c7cd726b745a484f4474641360f0d
Влад on Notion
PSR-2 и PSR-12: почему нам нужны стандарты и как их внедрить | Notion
Табы или пробелы? Окей, пробелы. Но 2 или 4? Некоторые из вас, вероятно, ответят:
Сегодня будет жарко - ребята из Skyeng будут обсуждать с ребятами из подкаста "Цинковый прод" текущее состояние, перспективы и будущее языка PHP. Будет ли с нами PHP через несколько лет? Что нас ждёт после выхода 8-ой версии?
Ответы на все вопросы будут здесь - https://www.youtube.com/watch?v=QrlWrFILjMk
Ответы на все вопросы будут здесь - https://www.youtube.com/watch?v=QrlWrFILjMk
YouTube
Зачем писать на PHP в 2020: обсуждаем нишу и перспективы языка с подкастом "Цинковый прод"
Основное обсуждение (Максим Шамаев из Skyeng, Александр Майоров из Geekjob, постоянные ведущие - Олег Грицак, Никита Васильченко, Антон Околелов)
3:47 - “Мы свой хайлоад держим на PHP”
8:02 - “Легко ли найти разработчика на сложный проект?”
10:18 - “Стоит…
3:47 - “Мы свой хайлоад держим на PHP”
8:02 - “Легко ли найти разработчика на сложный проект?”
10:18 - “Стоит…