Причины следовать соглашениям (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
Telegram добавил stories для каналов, однако за это должны проголосовать премиум-пользователи, обновившие клиент до последней версии.
Не факт, что для этого канала это будет актуальный формат, но пусть будет.
Проголосовать можно здесь:
https://news.1rj.ru/str/tg_5minphp?boost
Не факт, что для этого канала это будет актуальный формат, но пусть будет.
Проголосовать можно здесь:
https://news.1rj.ru/str/tg_5minphp?boost
Telegram
Пятиминутка PHP
Проголосуйте за канал, чтобы он получил больше возможностей.
🤯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
В PhpStorm есть быстрый способ настроить редактор по стандартам кодирования: Settings -> Editor -> Code Style -> PHP -> Set from...
К чему это? Раньше я писал по PSR-12, теперь пишу по Symfony Coding Standards.
P.S. помимо PhpStorm не забудьте настроить и php-cs-fixer
👍25❤1👎1
Олды тут? Прочитал новость про выход свежей версии баг-трекера Trac 1.6 - очень старый баг трекер написанный на Python (в свежей версии добавили поддержку Python 3 😅), и, кажется, это был первый трекер с которым я работал в профессиональной разработке когда-то в начале карьеры. А система контроля версий у нас тогда была CVSNT!
https://news.1rj.ru/str/opennews/11950
https://news.1rj.ru/str/opennews/11950
Telegram
opennet news
Доступна система управления проектами Trac 1.6
После четырёх лет разработки представлен новый стабильный выпуск системы управления проектами Trac 1.6 (ветка 1.5 была экспериментальной), предоставляющей web-интерфейс для работы с репозиториями Subversion и…
После четырёх лет разработки представлен новый стабильный выпуск системы управления проектами Trac 1.6 (ветка 1.5 была экспериментальной), предоставляющей web-интерфейс для работы с репозиториями Subversion и…
👍5🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
В следующей версии Tinkerwell 4 (это REPL хорошо интегрированный с Laravel) появится интеграция с OpenAI - можно будет описать задачу на обычном языке (человеческом) и получить фрагмент кода сгенерированный AI.
На сколько я понял, нужно в настройки Tinkerwell вставить свой OpenAI ключ. Но разработчик также обдумывает вариант дополнительной подписки, тогда свой ключ не понадобится.
На сколько я понял, нужно в настройки Tinkerwell вставить свой OpenAI ключ. Но разработчик также обдумывает вариант дополнительной подписки, тогда свой ключ не понадобится.
👍8👎8💩7
Как вы разделяете директории?
Anonymous Poll
48%
/
31%
DIRECTORY_SEPARATOR
21%
Хочу просто посмотреть результаты