Как стать автором
Обновить
101.13
Рейтинг

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга

Ловим Енотисов при отладке на PHP: руководство для программистов

PHP *Программирование *
Из песочницы

Если вы владелец сайта и думаете, что на нём нет ошибок, то вы ошибаетесь. Если вы программист и думаете, что некоторые ошибки можно не обрабатывать, то вы тоже ошибаетесь. В обоих случаях речь идёт о Енотисах (E_NOTICE). Далее вы узнаете, почему им нужно уделять внимание и как сделать удобный инструмент для хранения и обработки ошибок.

Читать далее
Всего голосов 8: ↑3 и ↓5 -2
Просмотры 2.4K
Комментарии 13

Новости

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

PHP *Symfony *Laravel *

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 5.4K
Комментарии 15

Уменьшение трафика за счёт сжатия изображений. На примере Laravel

PHP *Laravel *
Tutorial

Как уменьшить трафик к вашему сайту в 200 раз? Возможно ли это?

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

Пример реализации на Laravel, его плюсы, минусы и возможные пути развития.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 3.4K
Комментарии 16

Тестирование в 1C Bitrix

PHP *1С-Битрикс Тестирование веб-сервисов *
Из песочницы

Говоря о разработке сайтов с использованием CMS 1C Bitrix вопрос покрытия тестами поднимается редко. Главная причина в том, что большинство проектов обходится штатным функционалом, который предоставляется системой - его сложно (да и, в общем-то, незачем) тестировать.

Но со временем проект разрастается, появляется необходимость интеграции со сторонними сервисами и службами (платежные системы, API служб доставки и другие), либо же разрабатывается все более и более специализированный функционал. И чем дальше, тем больше объем кода, контроль за которым лежит уже на разработчике.

Это и является предпосылкой для внедрения в CMS механизма тестирования.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.3K
Комментарии 11

Надежный способ сокрытия ссылок сайта от поисковых роботов

PHP *CSS *HTML *Поисковая оптимизация
Из песочницы

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

Читать далее
Всего голосов 17: ↑2 и ↓15 -13
Просмотры 3.8K
Комментарии 58

Как мы перевели операторов на единую платформу и стали закрывать по 240 тысяч задач в месяц

Блог компании Skyeng PHP *Angular *Управление проектами *Управление персоналом *

Так масштабировался сервис с марта 2020. Каждый цвет — группа операторов.

В Skyeng есть несколько отделов, которые сопровождают учеников. Например, отделы, отвечающие за входящую телефонную линию и техподдержку в чате на сайте. Есть группа Awake, работающая с учениками, которые брали перерыв в обучении. Есть группа Quality Control — она проверяет кейсы качества: например, что-то случилось на уроке и ученик оставил жалобу.

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

Но так было не всегда. Расскажу, как мы прошли путь от «завязанности» на ручном перетаскивании карточек задач и ручном выставлении приоритетов до единого сервиса, который экономит ресурсы операторов и разработки.

О жизни с внешними сервисами


Для работы с обращениями мы использовали такие системы как Usedesk, Omnidesk и Google Sheets. Это накладывало ограничения:

  • Операторам и менеджерам приходилось вручную создавать задачи. Такая рутина забирала много времени. Ошибиться проще простого.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.6K
Комментарии 0

SingleA: доменный SSO своими руками

Open source *PHP *Программирование *Symfony *
Recovery mode
Из песочницы

SingleA — это набор Symfony бандлов, которые позволяют развернуть свой PHP’шный SSO, реализующий фреймворк SingleAuth. Тот, в свою очередь, позволяет пользователям веб-приложений, живущих на общем домене (2 уровня и выше) перестать повторно ходить на SSO после того, как они один раз уже залогинились (даже ради простого редиректа).

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.6K
Комментарии 0

От микросервисов к монолиту — маршрут построен

Блог компании AGIMA PHP *API *Микросервисы *

Привет, Хабр! Меня зовут Артём Шубский, я техлид в компании AGIMA. Заметили, что на Хабре и на конференциях часто рассказывают, как перешли с монолита на микросервисы. Мы тоже всем сердцем любим микросервисы, но в этой статье я расскажу об обратном примере: как и почему на одном из проектов шли от микросервисов к монолиту. Это поучительная история о том, почему не страшно поменять архитектуру, даже когда кажется, что поздно.

Читать далее
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 4.6K
Комментарии 14

Totum — open source, self hosted база данных для непрограммистов

Open source *PHP *ERP-системы *CRM-системы *Развитие стартапа

Инструмент для цифровизации бизнеса в момент, когда он вырос из XLS-таблиц

Универсальный UI, логика на основе простых кодов, автоматические действия, права доступа, логирование, API и куча всего остального 👍

На вашем сервере, легко изучаемая и масштабируемая вместе с ростом бизнеса 🎉

Вместо целой команды проект могут вести 1-2 специалиста ✌️

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

Лицензия: MIT (бесплатно)

Читать далее
Всего голосов 27: ↑21 и ↓6 +15
Просмотры 5.7K
Комментарии 15

Распределенные Workflow на PHP. Часть 1

Блог компании Конференции Олега Бунина (Онтико) PHP *Программирование *Алгоритмы *Go *

Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают. А также как делать таймеры на 30 дней внутри процессов. И самое главное, как всё это пилить на PHP.

