Обновить

Все потоки

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

Потихоньку расскажу, как сильно ускорять тяжёлые обновления 1С. Сегодня - про ускорение отложенных обработчиков.

Чтобы понять, какие обработчики долго выполняются, достаточно обновить копию и посмотреть. В форме выполнения обработчиков прям время будет написано, в днях/часах, сколько выполнялся обработчик. А сколько ему надо было объектов промурыжить - видно в отчёте “Прогресс отложенного обновления”.

Например, у нас сильно тормозил обработчик регистра сведений “РеестрДокументов” - выполнялся больше суток. Ему надо было перезаписать 9 млн. записей (столько в базе было документов).

Ремарка по поводу того, чего он так медленно работает - распараллеливание типовое плохо работает. При обновлении можно указать количество потоков, на которое распределяются обрабатываемые данные, но предварительное расследование показало, что один обработчик всё равно выполняется в чрезвычайно малом количестве потоков. Возможно, даже в одном потоке. Это очень мало и потому очень долго.

Дальше идём в три процедуры модуля менеджера обновляемого объекта:

  1. ПриДобавленииОбработчиковОбновления - там надо будет через расширение отключить добавление обработчика, чтобы типовое обновление его не выполняло. Там же смотрим, какой процедурой регистрируются данные к обработке (свойство ПроцедураЗаполненияДанныхОбновления, обычно там ЗарегистрироватьДанныеКОбработке). Там же смотрим, какой процедурой выполняется обработчик (свойство Процедура, обычно там ОбработатьДанныеДляПереходаНаНовуюВерсию).

  2. Процедура регистрации (обычно ЗарегистрироватьДанныеКОбработке). В ней надо забрать запрос, который формирует данные к обработке. Обычно там всё несложно - запрос, выборка результата и его складывание в план обмена (ОбновлениеИнформационнойБазы.ОтметитьКОбработке). Нам нужен только запрос и выборка данных, в план обмена ничего писать не нужно.

  3. Процедура выполнения обработчика (обычно ОбработатьДанныеДляПереходаНаНовуюВерсию). Там лежит код обработки. В нём много лишнего (обвес для типовых процедур обновления), но суть обычно понять несложно - читаются данные, сформированные п.2, и что-то с ними делается. Бывает, ещё один-два запроса делаются. Берём вот эту содержательную часть и забираем себе. Не забываем заменить ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки на обычную запись - нам не надо регистрировать обработку в плане обмена.

Дальше нужно написать обработку, которая запустит энное количество ФЗ, каждому скормит массив данных к обработке (из п.2), и ФЗ выполнит адаптированный код из п.3. Мы делали расширение, в него складывали процедуру ФЗ, на входе - массив (обычно это массив ссылок). В процедуре - код из п.3. И обработку внешнюю, в которой мы указываем количество потоков, она выполняет большой запрос из п.2, делит результат на потоки, и запускает кучу ФЗ. И всё.

Контролировать прогресс выполнения можно разными способами. Первый, который я использовал - просто выполнял запрос из п.2. Подавляющее большинство запросов в обработчиках обновления написано так, что возвращают только необработанные данные. Соответственно, их в процессе выполнения становится всё меньше. Но этот запрос может выполняться сильно долго. Потом я сделал несложный регистр сведений, и в каждое ФЗ положил пару строк записи в этот РС - после обработки каждого объекта ФЗ “отчитывалось”, и в регистре было видно общий прогресс.

При наличии нормального объёма ОЗУ запускать такие обработчики можно и в 16, и в 32, и в 48, и даже в 100 потоков (проверено). Это количество ФЗ на один обработчик. А вообще мы в это распараллеливание вывели 22 обработчика из 4 редакций.

Ускорение получается очень существенное - тот, который выполнялся сутки, стал выполняться за 4 часа.

https://t.me/ywhite

Теги:
+3
Комментарии0

Приглашаем на встречу о профессии «Инженер в области искусственного интеллекта»!

  • Где сегодня проходит граница между научным исследованием и прикладным программированием в области ИИ?

  • С какими вызовами сталкиваются лаборатории при обучении моделей-гигантов?

  • Какую роль в карьере играет академический бэкграунд?

  • Как устроена жизнь внутри университетских R&D-центров и чем она отличается от разработки в коммерческих ИТ-гигантах?

