gd, интеллектуальное автозаполнение, автоматическое создание файлов и специфичные инструменты Laravel. Мгновенная навигация по маршрутам, представлениям и конфигурациям. Некоторые из функций:
- Умная навигация
gd (маршруты, представления, конфигурации)- Интеллектуальное автозаполнение
- Автоматическое создание файлов с обнаружением фронтенда
- Интеграция с Artisan и диаграммы схем (mermaid)
- и многое другое...
#Laravel #Neovim
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4👍3
Что такое рекурсия и как использовать её в JavaScript?
Рекурсия — это не просто функция, вызывающая саму себя. Это инструмент, который помогает, когда циклы уже не справляются.
- Как устроены рекурсивные функции
- Когда рекурсия полезнее цикла
- Примеры
- Как не попасть в бесконечный вызов
🖥 Читать статью
📱 @dev_notes_ru
#JavaScript
Рекурсия — это не просто функция, вызывающая саму себя. Это инструмент, который помогает, когда циклы уже не справляются.
- Как устроены рекурсивные функции
- Когда рекурсия полезнее цикла
- Примеры
- Как не попасть в бесконечный вызов
#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
В конце года выходит PHP 8.5, и он приносит множество интересных обновлений:
— оператор конвейера
|>—
array_first() и array_last()— атрибут
#[\NoDiscard]— улучшения
cURL, Directory, трассировки ошибок— и даже замыкания в константах!
#PHP #PHP85
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
ECMAScript 2025 утверждён!
На 129-й Генеральной ассамблее Ecma был принят новый стандарт JavaScript. Что нас ждёт:
✅ Импорт JSON с
✅
✅
✅
✅ Поддержка
🖥 Читать статью
📱 @dev_notes_ru
#JavaScript #ECMAScript2025 #ES2025 #frontend #вебразработка
На 129-й Генеральной ассамблее Ecma был принят новый стандарт JavaScript. Что нас ждёт:
✅ Импорт JSON с
with { type: 'json' } ✅
iterator.filter().drop().take() — полноценные цепочки итераторов ✅
Set.prototype.union(), intersection() и другие ✅
Promise.try() и RegExp.escape() ✅ Поддержка
Float16Array и inline-флагов в регулярках#JavaScript #ECMAScript2025 #ES2025 #frontend #вебразработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Dragon Code News
4 дня назад вышел новый стандарт стиля кода - PER-CS v3.0
Документ миграции с версии PER-CS 2.0 можно найти здесь.
https://github.com/php-fig/per-coding-style/releases/tag/3.0.0
Документ миграции с версии PER-CS 2.0 можно найти здесь.
https://github.com/php-fig/per-coding-style/releases/tag/3.0.0
👍3
- ОК, не буду усложнять. Всё, что мне нужно, это протестировать API на localhost.
- Тебе нужен интернет
📱 @dev_notes_ru
#joke
- Тебе нужен интернет
#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3
Вайб-кодинг, это когда два инженера могут создать технический долг как минимум для 50 инженеров.
📱 @dev_notes_ru
#joke
#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3👍1
Что следует избегать в JavaScript
Даже опытные разработчики иногда совершают ошибки, которые ведут к багам, уязвимостям и странному поведению.
В статье — список распространённых антипаттернов, которых лучше избегать:
🚫
🚫
🚫
🚫
🚫 Функции с 6 аргументами подряд
…и другие ловушки, в которые попадали почти все.
🔎 Это не догмы, а практичные советы, основанные на реальных граблях.
🖥 Читать статью
📱 @dev_notes_ru
#JavaScript #tips #антипаттерны #советы
Даже опытные разработчики иногда совершают ошибки, которые ведут к багам, уязвимостям и странному поведению.
В статье — список распространённых антипаттернов, которых лучше избегать:
🚫
innerHTML вместо textContent🚫
JSON.stringify() для сравнения объектов🚫
== вместо ===🚫
eval() и var🚫 Функции с 6 аргументами подряд
…и другие ловушки, в которые попадали почти все.
🔎 Это не догмы, а практичные советы, основанные на реальных граблях.
#JavaScript #tips #антипаттерны #советы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
- Зачем нужно знать, реализацию быстрой сортировки?
- Чтобы пройти собеседования.
- А потом?
- Проводить собеседования других людей.
📱 @dev_notes_ru
#joke
- Чтобы пройти собеседования.
- А потом?
- Проводить собеседования других людей.
#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5🔥4
🔥 Все ещё используете
Признайтесь , иногда просто хочется получить данные, а не писать эссе на PHP.
Чисто? Не совсем.
Laravel хелпер
Если появляется ошибка, Laravel тихо обрабатывает исключение и продолжает работу.
Нужен резервный вариант?
Хотите получить выборочный отчет?
— Без повторяющихся
— Опциональная отчетность об ошибках
— Более чистый и безопасный код
Итог:
Ведь иногда одной строки бывает достаточно.
👩💻 Хелпер `rescue()`
📱 @dev_notes_ru
#Laravel #Laravel12
try-catch для мелких задач?Признайтесь , иногда просто хочется получить данные, а не писать эссе на PHP.
try {
$post = Post::findOrFail($id);
} catch (ModelNotFoundException $e) {
report($e);
$post = null;
}Чисто? Не совсем.
Laravel хелпер
rescue() делает это одной строкой:$post = rescue(fn() => Post::findOrFail($id));
Если появляется ошибка, Laravel тихо обрабатывает исключение и продолжает работу.
Нужен резервный вариант?
$post = rescue(
fn() => Post::findOrFail(999),
new Post(['title' => 'Untitled'])
);
Хотите получить выборочный отчет?
$data = rescue(
fn() => Http::get('https://api.example.com')->json(),
[],
report: fn($e) => $e instanceof ConnectionException
);
— Без повторяющихся
try-catch— Опциональная отчетность об ошибках
— Более чистый и безопасный код
Итог:
rescue() делает код кратким и понятным — идеально подходит для небольших, отказоустойчивых операций.Ведь иногда одной строки бывает достаточно.
#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
rescue()Функция
rescue выполняет заданное замыкание и перехватывает все исключения, возникающие во время его выполнения. Все перехваченные исключения будут отправлены в ваш обработчик исключений, однако обработка запроса будет продолжена:return rescue(function () {
return $this->method();
});Вы также можете передать второй аргумент в функцию
rescue. Этот аргумент будет "значением по умолчанию", возвращаемым в случае возникновения исключения при выполнении замыкания:return rescue(function () {
return $this->method();
}, false);
return rescue(function () {
return $this->method();
}, function () {
return $this->failure();
});Аргумент
report может быть передан функции rescue для определения того, следует ли сообщать об исключении с помощью функции report:return rescue(function () {
return $this->method();
}, report: function (Throwable $throwable) {
return $throwable instanceof InvalidArgumentException;
});#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2❤1
🚀 Laravel:
Иногда в коде необходимо проверить не то, чем начинается или заканчивается строка, а то, чем она не начинается и не заканчивается.
С помощью новейших строковых хелперов Laravel можно обойтись без неудобных отрицаний и писать условия, которые читаются как обычный текст.
🔧 Пример:
✅ Почему это важно
— Код становится более читабельным (больше нет
— Ясно выражает намерение: проверяется, чем строка не начинается и чем не заканчивается
— Такая же гибкость, как у
💡 Используйте эти хелперы при проверке исключающих правил: заблокированных префиксов, запрещенных суффиксов или любых негативных условий в логике строк.
📱 @dev_notes_ru
#Laravel #Laravel12
Str::doesntStartWith() и Str::doesntEndWith() — более чистые проверки строк на отрицательные условияИногда в коде необходимо проверить не то, чем начинается или заканчивается строка, а то, чем она не начинается и не заканчивается.
С помощью новейших строковых хелперов Laravel можно обойтись без неудобных отрицаний и писать условия, которые читаются как обычный текст.
🔧 Пример:
use Illuminate\Support\Str;
if (Str::doesntStartWith($username, ['admin_', 'sys_'])) {
// $username НЕ начинается с этих префиксов
}
if (Str::doesntEndWith($filename, ['.tmp', '.bak'])) {
// Имя файла $filename НЕ заканчивается на .tmp или .bak
}
✅ Почему это важно
— Код становится более читабельным (больше нет
!Str::startsWith())— Ясно выражает намерение: проверяется, чем строка не начинается и чем не заканчивается
— Такая же гибкость, как у
startsWith()/endsWith() — принимают как одиночные значения, так и массивы💡 Используйте эти хелперы при проверке исключающих правил: заблокированных префиксов, запрещенных суффиксов или любых негативных условий в логике строк.
#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎2
🧩 Laravel 12.x: Fluent теперь использует
Если вам нравится работать с классом
Теперь можно проверить, пуст ли экземпляр
🔧 Пример
💡 Почему это классно
— Быстрый способ проверки пустых объектов
— Более чистый способ, чем ручная проверка
— Полезно при работе с динамической конфигурацией, ответами API или DTO.
Небольшое улучшение, но оно делает
📱 @dev_notes_ru
#Laravel #Laravel12 #Fluent
isEmpty()Если вам нравится работать с классом
Fluent в Laravel, то понравится это небольшое обновление.Теперь можно проверить, пуст ли экземпляр
Fluent, с помощью нового метода isEmpty().🔧 Пример
use Illuminate\Support\Fluent;
$fluent = new Fluent(['name' => 'Taylor']);
$fluent->isEmpty(); // false
$empty = new Fluent();
$empty->isEmpty(); // true
💡 Почему это классно
— Быстрый способ проверки пустых объектов
Fluent.— Более чистый способ, чем ручная проверка
count() или преобразование в массивы.— Полезно при работе с динамической конфигурацией, ответами API или DTO.
Небольшое улучшение, но оно делает
Fluent еще более... плавным.#Laravel #Laravel12 #Fluent
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
В конце года выходит PHP 8.5, и он приносит множество интересных обновлений:
— оператор конвейера
|>—
array_first() и array_last()— атрибут
#[\NoDiscard]— улучшения
cURL, Directory, трассировки ошибок— и даже замыкания в константах!
#PHP #PHP85
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Совет по Laravel: автоматическое переключение
Устали от жонглирования разными
Laravel поддерживает эту функцию — без хаков и изменений в
💻 Local (Valet / macOS)
1️⃣ Создайте файл
Valet автоматически обнаружит и использует его без дополнительной настройки.
Если не используете Valet, просто выполните:
Это укажет Laravel явно загрузить файл
🚀 Продакшен (Nginx)
На сервере создайте файл
Укажите Nginx использовать его:
Затем перезагрузите:
✅ Результат
— Локальная версия работает с
— Продакшен работает с
— Переключение происходит автоматически через
💡 Чисто и без лишних сложностей. Laravel сам всё сделает.
📱 @dev_notes_ru
#Laravel #Laravel12
.env для локальной разработки и продакшенаУстали от жонглирования разными
.env файлами между локальной средой и продакшеном?Laravel поддерживает эту функцию — без хаков и изменений в
bootstrap/app.php.💻 Local (Valet / macOS)
1️⃣ Создайте файл
.env.local:APP_ENV=local
APP_DEBUG=true
DB_DATABASE=your_local_db
Valet автоматически обнаружит и использует его без дополнительной настройки.
Если не используете Valet, просто выполните:
export APP_ENV=local && php artisan optimize
Это укажет Laravel явно загрузить файл
.env.local.🚀 Продакшен (Nginx)
На сервере создайте файл
.env.prod:APP_ENV=prod
APP_DEBUG=false
DB_DATABASE=your_prod_db
Укажите Nginx использовать его:
fastcgi_param APP_ENV prod;
Затем перезагрузите:
sudo service nginx reload
php artisan config:clear
php artisan cache:clear
✅ Результат
— Локальная версия работает с
.env.local.— Продакшен работает с
.env.prod.— Переключение происходит автоматически через
APP_ENV.💡 Чисто и без лишних сложностей. Laravel сам всё сделает.
#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2