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

https://www.dev-notes.ru

@snakenf
Download Telegram
Почему, когда что-нибудь происходит, в этом всегда замешаны вы трое?

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
Статистика версий PHP: Июнь 2025

Давайте посмотрим, что изменилось за последние полгода, а также посмотрим, как PHP 8.4 внедряется через полгода после его релиза.

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

📱 @dev_notes_ru

#PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1🥰1
Frontend vs Backend

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Когда назначаешь стажера исправлять ошибки в устаревшем спагетти-коде...

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 Laravel.nvim переносит Laravel Idea в 👩‍💻 Neovim! Умная навигация с gd, интеллектуальное автозаполнение, автоматическое создание файлов и специфичные инструменты Laravel. Мгновенная навигация по маршрутам, представлениям и конфигурациям.

Некоторые из функций:
- Умная навигация gd (маршруты, представления, конфигурации)
- Интеллектуальное автозаполнение
- Автоматическое создание файлов с обнаружением фронтенда
- Интеграция с Artisan и диаграммы схем (mermaid)
- и многое другое...

👩‍💻 https://github.com/adibhanna/laravel.nvim

📱 @dev_notes_ru

#Laravel #Neovim
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Когда ретроспективный митинг отменен... И не нужно обсуждать «Что пошло не так»

📱 @dev_notes_ru

#joke
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 PHP 8.5 — что нового?
В конце года выходит PHP 8.5, и он приносит множество интересных обновлений:

— оператор конвейера |>
array_first() и array_last()
— атрибут #[\NoDiscard]
— улучшения cURL, Directory, трассировки ошибок
— и даже замыкания в константах!

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

📱 @dev_notes_ru

#PHP #PHP85
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
ECMAScript 2025 утверждён!

На 129-й Генеральной ассамблее Ecma был принят новый стандарт JavaScript. Что нас ждёт:

Импорт JSON с with { type: 'json' }
iterator.filter().drop().take() — полноценные цепочки итераторов
Set.prototype.union(), intersection() и другие
Promise.try() и RegExp.escape()
Поддержка Float16Array и inline-флагов в регулярках

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

📱 @dev_notes_ru

#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
👍3
- ОК, не буду усложнять. Всё, что мне нужно, это протестировать API на localhost.
- Тебе нужен интернет

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3
Вайб-кодинг, это когда два инженера могут создать технический долг как минимум для 50 инженеров.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3👍1
Что следует избегать в JavaScript

Даже опытные разработчики иногда совершают ошибки, которые ведут к багам, уязвимостям и странному поведению.
В статье — список распространённых антипаттернов, которых лучше избегать:

🚫 innerHTML вместо textContent
🚫 JSON.stringify() для сравнения объектов
🚫 == вместо ===
🚫 eval() и var
🚫 Функции с 6 аргументами подряд
…и другие ловушки, в которые попадали почти все.

🔎 Это не догмы, а практичные советы, основанные на реальных граблях.

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

📱 @dev_notes_ru

#JavaScript #tips #антипаттерны #советы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
- Зачем нужно знать, реализацию быстрой сортировки?
- Чтобы пройти собеседования.
- А потом?
- Проводить собеседования других людей.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Именно так выглядит SQL JOIN для PHP-разработчика.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7
На чьей ты стороне?

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
2👎2🤨2🔥1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5🔥4
🔥 Все ещё используете 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() делает код кратким и понятным — идеально подходит для небольших, отказоустойчивых операций.

Ведь иногда одной строки бывает достаточно.

👩‍💻 Хелпер `rescue()`

📱 @dev_notes_ru

#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;
});


📱 @dev_notes_ru

#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
🚀 Laravel: 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() — принимают как одиночные значения, так и массивы

💡 Используйте эти хелперы при проверке исключающих правил: заблокированных префиксов, запрещенных суффиксов или любых негативных условий в логике строк.

📱 @dev_notes_ru

#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎2