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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Как научиться правильно разрабатывать и запускать приложения в K8s? Есть несколько путей, но, пожалуй, самый быстрый — это пройти трёхдневный онлайн-интенсив «Kubernetes для разработчиков» от Слёрм.

Чем ещё хорош этот путь?
– Материал курса основан на практическом опыте. Учим тому, что делаем на своих проектах.
– Никаких админских штучек и историй про обслуживание кластера. Только инструментарий и знания, которые требуются разработчикам.
– Никто не уйдёт без результата. Спикеры и техподдержка помогут каждому студенту справиться с заданиями.

Интенсив стартует 3 марта. Сейчас можно записаться по минимальной цене – 20 000 рублей.

Посмотреть программу и подать заявку.
Forwarded from PHP Digest
Media is too big
VIEW IN TELEGRAM
📺 Стрим про PHP 8: что нового, туда ли двигается, что будет дальше

В четверг релиз восьмерки, а в среду вечером будет стрим со звездным составом.

• Валентин «Пых» Удальцов расскажет и покажет, как использовать новые фичи языка.
• Альберт «Мне не нравится, во что превращается PHP» Степанцев поспорит с Валентином о том, туда ли развивается язык.

• А в конце будет сессия вопросов и ответов. Вот здесь к нам присоединятся топ 2 разработчика PHP — Никита Попов и Дмитрий Стогов!


🗓 Среда, 19:00 МСК / 18:00 Киев

Трансляция: https://www.youtube.com/watch?v=QSszmWIrRyw
#video

Многие, а чаще всего те, кто писали апи для спа или мобильных приложений, сталкивались с CORS. Решение этой проблемы найти легко, однако не все задумываются, зачем CORS всё-таки нужен и как с ним работать. Из этого видео вы узнаете о том, зачем придумали CORS, какие заголовки и когда использовать и многие другое.

https://youtu.be/Rx-G3uB__zI
Декабрьский интенсив по SRE🦎

Формат: онлайн-интенсив (Zoom, записи занятий, git, стенды для практики, техподдержка и помощь спикеров).

На интенсиве разбираем SRE-подход к разработке и эксплуатации высоконагруженного сайта:
✔️будем настраивать и поддерживать сайт из нескольких микросервисов.
✔️сформулируем показатели SLO, SLI, SLA, разработаем архитектуру и инфраструктуру, соберем, протестируем и задеплоим сайт, настроим мониторинг и алертинг.
✔️определим причины ухудшения SLO, разберем устойчивость, error budget, практику тестирования, управление прерываниями и операционной нагрузкой.
✔️проработаем порядок действий в случае аварии.
✔️примем решения по дальнейшему предотвращению инцидентов.

Дата интенсива: 11–13 декабря 2020

Программа и регистрация на сайте - https://slurm.club/3mCZSVQ
#advanced

Очередная обзорная статья на тему применимости гексагональной архитектуры и о том, кому на самом деле она может пригодиться.

https://proglib.io/w/65c7fd46
#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!