Обо всём этом в эту субботу расскажет Виталий Пирожников, руководитель лаборатории искусственного интеллекта в «Криптоните», вместе с представителями других компаний!

Где: в Музее криптографии (Москва, улица Ботаническая, дом 25, строение 4) Когда: 4 апреля, суббота, начало в 15:00 Как попасть: посещение встречи бесплатное. Нужно только зарегистрироваться по ссылке.

Встреча проходит в рамках профориентационного проекта «Ключ к профессии», которые проводит Музей криптографии. Эти встречи полезны для старшеклассников и студентов младших курсов, планирующих связать жизнь с наукой и инженерией.

Теги:
+3
Комментарии0

Плагин для проведения кокунрентного анализа с помощью ИИ

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

И тогда, чтобы решить задачу с конкурентным анализом я написал отдельного агента на LangChain – Playwright, парсинг сайтов, всё такое.

А теперь с появлением skills паттерна или настройки для агентских систем Claude Code (и в Cursor, Codex) в этом просто пропала необходимость.

Я перетащил все логику из того агента в скилл, и написал плагин который делает тоже самое, но более эффективно и в вашем любимом инструменте.

Если пользуетесь Claude Code, Cursor, Codex — забирайте:

npx skills add Ata-ux/pm-copilot --skill competitive-analysis -g

Просто отправьте это своем агенту, все установится автоматически.

Работает так: после установки, напишите «проведи конкурентный анализ и укажите конкурентов или домен своего продукта»: он сам ходит по сайтам, собирает позиционирование, фичи, тарифы, отзывы, делает SWOT и складывает всё в таблицу.

Теги:
+3
Комментарии0

Многие удивляются и спрашивают: Зачем мы делаем Стачку именно в Ульяновске, небольшом городе на Средней Волге?

И вправду, коммерческой логики в этом не очень много. Да, в Ульяновске есть ИТ‑компании и достаточно развитая ИТ‑индустрия, но в соседних, более крупных городах, очевидно, что специалистов больше. Если говорить про Москву, так больше на пару порядков. И очевидно, что такого объема мероприятие, где более 300 крутых спикеров, но проведенное в Москве, будет успешнее, чем в Ульяновске.

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

Но мы росли, развивались и к 2019 году собрали на площадках Ульяновска и Иннополиса более 6000 участников, объединив специалистов со всей страны. В 2020 году пришла пандемия и мероприятия запретили проводить. 

Только в 2023 году, после 3 лет застоя, мы смогли собраться и провести мероприятие. Мы начали строить команду, пересобирать мероприятие, потому что понимали, что хотим и дальше развивать ИТ‑индустрию. Мы слышали отклики ребят, что это круто и это очень им помогает. Мы видели, как работает нетворкинг, когда люди знакомятся и вместе потом решают крутые задачи. Но стоит ли этого того, чтобы продолжать? :-)

Сейчас индустрия переживает сложные времена. Мы понимаем, что для многих ИТ-компаний и ИТ‑специалистов сейчас непростое время. Мягко говоря, не до развития. Но мы чётко уверены, что именно такие времена и порождают что‑то новое, прорывное, именно сейчас мы, как мероприятие, очень нужны. Где ещё можно узнать на самом деле, что происходит в индустрии? Где ещё понять, какие возможности открываются?

Нам хочется также, как и тогда, в 2012 году, развития. Больше востребованных специалистов, больше успешных ИТ‑компаний. Именно это позволит развивать город, регионы и страну в целом.

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

Стачка — это в первую очередь наша крутая команда, ребята — вы лучшие. 

Огромное спасибо вам за ежедневный труд!

Нас поддерживают и помогают много ребят, огромное спасибо, что вы с нами! 

И да, мы будем продолжать делать Стачку в Ульяновске. 

Для каждого, кто читает этот пост.

Stop working! Все на Стачку!

10–11 апреля, Ульяновск.

Теги:
+3
Комментарии0

Доказал на Lean 4 несколько теорем про факториал и алгоритм Евклида.

