Пятиминутка PHP – Telegram
Пятиминутка PHP
2.86K subscribers
334 photos
26 videos
825 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
18😁17👍2🫡1
Причины следовать соглашениям (conventions) принятым в вашем фреймворке (Laravel/Symfony/Yii…), например, соглашения об именовании, структуре директорий, подходы к обработке данных и использованию стандартных механизмов фреймворка и.т.п…

⁃ Не надо принимать решения, за вас уже подумали
⁃ Различие утилиты разработки также ориентируются на эти соглашения
⁃ Проще подключать новых разработчиков к проекту
⁃ Меньше собственной документации, можно просто сделать ссылки на официальную
👍23👎8👏2🗿2🤔1🫡1
Пятиминутка 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
Виды тестирования на примере тестирования бутерброда
😁35🔥9👍6
Сортировка пузырьком vs сортировка слиянием - реальная история 👇
Forwarded from OpenNews (HK-47)
Замена алгоритма сортировки в sysinit позволила ускорить загрузку FreeBSD
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker.
😁10🔥9👍6
Forwarded from Иван Поддубный
Новый опрос от podlodka для выбора темы следующего сезона!

Мы готовим уже третью конференцию Podlodka PHP Crew!
Одно из отличий конфы - это то, что у каждого сезона есть тема и все доклады формируются вокруг нее.

Есть несколько актуальных тем, но очень хочется получить мнение со стороны, какая тема интересна PHP разработчикам больше всего.

Будет здорово, если вы пройдете опрос и поможете нам определиться с темой!
👍7
Здоровая реакция на трейты в PHP
Откатывай!

Но что делать, если все таки деплой пошел не по плану?

Правило номер один: Сначала откатываем, потом разбираемся. Не надо надеятся на то, что получится быстро пофиксить. Откат при этом должен делаться одной командой за секунды.

Правило номер два: Отката не существует. Как это? Вспомним, что при правильно настроенной системе, у нас реализован 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 растёт и язык уже весьма успешный👍
👍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, но её нужно включить:

GOEXPERIMENT=loopvar go test

А в версии 1.22 она уже будет работать по-умолчанию

#go_1_22 #go_official
🤯4🤷‍♂2👍1😁1
Telegram добавил stories для каналов, однако за это должны проголосовать премиум-пользователи, обновившие клиент до последней версии.

Не факт, что для этого канала это будет актуальный формат, но пусть будет.

Проголосовать можно здесь:
https://news.1rj.ru/str/tg_5minphp?boost
🤯8👎6
Стандарты кодирования Symfony (https://symfony.com/doc/current/contributing/code/standards.html) основаны на PSR-12. Иными словами, если код удовлетворяет стандартам Symfony, то он одновременно является и отформатированным по PSR-12. Обратное неверно.

В PhpStorm есть быстрый способ настроить редактор по стандартам кодирования: Settings -> Editor -> Code Style -> PHP -> Set from...

К чему это? Раньше я писал по PSR-12, теперь пишу по Symfony Coding Standards.

P.S. помимо PhpStorm не забудьте настроить и php-cs-fixer
👍251👎1
Олды тут? Прочитал новость про выход свежей версии баг-трекера Trac 1.6 - очень старый баг трекер написанный на Python (в свежей версии добавили поддержку Python 3 😅), и, кажется, это был первый трекер с которым я работал в профессиональной разработке когда-то в начале карьеры. А система контроля версий у нас тогда была CVSNT!

https://news.1rj.ru/str/opennews/11950
👍5🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
В следующей версии Tinkerwell 4 (это REPL хорошо интегрированный с Laravel) появится интеграция с OpenAI - можно будет описать задачу на обычном языке (человеческом) и получить фрагмент кода сгенерированный AI.

На сколько я понял, нужно в настройки Tinkerwell вставить свой OpenAI ключ. Но разработчик также обдумывает вариант дополнительной подписки, тогда свой ключ не понадобится.
👍8👎8💩7
Как вы разделяете директории?
Anonymous Poll
48%
/
31%
DIRECTORY_SEPARATOR
21%
Хочу просто посмотреть результаты