Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.34K photos
20 videos
26 files
4.03K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
加入频道
#advanced #rfc

Два полезных rfc о двух популярных стандартах: oauth2 и jwt. В них раскрывается предназначение каждого из подходов, детали реализаций, хорошие практики и другие факты, о которых вы могли не знать.

https://tools.ietf.org/html/rfc6749
https://tools.ietf.org/html/rfc7519
#advanced

А вы слышали про корутины? А вы знаете, что корутины можно реализовать также и на PHP? Конечно, это не так очевидно, как в других языках программирования, но такая возможность есть. Подробнее в статье Никиты Попова, одного из главных разработчиков современного PHP:

https://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html
#advanced #symfony

Если вы хоть раз писали более-менее серьезный проект на Symfony, то должны помнить, насколько сложно в ней сделан компонент Security. Практически невозможно с первого раза настроить авторизацию или как-то ее кастомизировать. Однако недавно, в версии 5.2, разработчики фреймворка зарелизили экспериментальную версию компонента Security, который теперь намного проще в использовании. Подробнее в презентации:

https://speakerdeck.com/weaverryan/modern-security-with-symfonys-shiny-new-security-component
#advanced #symfony

А вы уже успели попробовать Messenger от Symfony? Этот компонент позволяет вам обрабатывать сообщения в синхронном или асинхронном режиме, используя любой из доступных транспортов: кролик, редис, aws, базу данных и так далее. Подробнее в презентации:

https://proglib.io/w/2cec7e62
💸 В Библиотеку программиста требуется разработчик на PHP уровня Upper Junior - Lower Middle.

Зарплата: 80-90 тысяч рублей;
Формат работы: удаленная, полный рабочий день;

Какие задачи потребуется решать:
* Разработка API;
* Доработка баннерной системы;
* Улучшение административной панели;
* Разработка инструментов аналитики (генерация отчетов, вывод статистики);
* Исправление багов;
* Создание ботов (телеграм или под другие платформы);
* Улучшение инфраструктуры экосистемы (обновление фреймворка и сопутствующих инструментов);
* Интеграция с платежными системами;

Навыки:
* Опыт работы с фреймворками Symfony или Laravel (у нас Symfony), опыт работы с вордпрессом или Yii (2) не приветствуется;
* Знание PHP > 7.0;
* Умение писать запросы на чистом SQL, а не только навык работы с ORM, умение и знание, как улучшать и анализировать запросы в MySQL;
* Знакомство (или хотя бы осведомленность) с системами очередей, в частности с RabbitMQ;
* Знакомство с Centrifugo (необязательно);
* composer, psr (в 2020 странно такое упоминать, но вдруг кто еще не использует, мало ли);
* Умение писать тесты (юнит, функциональные, интеграционные и так далее);

Приветствуется:
* Интерес к phpstan, psalm, php-cs-fixer и другим инструментам по улучшению кода (deptrac, например);
* Активный интерес к развитию языка, желание попробовать новые инструменты.

Для резюме и ссылок на гитхаб: @theasder.
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter pinned «💸 В Библиотеку программиста требуется разработчик на PHP уровня Upper Junior - Lower Middle. Зарплата: 80-90 тысяч рублей; Формат работы: удаленная, полный рабочий день; Какие задачи потребуется решать: * Разработка API; * Доработка баннерной системы; *…»
#advanced #laravel

Всегда ли у вас получается следить за тем, в транзакции вы диспатчите событие (джобу) или нет? А если транзакция зафейлится, нужно диспатчить джобу? В большинстве случаев это ответ "нет". Чтобы оставить код более лаконичным и не выделять диспатч отдельно от транзакции, но при этом задиспатчить после коммита, автор данного PR добавляет некоторый сахар к джобам.

Суть его в том, что у вас появляется метод afterCommit(), который добавляет коллбэк в DatabaseTransactionsManager саму джобу и выполнит только в том случае, если транзакция завершится успешно. Реализация хоть и сомнительная (в духе ларавеля), но идея хорошая.

https://github.com/laravel/framework/pull/35422
Курс для middle- и senior-разработчиков, которые хотят стать тимлидами

Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс: https://proglib.io/w/cc1b5dd5

На связи была команда AGIMA!
#advanced #testing

10 популярных фреймворков для тестирования на 2021 год.

https://proglib.io/w/3a0a4bb6
2020 бросил вызов каждому человеку, бизнесу, государству. Впереди 2021 год и новые изменения. Как отбросить страх перед глобальными вызовами? Получить новый импульс? QIWI и Магнит объединились, чтобы напомнить о важной роли технологий в трансформации каждого из нас, а также в развитии бизнеса и общества.

17 декабря в 16:00 состоится бесплатный онлайн митап #MGNTQIWI «Новый мир: как технологии влияют на человека и общество» с участием Евгения Кузнецова – футуролога, руководителя московского отделения Университета Сингулярности, генерального директора ООО «Орбита Капитал Партнерз». Евгений расскажет, как оставаться на гребне цифровой волны, не отставать от трендов и справляться с вызовами технологической эпохи.

Регистрируйтесь по ссылке https://mgntqiwi.ru и присоединяйтесь к бесплатной лекции и Q&A сессии 17 декабря в 16:00.
ИЗМЕНЕНИЯ – вот о чем пойдет речь в рамках митапа. Трансформируется все, а значит, нужно и нам.
Давайте меняться вместе!
#git

11 концепций и команд git, которые заставят вас плакать

В самой популярной системе контроля версий нужно хорошо разбираться. Проверьте знание команд git, ответив на 11 каверзных вопросов.

https://proglib.io/w/8aafe7c8
#beginner #book

Напоминаем про полезный и актуальный онлайн ресурс по основам языка PHP. Уникальность этого материала состоит в соблюдении современных стандартов написания приложений на PHP и в большом охвате важных тем, как то composer, psr, фреймворки, тестирование и многих других.

https://phptherightway.com/
#advanced #rabbitmq

Если вы хотя бы раз работали с нагруженным сервисом, то наверняка сталкивались с брокерами сообщений. Такие брокеры позволяют вам обрабатывать сообщения не синхронно, заставляя текущий поток ждать, а асинхронно через очередь. Существуют много популярных брокеров: кафка, activemq, beanstakld, rabbitmq и так далее. В следующей статье речь пойдет о рэббите: о том, как его настраивать, из чего он состоит, какие есть особенности и о многом другом.

https://kt.team/hr/blog/rabbitmq
#advanced #whyphp

Статья от любителя PHP. Возможно, добавит вам аргументы в копилку к вопросу о том, почему вы пишете на PHP.

https://medium.com/swlh/stop-saying-php-is-dead-9489ed7dc25e