Это было довольно забавно! Правда, на индукции я немного забуксовал. Нужно разобраться с этим подробнее. Советую попробовать вам самим доказать какие-нибудь теоремы.

Для обучения Lean есть несколько игр. Там постепенно вводятся тактики, хотя мне больше пользы принесло доказательство теорем в обычном редакторе с подсказками от ИИ. Он правда иногда ошибается, но Lean подсветит ошибки.

Есть учебники по Lean, а попробовать его можно в песочнице.

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

Особенно интересно может быть написать какую-нибудь программу (это ведь язык программирования!) и доказать некоторые её свойства (это же помощник для доказательств!)

Буду рад, если кто-нибудь присоединится ко мне в изучении этого языка!

Теги:
+3
Комментарии0

Присоединяйся к первой ИТ-встрече MWS в онлайн-формате — в программе актуальное про ИТ-архитектуру 🎙️

Привет! Мы запускаем серию онлайн-встреч, где будем обсуждать актуальные темы из разных направлений в ИТ. Одна встреча — одно направление.

Начнем с трендов в разработке и обслуживании ИТ-архитектуры. С докладами выступят эксперты из Гильдии Архитекторов MWS — присоединяйся!

Будет полезно архитекторам всех уровней, аналитикам, СРО и СТО платформ, руководителям и командам центров, ВО и лидерам направлений, а также всем, кто интересуется темой.

📅 Когда: 31 марта (вторник) в 15:00 по мск

📍 Где: онлайн 

👉 Зарегистрироваться

Теги:
+3
Комментарии0

Многим кажется, что IT рынок на последнем издыхании, и работу найти сложно. А между тем, международная статистика выглядит неожиданно воодушевляющей! Делюсь с вами занимательной аналитикой американского рынка продакт менеджеров от Ленни Рачитски.

Количество вакансий для продактов на максимуме с 2022 года
Количество вакансий для продактов на максимуме с 2022 года

Главные выводы:

1. Количество открытых продуктовых вакансий достигло максимума с 2022 года — 7379 объявления при минимуме 4113 в 2023 году — рост на 79%!

2. Спрос на инженеров продолжает расти не смотря на то, что "AI заменит программистов" — 67665 вакансий против 37982 в 2023 году — рост на 78%.

3. Рекрутёров нанимают со страшной силой чтобы искать лучшие таланты — количество вакансий для HR почти достигло пика 2022 года — 2280 обявлений.

4. Количество вакансий AI-продактов выросло в 3-4 раза с 2023 года и сейчас достигло абсолютного максимума за всё время — 36686 вакансий!

5. Вакансий продактов в кремниевой долине (Bay Area) больше (23%), чем вакансий для инженеров (20.6%) и дизайнеров (20.3%)!

6. По количеству вакансий для продактов в международных IT-хабах мира лидируют США (Bay Area) — 1442 объявления, США (удалёнка), далее города США - Нью Йорк и Сиэттл. Далее с серьёзным отставанием Бангалор (Индия) — 386 вакансий, Лондон, Тель-Авив и прочие.

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

У меня есть свои мысли относительно представленной в статье и на графиках информации, но хочется знать ваше мнение, друзья — какие выводы лично вы делаете из этих данных?

Здесь пост со всеми графиками по приведённым пунктам: ссылка
А здесь — оригинал статьи на английском: оригинал

————————

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

Теги:
+2
Комментарии5

С днём, когда забанили Гугль )

Некоторые сотовые операторы (не будем показывать пальцем) не нашли ничего лучше чем заблокировать google com, а вместе с ним кучку вполне добропорядочных отечественных сервисов. Про неотечественные и не говорю.

Ну и куда податься бедному крестьянину, желающему посмотреть на "замедленном" Ютубе про выращивание рассады, и поискать в интернете чертежи теплицы, сидя на даче?

Пришлось пенсионерам приобщаться к премудростям работы сетей и к технологиям исправления поломанного. Заодно и телеграм с вотсапом заработали.

Если цель всего этого цирка - поднятие компьютерной грамотности и воспитание недоверия - работа проводится успешно.

Теги:
+2
Комментарии0

