Заметки разработчика
471 subscribers
668 photos
4 videos
1.16K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
👩‍💻 Защитите Node.js приложения с `npx is-my-node-vulnerable`

Пакет is-my-node-vulnerable сравнивает вашу версию Node.js с базой данных безопасности Node.js, мгновенно предоставляя информацию о потенциальных рисках безопасности.

🖥 Читать статью

📱 @dev_notes_ru

#NodeJS #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет по Laravel: Запуск запланированных команд на одном сервере

Запускаете приложение на нескольких серверах? По умолчанию запланированные команды будут выполняться на всех серверах, что не нужно и может вызвать проблемы. Это можно предотвратить, используя параметр onOneServer 🚀.

📱 @dev_notes_ru

#Laravel #Schedule #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет по Laravel: Подтверждение пароля пользователя

Некоторые действия, например, удаление аккаунта, могут потребовать от пользователя подтверждения пароля. Хотя вы можете реализовать эту логику самостоятельно, Laravel поставляется со встроенным правилом валидации, current_password, предназначенным именно для этого 🚀.

📱 @dev_notes_ru

#Laravel #Validation #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет по Laravel: Сообщения высшего порядка с `Conditionable`

Если используете трейт Conditionable в своих классах или работаете с классом Conditionable, таким как Str, можете использовать сообщения высшего порядка для ещё более гибкого API 🚀.

📱 @dev_notes_ru

#Laravel #Conditionable #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Ускорение сборки Docker с помощью кэша сборки

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

Кэш сборки Docker может предложить мощное решение этой проблемы, позволяя повторно использовать ранее созданные слои.

В статье мы рассмотрим, как создавать и хранить кэш сборки для различных этапов, например для этапа сборки, и как делиться этим кэшем с командой с помощью Docker Registry.

🖥 Читать статью

📱 @dev_notes_ru

#DevOps #Docker
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет по Laravel: Лимитирование заданий

Вам когда-нибудь требовалось ограничить количество заданий? Чтобы не перегружать API или ограничить пользователей бесплатного тарифного плана от выполнения слишком большого количества заданий, Laravel позволяет определять лимиты и использовать их из коробки 🚀.

📱 @dev_notes_ru

#Laravel #RateLimit #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
— Я хочу дракона на Рождество!
— Будь реалистом.
— Я хочу настоящий параллелизм без изменения существующего дизайна.
— Какого цвета дракона ты хочешь?
— Красного.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы обучали Copilot на вашем коде.
Вот почему он отстойный

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
💡 Совет по Laravel

Можно запланировать регулярную очистку, позволяющую избежать переполнения логов 🚀.

📱 @dev_notes_ru

#Laravel #Schedule #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Если кто сталкивался с подобным зависанием VS Code 1.97.0. Проблема возникает из-за параметра Terminal › Integrated: Gpu Acceleration. По умолчанию стоит значение auto, нужно заменить на off.

Можно запустить с опцией --disable-gpu

code --disable-gpu


Ишью в репозитории: VSCode freezes when opening a terminal #239838

Должны решить в 1.97.2

📱 @dev_notes_ru

#VSCode
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💡 Совет по PHP

Три варианта кода, задающего резервное значение, если переменная не установлена.

// Классический тернарный оператор
$title = isset($title) ? $title : "default";

// Сокращённый с ??
$title = $title ?? "default";

// Ещё более сокращённый с ??=
$title ??= "default";


Какой из вариантов предпочитаете?

📱 @dev_notes_ru

#PHP #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👩‍💻 Три подхода к селектору `&` (амперсанд) в CSS

`&` — мощное дополнение к CSS, позволяющее создавать селекторы без повторений и способствующее улучшению организованности и понимания кода.

🖥 Читать статью

📱 @dev_notes_ru

#Frontend #CSS #Nesting
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
💡 Совет по Laravel: Условная валидация

Вам когда-нибудь требовалось применить правило валидации только в определенных случаях? Например, отклонять купоны на скидку для определенных тарифных планов. Хотя это можно реализовать вручную, но можно воспользоваться методом sometimes, позволяющим сделать именно это 🚀.

📱 @dev_notes_ru

#Laravel #Validation #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 PHP оператор Pipe `|>` возвращается в новом RFC

Оператор |>, или "pipe", принимает справа вызываемую переменную с одним параметром и передает ей значение слева, оценивая результат вызываемой переменной.

Оператор Pipe (|>) оценивает слева направо, передавая значение (или результат выражения) слева в качестве первого и единственного параметра в вызываемую переменную справа. То есть следующие два фрагмента кода логически эквивалентны:

$result = "Hello World" |> strlen(...);

$result = strlen("Hello World");


Для одиночного вызова это не особенно удобно. Pipe становится удобным, когда несколько вызовов соединяются в цепочку. То есть следующие два фрагмента кода фактически эквивалентны:

$result = "Hello World"
|> htmlentities(...)
|> str_split(...)
|> fn($x) => array_map(strtoupper(...), $x)
|> fn($x) => array_filter($x, fn($v) => $v != 'O');


$temp = "Hello World";
$temp = htmlentities($temp);
$temp = str_split($temp);
$temp = array_map(strtoupper(...), $temp);
$temp = array_filter($temp, fn($v) => $v != 'O');
$result = $temp;


🖥 PHP RFC: Pipe operator v3

📱 @dev_notes_ru

#PHP #Pipe #RFC
Please open Telegram to view this post
VIEW IN TELEGRAM
😱2🔥1👏1🤨1
💡 Совет по Laravel: Новый метод `incrementOrCreate`

В Laravel v11.39.1, появился новый метод incrementOrCreate. Позволяющий создать запись, если она не существует, или инкрементировать указанный столбец в противном случае 🚀.

📱 @dev_notes_ru

#Laravel #Model #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
👩‍💻 В свежем релизе Laravel появилось несколько новых хелперов относительных дат.

📱 @dev_notes_ru

#Laravel #Helper #Date #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 Простые тесты конечных точек с `Policy::fake`

Тестирование конечных точек может занять много времени, когда проверяется логика авторизации наряду с их поведением. Для конечных точек, закрытых сложными политиками, требуется много настроек только для запуска метода контроллера. Всё становится ещё менее приятным, когда меняется политика, и ломается куча не связанных с ней тестов. Это отстой. Тесты конечных точек должны отвечать на вопрос "Что это делает?", а не "Когда я могу это использовать?".

🖥 Читать статью

📱 @dev_notes_ru

#Laravel #Policy #Testing
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
💡 Совет по Laravel: Отслеживайте открытые соединения

А вы знали, что Laravel 9.24 и выше поставляется с командой db:monitor? Позволяющей следить за количеством открытых соединений и реагировать на превышение порога 🚀.

📱 @dev_notes_ru

#Laravel #Artisan #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Когда смотришь на код, написанный в прошлом году.
- Зачем?
- Зачем?
- Зачем?
- О, вот зачем.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤣1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤣1