fa
Feedback
PHP Portal | Программирование

PHP Portal | Программирование

رفتن به کانال در Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика Связь: @devmangx

نمایش بیشتر
4 820
مشترکین
-1124 ساعت
-247 روز
-8630 روز
آرشیو پست ها
При работе с загрузкой изображений в Laravel важно проверять их ширину и высоту. Например, если пользователи загружают аватар
При работе с загрузкой изображений в Laravel важно проверять их ширину и высоту. Например, если пользователи загружают аватары, лучше убедиться, что размеры остаются единообразными. Не проблема! Класс Rule в Laravel позволяет легко валидировать размеры изображения с понятным синтаксисом. Вот пример кода 👆 👉 @PHPgx | #tips

Хотите прокачать свои навыки в PHP? - Самые свежие новости о PHP, его фреймворках и экосистеме. - Полезные статьи и советы дл
Хотите прокачать свои навыки в PHP? - Самые свежие новости о PHP, его фреймворках и экосистеме. - Полезные статьи и советы для создания современных веб-приложений. - Эксклюзивные материалы, которые помогут вам стать экспертом в PHP. Не тратьте время на поиск — всё, что нужно для роста в PHP, уже собрано в Цифровая кухня. Подпишитесь сейчас и начните получать ценную информацию каждый день! 👉 Подписаться

HTTP/2 vs HTTP/3 — В чем разница? HTTP/1 появился в 1996 году, а уже в 1997 вышел HTTP/1.1. Следующий крупный шаг произошел т
HTTP/2 vs HTTP/3 — В чем разница? HTTP/1 появился в 1996 году, а уже в 1997 вышел HTTP/1.1. Следующий крупный шаг произошел только спустя ~20 лет — в 2015 году был стандартизирован HTTP/2. А в 2022 году официально утвердили HTTP/3. В чем разница? HTTP/1.1 ✅ Постоянные соединения — повторное использование соединений вместо открытия новых ✅ Потоковая передача (Chunked Transfer) — отправка данных частями вместо ожидания полного ответа ✅ Улучшенное кеширование — заголовки для управления кешем и соединениями ❌ Последовательные запросы — блокируют друг друга (HoL-блокировка на уровне запросов) ❌ Требуется несколько соединений — браузеры открывали несколько TCP-соединений для скорости HTTP/1.1 заложил фундаментальные механизмы, актуальные и сегодня. HTTP/2 ✅ Мультиплексирование — несколько запросов в одном TCP-соединении ✅ Сжатие заголовков (HPACK) — уменьшение накладных расходов ✅ Приоритизация потоков — критически важные ресурсы загружаются первыми ❌ HoL-блокировка — потерянный пакет блокирует все потоки HTTP/2 оптимизировал TCP, но остался ограничен его архитектурой. HTTP/3 ✅ Основан на QUIC (UDP) — больше нет узких мест TCP ✅ Независимые потоки — потеря пакетов в одном потоке не мешает другим ✅ Быстрые рукопожатия — транспорт и шифрование настраиваются за один шаг ✅ Обязательное шифрование (TLS 1.3) — безопасность по умолчанию ✅ Миграция соединений — стабильная работа при смене сети Вывод: HTTP/2 оптимизировал TCP, но HTTP/3 меняет правила игры с QUIC — быстрее, надежнее и безопаснее по умолчанию. 👉 @PHPgx

Vito — это самохостимое веб-приложение для управления серверами и деплоя PHP-приложений. Поддерживает управление базами данны
Vito — это самохостимое веб-приложение для управления серверами и деплоя PHP-приложений. Поддерживает управление базами данных, настройку файрвола, установку SSL-сертификатов и управление cron-заданиями. 👉 https://github.com/vitodeploy/vito 👉 @PHPgx | #ресурсы

⚡️Конспекты «кабанчика» теперь в Telegram! Женя Янченко, backend-разработчик и тимлид, делает регулярные конспекты самой попу
⚡️Конспекты «кабанчика» теперь в Telegram! Женя Янченко, backend-разработчик и тимлид, делает регулярные конспекты самой популярной книги по архитектуре систем — «Высоконагруженные приложения» Мартина Клеппмана (книга с кабанчиком). Подробные разборы репликации, шардирования, транзакций: — Оглавление постов «кабанчика» Разбирает и другие технические темы: — CAP-теорема простыми словами — Сравнение Kafka и RabbitMQ — Зачем нужны микросервисы — Чек-лист: что проверить перед интеграцией В феврале Женя объявила челлендж по решению алгоритмов — хочет решить 300 задач за год 😱 — Отчет по челленджу за февраль Еще в канале есть истории из опыта, рекомендации по собесам и ответы на вопросы подписчиков: — Про манипуляции менеджеров — Зачем компаниям алгособесы — Как бороться с неуверенностью в себе 📝 и ещё 100+ полезных технических и жизненных постов. Подписывайтесь, чтобы не потерять полезный канал @jane_yanchenko

