PHP Backend | YeaHub
401 subscribers
235 photos
10 videos
432 links
Теория, подготовка к интервью и курсы для PHP разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #upload #file #form
🤔 Как PHP обрабатывает загрузку файлов?

💬 Кратко:

PHP обрабатывает загрузку файлов через суперглобальный массив $_FILES. Файл отправляется через форму с атрибутом enctype="multipart/form-data", и PHP сохраняет информацию о загружаемом файле в $_FILES, включая имя файла, тип и путь.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Scale Cube: 3 способа масштабироваться

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

- добавили инстансы → стало не лучше
- распилили на микросервисы → стало хуже

Scale Cube модель предлагает 3 оси. Каждая закрывает свой bottleneck:

X - клонирование
Больше одинаковых копий сервиса за балансером.
Помогает, когда упираетесь в CPU/IO на приложении.

Y - разделение ответственности
Делите по функциям: поиск, отчёты, платежи.
Нужно, когда одна часть системы “убивает” остальных и её надо изолировать/масштабировать отдельно.

Z - разделение по данным (sharding/partitioning)
Делите данные по ключу (user_id, region).
Применяется когда потолок - данные: одна БД/таблица, hot keys, локи. Запись и чтение можно масштабировать отдельно

Например, если узкое место - база, то:

- X почти не поможет (вы просто сильнее нагрузите БД)
- микросервисы чаще ухудшат (больше запросов + распределённые транзакции/консистентность)
- а вот Z может дать рост capacity

Выбирать ось надо по bottleneck’у.
Если вы не можете назвать узкое место цифрами - вы не масштабируете, а только усложняете систему.

🚀 Пост Guru PHP: @msavin_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #factory #method
🤔 Как работает паттерн «Фабричный метод» и когда его целесообразно использовать?

💬 Кратко:

Фабричный метод определяет интерфейс для создания объектов, но позволяет подклассам решать, какой конкретный объект создавать. Это избавляет клиентский код от явного вызова new и даёт возможность легко подменять создаваемые типы. Фабрика полезна, когда создание объекта — это не просто new, а включает выбор конкретного класса, логику конфигурации или условия. Паттерн хорошо подходит для расширяемых систем и при работе с разными вариантами объектов одного семейства.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
#Собес #concurrency #mvcc #isolation
🤔 Что такое MVCC (Multiversion Concurrency Control)? Где используется?

💬 Кратко:

MVCC (Multiversion Concurrency Control, Многовариантное управление параллелизмом) — это механизм, который позволяет повысить производительность базы данных за счет хранения нескольких версий одного объекта данных. Это позволяет операциям чтения получать согласованный снимок данных без блокировок, ожидая завершения операций записи, и наоборот. Он широко используется в современных реляционных (PostgreSQL, MySQL InnoDB) и нереляционных СУБД.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#channel #laravel
📚 Laracasts

Laracasts – это проект создателей фреймворка Laravel, направленный на обучение начинающих программистов, которые только взялись за фреймворки. На канале вы найдёте длинный плейлист с обзором на Laravel, а также стримы и обзоры на новые функции и возможности выходящих версий.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #aggregation #group_by
🤔 Алгоритмы агрегации данных — как работает GROUP BY под капотом (на примере CSV-файла без БД)?

💬 Кратко:

GROUP BY работает используя алгоритмы хеширования или сортировки для группировки строк с одинаковыми значениями. При обработке CSV файла, система читает данные построчно, вычисляет хеш ключа группировки и аккумулирует значения для каждой группы. Алгоритм сортировки сначала сортирует данные по ключу группировки, затем агрегирует последовательные строки с одинаковыми ключами. Оба подхода эффективны но используются в разных сценариях.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
На собесах последнее время часто спрашивают внутреннее устройство php и жизненный цикл приложения вплоть до zend машины

Есть хорошее видео, в котором автор рассказывает и показывает как это работает

Рекомендую к просмотру: https://www.youtube.com/watch?v=ihmbnv22Cl4


🚀 Пост Guru PHP: @msavin_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
3