Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.34K photos
20 videos
26 files
4.03K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
📅 Сегодня в 19:00 МСК — бесплатный вебинар с Марией Жаровой.

Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».

🔹 Разберём задачу прогноза стоимости недвижимости.
🔹 Покажем пошагово, как собрать первую модель.
🔹 Получите готовые скрипты для старта.

Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.

👉 Регистрируйтесь
Возвращение Redis к open-source

С 2025 года Redis вернулся к open-source, выпустив Redis 8 под лицензией AGPLv3. После введения SSPL в 2024 году и резкой критики со стороны сообщества, Redis вернулся к истокам, но стоит ли этому радоваться?

Сторонники новой лицензии считают, что это правильный шаг, который восстановит доверие сообщества и вернёт Redis в ряды самых популярных инструментов для работы с БД в реальном времени. Однако критики утверждают, что этот ход больше связан с маркетингом и попыткой вернуть пользователей, чем с настоящими улучшениями.

⚡️ На практике:

— AGPLv3 обещает более открытое использование Redis в корпоративных и стартап-проектах.
— Но SSPL оставляет много вопросов о том, как Redis будет восприниматься в экосистеме open-source в будущем.

💬 Что думаете: реальная победа сообщества или просто попытка вернуть утраченные позиции на фоне конкурентов?

🐸Библиотека пхпшника

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠PhpStorm‑лайфхак: максимально чистая среда для кода

Двойной Tap Shift·Shift открывает окошко Search Everywhere — через него можно запускать любые действия, искать файлы, классы, команды и даже настройки.

Введите Distraction → выберите Enter Distraction‑Free Mode, и IDE превратится в почти чистый редактор: никакого бокового меню, вкладок или панелей — только вы и ваш код.

Как результат: сосредоточенность по максимуму, меньше отвлечений и больше удовольствия от работы. Попробуйте!

Библиотека пхпшника

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4😁1
📊 Ленивые вычисления в PHP: эффективная работа с большими данными

Когда вам нужно обработать гигантские файлы, например, CSV размером 2 ГБ, загрузка данных в память может вызвать ошибку из-за исчерпания лимита памяти. Как этого избежать? Ответ — ленивые вычисления.

Ленивые вычисления позволяют обрабатывать данные по мере их необходимости, а не загружать всё в память сразу. В PHP для этого можно использовать генераторы и Iterator API.

Что такое ленивые вычисления?
Вместо того, чтобы хранить все данные в памяти, генераторы и Iterator API загружают данные по одному элементу за раз. Это позволяет работать с большими объёмами данных без излишней нагрузки на память.

Когда использовать?

Генераторы идеальны для простого стриминга данных, когда нужно поочередно обрабатывать элементы (например, строки в CSV файле).

Iterator API подходит для более сложных сценариев, когда необходимо сохранить состояние или использовать кастомные ключи.

Преимущества:

🔸 Меньше памяти: Генераторы могут обрабатывать миллионы строк, используя всего несколько килобайт памяти.

🔸 Производительность: Время выполнения остаётся практически неизменным, но память используется гораздо эффективнее.

Применение в реальной жизни
Например, при работе с автомобильными данными через API, использование генераторов позволило сократить потребление памяти с 2 ГБ до всего 10 МБ.

👉 Полная статья с примерами и бенчмарками

Библиотека пхпшника
👍9🥱32
Какой из следующих терминов относится к обработке большого объема данных с использованием нескольких серверов?
Anonymous Quiz
36%
Сегментация
61%
Параллельные вычисления
2%
Хеширование
1%
Инкапсуляция
🌚4
💻 Подборка новостей по PHP за неделю:​

🔹 Xdebug Update — июльский отчёт: 14 часов разработки при 23 профинансированных, часть времени ушла на отпуск. Подписчики GitHub/Pro получают апдейты раньше.

🔹 Inertia Form Component — новый <Form/>, работающий как классическая HTML-форма, но с использованием Inertia для предотвращения полной перезагрузки страниц.

🔹 PHP 8.5.0 Beta 1 — первая бета новой версии. Релизный цикл продолжается, тестирование открыто для сообщества.

🔹 Symfony 11–17 августа 2025 — основное внимание уделено депрекации sleep/wakeup в PHP 8.5, вместо них теперь serialize/unserialize. Анонсированы детали unconference-трека SymfonyCon Amsterdam 2025 и Symfony AI Hackathon (12 сентября 2025).

Библиотека пхпшника

#свежак
Какой метод в Symfony используется для получения параметров конфигурации в сервисах?
Anonymous Quiz
31%
getParameter()
10%
get()
47%
getConfig()
12%
parameters()
This media is not supported in your browser
VIEW IN TELEGRAM
🏃‍♀️ Новый поток курса — собери своих AI-агентов

7 октября стартует второй поток курса «AI-агенты для DS-специалистов».
За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу.

В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить.

👉 Записаться на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Топ-вакансий по PHP за неделю

Senior/Lead PHP Developer — от 2500 до 4000 $, Удалёнка (Москва)

Fullstack Разработчик (PHP) — от 250 000 до 500 000 ₽, Удалёнка (Москва)

Backend Developer — до 3 500$, Удалёнка (Москва)

Backend Developer PHP+MySQL — от 295 000 до 380 000 ₽, Удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
🔥 How To: 6 частых ошибок безопасности в Laravel и как их исправить

Laravel — мощный и популярный фреймворк. Но вместе с популярностью он становится и мишенью для атак. Даже опытные разработчики иногда допускают ошибки, которые открывают лазейки для злоумышленников.