Меня зовут Антон Титов. Я более 17 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang. Разговор пойдет про нашу разработку Temporal PHP SDK, которая и помогает решать все вышеперечисленные сложные задачи.

Читать далее
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 2.6K
Комментарии 5

Настройка Xdebug 3 на внешнем сервере в Docker-контейнере через SSH-туннель

PHP *IT-инфраструктура *
Из песочницы

В нашей организации используется такой подход к разработке - на локальной машине (Windows 11) установлен PhpStorm и находится репозиторий с кодом. В PhpStorm настроена автоматическая выгрузка изменений на dev-стенд (внешний сервер), где и исполняется код. На dev-стенде: Ubuntu 20 и Docker (swarm mode).

Общий принцип настройки Xdebug таков:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2K
Комментарии 1

Простая аутентификация на PHP

PHP *
Tutorial

Многие новички до сих пор попадают в тупик при написании простейшей аутентификации в PHP. На Тостере с завидной регулярностью попадаются вопросы о том, как сравнить сохраненный пароль с паролем полученным из формы логина. Здесь будет краткая статья-туториал на эту тему.

Disclaimer: статья рассчитана на совершенных новичков. Умудрённые опытом разработчики ничего нового здесь не найдут, но могут указать на возможные недочёты =).

Читать далее
Всего голосов 28: ↑23 и ↓5 +18
Просмотры 9.3K
Комментарии 114

Как ускорить работу на macos в Docker окружении с помощью Mutagen

Разработка веб-сайтов *PHP *Программирование *
Из песочницы

Если вы работали на macos в docker окружении, то наверняка сталкивались с проблемой в производительности, например, при работе над php проектом, операции с файловой системой (обновление пакетов composer, ребилд контейнеров symfony, etc.) занимают просто неадекватное количество времени. Об особенностях работы docker'а на macos написано уже множество статей, а также workaround'ов как заставить его работать быстрее. В этой небольшой статье покажу как в решении этой проблемы Mutagen помог мне с php проектом и быть может поможет вам.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 3K
Комментарии 10

Функциональные тесты на проекте: жизнь до и после (на примерах)

Блог компании Skyeng Тестирование IT-систем *PHP *Программирование *Тестирование веб-сервисов *

Наша команда отвечает в Skyeng за личный кабинет и CJM пользователя до оплаты. Изначально проект был написан на Symfony 4.4 и представлял собой набор слабо связанных компонентов, которые были ответственны за правила работы для фронтенда.

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

У нас были лишь юнит-тесты: каждый покрывал логику одного класса. Все тесты вместе давали покрытие основной логики кода и гарантию, что все работает правильно. Но 100% покрытие кода тесты не обеспечивали. И сейчас не обеспечивают.

Код был сравнительно простой, простые были и тесты. В то время мы еще полностью не управляли CJM пользователя. Но когда это понадобилось, существовавших юнит-тестов оказалось недостаточно.

И мы обратились к функциональным.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.3K
Комментарии 5

Как ускорить выборку в 1с Битрикс в 20 раз

PHP *1С-Битрикс *
Из песочницы

Как ускорить 1С БИТРИКС и снизить кол-во запросов к БД используя ядро D7.

Пример выборки элементов IBlock с пользовательскими свойствами в один запрос.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 4.5K
Комментарии 9

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022)

Разработка веб-сайтов *PHP *Symfony *Yii *Laravel *

Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.

Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода последнего.

Если Роман сможет и захочет далее продолжать свой дайджест - он сам решит, как использовать мой текст: взять в свой проект, как его часть или нет. На всякий случай я ставлю нумерацию дайджеста через дробь. Однако не претендуя при этом на продолжение оригинального проекта.

Читать далее
Всего голосов 41: ↑41 и ↓0 +41
Просмотры 4.8K
Комментарии 5

Сравнение сервисов фильтрации нецензурной лексики

PHP *Python *Программирование *
Из песочницы

Недавно понадобилось мне подключить мой проект (сайт на WordPress, Телеграм-канал, ВК группу) к фильтру матов и озадачился я предложениями, которые выдает интернет. Поэтому решил проанализировать те, что смог найти и составить личный список, который, надеюсь поможет коммунити Хабра.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.3K
Комментарии 15

Новости Yii 2022, выпуск 1

PHP *Yii *

Всем привет!

Мы думали, что 2021 был тяжёлым годом из-за COVID. Текущий 2022 очень неприятно удивил.

Начался он с потери важного члена сообщества и отличного человека, Юлии "Insolita". Продолжился тем, что Россия начала полновесную военную операцию в Украине.

Что же мы имеем на данный момент?

Читать далее
Всего голосов 43: ↑40 и ↓3 +37
Просмотры 6K
Комментарии 3

Как мы 40% RAM освободили

PHP *NoSQL *1С-Битрикс
Из песочницы

О том, как мы столкнулись с огромными проблемами легаси сервиса фильтрации каталога и срочно начали думать, как это исправить переписать. О том, что у нас вышло с помощью redis, rabbit, bitrix -  в статье.

Читать далее
Всего голосов 26: ↑20 и ↓6 +14
Просмотры 27K
Комментарии 39

Не сажайте сотрудника для медиамониторингов вручную

PHP *Яндекс API *
Из песочницы

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.3K
Комментарии 0

Вклад авторов

Работа

PHP программист
194 вакансии