Представлен интерактивный курс Understanding LLMs by Building One, который помогает собирать нейросеть с нуля и разбирать её структуру, включая:

  • базу: архитектура, токенизация, полезные фреймворки и библиотеки, инференс, файн-тюнинг и прочее.

  • в курсе 8 глав, которые можно освоить буквально за выходные

  • информация понятно подаётся и структурирована.

Теги:
+2
Комментарии0

Анализ истории сделок на предмет перекоса шортистов/лонгистов

Ссылка на GitHub

В backtest-kit модуль volume-anomaly используется как источник в графе сигналов - параллельно с GARCH. Если GARCH отвечает на вопрос «достаточно ли ожидаемое движение», то volume-anomaly отвечает на вопрос «является ли прямо сейчас статистически необычным моментом в микроструктуре рынка».

Пример кода

import { sourceNode, outputNode } from '@backtest-kit/graph';
import { predict } from 'volume-anomaly';
import { getCandles } from 'backtest-kit';

const ANOMALY_CONFIDENCE = 0.75;
const N_TRAIN  = 1200; // обучающее окно — должно быть без аномалий
const N_DETECT = 200;  // окно детекции

const reversalSource = sourceNode(
  async (symbol) => {
    // Важно: recent не должен пересекаться с historical
    const all        = await getAggregatedTrades(symbol, N_TRAIN + N_DETECT);
    const historical = all.slice(0, N_TRAIN);  // старые сделки — baseline
    const recent     = all.slice(N_TRAIN);     // новые — без overlap

    return predict(historical, recent, ANOMALY_CONFIDENCE);
    // {
    //   anomaly:    true,
    //   confidence: 0.81,
    //   direction:  'long' | 'short' | 'neutral',
    //   imbalance:  0.61,
    // }
 },
);

const entrySignal = outputNode(
  async ([reversal, ...]) => {
    if (!reversal.anomaly) return null;
    if (reversal.direction === 'neutral') return null;

    const position = reversal.direction; // 'long' | 'short'

    return {
      id: randomString(),
      position,
      priceTakeProfit: ...
      priceStopLoss: ...
      minuteEstimatedTime: 60,
    };
  },
  reversalSource,
  ...
);

Ключевые детали

  • Hawkes Process - кластеризация ордеров

  • CUSUM- сдвиг buy/sell дисбаланса относительно исторической нормы

  • BOCPD- смена режима: момент когда распределение дисбаланса само меняется

Как использовать

Классическая проблема DCA - ты усредняешься в падающий нож. Цена идёт против, ты докупаешь, а она продолжает падать. volume-anomaly заточен именно под это: докупать не по расписанию или по сетке уровней, а только когда ордерфлоу показывает разворот агрессии.

Теги:
+2
Комментарии0

Если кто-то вдруг использует мой Licensedog для сбора информации о техстеке.

С сегодняшним обновлением, оно успешно разыскало в интернете и проверило все 5546 зависимости одного из наших проектов, кроме 4 мусорных внутренних библиотек.

Научил работать с Java (раньше были только Python, JS и Go). Починил целую пачку багов.

Это такой краулер, который принимает на вход SBOM (в виде CSV или cyclonedx) и потом сомневается в нем: старается обойти интернет, и на самом деле физически найти файлы с лицензиями. Выкачать их репозиториев, распаковать из архивов, или даже открыть в барузере их сайты и распарсить веб-странички. И фактически проверить на соответствие. В отчете описывает, что и откуда взялось, и почему она думает что лицензия на самом деле не MIT а GPL. На выходе получается CSV или JSONL файл, который можно отгружать безопасникам на ревью.

Исходники - как всегда, на GitVerse.

https://gitverse.ru/anarchic/licensedog

Теги:
+2
Комментарии2

Вторая часть курса по JavaScript уже доступна 💻

Привет, Хабр! Массивы, объекты, операторы, DOM — если вы еще не работаете с ними, проходите бесплатный курс «Первые шаги в JavaScript». Во время обучения вы освоите базовый синтаксис и конструкции языка, а затем напишете пет-проект.  

Вторая часть состоит из пяти модулей. После курса вы сможете:

  • изучать более продвинутые фреймворки и библиотеки;

  • понимать архитектуру простых веб-приложений;

  • писать скрипты, управлять DOM и изменять интерфейс веб-страниц.

