История о том, как стремление человека управлять сложностью меняло сами основы программирования.
Перед тем как перейти непосредственно к языкам программирования, мне очень хочется осветить одно событие.
История о том, как стремление человека управлять сложностью меняло сами основы программирования.
Перед тем как перейти непосредственно к языкам программирования, мне очень хочется осветить одно событие.
Привет! Сегодня покажем, как буквально за пару вечеров собрать систему, которая расшифровывает звонки, анализирует речь операторов и присылает руководителю отчёт в Telegram.
Например, в кол-центре с 15 операторами такая сводка поможет руководителю быстро понять, кто перегружен, где чаще звучит негатив, а кто просто слишком много говорит. Не надо слушать записи — отчёт сам всё рассказывает.
📊 Отчёт за 19 июля
🎧 Оператор дня: Иван Иванов (emotionScore: 0.42)
🥵 Больше всего негатива: Юлия Тестова (33%)
🗣️ Средняя скорость речи: 132 слов/мин
🤯 Самый «говорящий»: Андрей Максимов (74% времени)
Читать полностью »
Вы когда-нибудь пытались загрузить в память CSV-файл на миллион строк и увидели что-то вроде:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
Даже если увеличить memory_limit, ощущение всё равно неприятное: мы держим в памяти весь массив данных, хотя работаем с ним построчно.
Решение? Ленивые вычисления — подход, при котором данные генерируются и обрабатываются только тогда, когда они реально нужны.
В PHP это можно сделать двумя способами: с помощью генераторов (yield) и через Iterator API. Сегодня разберём оба.
Доброго времени суток, меня зовут Тимур. Я являюсь разработчиком на 1С платформе и так получилось что я разбираюсь в Web технологиях, моим любимым языком является PHP, и я подумал почему бы не сделать программное средство для администрирования 1С через web.
Администрировать 1С сервер можно через командную строку при помощи компоненты RAC которая предоставляет только терминальный интерфейс, что немного не удобно.
Например, чтобы проверить включены ли регламентные базы вам постребуется выполнить несколько команд
Читать полностью »
Поскольку исходный код проекта является проприетарным, для наглядности я буду использовать синтетический пример, который точно отражает суть проблемы.
Представьте:
Ядро (/core) с сотнями файлов в сложной структуре:
/core
├── /config
│ ├── app.yaml
│ └── routes/
├── /src
│ ├── /utils
│ │ ├── logger.py
│ │ └── network/
│ └── main.py
└── /templates
├── base.html
└── /admin
Плагин, который раскидывает свои файлы прямо в подпапки ядра:
Читать полностью »
Если вы писали хоть сколько-нибудь сложный код, то наверняка сталкивались с зависимостями между классами. Эта статья поможет понять, как сделать работу с такими зависимостями чистой и управляемой.
Цель статьи — дать начинающим PHP-разработчикам практическое понимание того, как работает внедрение зависимостей (DI) и контейнер внедрения зависимостей (DI-контейнеры), а также показать, как эти принципы применяются в современных фреймворках.
Для понимания примеров необходимы знания базового синтаксиса php.
Полный код примеров можно посмотреть в репозитории.
Однажды передо мной встала довольно интересная задача: обеспечить взаимодействие стороннего веб-приложения - и набора сервисов, имеющих gRPC интерфейс.
Нужно было проводить обработку данных от веб-приложения через конвейеры AI-агентов, собирать конечный результат, и отдавать его приложению.
А также, что немаловажно, обеспечить наглядность мониторинга и управления всем хозяйством.
Мне потребовалось поддержать три типа интерфейсов. Во-первых,RestAPI для веб-приложения. Во-вторых, gRPC для взаимодействия с сервисами. В-третьих, HTTP + Websocket для интерактивного мониторинга и управления.
После переезда в США в июне 2024 года, я, как и многие, столкнулся с распространенной проблемой – языковым барьером. Мой английский стабильно находился на уровне A1, несмотря на заранее установленные приложения вроде Duolingo. Я испытывал трудности в ресторанах, при заселении в отели, и даже при уточнении самых простых вещей.
Обычно онлайн-преподаватели и блогеры советуют учить по 5-10 слов, составлять предложения, заниматься регулярно по чуть-чуть. Я же выбрал, пожалуй, самый неочевидный способ – решил просто читать словарь.
Привет! Меня зовут Катя, я IT-рекрутер, нанимаю разработчиков в Авито уже 4й год. О сложном отношении к эйчарам я наслышана, поэтому сразу дисклеймер — это не классическая HR-статья о том, что у нас «классный офис, молодой коллектив и печеньки на кухне». Это честный рассказ о такой практике найма инженеров, как Weekend Offer (WO).