1️⃣ Завершаем все сессии после смены пароля

Ошибка: при смене пароля старые сессии на других устройствах остаются активными.
Исправление: используйте logoutOtherDevices().

👉 Почему важно: если токен украден, злоумышленник вылетит сразу после смены пароля.

2️⃣ Безопасная загрузка файлов

Ошибка: прямая ссылка на файлы (/storage/invoices/invoice1.pdf) позволяет угадывать URL.
Исправление: генерируйте временные подписанные ссылки (URL::temporarySignedRoute).

👉 Почему важно: даже при утечке ссылка перестанет работать после срока действия.

3️⃣ Правильное связывание моделей в маршрутах

Ошибка: без scoping пользователь может подставить чужой ID.
Исправление: используйте ->scopeBindings().

👉 Почему важно: предотвращает горизонтальную эскалацию прав.

4️⃣ Уникальные имена файлов

Ошибка: сохранение файлов под оригинальными именами ведёт к перезаписи.
Исправление: используйте UUID (Str::uuid()).

👉 Почему важно: два profile.jpg больше не сотрут друг друга.

5️⃣ Шифруем ID в URL

Ошибка: последовательные ID легко перебирать.
Исправление: шифруйте идентификаторы (Crypt::encryptString).

👉 Почему важно: атаки через инкремент ID становятся невозможны.

6️⃣ Шифрование чувствительных данных в БД

Ошибка: хранение API-ключей и персональных данных в открытом виде.

Исправление: используйте встроенные касты ('api_key' => 'encrypted').

👉 Почему важно: даже при утечке базы данные останутся зашифрованы.

🔗 Читать статью

Библиотека пхпшника
👍13
🔥 Сбор и масштабирование метрик в PHP Symfony highload: 200k RPM, 50+ серверов и zero overhead с Telegraf UDP

Prometheus не успевал, Redis умирал, а бизнес требовал real-time.
Решение: push через UDP + Telegraf — метрики летят без таймаутов и задержек.
Агрегация в Telegraf + Prometheus/InfluxDB = минимальная нагрузка, масштабируемость на десятки серверов за секунды.
Latency ↓60x, приложение не падает, мониторинг не тормозит.
Готовый Symfony-бандл на GitHub/Packagist.

🔗 Хабр

Библиотека пхпшника
👍8
📜 Команда дня: Просмотр логов Laravel в реальном времени

📌 Команда:

tail -f storage/logs/laravel.log

💡 Команда выводит последние строки файла логов Laravel и продолжает следить за появлением новых записей.

🔍 Зачем это нужно?
🔹 Отладка в реальном времени: Позволяет видеть ошибки и предупреждения приложения прямо во время работы.
🔹 Мониторинг процессов: Удобно отслеживать, что происходит в приложении при выполнении конкретных действий.
🔹 Быстрое реагирование: Можно заметить критические ошибки и оперативно исправить их, не открывая каждый раз лог вручную.

⚙️ Дополнительные опции:
Ограничение количества строк:

tail -n 50 -f storage/logs/laravel.log

Выводит последние 50 строк и продолжает следить за обновлениями.

Фильтрация по ключевому слову:

tail -f storage/logs/laravel.log | grep «ERROR»

Показывает только строки с ERROR, что удобно для поиска критических ошибок.

Следить за несколькими файлами одновременно:

tail -f storage/logs/*.log

Выводит все новые записи из всех лог-файлов Laravel.

💡 Советы:
Перед деплоем убедитесь, что уровень логирования в .env настроен корректно:

APP_LOG_LEVEL=debug

Используйте вместе с grep для фильтрации конкретных ошибок или событий.
Для долгосрочного мониторинга можно подключить утилиты вроде multitail или lnav для более удобного визуального анализа.
👍6🥱3
Мы сделаем вам предложение, от которого невозможно отказаться 🤌

Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.

Предложение действует только до 1 сентября. Ничего личного, просто математика.

👉 Принять предложение
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
🔥98🎉75👏1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💡 319 бесплатных API для разработчиков

Знаешь, что общего у кофе в офисе и API? Если оно бесплатное — ты берешь ещё одну чашку.

В справочнике — 319 бесплатных API — от погоды и мемов до котиков и криптовалют. Все разложено по категориям, с табличкой:

🏷 Название API
📜 Описание
🆓 Лимит бесплатного тарифа
🔑 Нужно ли авторизоваться

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

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥰1
🧑‍💻 Проблемы могут решаться дольше при работе из дома

Работа удалённо может быть удобной, но когда код не работает как ожидается, а решение не очевидно, возникают сложности. Особенно без живого общения с коллегами.

Недавно один из подписчиков задал вопрос:
Как понять, что не так с кодом, когда работаешь удалённо, и как эффективно искать решение?


Мы собрали несколько способов, которые помогут разобраться в коде без помощи коллег:

— Метод «уточки». Когда что-то не получается, объясните код самому себе вслух. Это помогает выявить ошибки или упущенные детали.

— Задавайте конкретные вопросы. Чётко формулируйте, какая часть кода вызывает трудности. Лучше задать несколько простых вопросов, чем оставаться в неведении.

— Документируйте решения и процессы. Записи и схемы помогают вам и коллегам вернуться к коду через время.

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

Как вы решаете трудности с кодом, работая удалённо? Поделитесь в комментариях.

P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.

🐸Библиотека пхпшника

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1