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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
👾1
This media is not supported in your browser
VIEW IN TELEGRAM
💃 Как взять задачи посерьёзнее

Почему одним достаются крутые фичи, а вы — снова на багфиксе. Именно с такой историей пришёл к нам подписчик:
Работаю в команде больше года. Почти все ключевые и интересные задачи уходят к сеньорам. Мне достаются мелкие доработки, баги и то, что «надо кому-то сделать». Сначала думал, что это временно. Что делать, чтобы перейти на более серьёзный уровень и не застрять в рутине?


Если вы молча делаете своё и не выходите за рамки текущих задач, команду устраивает, что вы «надёжный исполнитель».

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

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

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

💬 Что вы делали для того, чтобы взять задачку покруче? Делитесь опытом в комментариях 👇

🐸Библиотека пхпшника #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔄 Команда дня: Обновление всех зависимостей до последних стабильных версий

📌 Команда:

composer update --prefer-dist

Эта команда обновляет все зависимости проекта до последних стабильных версий, предпочитая скачивание архивов пакетов, что может быть быстрее и надёжнее.

🔍 Зачем это нужно?
Регулярное обновление зависимостей помогает поддерживать проект в актуальном состоянии, обеспечивая:
Исправление уязвимостей безопасности: Обновления часто включают исправления для известных уязвимостей.
Совместимость с новыми версиями PHP: Некоторые пакеты могут требовать обновлений для поддержки последних версий PHP.
Доступ к новым функциям и улучшениям производительности: Обновления могут включать новые возможности и оптимизации.

⚙️ Как это работает?
composer update: Обновляет все зависимости до последних версий, соответствующих ограничениям, указанным в composer.json.
--prefer-dist: Предпочитает скачивание архивов пакетов вместо клонирования репозиториев Git, что может быть быстрее и надёжнее.

📦 Дополнительные флаги:
--no-dev: Не обновляет зависимости, указанные в секции require-dev.
--dry-run: Показывает, какие изменения будут внесены, но не выполняет их.
--with-all-dependencies: Обновляет все зависимости, включая те, которые являются зависимостями других пакетов.

🧪 Пример использования:

composer update --prefer-dist --no-dev

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

⚠️ Важные замечания:
Проверка совместимости: Перед обновлением рекомендуется проверить, совместимы ли новые версии зависимостей с вашим проектом.
Резервное копирование: Перед выполнением обновлений сделайте резервную копию вашего проекта, чтобы в случае проблем можно было восстановить его состояние.
Тестирование: После обновления зависимостей обязательно выполните тесты, чтобы убедиться в корректной работе приложения.

Библиотека пхпшника #буст
🥱63👍1
🧠 Выбор первого ML-проекта: чеклист против выгорания

Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.

Мини-чеклист первого проекта:

1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».

2. Измеримая метрика — «точность 92%», а не «ну вроде работает».

3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.

Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.

👉 Начать свой путь в Data Science

Оплатите курс по ML до 17 августа — курс по Python в подарок.

📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.

💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
🧠 Оптимизация через обратный слэш в PHP — миф или реальность?

Опкод — промежуточное представление кода, которое исполняется Zend VM. PHP, как и Java, сначала транслирует код в опкоды. Только если Java сохраняет байткод в .class, то PHP — нет. Для этого и существует OPcache.

⚠️ Проблема:
При вызове стандартных функций без обратного слэша (например, explode()), PHP сначала пытается найти функцию в текущем пространстве имён. Это резолвинг — лишнее действие, которого можно избежать.

💡 Решение:
Добавить \ перед вызовами глобальных функций (\explode(), \strlen() и т.д.), тем самым указывая интерпретатору сразу на нужное пространство.

🔬 Бенчмарки:
Проведено сравнение двух версий кода — с бэкслешами и без:

0.576μs → без бэкслешей
0.536μs → с бэкслешами

Разница — 7%, или 40 наносекунд. Мизер? Да. Но в случае 1000+ вызовов — уже ощутимо. В контексте фреймворков, обрабатывающих сотни запросов в секунду, это может суммарно повлиять.

🛠️ Что делать:
• Включить в проекте PHP-CS-Fixer с правилом native_function_invocation
• Или приучиться добавлять \ вручную
• Для любителей хардкора — реанимировать устаревший PHP_CodeSniffer с нестабильным плагином

📌 Вывод:
Это не про магию ускорения. Это микрооптимизация, и в большинстве случаев она не даст серьёзного прироста. Но она точно иллюстрирует, как работает PHP под капотом — и где теряется время.

🔗 Хабр

Библиотека пхпшника
👍51
⚙️ Холивар: MVC — архитектура века или рудимент?

Сколько лет этому паттерну? Наверное, все начинали с MVC, но пришли ли мы к его пределу?
Зачем продолжать использовать его, если появляются новые подходы? Давайте разбираться!

🏢 MVC — классика и фундамент
Model-View-Controller — это основа для большинства фреймворков. Он помогает организовать код и разделить логику, представление и управление.

Плюсы:
Чистая структура: Логика разделена, что делает код более понятным и поддерживаемым.
Масштабируемость: Удобно работать с большими проектами, ведь ты всегда можешь отредактировать контроллер, не затронув модель или представление.
Множество инструментов и фреймворков: Все популярные фреймворки (Laravel, Symfony, Yii) базируются на этом паттерне.

Минусы:
Сложности при масштабировании: Если проект становится слишком большим, MVC может оказаться слишком жестким и ограничивающим.
Часто получается «заводной механизм»: Слишком много кода для простых задач. Например, в некоторых приложениях приходится создавать контроллеры для самых элементарных операций.