Поскольку в сериализуемом замыкании нельзя использовать $this, рассмотрите возможность вынесения колбэков Bus::batch, основан
Поскольку в сериализуемом замыкании нельзя использовать $this, рассмотрите возможность вынесения колбэков Bus::batch, основанных на Closure, в отдельные вызываемые (callable) классы. Этот подход: 🔹Избавляет от необходимости создавать локальные переменные для свойств $this, чтобы сделать их сериализуемыми. 🔹Делает код более чистым, разделяя ответственность. 🔹Переносит логику в отдельный тестируемый класс. 👉 @PHPgx | #tips

URL vs URI vs URN — в чем разница? 🔹 URI (Uniform Resource Identifier) URI — это строка символов, идентифицирующая ресурс по
URL vs URI vs URN — в чем разница? 🔹 URI (Uniform Resource Identifier) URI — это строка символов, идентифицирующая ресурс по местоположению, имени или обоим параметрам. Это самый общий идентификатор. URL и URN являются подтипами URI. 🔹 URL (Uniform Resource Locator) URL — это подтип URI, который указывает, как найти ресурс в сети. Он включает протокол (например, HTTPS), домен и часто путь. URL полностью описывает способ доступа к ресурсу. Например: https://example.com/path/to/resource. URL также может использоваться с другими протоколами, такими как FTP. 🔹 URN (Uniform Resource Name) URN — это тоже подтип URI, но он идентифицирует ресурс по имени в рамках определенного пространства имен, а не по местоположению. Он использует схему urn. URN не может быть использован для нахождения ресурса. Это глобально уникальный идентификатор, который остается неизменным независимо от местоположения ресурса. Например, urn:isbn:0361450721 идентифицирует книгу по ее ISBN, который остается неизменным, даже если книга хранится в разных местах. Проще говоря: 🔹URL — это URI, но не всякий URI является URL. 🔹URN — уникальные имена, URL — локаторы, URI объединяет оба типа. 👉 @PHPgx

🇷🇺Подрабатываешь настройкой wifi? Патриот, при этом хочешь заработать? Есть работа по профилю на юге Курской области! 🇷🇺У
🇷🇺Подрабатываешь настройкой wifi? Патриот, при этом хочешь заработать? Есть работа по профилю на юге Курской области! 🇷🇺Условия: - Заработная плата 178 000 рублей на руки; - По результатам выполнения боевых задач, дополнительная премия; - Проживание, питание, обмундирование за счет компании; - Обучение и переквалификация за счет компании; - Страховые выплаты; - Официальное трудоустройство (трудовой договор, полный соц.пакет); 🇷🇺Присоединяйся к Сталинским Соколам!🇷🇺 Подать заявку - @pilot_sokol Подробная информация - сталинские-соколы.su

Начиная с Laravel 11, весь middleware, который мы хотим применить в нашем приложении, необходимо настраивать в файле bootstra
Начиная с Laravel 11, весь middleware, который мы хотим применить в нашем приложении, необходимо настраивать в файле bootstrap.php. Если вы переходите с более старой версии Laravel, вот различные методы, которые вам нужно знать для работы с middleware в Laravel 11 и более поздних версиях. Здорово, что новая структура включает в себя все эти возможности 👍 👉 @PHPgx | #tips

Одна из самых подробных и полезных шпаргалок для Backend-разработчиков на русском языке. Всё, что нужно, собрано в одном мест
+3
Одна из самых подробных и полезных шпаргалок для Backend-разработчиков на русском языке. Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники. 👉 @PHPgx | #ресурсы

Ищем новичков во фронтенд-разработке и вёрстке сайтов. Хотим показать, как получить реальный опыт в разработке сайтов и веб-п
<h1> Ищем новичков во фронтенд-разработке и вёрстке сайтов. </h1> <p> Хотим показать, как получить реальный опыт в разработке сайтов и веб-приложений. </p> <p> А именно: </p> <ul> <li> - Сверстать веб-сайт на HTML + CSS; </li> <li> - Реализовать функционал на JavaScript; </li> <li> - Пощупать фронтенд-фреймворк Angular;</li> <li> - Подключить Backend и загрузить сайт на хостинг. </li> </ul> <p> 💪 Чтобы в итоге ты своими руками разработал качественный сайт, который не стыдно добавить в портфолио или продать. </p> <button type="button"> 👉 Приходи на бесплатное обучение и зови с собой друзей </button> <p> Бонусом получишь гайд для поиска работы и заказов на фронтенд-разработку. </p>

