5minphp Just tweeted ********************************************** @sam_dark @seldaek Happy birthday! About the article - great, but one more thought: what about carbon footprint produced by our software? Running full test suits, spinning up containers, downloading composer/npm... Pet project idea: carbon calc. by analyzing you repository and CI/CD pipeline
5minphp Just tweeted ********************************************** @DonnaInsolita @dskr_dev @uncle_robot Радикальный вариант: никаких елок дома, ни искусственных, ни натуральных! Можно пойти в лес или в парк или на центральную площадь города там посмотреть на общедоступную ёлку - красиво и экологично! Обязательно ли нужно каждый день на протяжении месяца лицезреть Ель в квартире?
5minphp Just tweeted ********************************************** Год подходит к концу, тема про экологию: сколько электричества сжигает Continuous Integration и какой у него углеродный след? Сложно посчитать, но когда Pipeline запускает ВСЕ тесты на каждый комит, даже если поправлена опечатка в https://t.co/4ZgM0wYkUQ - мы что-то делаем не так https://t.co/SoZeDyORa9
5minphp Just tweeted ********************************************** Возможно, не стоит запускать ВСЕ тесты на любой push? Но как это сделать удобно и одновременно надёжно, чтобы те тесты которые релевантны текущему изменению, на основе coverage предыдущих запусков, всё-таки запустились? Есть ли общедоступные инструменты? Напишите, если знаете
5minphp Just tweeted ********************************************** А если нужны какие-то расширения для PHP или дополнительные утилиты - не стоит устанавилвать их каждый раз в свежезапущенный контейнер FROM php:7.3.13. Лучше один раз подготовить свой базовый образ, который к тому же закешировать на CI сервере!
5minphp Just tweeted ********************************************** Лучше не качать зависимости (composer, npm, etc.) раз за разом из публичных реестров, ведь их тоже можно закешировать, вот инструкции для GitHub Actions, GitLab CI, Bitbucket Pipelines: https://t.co/9bbsoiVxMI https://t.co/jJa0PUL3eW https://t.co/euhGMisYxz
5minphp Just tweeted ********************************************** Радикальные варианты "Не пиши на PHP, пиши на Rust - спаси планету" пока не предлагаю :) Оптимизация работы в Production важна, но этим мы и так в меру сил занимаемся вне зависимости от размышлений об экологии. А вот минимальные шаги по оптимизации CI может сделать каждый!
5minphp Just tweeted ********************************************** Хороший доклад про рефакторинг вложенных if и уменьшение цикломатической сложности https://t.co/f72oFJQ9cK
YouTube
Sebastian Feldmann - Hello my name is "if" | #phpsrb
PHP Serbia 2019, Belgrade
Presentation: http://sebastian-feldmann.info/talks/2019/20190525-hello-my-name-is-if-phpserbia.pdf
Me and my little brothers 'else', 'elseif' and my bigger sister 'switch' are most likely all over your codebase. Often we make your…
Presentation: http://sebastian-feldmann.info/talks/2019/20190525-hello-my-name-is-if-phpserbia.pdf
Me and my little brothers 'else', 'elseif' and my bigger sister 'switch' are most likely all over your codebase. Often we make your…
5minphp Just tweeted ********************************************** Прямая ссылка на слайды: https://t.co/02W4mOxbEw
5minphp Just tweeted ********************************************** Итоги года: посмотрел Мандалорца и Ведьмака, на PHP 7.4 не перешел. Таков путь. А у вас?
Forwarded from Хекслет
Рейтинг TIOBE.index подвели итоги декабря. На конец 2019 года языки программирования расположились в следующем порядке по популярности:
1. Java
2. C
3. Python
4. C++
5. C#
6. The Visual Basic .NET
7. JavaScript
8. PHP
9. SQL
10. Swift
Весь рейтинг: http://amp.gs/Dpsn
1. Java
2. C
3. Python
4. C++
5. C#
6. The Visual Basic .NET
7. JavaScript
8. PHP
9. SQL
10. Swift
Весь рейтинг: http://amp.gs/Dpsn
5minphp Just tweeted ********************************************** Наглядный пример как тестировать PHP проект под разные версии PHP и даже с разными версиями зависимостей с помощью GitHub Actions: https://t.co/ZDaxvDS8Ds
freek.dev
Using GitHub actions to run the tests of Laravel projects and packages | freek.dev
For many years we've relied on Travis to run the tests of our packages. For projects we used Circle CI. Recently we moved this responsibility from Travis and Circle CI to GitHub actions. In this blogpost I'd like to explain why and how we did this.
5minphp Just tweeted ********************************************** Если интересуетесь Python, для вас новый подкаст: «Пятиминутка Python», автор @vanadium23 https://t.co/Slv3RvefCs
Anchor
Пятиминутка Python • A podcast on Anchor
Короткий подкаст-дайджест о последних и не очень новостях в мире Python
5minphp Just tweeted ********************************************** RT @dimsav: PayPal just called #php "Personal Home Page". Whaaat? https://t.co/3JHBYSwrGg
Twitter
Dimitris Savvopoulos
PayPal just called #php "Personal Home Page". Whaaat?
5minphp Just tweeted ********************************************** Время подавать доклады на PHP Russia 2020! Кто со мной? https://t.co/tvZcpveHdJ
phprussia.ru
Единственная конференция по PHP в России 2021
Forwarded from PHP Digest
PhpStorm 2020.1 EAP
https://blog.jetbrains.com/phpstorm/2020/01/phpstorm-2020-1-early-access-program-is-now-open/
Upd: Поправил ссылку.
Наконец-то запустили программу раннего доступа для первого в этом году мажорного релиза PhpStorm.
Будем улучшать разные подсистемы, в том числе вывод типов в PHP, VCS и прочее. Конечно, производительности будет много внимания.
Описывать все изменения планирую порциями каждую неделю, поэтому подписывайтесь на Twitter phpstorm или старый добрый RSS блога.
В первом посте об улучшениях для Composer – теперь практически всё можно делать прямо в редакторе в файле composer.json. Есть автокомплит, переходы к файлам, запуск скриптов и прочее.
+ PCOV и PHPDBG для подсчёта покрытия, кастомизация тегов Twig, минимально обновили светлую тему, шрифт JetBrains Mono по умолчанию, пачка улучшения для Git, но о них позже.
По традиции EAP билды выходят каждую неделю и их можно использовать совершенно бесплатно.
https://blog.jetbrains.com/phpstorm/2020/01/phpstorm-2020-1-early-access-program-is-now-open/
Upd: Поправил ссылку.
Наконец-то запустили программу раннего доступа для первого в этом году мажорного релиза PhpStorm.
Будем улучшать разные подсистемы, в том числе вывод типов в PHP, VCS и прочее. Конечно, производительности будет много внимания.
Описывать все изменения планирую порциями каждую неделю, поэтому подписывайтесь на Twitter phpstorm или старый добрый RSS блога.
В первом посте об улучшениях для Composer – теперь практически всё можно делать прямо в редакторе в файле composer.json. Есть автокомплит, переходы к файлам, запуск скриптов и прочее.
+ PCOV и PHPDBG для подсчёта покрытия, кастомизация тегов Twig, минимально обновили светлую тему, шрифт JetBrains Mono по умолчанию, пачка улучшения для Git, но о них позже.
По традиции EAP билды выходят каждую неделю и их можно использовать совершенно бесплатно.
Forwarded from dependency hell
Привет, ребята. 😅 В очередной раз, меня настигла прокрастинация и я подзабил на канал.
Конец года выдался достаточно сумбурный, некоторое разочарование в людях, смена работы, небольшой депресняк, получение удостоверения инструктора по горным лыжам ⛷ (кто бы мог подумать), ну и в целом куча странных и не очень событий. Я вдруг понял, что пытаться выдавить из себя посты каждый день, меня совсем не прет. Тем не менее делится полезной информацией хочется. А так же хочется заниматься тем что интересно более глубоко и не только в теории. К чему я это все?
Те из вас, кто давно меня читают и просто знакомы, знают, что я большой сторонник Дядюшки Боба с его “Clean Architecture” а также “Эрика Эванса” с его DDD. Вокруг этих подходов существует много жарких споров о том, работают они или нет и даже откровенного хейта и обвинений в том, что все это - обычный инфобизнес. Если честно, мне не особо интересны мнения хейтеров. Понятное дело, не существует серебряной пули и волшебной таблетки. Ахитектура - достаточно сложная тема, и вечный trade-off. Но давайте ближе к сути.
В теории и Clean и DDD выглядят достаточно просто. На практике же многие люди пытаясь следовать этим подходам постоянно сталкиваются с теми или иными практическими проблемами. Что-то не получается реализовать, где-то возникают проблемы в понимании, кто-то сталкивается с таким кол-вом проблем, что просто забивает и разочаровывается в данных подходах. Усугубляется это еще и тем, что примеров в сети крайне мало и как правило они высосаны из пальца.
Я предлагаю вот что. Присылайте мне кейсы (практические проблемы / вопросы), с которыми вы столкнулись при попытке реализации “Clean Architecture” или проектирования по DDD. Чем подробнее вы сформулируете кейс, тем лучше. Я буду пытаться разобраться в вашей вполне реальной проблеме и реализовать ее в коде. Таким образом мы с вами сможем сформировать обширную базу знаний по теме, а также прокачаемся в архитектуре на практике. Как только кейс будет решен, я буду публиковать код на GitHub небольшую заметку на канал.
Кейсы и вопросы пишите в Issues на GitHub. И да, палец вверх, если идея нравится, палец вниз, если шлак, задумчивый смайл, если сомневаетесь. Спасибо за то, что до сих пор не отписались, и хорошего дня! 👋
Конец года выдался достаточно сумбурный, некоторое разочарование в людях, смена работы, небольшой депресняк, получение удостоверения инструктора по горным лыжам ⛷ (кто бы мог подумать), ну и в целом куча странных и не очень событий. Я вдруг понял, что пытаться выдавить из себя посты каждый день, меня совсем не прет. Тем не менее делится полезной информацией хочется. А так же хочется заниматься тем что интересно более глубоко и не только в теории. К чему я это все?
Те из вас, кто давно меня читают и просто знакомы, знают, что я большой сторонник Дядюшки Боба с его “Clean Architecture” а также “Эрика Эванса” с его DDD. Вокруг этих подходов существует много жарких споров о том, работают они или нет и даже откровенного хейта и обвинений в том, что все это - обычный инфобизнес. Если честно, мне не особо интересны мнения хейтеров. Понятное дело, не существует серебряной пули и волшебной таблетки. Ахитектура - достаточно сложная тема, и вечный trade-off. Но давайте ближе к сути.
В теории и Clean и DDD выглядят достаточно просто. На практике же многие люди пытаясь следовать этим подходам постоянно сталкиваются с теми или иными практическими проблемами. Что-то не получается реализовать, где-то возникают проблемы в понимании, кто-то сталкивается с таким кол-вом проблем, что просто забивает и разочаровывается в данных подходах. Усугубляется это еще и тем, что примеров в сети крайне мало и как правило они высосаны из пальца.
Я предлагаю вот что. Присылайте мне кейсы (практические проблемы / вопросы), с которыми вы столкнулись при попытке реализации “Clean Architecture” или проектирования по DDD. Чем подробнее вы сформулируете кейс, тем лучше. Я буду пытаться разобраться в вашей вполне реальной проблеме и реализовать ее в коде. Таким образом мы с вами сможем сформировать обширную базу знаний по теме, а также прокачаемся в архитектуре на практике. Как только кейс будет решен, я буду публиковать код на GitHub небольшую заметку на канал.
Кейсы и вопросы пишите в Issues на GitHub. И да, палец вверх, если идея нравится, палец вниз, если шлак, задумчивый смайл, если сомневаетесь. Спасибо за то, что до сих пор не отписались, и хорошего дня! 👋
5minphp Just tweeted ********************************************** @nikolaposa @sam_dark So you might need SingleActionControllerAbstract!
5minphp Just tweeted ********************************************** @sam_dark Base controllers are useful, I always use them! Even when a framework doesn't provide any base controller, eventually I invent it by myself. Base controllers especially useful as opinionated convention over configuration skeleton.
5minphp Just tweeted ********************************************** В PhpStorm (и других IDEA-based) ожидается "The non-modal commit UI" - очень жду, отлично выглядит: https://t.co/lqWeQbg6S4 https://t.co/5SCYpeb3pB