Осваивайте практические навыки с помощью IT-инфраструктуры Selectel — промокод на бесплатный доступ уже ждет на курсе. После успешного прохождения финального теста пришлем именной сертификат.

Начните обучение прямо сейчас →

Теги:
+2
Комментарии1

SpaceWeb добавил в частное облако четыре DevOps-инструмента: MinIO, Zulip, n8n и Zabbix

SpaceWeb запустил в частном облаке серию готовых open-source сервисов для командной разработки. Каждый разворачивается независимо — можно выбрать только то, что нужно под конкретную задачу. В набор вошли четыре инструмента:

  • MinIO — S3-совместимое объектное хранилище для бэкапов, логов, артефактов сборки и статики;

  • Zulip — командный чат с тематическими ветками для асинхронной работы;

  • Zabbix — мониторинг серверов и приложений: CPU, память, диски, базы данных, веб-серверы;

  • n8n — конструктор автоматизации без кода: соединяет сервисы, ловит вебхуки, создает тикеты, управляет файлами.

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

Подробности — на сайте SpaceWeb.

Теги:
+2
Комментарии0

Ближайшие события

Теперь на платформе VK WorkSpace есть инструмент «Рассылки» для автоматизации процесса отправки email-коммуникаций. Решение позволяет отправлять массовые письма клиентам и партнерам без сложных интеграций и привлечения ИТ-специалистов. 

Инструмент подходит для решения задач:

  • Информирование клиентов о событиях, акциях и обновлениях.

  • Отправка транзакционных и операционных уведомлений.

Что получают компании после подключения:

🔹 Простота и скорость запуска. Инструмент доступен в панели администратора VK WorkSpace и имеет интуитивно понятный интерфейс, а подготовка первой рассылки занимает всего несколько минут. Для верстки писем есть HTML-редактор, а контакты из базы можно импортировать из CSV-файла.

🔹 Высокий уровень безопасности. Инструмент соответствует требованиям 152-ФЗ: все данные размещаются на серверах, расположенных на территории РФ. Также решение обеспечивает защищенную отправку с высокой доставляемостью.

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

Как подключить:
Инструмент «Рассылки» уже доступен для новых и действующих пользователей On-Cloud версии платформы VK WorkSpace. 

Подойдет для масштабирования бизнеса и увеличения продаж. Ознакомиться в подробностях с решением можно на сайте →

Теги:
+2
Комментарии0

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

Теги:
+2
Комментарии0

Хотели бы побыть в шкуре чиновника-технофоба, блокирующего в интернете всё, до чего могу дотянуться пухленькие ручки?

Мне показалось это хорошая идея для первоапрельской Telegram Mini App и я написал PZDNET — где гильдии чиновников и общественников борются за максимальное количество блокировок в интернете.

Никакого здравого смысла. Только холодный расчет и нездоровая жажда «регулирования».

Приходи, интернет сам себя не заблокирует.

Теги:
+2
Комментарии0

Как я на смыслах сделала х6,5

Однажды меня пригласили в проект. Блоггер‑миллионник, проект по органическому земледелию (дачный сад‑огород). Аудитория 99, 9% женская.

Команда делала запуск курса. 970 000 ₽

На следующий запуск они пригласили меня сценаристом прогревов.

И я начала с самого начала, с базы — с составления таблицы продающих смыслов.

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

Я пошла изучать кастдевы. И выяснила интересную вещь: большинство женщин на самом деле хотели совсем другого: не экологически чистый урожай, не систему. Они хотели, чтобы муж их похвалил (какая ты у меня хозяюшка), чтобы соседи завидовали, подруги и коллеги восхищались.

И я полностью развернула продающие смыслы.

2 месяца я вела прогрев но новым смыслам: в общем канале (задача была перевести в закрытый канал вебинара) и в закрытом канале. И наконец пошли те самые долгожданные комментарии:

Жизнь )) Вы прямо про меня пишете Каждый раз об этом думаю

Финансовый результат нового запуска: 6 540 000 ₽ В 6,5 раз больше.

Почему?

