
Привет! Я Алексей Постригайло, старший партнер крупного ИТ-интегратора.
В этой статье я расскажу о технических деталях масштабной работы, которая была проделана перед тем, как новый сайт ВДНХ объединил все проекты выставки на одной платформе.
Скриптовый язык общего назначения
Привет! Я Алексей Постригайло, старший партнер крупного ИТ-интегратора.
В этой статье я расскажу о технических деталях масштабной работы, которая была проделана перед тем, как новый сайт ВДНХ объединил все проекты выставки на одной платформе.
Как обрабатывать миллионы строк в PHP и не убить память?
Всё просто: генераторы и итераторы. Покажу, как ленивые вычисления экономят ресурсы, ускоряют код и упрощают работу с большими данными. С примерами, бенчмарками и разбором изнутри.
Выбор между вертикальным и горизонтальным масштабированием зависит от конкретных требований вашего приложения и ограничений вашей инфраструктуры. В некоторых случаях оптимальным решением будет комбинированный подход, сочетающий оба типа масштабирования.
Привет, Хабр!
Сергей Пантелеев и Данил Щуцкий собрали ключевые новости PHP и Laravel за июль. Будьте в тренде — читайте обзор! 🚀
17 августа 2025 года Joomla исполнилось 20 лет! Для мира IT-технологий это внушительный возраст. CMS проделала большой путь, выросла и стала совершеннолетней. К юбилею возникла идея сделать серию интервью (и небольшой флешмоб) с видными участниками русскоязычного сообщества Joomla: теми, кто когда-то был активным и сделал большой вклад в развитие Joomla и теми, кто делает это сейчас.
Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто потому, что заскучал в корпоративном чате.)
Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но…
Всем привет, я Сергей — ведущий программист в e-commerce агентстве KISLOROD.
Битрикс24 можно доработать «под себя», но если задачи сложные — без модулей вы далеко не уедете. Модули позволяют объединить доработки в один понятный, управляемый блок. Это удобно как для команды разработки, так и для поддержки в будущем. Погнали разбираться!
С небольшим запозданием, но всё же читайте все главные новости из мира Joomla с апреля по июнь 2025 года в одной статье. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.
«Redis умирает на 200k RPM, Prometheus не успевает скрейпить 50 серверов, а бизнес требует real-time дашборды. Знакомо?»
Пятница, 18:00. Дашборд в Grafana показывает timeout'ы при сборе метрик. Redis, который хранит данные для prometheus_client_php, жрёт 8GB памяти и 100% CPU. Prometheus не успевает опросить все 50+ серверов за отведённые 15 секунд. А в понедельник запускается Black Friday...
Эта статья — о том, как мы перешли с pull на push модель для мониторинга PHP-приложения в highload, почему выбрали UDP + Telegraf вместо классического подхода, и как теперь собираем метрики PHP с 50+ серверов без единого timeout'а.
В данной статье, я хотел бы рассказать вам о Duyler (производное от Do While) - событийно-ориентированном, «неумирающем» и неблокирующем PHP-фреймворке.
Хочу поделиться с вами своим опытом, с которым столкнулся, и предоставить шаблон, который написал для пакетов/проектов:
https://github.com/deniskorbakov/skeleton-php-docker
Буду очень рад звёздочке на GitHub и обратной связи после прочтения статьи!
Если ты в 2025 году ты всё ещё руками собираешь авторизацию на Laravel для своей админки — у меня для тебя плохие новости. Ты либо получаешь удовольствие от страданий, либо просто не знаешь про Admiral. А хорошие новости заключается в том, что это open source фреймворк, который не позволяет не сойти с ума копипаста и рутинной хрени. Вместо этого он делает всё за тебя (что? да!). Ты просто поставишь, настроишь пару штук — и вуаля: авторизация, фронт, работающий бекенд.
В этом гайде я покажу, как без боли и слёз запустить связку Laravel + Admiral с полной авторизацией. Ни строчки лишнего кода, и ни минуты на сомнительные патчи.
HTMX и AlpineJS это две JS библиотеки, которые расширяют HTML специальными аттрибутами и позволяют писать фронтенд без SPA фреймворков.
Это альтернативы React/Vue/Angular и иже с ними. Их появление вызвано усталостью от сложной JS экосистемы и тоской по временам, когда задачи решались с помощью PHP и jQuery.
Я всю жизнь писал JSON API и SPA интерфейсы и моему мозгу трудно было переварить, зачем нужны эти библиотеки и как с ними работать. Поэтому я написал эту статью.
Несколько лет назад я прочитал статью «How to dump and inspect PHP OPCodes» в которой наконец увидел, что опкоды в PHP действительно существуют. И кроме того, мы, разработчики, которые пишем на PHP на эти опкоды можем влиять, тем самым оптимизируя производительность нашего кода. В статье так же рассказывалось о том, как применение бэкслэшей может ускорить выполнение программ. Я был под впечатлением...
Опкодами (см. Код операции) называется некий промежуточный код, который всё ещё понятен человеку и который выполняется некой исполняющей средой. В случае PHP этой средой является Zend Virtual Machine (она же Zend Engine).
Технология опкодов и виртуальной машины не является чем то уникальным для PHP. Подобный подход использует Java, где опкоды компилируются в их бинарное представление и выполняются Java VM. Исходные коды Java-программ хранятся в файлах с расширением .class
(потому что в Java искодники хранятся только в виде классов), а скомпилированные опкоды в файлах с расширением .java
. В PHP же исходные коды программ хранятся в файлах с расширением .php
. А вот опкоды не хранятся нигде, что вызвало к жизни многочисленные расширения, самым популярным из которых на сегодняшний день является OPcache.
Насколько я понимаю, подобный подход на самом деле используют примерно все интерпретируемые языки программирования и прочие другие, которые хотят обеспечить кроссплатформенность.
Оговорюсь, что в рамках этой статьи я буду называть функции типа explode
глобальными, дефолтыми или стандартными подразумевая одно и тоже. Хотя у PHP и есть стандартная библиотека, которая скорее мертва, чем жива, как впрочем и весь PHP :)
Некоторое время назад нами был разработано и опубликовано приложение Финансовый учет для облачного «Битрикс24». В этом материале мы хотим поделиться как мы занимались портированием его на коробку «Битрикса», почему так решили делать и с какими сложностями столкнулись.
Привет, я разработчик программного обеспечения в компании 1221Systems и хочу рассказать об опыте перевода проекта с монолитной архитектуры на микросервисную: как выглядел исходный проект и с какими проблемами мы столкнулись, какую архитектуру построили после рефакторинга и какие преимущества в итоге получили.
Что у нас было
Проект состоял из двух частей.
Это небольшой разбор поста от PHP Foundation: Compile time generics: yay or nay?, пропитанный личным мнением.
Путь из продактов в прогеры: выясняю, почему кодеры "гады" такие, делают только баги и плохо соблюдают сроки
Статья будет полезна для тех, кто менторит стажеров/джунов-программистов, и для самих смельчаков-новичков в этом нелегком деле.
Доброго времени суток, меня зовут Тимур. Я являюсь разработчиком на 1С платформе и так получилось что я разбираюсь в Web технологиях, моим любимым языком является PHP, и я подумал почему бы не сделать программное средство для администрирования 1С через web.
Администрировать 1С сервер можно через командную строку при помощи компоненты RAC которая предоставляет только терминальный интерфейс, что немного не удобно.
О компоненте я задумался чтобы самому администрировать 1С немного удобнее, а через Web интерфейс было вообще идеально. И вот что получилось...
Всем привет! Вы просили - я сделал! Я выпустил релиз №3 для бота технической поддержки на GitHub.
Прошло уже несколько месяцев с последнего обновления, и бот за это время получил вдвое больше звёзд на GitHub, что очень мотивирует продолжать развитие и поддержку проекта.
За последний месяц ко мне поступило несколько запросов расширить функционал бота за счёт подключения новых источников трафика. Изначально я думал добавить интеграции с популярными мессенджерами, такими как WhatsApp или Viber. Но в итоге решил, что в первую очередь стоит реализовать API, чтобы вы сами могли подключать любые свои источники.
В этой статье расскажу о новом API для подключения внешних источников — живых чатов, CRM и других систем, а также о других важных обновлениях и планах на будущее.