Серьёзный Breaking Change в минорной версии Laravel. Если всё как описано в статье (я сам ещё не проверял), то эффект может быть как от sql-injection атаки.
Раньше query builder метод
Раньше query builder метод
->orWhere() генерировал sql-запрос с логикой AND, например debt_amount > 0 AND org_id = :current_user_org_id, а теперь получим OR логику debt_amount > 0 OR org_id = :current_user_org_id - в multitenant приложениях пользователи увидят чужие данные 😨🤯15🤬4👍1
Forwarded from Laravel World
Минорные обновления Laravel ломают Eloquent-запросы
https://howtotrainyourrobot.com/laravel-update-breaks-eloquent-queries/
https://howtotrainyourrobot.com/laravel-update-breaks-eloquent-queries/
😢12🔥5👍2❤1👏1😁1
Разбавим новости позитивом: Тайный Санта от Laravel.su: https://laravel.su/santa
laravel.su
Тайный Санта | Laravel Russian Community
Пусть каждый маленький жест сделает день особенным и принесет улыбку. С наступающими праздниками! 🎁
❤6
Случайно узнал про проект mergiraf - решает проблему merge-конфликтов, анализируя не просто текст, но AST! Соотвественно, нужна поддержка целевого языка программирования. Беглое изучение показало, что поддержки PHP нет.
Весьма подробная статья: https://www.opennet.ru/opennews/art.shtml?num=62402
Весьма подробная статья: https://www.opennet.ru/opennews/art.shtml?num=62402
www.opennet.ru
mergiraf - AST-ориентированный инструмент для трёхстороннего слияния в Git
Опубликован релиз проекта mergiraf 0.4, развивающего драйвер для Git с реализацией возможности трёхстороннего слияния. Mergiraf поддерживает разрешение различных видов конфликтов при слиянии и может использоваться для различных языков программирования и форматов…
Forwarded from Новости от CutCode
🔥 Большой ежегодный опрос по PHP!
Прими участие и помоги комьюнити! 🔥
Русскоязычное PHP-комьюнити снова в деле — запускаем ежегодный опрос, чтобы понять, на чем мы пишем, чем живем и куда движемся! 🚀
CutCode подготовил для вас этот опрос, чтобы собрать самые актуальные данные и вместе взглянуть на развитие PHP в 2024 году.
В прошлом году 1120 разработчиков рассказали, на каких версиях PHP сидят, какие фреймворки любят и как относятся к ИИ.
📊 В этом году все мы постарались сделать еще интереснее! Вопросы про развитие, новые технологии и даже пару неожиданных тем. Кто знает, может именно ты подскажешь путь для всего комьюнити?
А вдруг... получишь слона? 🐘
Опрос анонимный. Но кто оставит свой email могут поучаствовать в розыгрыше слона. А шанс повлиять на сообщество есть у каждого!
👉 Пройди опрос и помоги собрать срез по русскоязычной PHP-тусовке:
Опрос
По итогам сделаем подборки статей, докладов, каналов по PHP. Все результаты опубликуем на phpcommunity.ru и в статье на Хабре.
#php #cutcode
Прими участие и помоги комьюнити! 🔥
Русскоязычное PHP-комьюнити снова в деле — запускаем ежегодный опрос, чтобы понять, на чем мы пишем, чем живем и куда движемся! 🚀
CutCode подготовил для вас этот опрос, чтобы собрать самые актуальные данные и вместе взглянуть на развитие PHP в 2024 году.
В прошлом году 1120 разработчиков рассказали, на каких версиях PHP сидят, какие фреймворки любят и как относятся к ИИ.
📊 В этом году все мы постарались сделать еще интереснее! Вопросы про развитие, новые технологии и даже пару неожиданных тем. Кто знает, может именно ты подскажешь путь для всего комьюнити?
А вдруг... получишь слона? 🐘
Опрос анонимный. Но кто оставит свой email могут поучаствовать в розыгрыше слона. А шанс повлиять на сообщество есть у каждого!
👉 Пройди опрос и помоги собрать срез по русскоязычной PHP-тусовке:
Опрос
По итогам сделаем подборки статей, докладов, каналов по PHP. Все результаты опубликуем на phpcommunity.ru и в статье на Хабре.
#php #cutcode
🔥16👍5
Вслед за релизом админ-панели Moonshine 3, подтянулась и Laravel Nova 5.
Обновление Nova 5 выглядит скучно: освежили зависимости, добавили пару минорных фич. Подробнее в блоге: https://blog.laravel.com/laravel-nova-5-now-available
Ждём Filament 4 в Q1 2025!
Обновление Nova 5 выглядит скучно: освежили зависимости, добавили пару минорных фич. Подробнее в блоге: https://blog.laravel.com/laravel-nova-5-now-available
Ждём Filament 4 в Q1 2025!
Laravel
Laravel Nova 5.0 Now Available - Laravel - The PHP Framework For Web Artisans
Laravel Nova 5.0 is now ready for upgrade. This release focuses on modernizing Nova's core dependencies while introducing several useful features to improve res...
👍6❤1😁1
JetBrains несколько лет назад представила Fleet - принципиально новый легковесный редактор кода, разработанный с чистого листа. Несмотря на первоначальный ажиотаж вокруг анонса, проект как будто ушел в тень. Однако разработка продолжается.
Новость декабря: новый the islands layout (скриншоты в блоге по ссылке). Чем это может быть интересно нам, пользователям PhpStorm? Сейчас в JetBrains опробуют новый UI на эксперименте с Fleet и потом, возможно, мы увидим the islands layout и в большой Idea (PhpStorm).
https://blog.jetbrains.com/fleet/2024/12/introducing-fleets-new-islands-ui/
Новость декабря: новый the islands layout (скриншоты в блоге по ссылке). Чем это может быть интересно нам, пользователям PhpStorm? Сейчас в JetBrains опробуют новый UI на эксперименте с Fleet и потом, возможно, мы увидим the islands layout и в большой Idea (PhpStorm).
https://blog.jetbrains.com/fleet/2024/12/introducing-fleets-new-islands-ui/
The JetBrains Blog
Introducing Fleet's New Islands UI | The Fleet Blog
We envisioned Fleet as a coding tool with a clear minimalist design that doesn’t overwhelm and helps keep you focused. Today we’re introducing a new, bolder look for Fleet. We believe that this new di
💩22🗿10👍5🔥4❤1
Fish (command line shell) переписали с C++ на Rust. В этом комментарии к PR несколько деталей и подробностей, почему они устали от C++: https://github.com/fish-shell/fish-shell/pull/9512#issuecomment-1410820102
Позволю себе сделать краткую выжимку с помощью GPT:
1. Fish shell - достаточно старый проект, начатый в 2005 году Акселем Лильенкранцем на языке C с использованием wchar_t для поддержки Unicode (что впоследствии оказалось неудачным выбором).
2. После периода неактивности проект был подхвачен Питером (@ridiculousfish), который портировал его на C++ и создал версию 2.0.
3. Основные проблемы с текущим стеком технологий (C++):
• Медленное внедрение новых стандартов
• Сложности с поддержкой разных компиляторов
• Неудовлетворительная работа со строками
• Проблемы с многопоточностью
• Сложности с управлением памятью и undefined behavior
• Проблемы с системой сборки cmake
4. Ключевые требования к проекту:
• Доступность на старых серверных дистрибутивах
• Простота сборки и запуска
• Возможность легкого внесения патчей
5.Почему выбран именно Rust:
• Соответствует техническим требованиям
• В команде есть люди, знающие язык
• Хорошая поддержка многопоточности
• Активное сообщество и momentum
• Уже существует начальная реализация
6. Команда осознанно не рассматривала другие языки (Go, Python, Java, D, Zig, Nim), так как это потребовало бы обучения всей команды.
Позволю себе сделать краткую выжимку с помощью GPT:
1. Fish shell - достаточно старый проект, начатый в 2005 году Акселем Лильенкранцем на языке C с использованием wchar_t для поддержки Unicode (что впоследствии оказалось неудачным выбором).
2. После периода неактивности проект был подхвачен Питером (@ridiculousfish), который портировал его на C++ и создал версию 2.0.
3. Основные проблемы с текущим стеком технологий (C++):
• Медленное внедрение новых стандартов
• Сложности с поддержкой разных компиляторов
• Неудовлетворительная работа со строками
• Проблемы с многопоточностью
• Сложности с управлением памятью и undefined behavior
• Проблемы с системой сборки cmake
4. Ключевые требования к проекту:
• Доступность на старых серверных дистрибутивах
• Простота сборки и запуска
• Возможность легкого внесения патчей
5.Почему выбран именно Rust:
• Соответствует техническим требованиям
• В команде есть люди, знающие язык
• Хорошая поддержка многопоточности
• Активное сообщество и momentum
• Уже существует начальная реализация
6. Команда осознанно не рассматривала другие языки (Go, Python, Java, D, Zig, Nim), так как это потребовало бы обучения всей команды.
GitHub
Rewrite it in Rust by ridiculousfish · Pull Request #9512 · fish-shell/fish-shell
(Editor's note - please read #9512 (comment) and #9512 (comment) before commenting if you are new to fish or not familiar with the context - @zanchey)
(Progress report November 2023)
(Sorry...
(Progress report November 2023)
(Sorry...
👍18
🎄 Предновогодняя история про ИИ
Я попросил ИИ-помощника сделать чат со снежинками и Дедом Морозом на Laravel Livewire. ИИ справился!
🐛 Но нашёлся баг: при отправке сообщения чат, страница автоматически прокручивалась вверх.
Причина оказалась в теге формы:
🧐 Что происходило:
1. Кнопка для отправки
2. При клике на такой кнопке срабатывает
3.
📝 Выводы:
• Код от ИИ нужно ревьювить (не новость!)
• Чтобы отревьювить, важно понимать разные особенности и механизмы работы HTML/JS/PHP
• Несмотря на поиск причины бага, ИИ сэкономил для меня много времени на дизайне, который самостоятельно сделать было бы сложно (там миллионы talewind классов, кто вообще такое руками пишет???)
Profit!
P.S. в данном случае ИИ-помощником был AI Assistant от JetBrains в PhpStorm.
Я попросил ИИ-помощника сделать чат со снежинками и Дедом Морозом на Laravel Livewire. ИИ справился!
🐛 Но нашёлся баг: при отправке сообщения чат, страница автоматически прокручивалась вверх.
Причина оказалась в теге формы:
<form action="#">🧐 Что происходило:
1. Кнопка для отправки
<button wire:click=...>Отправить</button> была без атрибута type, значит по умолчанию button type работал как submit2. При клике на такой кнопке срабатывает
onsubmit формы - стандартное поведение браузера3.
action="#" в теге form приводит к автоматической прокрутке страницы вверх - опять же стандартное поведение браузера📝 Выводы:
• Код от ИИ нужно ревьювить (не новость!)
• Чтобы отревьювить, важно понимать разные особенности и механизмы работы HTML/JS/PHP
• Несмотря на поиск причины бага, ИИ сэкономил для меня много времени на дизайне, который самостоятельно сделать было бы сложно (там миллионы talewind классов, кто вообще такое руками пишет???)
Profit!
P.S. в данном случае ИИ-помощником был AI Assistant от JetBrains в PhpStorm.
👍18🥱13👎5🔥3🐳3
Forwarded from DevFM
Есть такой замечательный ресурс от гугла – API Improvement Proposals. Ребята активно поддерживают ресурс, где делятся своими практиками по разработке API.
AIP содержит:
▪️ Рекомендации по проектированию API: AIPs охватывают все основные аспекты создания API, от именования ресурсов до управления версиями и методов работы с HTTP-запросами. Это включает в себя рекомендации по структуре URL, стандартам наименования полей и параметров, а также подходы к работе с HTTP-методами (GET, POST, PUT, DELETE).
▪️Шаблоны и примеры: для многих сценариев предлагаются конкретные примеры и шаблоны реализации, которые помогают разработчикам лучше понимать, как применять правила на практике. Например, можно найти примеры по созданию структурированных ответов, оформлению ошибок и управлению версиями API.
▪️ Конкретные правила и стандарты: AIPs охватывают такие темы, как использование протокола gRPC, RESTful API, стандарты кодирования, а также рекомендации по работе с HTTP-заголовками, кодами ошибок, аутентификацией и авторизацией.
▪️Методология и философия проектирования: помимо технических аспектов, AIPs содержат информацию о том, как Google подходит к проектированию API на концептуальном уровне. Это позволяет понять, почему определённые решения предпочтительны с точки зрения пользовательского опыта и долгосрочной поддержки API.
#skills
AIP содержит:
▪️ Рекомендации по проектированию API: AIPs охватывают все основные аспекты создания API, от именования ресурсов до управления версиями и методов работы с HTTP-запросами. Это включает в себя рекомендации по структуре URL, стандартам наименования полей и параметров, а также подходы к работе с HTTP-методами (GET, POST, PUT, DELETE).
▪️Шаблоны и примеры: для многих сценариев предлагаются конкретные примеры и шаблоны реализации, которые помогают разработчикам лучше понимать, как применять правила на практике. Например, можно найти примеры по созданию структурированных ответов, оформлению ошибок и управлению версиями API.
▪️ Конкретные правила и стандарты: AIPs охватывают такие темы, как использование протокола gRPC, RESTful API, стандарты кодирования, а также рекомендации по работе с HTTP-заголовками, кодами ошибок, аутентификацией и авторизацией.
▪️Методология и философия проектирования: помимо технических аспектов, AIPs содержат информацию о том, как Google подходит к проектированию API на концептуальном уровне. Это позволяет понять, почему определённые решения предпочтительны с точки зрения пользовательского опыта и долгосрочной поддержки API.
#skills
🔥43👍6❤1
Сайт с разными мини-активностями для залипания: Neal.fun
Например, проводим эксперименты с вагонеткой: https://neal.fun/absurd-trolley-problems/
Если не знакомы с «проблемой вагонетки», теория здесь: https://ru.m.wikipedia.org/wiki/Проблема_вагонетки
Например, проводим эксперименты с вагонеткой: https://neal.fun/absurd-trolley-problems/
Если не знакомы с «проблемой вагонетки», теория здесь: https://ru.m.wikipedia.org/wiki/Проблема_вагонетки
neal.fun
Absurd Trolley Problems
Every problem is the trolley problem.
👍9👎5
Новые Возможности Laravel 11.37
Нейро-Пятиминутка PHP
Попробовал сгенерировать подкаст нейросетью, получилась Нейро-Пятиминутка PHP!
Ставьте лайки или дизлайки.
Ставьте лайки или дизлайки.
👍25😁17💩16👎6🤣1🫡1
Элегантные Улучшения Laravel 11.38
Нейро-Пятиминутка PHP
Второй выпуск Нейро-Пятиминутки PHP от Юки про элегантные улучшения в Laravel 11.38.
💩17👎7😁6👍4❤2
ИИ инструменты стали стали неотъемлемой частью ежедневного рабочего процесса.
Например, я снял несколько скринкаст-фаргментов и мне нужно конвертировать их из mov в mp4.
Существует 1001 способ это сделать.
- Ещё пару лет назад я гуглил параметры для консольного ffmepg.
- Год назад я просил ChatGPT подсказать нужные параметры для ffmpeg.
- Сейчас я просто пишу в терминале команду "конвертируй все файлы из mov в mp4 используя ffmpeg", вот как это выглядит:
Например, я снял несколько скринкаст-фаргментов и мне нужно конвертировать их из mov в mp4.
Существует 1001 способ это сделать.
- Ещё пару лет назад я гуглил параметры для консольного ffmepg.
- Год назад я просил ChatGPT подсказать нужные параметры для ffmpeg.
- Сейчас я просто пишу в терминале команду "конвертируй все файлы из mov в mp4 используя ffmpeg", вот как это выглядит:
Media is too big
VIEW IN TELEGRAM
👍31👎5😁1
Пятиминутка PHP
ИИ инструменты стали стали неотъемлемой частью ежедневного рабочего процесса. Например, я снял несколько скринкаст-фаргментов и мне нужно конвертировать их из mov в mp4. Существует 1001 способ это сделать. - Ещё пару лет назад я гуглил параметры для консольного…
На видео достаточно популярный нынче и хайповый терминал Warp для macOS и Linux.
Из коробки AI-помощник с бесплатными 100 запросами в месяц (мне хватает). AI работает без VPN.
https://www.warp.dev
Из коробки AI-помощник с бесплатными 100 запросами в месяц (мне хватает). AI работает без VPN.
https://www.warp.dev
www.warp.dev
Warp: The Agentic Development Environment
The fastest way to build with multiple AI agents, from writing code to deploying it. Trusted by over half a million engineers, Warp gives developers speed, privacy, and control to ship faster.
👍21👎2
5 новых фишек Rector 2.0
Нейро-Пятиминутка PHP
Аудио-обзор Rector 2.0, оригинал статьи: https://getrector.com/blog/5-new-features-in-rector-20
👎15👍7❤1
Разбавим новости миром фронтенда: вышел Tailwind CSS v4.0! 🎉
Ждём в Laravel 12?
https://tailwindcss.com/blog/tailwindcss-v4
Ждём в Laravel 12?
https://tailwindcss.com/blog/tailwindcss-v4
Tailwindcss
Tailwind CSS v4.0
We just released Tailwind CSS v4.0 — an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to…
💩24👍10👏5🔥2