Потому что канал стал зеркалом. В котором участницы видели себя. То, в чем они сами себе не признавались. Но то, что было для них важно.

Потому что они поняли, что это — пространство, где их понимают и принимают. Где желание похвалы не порицается.

Потому что выгоды курса стали для них настолько очевидными, что вопросы «Куда платить» стали появляться еще до продающего вебинара.

И когда была объявлена цена курса, то ценность его уже была совершенно оправданна.

Теги:
+2
Комментарии1

Встроенная защита от DDoS в Рег.облаке: подключение без отдельного контура и сложной интеграции

Рег.облако договорилось о партнерстве с DDoS-Guard и интегрировало их защиту прямо в облачную платформу — подключить можно через стандартную панель управления. Актуальность очевидна: за 2025 год атаки на облачный сегмент выросли почти в полтора раза, 80% из них бьют по уровню L7 — прямо по сайтам, API и личным кабинетам.

Решение работает на уровнях L3–L4 и L7: автоматически обнаруживает атаки, запускает фильтрацию за несколько секунд и противодействует ботам через поведенческий мультивекторный анализ. Особенно актуально для интернет-магазинов, игровых платформ, финансовых сервисов и корпоративных систем — там простой стоит дорого.

Подробнее об интеграции читайте на сайте Рег.облака

Теги:
+2
Комментарии0

Про типичный паттерн, который помогает решать задачи по производительности в 1С.

Оптимизировали как-то мы обмен (как начало сказки звучит 😁). Вообще, началось не с обмена, а с “иногда 1С внезапно начинает тормозить”. Посмотрели журнал регистрации, выполнение регламентных и фоновых - увидели, что обмен идёт.

Обмен самописанный, под конкретную задачу. В одной базе живут продажи, в другой - номенклатура, цены, штрихкоды и т.д. (некая база с мастер-данными). Когда цены меняют, они должны сразу попасть в базу с продажами (там Розница стоит). Вот этот обмен и тормозил. Провели установку цен - подвисли. Обмен обычный, универсальный, с правилами (на конвертации данных 2).

В таких случаях под подозрение правила попадают - там, при желании, можно настоящий мрак устроить (например, кучей запросов). Посмотрели - ну да, есть запросы, которых можно было избежать. Но вроде не критично.

Второй подозреваемый - количество выгружаемых данных. Здесь важно понимать паттерн - он часто помогает при оптимизации даже типовых 1Сных решений. Паттерн такой: разработчик почти всегда тестирует на ограниченных данных и в идеальной среде (если не было задачи именно оптимизированный алгоритм написать). Если он пишет обмен, то проверяет на 1-2-10 объектах. И на идеальной среде - в которой нет никого, кроме него. Если разрабатывает планирование, то для 2-3 заказов. И там, где он один. И т.д.

Вообще, это всё ежу понятно. Но когда дело доходит до проблем с производительностью, то почему-то паттерн этот часто забывается. Забывание выражается в том, что все исходят из предпосылки “там всё правильно сделано”. А это не всегда так. Оно сделано правильно, но для небольшого объёма данных и для среды, где нет пользователей и другой нагрузки.

Вот и в нашем случае, первые мысли были - переписать весь обмен. Вообще уйти от XML и правил, написать сервис. Потом немного одумались, вспомнили паттерн, и пошли проверять файл с сообщением обмена.

Ну и да, он оказался несколько великоватым. Потом что по умолчанию, вместе с установкой цен, тащил за собой все реквизиты всех номенклатур, упомянутых в документе. А номенклатур там много. И ещё запросом добавлялись штрихкоды.

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

https://t.me/another1C

Теги:
+2
Комментарии0

22 открытых урока недели от преподавателей курсов

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

Открытые уроки – это простой способ закрыть этот разрыв: посмотреть, как мыслят практики, протестировать формат обучения и заодно забрать прикладные знания, которые можно использовать сразу.

Ниже – подборка бесплатных онлайн-уроков недели от преподавателей курсов Otus.

30 марта, понедельник:

31 марта, вторник:

1 апреля, среда:

2 апреля, четверг:

Больше бесплатных уроков от преподавателей курсов можно посмотреть в календаре мероприятий.

Теги:
+2
Комментарии0