🚀 Альтернативы MVC: нужно ли оно в 2025 году?
MVVM (Model-View-ViewModel), CQRS, Hexagonal Architecture и другие подходы набирают популярность, особенно в микросервисах и крупных распределенных системах.
Доменное управление и Event-Driven подходы предполагают меньшую зависимость от чёткой структуры и большее внимание на бизнес-логику и взаимодействие сервисов.

Плюсы альтернатив:
Гибкость: Лучшие решения для микросервисов и приложений с большим числом пользователей.
Менее громоздко: Например, в современных front-end-фреймворках (React, Vue) уже нет четкого разделения MVC, а есть более простые и адаптивные подходы.
Минусы альтернатив:
Кривая обучения: Новые подходы сложнее для новичков и требуют больше времени на освоение.
Потеря очевидности: Пока MVC остаётся самым понятным и привычным, альтернативы могут усложнить структуру кода.

🤔 Когда стоит использовать MVC?
Если проект малый или средний, где тебе не нужно усложнять архитектуру, MVC по-прежнему отличный выбор.
Для больших проектов, где тебе важно разделить задачи и гибко расширять систему, можно
обратить внимание на более современные подходы.

💬 А что думаете вы?
MVC — это всё ещё ваша основная архитектура, или вы уже используете новые подходы и микросервисы?

Библиотека пхпшника #междусобойчик
6
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
1🥱1
💻 Подборка новостей по PHP за неделю:​

🔹 Featurevisor PHP SDK — интеграция Featurevisor в PHP-бэкенды без привязки к конкретному фреймворку, включая Laravel, CakePHP, Symfony и др.

🔹 Filament v4 — стабильный релиз с улучшенной скоростью, UX и новыми возможностями; ключевую роль сыграло сообщество, активно тестировавшее бета-версии.

🔹 Laravel Boost — новый AI-стартер-кит для ускорения разработки, презентован Тейлором Отвеллом на Laracon US; возглавляет проект Эшли Хайндл.

🔹 Livewire 4 — Калеб Порцио представил полностью переработанную версию с упрощённым API и улучшенной производительностью.

🔹 Symfony 4–10 августа 2025 — миграция на PHPUnit 12 в ветке 7.4, отказ от аннотаций в пользу атрибутов, обновлён дамп контейнера без зависимости от PHP XML extension.

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

#свежак
2
🫣 Хотите в Data Science, но боитесь высшей математики?

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

Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».

Без лишней воды — только то, что нужно для:

успешного поступления в ШАД Яндекса;
прохождения собеседований уровня FAANG;
глубокого понимания ML-алгоритмов.

Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.

👉 Начните строить свою карьеру уже сегодня
🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!

Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!

Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.

📆 Старт — 15 сентября.

💸 Цена 49 000 ₽ — только до 24 августа.

👉 Зафиксировать цену
😁1
This media is not supported in your browser
VIEW IN TELEGRAM
PHP TUI

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

🔗 Github

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

#инструменты
👍10
🚀 Тюнинг производительности PHP-FPM

Правильная настройка PHP-FPM имеет решающее значение для эффективного использования ресурсов сервера. Вот несколько ключевых параметров для оптимизации производительности:

🔧 Основные параметры:
pm = dynamic
Управляет количеством рабочих процессов. В режиме dynamic количество процессов изменяется в зависимости от нагрузки сервера.
pm.max_children = 1000
Максимальное количество рабочих процессов. Высокие значения могут привести к ошибкам из-за нехватки памяти. Пример: для 1000 процессов × 100MB/процесс потребуется 100GB RAM.
pm.start_servers = 80
Количество процессов, которое будет запущено при старте PHP-FPM для быстрой обработки начальной нагрузки.
pm.min_spare_servers = 40
Минимальное количество «запасных» процессов, которые должны оставаться в ожидании.
pm.max_spare_servers = 120
Максимальное количество неактивных процессов. Если их больше, лишние процессы будут завершаться.
request_terminate_timeout = 300s
Ограничение времени для запроса — если выполнение длится более 5 минут, процесс будет завершен.
request_slowlog_timeout = 5s
Все запросы, которые выполняются более 5 секунд, записываются в лог для анализа производительности.

📊 Рекомендации:
Для серверов с меньшим объёмом памяти, например 8GB RAM, настройте:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

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

👉 Поделитесь этим постом с коллегами!

🔗
Ссылка на статью

Библиотека пхпшника
👍16
⚡️ Бесплатный вебинар — прогнозируем цены и не сходим с ума

21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.

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


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

Регулярные выражения это что-то на эльфийском. Вместо ручного написания попросите об этом нейросеть с помощью промта:
I want you to act as a regex generator. Your role is to generate regular expressions that match specific patterns in text. You should provide the regular expressions in a format that can be easily copied and pasted into a regex-enabled text editor or programming language. Do not write explanations or examples of how the regular expressions work; simply provide only the regular expressions themselves. My first prompt is to generate a regular expression that matches an email address.


В этом примере будет сгенерировано выражение, для матчинга email-адресов.

💬 Часто пишете регулярки? Делитесь в комментариях! 🚀


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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🔥1👾1
🟢Вы можете запланировать работу ежедневно во многих различных структурах.

Вы можете запланировать выполнение команды artisan, класса Job, вызываемого класса, функции обратного вызова и даже выполнить сценарий оболочки.
This media is not supported in your browser
VIEW IN TELEGRAM
☝️ Один мудрый тимлид дал двум своим разработчикам по «таланту» — мощной, но своенравной LLM.

Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.

Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.

Мощь LLM раскрывается не в ней самой, а в системах, которые вы строите вокруг неё.


Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.

Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».

💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.

👉 Начать строить RAG раньше других
🥱31