Часто при демонстрации нашего проекта заинтересованным сторонам мы заполняем базу данных фиктивными данными с помощью библиот
Часто при демонстрации нашего проекта заинтересованным сторонам мы заполняем базу данных фиктивными данными с помощью библиотеки Faker для PHP. Но иногда заинтересованным сторонам сложно воспринимать данные, так как по умолчанию библиотека Faker генерирует их в формате локали en_US. Вот небольшой совет: мы можем изменить локаль для нашего Laravel-приложения с помощью переменной окружения APP_FAKER_LOCALE. В моем случае я обычно устанавливаю APP_FAKER_LOCALE в ru_RU, после чего Faker начинает генерировать данные, более приближенные к русскому формату. #laravel #php 👉 @PHPgx | #tips

💡 Совет по PHP для массовой замены строк Вы можете использовать str_replace(), передавая массивы ключей и значений в качеств
💡 Совет по PHP для массовой замены строк Вы можете использовать str_replace(), передавая массивы ключей и значений в качестве параметров, без использования циклов. Источник этого фрагмента кода: GitHub 👉 @PHPgx | #tips

ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ Айтишники поймут ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠ ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ

Крутеший ресурс, если хочешь выучить SQL на практике и с нуля Это интерактивные уроки прямо в браузере, без регистрации и бес
Крутеший ресурс, если хочешь выучить SQL на практике и с нуля Это интерактивные уроки прямо в браузере, без регистрации и бесплатно. Всё подается шаг за шагом: от базовых запросов до более сложных тем, таких как JOIN и агрегации Весь процесс строится на упражнениях, так что теорию сразу применяешь на практике Ссылка: https://sqlbolt.com/ 👉 @PHPgx | #ресурсы

🔒 Знаете ли вы, что можно получить список маршрутов, зарегистрированных пакетами в ваших Laravel-приложениях? Вы можете сдел
🔒 Знаете ли вы, что можно получить список маршрутов, зарегистрированных пакетами в ваших Laravel-приложениях? Вы можете сделать это, выполнив команду:
php artisan route:list --only-vendor
Это отлично подходит для аудита ваших маршрутов и выявления тех, о которых вы могли не знать, чтобы убедиться, что они защищены и безопасны 👉 @PHPgx | #tips

Только недавно узнал, что namespace можно использовать как ссылку на текущий неймспейс 🤯 👉 @PHPgx | #tips
Только недавно узнал, что namespace можно использовать как ссылку на текущий неймспейс 🤯 👉 @PHPgx | #tips

True Async На днях был опубликован RFC, предоставляющий возможность писать асинхронный код на PHP. Согласно этому предложению, можно будет писать код следующего вида:
Async\run(function() {
 
   $fiber = Async\async(function() {
       sleep(1);
       return "Fiber completed!";
   });
 
   // Выполнение приостанавливается, пока fiber не завершится
   $result = Async\await($fiber);
 
   echo $result . "\n";
 
   echo "Done!\n";
});
Это похоже на async/await в JavaScript и работает через механизм Event Loop. На данный момент для написания асинхронного кода в PHP используют генераторы, Fiber (начиная с версии 8.1), а также решения вроде Swoole, AMPHP, ReactPHP. RFC: https://wiki.php.net/rfc/true_async ➡️ @PHPgx

👩‍💻 Программирование — В С Ё В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность. Ловите
👩‍💻 Программирование — В С Ё В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность. Ловите полезные каналы, которые помогут ворваться в новое направление. 👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля 👍 Белый Хакер — Свежие новости из мира ИБ 😎 Арсенал Безопасника — Все необходимые инструменты 😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг 👨‍💻 Серверная Админа — Настройка и уроки по компьютерным сетям 📂 Вступай и изучай новое направление!

Общие табличные выражения (CTE) в MySQL позволяют писать более чистые и удобные для поддержки запросы, создавая временные име
Общие табличные выражения (CTE) в MySQL позволяют писать более чистые и удобные для поддержки запросы, создавая временные именованные наборы результатов. Вместо вложенных подзапросов CTE можно использовать во многих случаях 👉 @PHPgx | #tips