Рейтинг: 6 297
Верифицирован через Сбер ID
Всего отзывов: 6 0
Выполнено заданий: 1
  • Работ в портфолио: 22
  • Типовых услуг: 0
  • Работ на продажу: 0
Был на сайте:

Разработка сайта производителя взрывобезопасного оборудования

Используемые навыки:

Описание

Заказчик — один из ведущих производителей взрывобезопасного оборудования в России, пришел к нам с заданием написать скрипт для обновления информации о товарах на сайте. Данные для обновления должны были загружаться путем парсинга XML-файла, полученного из 1С.

Что мы делали

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


1. Парсинг файлов выгрузки из 1С
• Проблема
В этой задаче необходимо было написать скрипт для парсинга XML-файла и на основе полученных данных либо добавлять, либо обновлять товары на сайте. Для каждого товара существует свой отдельный файл с полным описанием свойств товара и огромным количеством различных вариаций его исполнения. Иногда размеры таких файлов доходили до нескольких гигабайт, из-за чего мы не могли парсить файлы обычными средствами, так как объем оперативной памяти на сервере был меньше, чем размеры этих файлов.
• Решение
В итоге был написан скрипт для парсинга, который не загружал во время парсинга весь файл целиком и работал с ним по строчкам, что, с одной стороны, усложнило логику, но с другой — позволило парсить файлы любых размеров.

2. Оптимизация запросов по поиску артикула, исходя из выбранной комплектации
• Проблема
Задача появилась спонтанно, во время тестирования логики работы с артикулами. После очередного парсинга файла выгрузки из 1С выяснилось, что у данного товара при изменении его конфигурации запросы на получение нового артикула выполняются приблизительно 30 секунд, что абсолютно неприемлемо. Необходимо было понять логику поиска артикула и найти тот проблемный участок кода, который не справлялся со своей задачей. В итоге после анализа и тестирования выяснилось, что весь ранее реализованный функционал абсолютно не рассчитан на работу с товарами, у которых может быть более сотни тысяч различных артикулов.
• Решение
Для решения проблемы код по поиску артикула был не только модернизирован, но и в большинстве своем полностью переписа

Презентация проекта

pic4462240.jpg

Оценили проект:

0