Forwarded from Laravel World
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Herd
Среда разработки Laravel-проектов под macOS. Включает в себя всё необходимое, в том числе PHP и nginx.
https://herd.laravel.com/
Среда разработки Laravel-проектов под macOS. Включает в себя всё необходимое, в том числе PHP и nginx.
https://herd.laravel.com/
💩25🤡12🤔8👍4🥱1🥴1
Хорошая статья про важные причины выбора микросервисной или монолитной архитектуры 👇 Заодно подпишитесь на канал моего старого коллеги по подкастам, Антон знает о чём пишет
Forwarded from Cross Join - канал о разработке (Anton Okolelov)
Написал чуть более расширенную статью на Хабр, плюсаните кто может )
https://habr.com/ru/companies/karuna/articles/746434/
https://habr.com/ru/companies/karuna/articles/746434/
Хабр
Монолит или микросервисы — это не вопрос технологических предпочтений, это про time-to-market
На конференциях эта тема (монолит vs микросервисы) обсуждается с завидной регулярностью, но обычно в техническом ключе. Кто-то любит консистентность монолита, кто-то гибкость микросервисов, какие-то...
👍17
Интересная статья: автор переводит проект Easy Coding Standards с Symfony DI на контейнер от Laravel! Неожиданно, да?
Подробно пишет о причинах и технических деталях:
https://tomasvotruba.com/blog/experiment-how-i-replaced-symfony-di-with-laravel-container-in-ecs/
P.S. Стоит посоветовать ему Yii3 DI?
Подробно пишет о причинах и технических деталях:
https://tomasvotruba.com/blog/experiment-how-i-replaced-symfony-di-with-laravel-container-in-ecs/
P.S. Стоит посоветовать ему Yii3 DI?
Tomasvotruba
Experiment: How I replaced Symfony DI with Laravel Container in ECS
This year I've been learning Laravel and quickly adapting to most of my tools. I've made 2 packages - [Punchcard](/blog/introducing-punchcard-object-configs-for-laravel) to handle configs and [Bladestan](/blog/introducing-bladestan-phpstan-analysis-of-blade…
👍12🤔5👎3🤡1
Причины следовать соглашениям (conventions) принятым в вашем фреймворке (Laravel/Symfony/Yii…), например, соглашения об именовании, структуре директорий, подходы к обработке данных и использованию стандартных механизмов фреймворка и.т.п…
⁃ Не надо принимать решения, за вас уже подумали
⁃ Различие утилиты разработки также ориентируются на эти соглашения
⁃ Проще подключать новых разработчиков к проекту
⁃ Меньше собственной документации, можно просто сделать ссылки на официальную
⁃ Не надо принимать решения, за вас уже подумали
⁃ Различие утилиты разработки также ориентируются на эти соглашения
⁃ Проще подключать новых разработчиков к проекту
⁃ Меньше собственной документации, можно просто сделать ссылки на официальную
👍23👎8👏2🗿2🤔1🫡1
Вышел PhpStorm 2023.2! 🎉
Меня больше всего интригует AI assistant, побежал пробовать 🏃
https://blog.jetbrains.com/phpstorm/2023/08/phpstorm-2023-2-is-now-available/
Меня больше всего интригует AI assistant, побежал пробовать 🏃
https://blog.jetbrains.com/phpstorm/2023/08/phpstorm-2023-2-is-now-available/
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
PhpStorm 2023.2 Is Now Available | The PhpStorm Blog
This release is a major update that includes improvements for generics in PHP, Laravel Pint support, native support for PHP assertions, AI Assistant (Limited access), GitLab integration, text search i
👍17🔥3
Пятиминутка PHP
Вышел PhpStorm 2023.2! 🎉 Меня больше всего интригует AI assistant, побежал пробовать 🏃 https://blog.jetbrains.com/phpstorm/2023/08/phpstorm-2023-2-is-now-available/
Оказалось, не так-то просто попробовать AI Assistant в PhpStorm. После подключения нужного плагина я попал в ожидание своей очереди в waiting list.
😁23💩6👎5😢4💯1
Forwarded from OpenNews (HK-47)
Замена алгоритма сортировки в sysinit позволила ускорить загрузку FreeBSD
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker.
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker.
😁10🔥9👍6
Forwarded from Иван Поддубный
Новый опрос от podlodka для выбора темы следующего сезона!
Мы готовим уже третью конференцию Podlodka PHP Crew!
Одно из отличий конфы - это то, что у каждого сезона есть тема и все доклады формируются вокруг нее.
Есть несколько актуальных тем, но очень хочется получить мнение со стороны, какая тема интересна PHP разработчикам больше всего.
Будет здорово, если вы пройдете опрос и поможете нам определиться с темой!
Мы готовим уже третью конференцию Podlodka PHP Crew!
Одно из отличий конфы - это то, что у каждого сезона есть тема и все доклады формируются вокруг нее.
Есть несколько актуальных тем, но очень хочется получить мнение со стороны, какая тема интересна PHP разработчикам больше всего.
Будет здорово, если вы пройдете опрос и поможете нам определиться с темой!
👍7
Laravel World
State Of Laravel 2023 Стартовал ежегодный опрос ларавельщиков. https://stateoflaravel.com/
Результаты опроса State of Laravel 2023 https://stateoflaravel.com/results
Forwarded from Организованное программирование | Кирилл Мокевнин (Kirill Mokevnin)
Откатывай!
Но что делать, если все таки деплой пошел не по плану?
Правило номер один: Сначала откатываем, потом разбираемся. Не надо надеятся на то, что получится быстро пофиксить. Откат при этом должен делаться одной командой за секунды.
Правило номер два: Отката не существует. Как это? Вспомним, что при правильно настроенной системе, у нас реализован Zero Downtime Deploy с базой только вперед. Миграции только накатываются, а следующая версия базы всегда совместима с текущей. Это значит что при откате на предыдущую версию, с базой ничего не происходит. Тут все хорошо.
А что с кодом? С точки зрения системы деплоя не должно быть разницы куда мы идем, вперед или назад. Деплой это замена текущего кода, на какой-то другой, даже если это предыдущий релиз. То есть получается что мы просто выполняем еще один деплой, но предыдущей версии.
Из этого следует важный вывод. В системе не должна присутствовать особая процедура отката. Если она есть, значит в проекте есть пространство для улучшения.
Но что делать, если все таки деплой пошел не по плану?
Правило номер один: Сначала откатываем, потом разбираемся. Не надо надеятся на то, что получится быстро пофиксить. Откат при этом должен делаться одной командой за секунды.
Правило номер два: Отката не существует. Как это? Вспомним, что при правильно настроенной системе, у нас реализован Zero Downtime Deploy с базой только вперед. Миграции только накатываются, а следующая версия базы всегда совместима с текущей. Это значит что при откате на предыдущую версию, с базой ничего не происходит. Тут все хорошо.
А что с кодом? С точки зрения системы деплоя не должно быть разницы куда мы идем, вперед или назад. Деплой это замена текущего кода, на какой-то другой, даже если это предыдущий релиз. То есть получается что мы просто выполняем еще один деплой, но предыдущей версии.
Из этого следует важный вывод. В системе не должна присутствовать особая процедура отката. Если она есть, значит в проекте есть пространство для улучшения.
👍23🤔8👎3
Люблю такие залипательные видео с диаграммами популярности сквозь года: https://youtu.be/MkNnAwkvvP8?si=Tys1qStYY1rK1iSN
❤4🤔2
Новая IDE от JetBrains для языка Rust: https://www.jetbrains.com/rust/
До этого они выпускали бесплатный плагин для Idea с поддержкой Rust. Плагин теперь deprecated.
Вывод: статистика использования бесплатного плагина достигла достаточно высоких показателей, что было принято решение о запуске отдельной коммерческой IDE, а это значит использование Rust растёт и язык уже весьма успешный👍
До этого они выпускали бесплатный плагин для Idea с поддержкой Rust. Плагин теперь deprecated.
Вывод: статистика использования бесплатного плагина достигла достаточно высоких показателей, что было принято решение о запуске отдельной коммерческой IDE, а это значит использование Rust растёт и язык уже весьма успешный👍
JetBrains
RustRover: Rust IDE by JetBrains
Try the new Rust IDE from JetBrains with a debugger, on-the-fly analysis, and quick-fixes.
👍21🤡3😐3
Удивительные вещи в мире Go - достаточно серьёзное изменение в области видимости переменных в цикле! Мне казалось такие вещи - это слишком большой Breaking Change, история из разряда мажорного перехода Python 2 на Python 3 длиной в десятилетие. Но нет. 👇
Forwarded from Golang Дайджест
Fixing For Loops in Go 1.22
https://go.dev/blog/loopvar-preview
David Chase и Russ Cox в официальном блоге Go рассказывают про проблему LoopVar (переменной цикла) и приводят конкретные примеры, в том числе из реального кейса проекта - Lets Encrypt.
Затем рассказывают, как именно эта проблема решается. Если кратко:
> change for loops to make these variables have per-iteration scope instead of per-loop scope
Как вы помните, эта фича уже есть в Go v1.21, но её нужно включить:
#go_1_22 #go_official
https://go.dev/blog/loopvar-preview
David Chase и Russ Cox в официальном блоге Go рассказывают про проблему LoopVar (переменной цикла) и приводят конкретные примеры, в том числе из реального кейса проекта - Lets Encrypt.
Затем рассказывают, как именно эта проблема решается. Если кратко:
> change for loops to make these variables have per-iteration scope instead of per-loop scope
Как вы помните, эта фича уже есть в Go v1.21, но её нужно включить:
GOEXPERIMENT=loopvar go test
А в версии 1.22 она уже будет работать по-умолчанию#go_1_22 #go_official
go.dev
Fixing For Loops in Go 1.22 - The Go Programming Language
Go 1.21 shipped a preview of a change in Go 1.22 to make for loops less error-prone.
🤯4🤷♂2👍1😁1