[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"media-detail-with-another-reklama-srabotala-sayt-lyog-pikovyy-trafik":3,"$E2qPcpmlYp":962,"media-areas-with-all-count":1364},{"media":4,"anotherMedia":809},{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16,"media_areas":17,"cover":759,"content":802,"media_event":9,"seo":806},626,"mfzw1oxq307h7hldor2v71hh","Реклама сработала, сайт лёг: как проверить предел системы до пикового трафика","2026-09-08",null,1,"reklama-srabotala-sayt-lyog-pikovyy-trafik",true,"2026-09-08T11:25:13.641Z","2026-10-22T12:21:56.764Z","2026-10-22T12:21:56.859Z","ru",[18,735],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16,"media":26,"localizations":734},2,"ei24o3vyhndi1hqwqhnd61p0","Все","ALL",500,"2026-02-25T07:47:50.713Z","2026-02-25T07:47:50.739Z",[27,36,45,54,63,72,81,90,100,109,118,127,136,145,155,164,173,182,191,200,209,219,229,238,247,256,265,274,283,292,301,310,319,328,337,338,347,356,364,373,382,390,398,406,415,424,433,441,449,459,468,477,486,497,506,515,524,532,541,549,557,565,573,582,590,598,607,616,625,633,641,650,659,668,677,685,693,701,709,718,726],{"id":28,"documentId":29,"title":30,"date":31,"description":9,"order":23,"slug":32,"showOnMainPage":12,"createdAt":33,"updatedAt":34,"publishedAt":35,"locale":16},650,"px232j10z8907syoldwzbqnw","Проверка ИТ-компаний налоговой: что смотрят и как подготовиться","2026-03-27","pochemu-v-2026-godu-vazhen-ne-status-it-kompanii-a-realnyj-produkt","2026-03-27T15:41:14.276Z","2026-10-22T12:29:41.985Z","2026-10-22T12:29:42.061Z",{"id":37,"documentId":38,"title":39,"date":40,"description":9,"order":23,"slug":41,"showOnMainPage":12,"createdAt":42,"updatedAt":43,"publishedAt":44,"locale":16},627,"gbefdj7617jkuhdg2uiw6ifn","Сколько стоит разработка MVP в 2026","2026-03-26","stoimost-razrabotki-mvp-v-2026-godu","2026-03-27T16:29:20.000Z","2026-10-22T12:22:02.677Z","2026-10-22T12:22:02.768Z",{"id":46,"documentId":47,"title":48,"date":49,"description":9,"order":23,"slug":50,"showOnMainPage":12,"createdAt":51,"updatedAt":52,"publishedAt":53,"locale":16},558,"iemgcvwws2lyzyz8qref9ebq","Где заканчивается внедрение и начинается собственный продукт","2026-04-23","vnedrenie-korobochnyh-resheniy-i-sobstvennyy-produkt-dlya-biznesa","2026-04-23T12:45:27.057Z","2026-10-22T12:14:23.621Z","2026-10-22T12:14:23.685Z",{"id":55,"documentId":56,"title":57,"date":58,"description":9,"order":23,"slug":59,"showOnMainPage":12,"createdAt":60,"updatedAt":61,"publishedAt":62,"locale":16},615,"ebwajdbr53mo5mno9n9hy44c","AI-агенты в продакшене: экономия или новая статья расходов","2026-04-29","ai-agenty-v-biznese","2026-04-29T15:00:44.149Z","2026-10-22T12:20:04.759Z","2026-10-22T12:20:04.855Z",{"id":64,"documentId":65,"title":66,"date":67,"description":9,"order":23,"slug":68,"showOnMainPage":12,"createdAt":69,"updatedAt":70,"publishedAt":71,"locale":16},617,"h713429nv5nf42hksety3udo","Как выбрать подрядчика по разработке: чек-лист от компании с 280+ проектами","2026-05-12","kak-vybrat-podryadchika-po-razrabotke","2026-05-12T14:27:43.934Z","2026-10-22T12:20:39.559Z","2026-10-22T12:20:39.639Z",{"id":73,"documentId":74,"title":75,"date":76,"description":9,"order":23,"slug":77,"showOnMainPage":12,"createdAt":78,"updatedAt":79,"publishedAt":80,"locale":16},620,"fleu8iabwalh7dwbfkxuew4p","Flutter в продакшене: где появляется экономия","2026-06-23","flutter-v-razrabotke-ekonomiya-na-mobilnykh-prilozheniyakh","2026-06-23T13:14:39.410Z","2026-10-22T12:20:56.325Z","2026-10-22T12:20:56.381Z",{"id":82,"documentId":83,"title":84,"date":85,"description":9,"order":23,"slug":86,"showOnMainPage":12,"createdAt":87,"updatedAt":88,"publishedAt":89,"locale":16},621,"g0rbfiyvtlpoh0wlalq8dsyp","Когда бизнесу пора переходить от идеи к MVP","2026-07-03","kogda-biznesu-stoit-perehodit-ot-idei-k-mvp","2026-07-03T14:26:20.648Z","2026-10-22T12:21:02.084Z","2026-10-22T12:21:02.178Z",{"id":91,"documentId":92,"title":93,"date":94,"description":9,"order":95,"slug":96,"showOnMainPage":12,"createdAt":97,"updatedAt":98,"publishedAt":99,"locale":16},623,"txt60k65mnql530q38z0path","Когда онлайн-школе пора менять стандартную LMS\n","2026-07-13",300,"kogda-onlajn-shkole-stoit-smenit-standartnuyu-lms","2026-07-13T14:45:31.490Z","2026-10-22T12:21:14.346Z","2026-10-22T12:21:14.439Z",{"id":101,"documentId":102,"title":103,"date":104,"description":9,"order":23,"slug":105,"showOnMainPage":12,"createdAt":106,"updatedAt":107,"publishedAt":108,"locale":16},661,"jknljxwtbcr6umo95k5onfcq","Видеоплатформа для онлайн-школы: как сделать вход в урок одной кнопкой","2026-07-17","videoplatforma-dlya-onlajn-shkoly","2026-07-17T13:13:00.710Z","2026-10-22T13:31:33.096Z","2026-10-22T13:31:33.137Z",{"id":110,"documentId":111,"title":112,"date":113,"description":9,"order":10,"slug":114,"showOnMainPage":12,"createdAt":115,"updatedAt":116,"publishedAt":117,"locale":16},587,"yazmsp31df1ggv8saaix8dkd","Разработка SaaS-сервиса: как фраза «тут почти стандартно» убивает экономику подписки","2026-07-22","-tut-pochti-standartno-para-nyuansov-kak-eta-fraza-ubivaet-ekonomiku-podpiski","2026-07-22T11:46:36.625Z","2026-10-22T12:17:01.128Z","2026-10-22T12:17:01.212Z",{"id":119,"documentId":120,"title":121,"date":122,"description":9,"order":23,"slug":123,"showOnMainPage":12,"createdAt":124,"updatedAt":125,"publishedAt":126,"locale":16},619,"gnlxdx5dl5wgdemt91xm57j9","4 продукта на NestJS: где стек сработал, а где мы ушли на Go\n","2026-07-23","-produkty-na-nestjs-i-go","2026-07-23T15:10:53.621Z","2026-10-22T12:20:50.541Z","2026-10-22T12:20:50.629Z",{"id":128,"documentId":129,"title":130,"date":131,"description":9,"order":23,"slug":132,"showOnMainPage":12,"createdAt":133,"updatedAt":134,"publishedAt":135,"locale":16},597,"nlh8oehrwqcexi2atoqykh3s","Как мы для онлайн-школы выбирали между коробкой, конструктором и стройкой с нуля — и что из этого выходит по деньгам\n","2026-07-27","-vybor-mezhdu-korobkoy-konstruktorom-i-stroykoy-onlayn-shkoly","2026-07-27T15:09:01.113Z","2026-10-22T12:18:19.821Z","2026-10-22T12:18:19.926Z",{"id":137,"documentId":138,"title":139,"date":140,"description":9,"order":23,"slug":141,"showOnMainPage":12,"createdAt":142,"updatedAt":143,"publishedAt":144,"locale":16},599,"u6ilvydbctqytrf7heo2scno","Кнопка «Войти» за миллионы: когда бизнесу правда нужна своя ВКС\n","2026-07-28","-knopka-voiti-za-milliony-kogda-biznesu-pravda-nuzhna-svoya-vks","2026-07-28T13:47:41.153Z","2026-10-22T12:18:25.068Z","2026-10-22T12:18:25.152Z",{"id":146,"documentId":147,"title":148,"date":149,"description":9,"order":150,"slug":151,"showOnMainPage":12,"createdAt":152,"updatedAt":153,"publishedAt":154,"locale":16},614,"dcenjtj61ta9j4xssc9be8n4","AI-чатбот за 2 недели: что проверить до сметы на 2 млн","2026-07-30",3,"-ai-chatbot-chto-proverit-pered-razrabotkoy","2026-07-30T13:23:01.866Z","2026-10-22T12:20:01.374Z","2026-10-22T12:20:01.468Z",{"id":156,"documentId":157,"title":158,"date":159,"description":9,"order":10,"slug":160,"showOnMainPage":12,"createdAt":161,"updatedAt":162,"publishedAt":163,"locale":16},574,"k77qvgjbwvomrrx4tn51benn","Почему похожие интернет-магазины отличаются по стоимости в несколько раз","2026-07-31","-pochemu-pohozhie-internet-magaziny-otlichayutsya-po-stoimosti-v-neskolko-raz","2026-07-31T16:11:46.552Z","2026-10-22T12:14:58.826Z","2026-10-22T12:14:58.900Z",{"id":165,"documentId":166,"title":167,"date":168,"description":9,"order":23,"slug":169,"showOnMainPage":12,"createdAt":170,"updatedAt":171,"publishedAt":172,"locale":16},618,"myvt92baeeu5v8avnec7dqxv","Редизайн интернет-магазина: почему новая кнопка не спасает продажи, если товара нет","2026-08-03","-redizayn-interfeysa-v-e-commerce","2026-08-03T15:04:24.695Z","2026-10-22T12:20:44.922Z","2026-10-22T12:20:45.018Z",{"id":174,"documentId":175,"title":176,"date":177,"description":9,"order":23,"slug":178,"showOnMainPage":12,"createdAt":179,"updatedAt":180,"publishedAt":181,"locale":16},655,"a4ckp7tbgmtv0utmia4b808l","Разработка личного кабинета: когда кабинеты пора собирать в экосистему, сроки и стоимость","2026-08-04","-lichnye-kabineti-v-ekosisteme-optimizatsiya-protsessov","2026-08-04T14:13:59.695Z","2026-10-22T12:30:06.596Z","2026-10-22T12:30:06.701Z",{"id":183,"documentId":184,"title":185,"date":186,"description":9,"order":150,"slug":187,"showOnMainPage":12,"createdAt":188,"updatedAt":189,"publishedAt":190,"locale":16},616,"k14jk3d9zgf69tmumdlcoh2f","Сколько стоит AI после релиза: токены, контекст, хранение и контроль качества","2026-08-05","-stoimost-ai-posle-reliza-tokeny-kontekst-khranenie-i-kontrol-kachestva","2026-08-05T17:49:43.277Z","2026-10-22T12:20:33.911Z","2026-10-22T12:20:33.984Z",{"id":192,"documentId":193,"title":194,"date":195,"description":9,"order":19,"slug":196,"showOnMainPage":12,"createdAt":197,"updatedAt":198,"publishedAt":199,"locale":16},593,"jdz6gl00sz72z0egu84yf8cn","16 млн за полгода: аутсорс или штат в 2026 году","2026-08-06","-autsorsing-ili-shtat-sravnenie-zatrat","2026-08-06T17:30:36.209Z","2026-10-22T12:17:30.026Z","2026-10-22T12:17:30.112Z",{"id":201,"documentId":202,"title":203,"date":204,"description":9,"order":23,"slug":205,"showOnMainPage":12,"createdAt":206,"updatedAt":207,"publishedAt":208,"locale":16},563,"imbbxnbft75duehba72yjk23","Любая правка — мини-проект: 6 признаков, что корпоративный сайт пора пересобирать","2026-08-10","-priznaki-neobhodimosti-peresborki-korporativnogo-sajta","2026-08-11T23:47:18.300Z","2026-10-22T12:14:29.327Z","2026-10-22T12:14:29.464Z",{"id":210,"documentId":211,"title":212,"date":213,"description":9,"order":214,"slug":215,"showOnMainPage":12,"createdAt":216,"updatedAt":217,"publishedAt":218,"locale":16},596,"heaihqewz8dlu9x3ninbdiqq","GetCourse, iSpring или своя LMS: когда онлайн-школе нужна отдельная платформа","2026-08-11",5,"-getcourse-ispring-ili-svoya-lms-vybor-platformy-dlya-onlayn-shkoly","2026-08-11T23:59:00.384Z","2026-10-22T12:18:13.975Z","2026-10-22T12:18:14.057Z",{"id":220,"documentId":221,"title":222,"date":223,"description":9,"order":224,"slug":225,"showOnMainPage":12,"createdAt":226,"updatedAt":227,"publishedAt":228,"locale":16},592,"wcg59mzuex1spvgeegxdhn63","В дашборде план выполнен, в кассе денег нет: почему CRM показывает несколько версий бизнеса","2026-08-12",4,"-pochemu-crm-pokazyvaet-raznye-versii-biznesa","2026-08-12T22:13:44.432Z","2026-10-22T12:17:23.292Z","2026-10-22T12:17:23.359Z",{"id":230,"documentId":231,"title":232,"date":233,"description":9,"order":19,"slug":234,"showOnMainPage":12,"createdAt":235,"updatedAt":236,"publishedAt":237,"locale":16},595,"mpxer9aw8jjq44rby7j47pwi","Стоимость разработки интеграции — API, CRM, 1С и внешние сервисы\n","2026-08-13","stoimost-razrabotki-integracii-api-crm-1s-i-vneshnie-servisy","2026-08-18T10:36:53.371Z","2026-10-22T12:17:40.372Z","2026-10-22T12:17:40.448Z",{"id":239,"documentId":240,"title":241,"date":242,"description":9,"order":10,"slug":243,"showOnMainPage":12,"createdAt":244,"updatedAt":245,"publishedAt":246,"locale":16},652,"vvxg6n1kmg9y7k6143t9gm8o","Закон о платформенной экономике: что платформам нужно перестроить в продукте","2026-08-14","novyy-zakon-dlya-platform-12-servisov","2026-08-18T10:59:43.550Z","2026-10-22T12:29:51.700Z","2026-10-22T12:29:51.761Z",{"id":248,"documentId":249,"title":250,"date":251,"description":9,"order":10,"slug":252,"showOnMainPage":12,"createdAt":253,"updatedAt":254,"publishedAt":255,"locale":16},578,"z5gc803xpd7jutuksh8q0er3","97% компаний создают учебный контент сами: следующий дефицит EdTech — подготовка преподавателей","2026-08-17","97-kompaniy-sozdayut-uchebnyy-kontent-sami-podgotovka-prepodavateley","2026-08-18T11:17:37.963Z","2026-10-22T12:15:52.888Z","2026-10-22T12:15:52.961Z",{"id":257,"documentId":258,"title":259,"date":260,"description":9,"order":23,"slug":261,"showOnMainPage":12,"createdAt":262,"updatedAt":263,"publishedAt":264,"locale":16},653,"fm5glwnple0jwjkmo8gvldan","Сколько стоит разработка мобильного приложения в 2026 году: вилки по типам и состав сметы","2026-08-18","stoimost-razrabotki-mobilnogo-prilozheniya-2026-smeta","2026-08-18T11:31:22.195Z","2026-10-22T12:29:56.640Z","2026-10-22T12:29:56.715Z",{"id":266,"documentId":267,"title":268,"date":269,"description":9,"order":10,"slug":270,"showOnMainPage":12,"createdAt":271,"updatedAt":272,"publishedAt":273,"locale":16},579,"x28rh3zoj50o59tcgvzve415","AI-агенты внутри компании: где нужны доступы, ограничения и человек на проверке","2026-08-19","ai-agenty-v-kompanii-dostupy-i-kontrol","2026-08-18T14:05:29.647Z","2026-10-22T12:15:57.034Z","2026-10-22T12:15:57.127Z",{"id":275,"documentId":276,"title":277,"date":278,"description":9,"order":10,"slug":279,"showOnMainPage":12,"createdAt":280,"updatedAt":281,"publishedAt":282,"locale":16},625,"qh3qmzfp2ceif4xf3tdoi9ap","Один товар, три цены и очередь согласований: чем B2B-маркетплейс отличается от интернет-магазина","2026-08-26","b2b-marketpleys-otlichiya-ot-internet-magazina","2026-08-26T09:04:07.905Z","2026-10-22T12:21:50.829Z","2026-10-22T12:21:50.913Z",{"id":284,"documentId":285,"title":286,"date":287,"description":9,"order":10,"slug":288,"showOnMainPage":12,"createdAt":289,"updatedAt":290,"publishedAt":291,"locale":16},638,"w8n42241rgavwtld0dn1fvcl","Один статус «готовится» запускает цепочку потерь: где ломается экономика приложения доставки","2026-08-27","gde-prilozhenie-sedaet-marzhu","2026-08-26T14:56:30.346Z","2026-10-22T12:23:35.251Z","2026-10-22T12:23:35.316Z",{"id":293,"documentId":294,"title":295,"date":296,"description":9,"order":10,"slug":297,"showOnMainPage":12,"createdAt":298,"updatedAt":299,"publishedAt":300,"locale":16},637,"xujodhmvw1zxpvpcqahtklmc","Когда D2C становится выгоднее маркетплейса: расчёт по заказам\n","2026-08-28","kogda-d2c-vygodnee-marketpleysa-raschet-po-zakazam","2026-08-27T14:24:12.532Z","2026-10-22T12:23:26.666Z","2026-10-22T12:23:26.730Z",{"id":302,"documentId":303,"title":304,"date":305,"description":9,"order":10,"slug":306,"showOnMainPage":12,"createdAt":307,"updatedAt":308,"publishedAt":309,"locale":16},581,"zm2xqct6baoxjz7jsy605ztw","Duolingo прибавил 23% ежедневной аудитории. Что интернет-магазин может забрать у совы\n","2026-08-31","duolingo-23-rosta-gamifikaciya-dlya-magazina","2026-08-31T08:37:31.518Z","2026-10-22T12:16:07.824Z","2026-10-22T12:16:07.926Z",{"id":311,"documentId":312,"title":313,"date":314,"description":9,"order":10,"slug":315,"showOnMainPage":12,"createdAt":316,"updatedAt":317,"publishedAt":318,"locale":16},608,"lb4x4pfodc0sbnv9umz0b32a","Закрыл ноутбук, открыл телефон — и начал заново: где теряется контекст пользователя\n","2026-09-01","gde-teryaetsya-kontekst-polzovatelya","2026-08-31T12:47:31.448Z","2026-10-22T12:19:28.501Z","2026-10-22T12:19:28.549Z",{"id":320,"documentId":321,"title":322,"date":323,"description":9,"order":10,"slug":324,"showOnMainPage":12,"createdAt":325,"updatedAt":326,"publishedAt":327,"locale":16},609,"xigmp6s4a3rypjza7nyd2jyu","AI-агент оформляет заказ: готов ли интернет-магазин отдать ему каталог, остатки и оплату","2026-09-03","ai-agent-oformlyaet-zakaz-katalog-ostatki-oplata","2026-09-03T08:28:16.365Z","2026-10-22T12:19:33.731Z","2026-10-22T12:19:33.799Z",{"id":329,"documentId":330,"title":331,"date":332,"description":9,"order":10,"slug":333,"showOnMainPage":12,"createdAt":334,"updatedAt":335,"publishedAt":336,"locale":16},639,"ono02gti54gmgguq55q3eqfl","Мобильная LMS: как понять, что отдельному приложению есть работа\n","2026-09-04","mobilnaya-lms-otdelnoe-prilozhenie","2026-09-03T14:02:36.259Z","2026-10-22T12:23:40.886Z","2026-10-22T12:23:40.958Z",{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},{"id":339,"documentId":340,"title":341,"date":342,"description":9,"order":10,"slug":343,"showOnMainPage":12,"createdAt":344,"updatedAt":345,"publishedAt":346,"locale":16},610,"dqf6p9puiqfz6u2djss216vw","Баллы списались дважды: где ломается программа лояльности под нагрузкой","2026-09-09","programmnaya-loyalnost-pod-nagruzkoy","2026-09-08T11:39:39.209Z","2026-10-22T12:19:39.120Z","2026-10-22T12:19:39.205Z",{"id":348,"documentId":349,"title":350,"date":351,"description":9,"order":10,"slug":352,"showOnMainPage":12,"createdAt":353,"updatedAt":354,"publishedAt":355,"locale":16},538,"zttjv8sbmge05zro1ok576xe","Что IT-аудит находит в проекте перед релизом","2026-09-11","it-audit-pered-relizom","2026-09-08T11:52:07.373Z","2026-10-22T12:12:24.528Z","2026-10-22T12:12:24.608Z",{"id":357,"documentId":358,"title":359,"date":351,"description":9,"order":23,"slug":360,"showOnMainPage":12,"createdAt":361,"updatedAt":362,"publishedAt":363,"locale":16},569,"ggdl1zmuuohkn3ubgxqu5wdz","Этапы разработки сайта: 7 контрольных точек от идеи до запуска","etapy-razrabotki-sayta-ot-idei-do-zapuska","2026-09-11T14:21:51.168Z","2026-10-22T12:14:35.288Z","2026-10-22T12:14:35.367Z",{"id":365,"documentId":366,"title":367,"date":368,"description":9,"order":23,"slug":369,"showOnMainPage":12,"createdAt":370,"updatedAt":371,"publishedAt":372,"locale":16},651,"vc9i1ztfpn2yrd5nx782zp3z","Этапы разработки дизайна сайта: от исследования и прототипа до макетов и передачи в разработку","2026-09-13","etapy-razrabotki-dizayna-sayta-kak-sozdat-privlekatelnyy-i-funktsionalnyy-veb-dizayn","2026-09-13T23:38:47.063Z","2026-10-22T12:29:47.003Z","2026-10-22T12:29:47.077Z",{"id":374,"documentId":375,"title":376,"date":377,"description":9,"order":23,"slug":378,"showOnMainPage":12,"createdAt":379,"updatedAt":380,"publishedAt":381,"locale":16},573,"mj85w3jsdizxt9gpk1ngf564","Сколько стоит тестирование приложения и что влияет на цену","2026-09-14","skolko-stoit-testirovanie-prilozheniya-i-chto-vliyaet-na-tsenu","2026-09-14T09:26:29.005Z","2026-10-22T12:14:52.525Z","2026-10-22T12:14:52.629Z",{"id":383,"documentId":384,"title":385,"date":351,"description":9,"order":23,"slug":386,"showOnMainPage":12,"createdAt":387,"updatedAt":388,"publishedAt":389,"locale":16},582,"v3w411p7i1i1btgcmn7pwxl7","Цена уже изменилась, остаток ещё старый: где ломается единый кабинет селлера","edinyy-kabinet-sellera-dlya-marketpleysov","2026-09-11T14:35:28.405Z","2026-10-22T12:16:13.442Z","2026-10-22T12:16:13.516Z",{"id":391,"documentId":392,"title":393,"date":377,"description":9,"order":23,"slug":394,"showOnMainPage":12,"createdAt":395,"updatedAt":396,"publishedAt":397,"locale":16},583,"yv49ig9l4j8vggzenf8rdxm3","Этапы управления проектом по разработке сайта или приложения","etapy-upravleniya-proektom-po-razrabotke-sayta-ili-prilozheniya","2026-09-14T15:36:41.687Z","2026-10-22T12:16:18.197Z","2026-10-22T12:16:18.246Z",{"id":399,"documentId":400,"title":401,"date":377,"description":9,"order":23,"slug":402,"showOnMainPage":12,"createdAt":403,"updatedAt":404,"publishedAt":405,"locale":16},654,"nze9zg24dgc33oo464j2wo8v","Искусственный интеллект в бизнес-процессах: где он даёт результат и как внедрять","kak-iskusstvennyy-intellekt-menyaet-biznes-protsessy-ot-avtomatizatsii-do-analiza-dannykh","2026-09-14T21:35:44.550Z","2026-10-22T12:30:01.454Z","2026-10-22T12:30:01.625Z",{"id":407,"documentId":408,"title":409,"date":410,"description":9,"order":150,"slug":411,"showOnMainPage":12,"createdAt":412,"updatedAt":413,"publishedAt":414,"locale":16},589,"ekx4n93yajvm1hk8iqyzw4ju","Рекомендательная система для маркетплейса: почему фильтров и сортировки мало — на примере Tinder","2026-09-15","-obnovleniya-tinder-kak-marketpleys-uluchshaet-rekomendatsii-i-sortirovku","2026-09-15T16:47:04.947Z","2026-10-22T12:17:08.769Z","2026-10-22T12:17:09.214Z",{"id":416,"documentId":417,"title":418,"date":419,"description":9,"order":10,"slug":420,"showOnMainPage":12,"createdAt":421,"updatedAt":422,"publishedAt":423,"locale":16},586,"k6ijlgqkm5unejznzmeyo4vg","Интеграция с маркетплейсами: как синхронизировать заказы, остатки и статусы с ERP и 1С","2026-09-16","integraciya-marketpleysov-i-erp","2026-09-16T11:08:28.748Z","2026-10-22T12:16:58.446Z","2026-10-22T12:16:58.517Z",{"id":425,"documentId":426,"title":427,"date":428,"description":9,"order":23,"slug":429,"showOnMainPage":12,"createdAt":430,"updatedAt":431,"publishedAt":432,"locale":16},588,"zlz1zsbmf9t62lq9upjoh71o","Как правильно оценить разработку сайта и приложения\n","2026-09-17","kak-pravilno-otsenit-razrabotku-sayta-i-prilozheniya","2026-09-17T10:47:34.140Z","2026-10-22T12:17:05.158Z","2026-10-22T12:17:05.240Z",{"id":434,"documentId":435,"title":436,"date":428,"description":9,"order":23,"slug":437,"showOnMainPage":12,"createdAt":438,"updatedAt":439,"publishedAt":440,"locale":16},590,"hk18zy8rgkffyo6py89yhijb","Как выбрать платформу для онлайн-школы: готовые сервисы, конструктор или своя разработка","kak-vybrat-platformu-dlya-onlajn-shkoly","2026-09-17T11:02:32.852Z","2026-10-22T12:17:11.169Z","2026-10-22T12:17:11.240Z",{"id":442,"documentId":443,"title":444,"date":428,"description":9,"order":10,"slug":445,"showOnMainPage":12,"createdAt":446,"updatedAt":447,"publishedAt":448,"locale":16},591,"m3jg0ix87senqmdibgb089zk","Настройка резервного копирования: как проверить восстановление сервиса\n","rezervnoe-kopirovanie-proverka-vosstanovleniya","2026-09-17T08:38:21.082Z","2026-10-22T12:17:16.397Z","2026-10-22T12:17:16.470Z",{"id":450,"documentId":451,"title":452,"date":453,"description":9,"order":454,"slug":455,"showOnMainPage":12,"createdAt":456,"updatedAt":457,"publishedAt":458,"locale":16},567,"c4qw6xwuehgz8lo5zyabldkb","Разработка СДО для корпоративного обучения: требования, этапы и стоимость","2026-10-22",0,"platforma-obucheniya-sotrudnikov-rabochiy-rezultat","2026-09-18T10:17:38.082Z","2026-10-22T12:14:33.165Z","2026-10-22T12:14:33.202Z",{"id":460,"documentId":461,"title":462,"date":463,"description":9,"order":10,"slug":464,"showOnMainPage":12,"createdAt":465,"updatedAt":466,"publishedAt":467,"locale":16},663,"fbzwk8k4u0jwlm6l2b9o2jr3","Как превращать результаты пользовательских интервью в задачи для бэклога","2026-09-18","rezultaty-polzovatelskih-intervyu-v-zadachi-backloga","2026-09-18T13:05:14.859Z","2026-10-23T07:00:58.702Z","2026-10-23T07:00:58.761Z",{"id":469,"documentId":470,"title":471,"date":472,"description":9,"order":23,"slug":473,"showOnMainPage":12,"createdAt":474,"updatedAt":475,"publishedAt":476,"locale":16},594,"vhvm4rgi4utkvdl5lsn236cb","Омниканальная платформа: как объединить клиентов, заказы и остатки","2026-09-20","omnikanalnaya-platforma-kak-obedinit-klientov-zakazy-i-ostatki","2026-09-20T15:23:08.467Z","2026-10-22T12:17:35.080Z","2026-10-22T12:17:35.157Z",{"id":478,"documentId":479,"title":480,"date":481,"description":9,"order":10,"slug":482,"showOnMainPage":12,"createdAt":483,"updatedAt":484,"publishedAt":485,"locale":16},662,"idkoix18t80we76tz6g5li5g","Как проектировать редкие пользовательские сценарии в цифровом продукте","2026-09-21","redkie-polzovatelskie-scenarii-v-cifrovom-produkte","2026-09-21T11:15:59.442Z","2026-10-23T07:00:56.148Z","2026-10-23T07:00:56.214Z",{"id":487,"documentId":488,"title":489,"date":490,"description":491,"order":492,"slug":493,"showOnMainPage":12,"createdAt":494,"updatedAt":495,"publishedAt":496,"locale":16},365,"fgve6bjyd9co2ti7cn1gr5bv","Kazan Digital Week 2025","2025-09-17","b",600,"media-2","2026-03-06T10:35:30.810Z","2026-09-21T16:06:41.714Z","2026-09-21T16:06:41.805Z",{"id":498,"documentId":499,"title":500,"date":501,"description":9,"order":10,"slug":502,"showOnMainPage":12,"createdAt":503,"updatedAt":504,"publishedAt":505,"locale":16},603,"ssfnxded1v20ng7yti5ngkbt","Аудит мобильного приложения: как найти причины сбоев, медленной работы и тяжёлых обновлений","2026-09-22","audit-mobilnogo-prilozheniya-sboyy-medlennaya-rabota","2026-09-22T07:37:24.514Z","2026-10-22T12:18:47.934Z","2026-10-22T12:18:48.015Z",{"id":507,"documentId":508,"title":509,"date":501,"description":9,"order":510,"slug":511,"showOnMainPage":12,"createdAt":512,"updatedAt":513,"publishedAt":514,"locale":16},605,"fr3j1duys4bku4syv0v3txb0","Как проверить, находят ли пользователи новую функцию после релиза",501,"funkciya-vypushchena-polzovateli-ne-nashli-posle-reliza","2026-09-22T08:17:57.565Z","2026-10-22T12:18:53.274Z","2026-10-22T12:18:53.346Z",{"id":516,"documentId":517,"title":518,"date":519,"description":9,"order":23,"slug":520,"showOnMainPage":12,"createdAt":521,"updatedAt":522,"publishedAt":523,"locale":16},607,"wpw3ph9pm0j2gi5qq2d9zb32","Интеграция LMS и BI: события, метрики и роли доступа","2026-09-23","integraciya-lms-i-bi-sobytiya-metriki-roli","2026-09-23T07:35:31.275Z","2026-10-22T12:19:23.575Z","2026-10-22T12:19:23.650Z",{"id":525,"documentId":526,"title":527,"date":519,"description":9,"order":510,"slug":528,"showOnMainPage":12,"createdAt":529,"updatedAt":530,"publishedAt":531,"locale":16},613,"x98ekbdd625a0mr6v48wtojn","Тарифы, лимиты и пробный период в SaaS: что заложить в архитектуру до запуска","tarify-limity-probnyy-period-saas","2026-09-23T07:34:07.671Z","2026-10-22T12:19:55.463Z","2026-10-22T12:19:55.536Z",{"id":533,"documentId":534,"title":535,"date":536,"description":9,"order":23,"slug":537,"showOnMainPage":12,"createdAt":538,"updatedAt":539,"publishedAt":540,"locale":16},664,"t8fgwkzme6nbtkbfjww9i7zs","Автоматизация возвратов: как связать заявку, логистику, склад и выплату","2026-09-24","avtomatizatsiya-vozvratov-kak-svyazat-zayavku-logistiku-sklad-i-vyplatu","2026-09-24T10:22:57.802Z","2026-10-23T07:01:01.224Z","2026-10-23T07:01:01.336Z",{"id":542,"documentId":543,"title":544,"date":536,"description":9,"order":510,"slug":545,"showOnMainPage":12,"createdAt":546,"updatedAt":547,"publishedAt":548,"locale":16},629,"e0kn9y3oq7pxqrub20a1n9kp","Требования к доступности цифрового продукта до начала разработки","trebovaniya-k-dostupnosti-do-nachala-razrabotki","2026-09-24T08:14:07.009Z","2026-10-22T12:22:14.604Z","2026-10-22T12:22:14.676Z",{"id":550,"documentId":551,"title":552,"date":536,"description":9,"order":23,"slug":553,"showOnMainPage":12,"createdAt":554,"updatedAt":555,"publishedAt":556,"locale":16},665,"b861gej3prtodznj3bb1y78f","Интеграция с WMS: как синхронизировать резервы, остатки и отгрузки","integratsiya-s-wms-kak-sinkhronizirovat-rezervy-ostatki-i-otgruzki","2026-09-24T12:23:25.584Z","2026-10-23T07:01:03.638Z","2026-10-23T07:01:03.680Z",{"id":558,"documentId":559,"title":560,"date":536,"description":9,"order":23,"slug":561,"showOnMainPage":12,"createdAt":562,"updatedAt":563,"publishedAt":564,"locale":16},631,"rexo04uqb7qs9p7vie0ldmd8","19 несогласованных действий AI-агентов: как тестировать модели с доступом к интернету\n","testirovanie-ai-agentov-s-dostupom-k-internetu","2026-09-24T13:03:18.749Z","2026-10-22T12:22:25.564Z","2026-10-22T12:22:25.630Z",{"id":566,"documentId":567,"title":568,"date":428,"description":9,"order":10,"slug":569,"showOnMainPage":12,"createdAt":570,"updatedAt":571,"publishedAt":572,"locale":16},660,"n00161wjkx4xvvrj4cnrf3hg","Масштабирование веб-приложения: 5 признаков архитектурного предела\n","masshtabirovanie-veb-prilozheniya-arhitekturnyy-predel","2026-09-17T08:36:56.533Z","2026-10-22T12:30:33.268Z","2026-10-22T12:30:33.346Z",{"id":574,"documentId":575,"title":576,"date":577,"description":9,"order":23,"slug":578,"showOnMainPage":12,"createdAt":579,"updatedAt":580,"publishedAt":581,"locale":16},666,"aw0l78ewhaow4drvtb8xojs6","Аудит интернет-магазина перед ростом: производительность, интеграции и точки потери заказов","2026-09-25","audit-internet-magazina-pered-rostom-proizvoditelnost-integratsii-i-tochki-poteri-zakazov","2026-09-25T09:30:00.915Z","2026-10-23T07:01:06.013Z","2026-10-23T07:01:06.072Z",{"id":583,"documentId":584,"title":585,"date":577,"description":9,"order":510,"slug":586,"showOnMainPage":12,"createdAt":587,"updatedAt":588,"publishedAt":589,"locale":16},657,"unrbovgyet8007ch5rlh115h","Разработка внутренней системы: когда таблицу пора заменить и с чего начать","kogda-tablicu-pora-zamenyat-vnutrenney-sistemoy","2026-09-25T08:18:33.492Z","2026-10-22T12:30:16.980Z","2026-10-22T12:30:17.049Z",{"id":591,"documentId":592,"title":593,"date":577,"description":9,"order":23,"slug":594,"showOnMainPage":12,"createdAt":595,"updatedAt":596,"publishedAt":597,"locale":16},658,"owozsp7o7tykqk6p9hn2i4pz","Что входит в разработку интернет-магазина: состав работ, этапы и стоимость","razrabotka-internet-magazina-pod-klyuch","2026-09-25T13:53:22.880Z","2026-10-22T12:30:22.268Z","2026-10-22T12:30:22.364Z",{"id":599,"documentId":600,"title":601,"date":602,"description":9,"order":510,"slug":603,"showOnMainPage":12,"createdAt":604,"updatedAt":605,"publishedAt":606,"locale":16},636,"girjdwh69jcawuu3ghjtih9c","Свой AI-сервис или готовая платформа: сравнение стоимости, контроля и сроков\n","2026-09-28","svoi-ai-servis-ili-gotovaya-platforma","2026-09-28T10:26:01.458Z","2026-10-22T12:23:21.247Z","2026-10-22T12:23:21.321Z",{"id":608,"documentId":609,"title":610,"date":611,"description":9,"order":510,"slug":612,"showOnMainPage":12,"createdAt":613,"updatedAt":614,"publishedAt":615,"locale":16},640,"zerzn7i3b636huj96oap0txe","Когда запрашивать телефон и регистрацию в цифровом продукте","2026-09-29","registraciya-do-cennosti","2026-09-29T11:11:57.612Z","2026-10-22T12:24:19.230Z","2026-10-22T12:24:19.296Z",{"id":617,"documentId":618,"title":619,"date":620,"description":9,"order":23,"slug":621,"showOnMainPage":12,"createdAt":622,"updatedAt":623,"publishedAt":624,"locale":16},667,"s3vm1v69pa8daldydfxs837g","Монолит или микросервисы: критерии выбора для нового и действующего продукта","2026-10-01","monolit-ili-mikroservisy-kriterii-vybora-dlya-novogo-i-deystvuyushchego-produkta","2026-10-01T09:35:21.442Z","2026-10-23T07:01:08.482Z","2026-10-23T07:01:08.532Z",{"id":626,"documentId":627,"title":628,"date":620,"description":9,"order":23,"slug":629,"showOnMainPage":12,"createdAt":630,"updatedAt":631,"publishedAt":632,"locale":16},668,"psq9e3hd069s1e1nf5b3zuot","Миграция в облако: план переноса, проверка отката и риски простоя","migratsiya-v-oblako-plan-perenosa-proverka-otkata-i-riski-prostoya","2026-10-01T09:42:27.368Z","2026-10-23T07:01:10.745Z","2026-10-23T07:01:10.796Z",{"id":634,"documentId":635,"title":636,"date":620,"description":9,"order":510,"slug":637,"showOnMainPage":12,"createdAt":638,"updatedAt":639,"publishedAt":640,"locale":16},644,"t6pcsza1hk2r8e820tkd5e3b","Где маркетплейс теряет селлера между регистрацией и устойчивыми продажами","marketplace-seller-funnel","2026-10-01T08:41:06.847Z","2026-10-22T12:24:41.964Z","2026-10-22T12:24:42.035Z",{"id":642,"documentId":643,"title":644,"date":645,"description":9,"order":510,"slug":646,"showOnMainPage":12,"createdAt":647,"updatedAt":648,"publishedAt":649,"locale":16},645,"ed1nma8y7ys91sevd8eglhb1","Кадровые процессы без почтовых цепочек: когда компании нужна платформа","2026-10-06","platforma-kadrovyh-processov","2026-10-06T07:41:58.738Z","2026-10-22T12:24:47.885Z","2026-10-22T12:24:47.980Z",{"id":651,"documentId":652,"title":653,"date":654,"description":9,"order":510,"slug":655,"showOnMainPage":12,"createdAt":656,"updatedAt":657,"publishedAt":658,"locale":16},646,"iiultntplww88bgk2933b80j","Цифровой рубль уже списался. Почему заказ всё ещё нельзя выдавать","2026-10-09","cifrovoi-rubl-pri-poluchenii-zakaza","2026-10-12T06:53:20.433Z","2026-10-22T12:24:53.333Z","2026-10-22T12:24:53.399Z",{"id":660,"documentId":661,"title":662,"date":663,"description":9,"order":510,"slug":664,"showOnMainPage":12,"createdAt":665,"updatedAt":666,"publishedAt":667,"locale":16},647,"w0w26wtkq43fbo4wm9o09ul1","Как исключения в процессе влияют на оценку цифрового продукта","2026-10-19","skrytye-isklyucheniya-v-biznes-processe-pochemu-oni-menyayut-ocenku-cifrovogo-produkta","2026-10-16T08:45:11.652Z","2026-10-22T12:24:58.917Z","2026-10-22T12:24:58.988Z",{"id":669,"documentId":670,"title":671,"date":672,"description":9,"order":510,"slug":673,"showOnMainPage":12,"createdAt":674,"updatedAt":675,"publishedAt":676,"locale":16},648,"l1j27vyrtvwgs7uzw4y7ce72","Как выбрать модель договора с подрядчиком на разработку ПО","2026-10-20","metodologiya-vybora-modeli-rabotyi-s-podryadchikom","2026-10-20T09:49:14.939Z","2026-10-22T12:25:05.352Z","2026-10-22T12:25:05.423Z",{"id":678,"documentId":679,"title":680,"date":672,"description":9,"order":510,"slug":681,"showOnMainPage":12,"createdAt":682,"updatedAt":683,"publishedAt":684,"locale":16},649,"wcl3j8wcogka0nzasqm66emj","Как выбрать первую операцию для автоматизации интернет-магазина","avtomatizaciya-internet-magazina-s-kakoi-operacii-nachinaetsya-izmerimyi-effekt","2026-10-20T09:50:21.778Z","2026-10-22T12:25:10.784Z","2026-10-22T12:25:10.847Z",{"id":686,"documentId":687,"title":688,"date":453,"description":9,"order":454,"slug":689,"showOnMainPage":12,"createdAt":690,"updatedAt":691,"publishedAt":692,"locale":16},524,"k62ctvuw32hc006msaa0ft3f","LMS-платформа: что это, какие бывают и когда разрабатывать свою","lms-platforma-chto-eto-vidy-i-kogda-razrabatyvat-svoyu","2026-10-22T08:14:15.024Z","2026-10-22T08:17:40.878Z","2026-10-22T08:17:41.014Z",{"id":694,"documentId":695,"title":696,"date":453,"description":9,"order":510,"slug":697,"showOnMainPage":12,"createdAt":698,"updatedAt":699,"publishedAt":700,"locale":16},531,"e36zloj9jamie1c9qha19dsu","Тарифный движок маркетплейса: как сохранить историю расчётов и провести пересчёт","novaya-komissiya-ne-dolzhna-menyat-vcherashnii-zakaz-kak-ustroit-tarifnyi-dvizhok-marketpleisa","2026-10-20T14:54:54.033Z","2026-10-22T12:08:51.901Z","2026-10-22T12:08:51.991Z",{"id":702,"documentId":703,"title":704,"date":453,"description":9,"order":510,"slug":705,"showOnMainPage":12,"createdAt":706,"updatedAt":707,"publishedAt":708,"locale":16},527,"k9jayzkslecnw2molov3vcpm","Как обещать дату проекта, когда часть решений ещё не принята","data-est-resheniya-net-kak-govorit-o-sroke-proekta-bez-obeshanii-v-vozduh","2026-10-21T11:14:44.864Z","2026-10-22T12:06:58.766Z","2026-10-22T12:06:58.851Z",{"id":710,"documentId":711,"title":712,"date":713,"description":9,"order":10,"slug":714,"showOnMainPage":12,"createdAt":715,"updatedAt":716,"publishedAt":717,"locale":16},611,"w0y206w0w1sb2u005skdj3pa","Как проектировать проверяемый ИИ-поиск: источники, логи и аудит\n","2026-09-10","proektirovanie-ii-poiska","2026-09-10T14:09:42.411Z","2026-10-22T12:19:43.819Z","2026-10-22T12:19:43.894Z",{"id":719,"documentId":720,"title":721,"date":481,"description":9,"order":10,"slug":722,"showOnMainPage":12,"createdAt":723,"updatedAt":724,"publishedAt":725,"locale":16},659,"fpk51c4ejek3676dkx59luaw","Локализация цифрового продукта: что менять при выходе на новый рынок","lokalizaciya-cifrovogo-produkta-novyy-rynok","2026-09-21T11:12:00.474Z","2026-10-22T12:30:28.071Z","2026-10-22T12:30:28.177Z",{"id":727,"documentId":728,"title":729,"date":611,"description":9,"order":510,"slug":730,"showOnMainPage":12,"createdAt":731,"updatedAt":732,"publishedAt":733,"locale":16},641,"ofbmy8opsj00irwsqzfspyfa","Кто отвечает за цифровой продукт после запуска: данные, правила и изменения","product-ownership-after-launch","2026-09-29T08:28:17.894Z","2026-10-22T12:24:25.265Z","2026-10-22T12:24:25.342Z",[],{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16,"media":742,"localizations":758},15,"w2syds6h6g6w4q901gfyrw0j","Экспертиза ","media-area-3","2026-05-27T09:11:34.563Z","2026-05-27T09:11:34.578Z",[743,744,745,746,747,748,749,750,751,752,753,754,755,756,757],{"id":64,"documentId":65,"title":66,"date":67,"description":9,"order":23,"slug":68,"showOnMainPage":12,"createdAt":69,"updatedAt":70,"publishedAt":71,"locale":16},{"id":174,"documentId":175,"title":176,"date":177,"description":9,"order":23,"slug":178,"showOnMainPage":12,"createdAt":179,"updatedAt":180,"publishedAt":181,"locale":16},{"id":192,"documentId":193,"title":194,"date":195,"description":9,"order":19,"slug":196,"showOnMainPage":12,"createdAt":197,"updatedAt":198,"publishedAt":199,"locale":16},{"id":275,"documentId":276,"title":277,"date":278,"description":9,"order":10,"slug":279,"showOnMainPage":12,"createdAt":280,"updatedAt":281,"publishedAt":282,"locale":16},{"id":311,"documentId":312,"title":313,"date":314,"description":9,"order":10,"slug":315,"showOnMainPage":12,"createdAt":316,"updatedAt":317,"publishedAt":318,"locale":16},{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},{"id":339,"documentId":340,"title":341,"date":342,"description":9,"order":10,"slug":343,"showOnMainPage":12,"createdAt":344,"updatedAt":345,"publishedAt":346,"locale":16},{"id":348,"documentId":349,"title":350,"date":351,"description":9,"order":10,"slug":352,"showOnMainPage":12,"createdAt":353,"updatedAt":354,"publishedAt":355,"locale":16},{"id":566,"documentId":567,"title":568,"date":428,"description":9,"order":10,"slug":569,"showOnMainPage":12,"createdAt":570,"updatedAt":571,"publishedAt":572,"locale":16},{"id":719,"documentId":720,"title":721,"date":481,"description":9,"order":10,"slug":722,"showOnMainPage":12,"createdAt":723,"updatedAt":724,"publishedAt":725,"locale":16},{"id":498,"documentId":499,"title":500,"date":501,"description":9,"order":10,"slug":502,"showOnMainPage":12,"createdAt":503,"updatedAt":504,"publishedAt":505,"locale":16},{"id":583,"documentId":584,"title":585,"date":577,"description":9,"order":510,"slug":586,"showOnMainPage":12,"createdAt":587,"updatedAt":588,"publishedAt":589,"locale":16},{"id":608,"documentId":609,"title":610,"date":611,"description":9,"order":510,"slug":612,"showOnMainPage":12,"createdAt":613,"updatedAt":614,"publishedAt":615,"locale":16},{"id":642,"documentId":643,"title":644,"date":645,"description":9,"order":510,"slug":646,"showOnMainPage":12,"createdAt":647,"updatedAt":648,"publishedAt":649,"locale":16},{"id":478,"documentId":479,"title":480,"date":481,"description":9,"order":10,"slug":482,"showOnMainPage":12,"createdAt":483,"updatedAt":484,"publishedAt":485,"locale":16},[],{"id":760,"documentId":761,"name":762,"alternativeText":9,"caption":9,"width":763,"height":763,"formats":764,"hash":794,"ext":766,"mime":769,"size":795,"url":796,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":798,"updatedAt":798,"publishedAt":798,"related":799},711,"nis5ul12ootvgcavzy6ufuuq","photo_2026-09-08 15.41.42.jpeg",1080,{"large":765,"small":774,"medium":780,"thumbnail":787},{"ext":766,"url":767,"hash":768,"mime":769,"name":770,"path":9,"size":771,"width":772,"height":772,"sizeInBytes":773},".jpeg","https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_08_15_41_42_22f0fb38b2.jpeg","large_photo_2026_09_08_15_41_42_22f0fb38b2","image\u002Fjpeg","large_photo_2026-09-08 15.41.42.jpeg",66.11,1000,66115,{"ext":766,"url":775,"hash":776,"mime":769,"name":777,"path":9,"size":778,"width":23,"height":23,"sizeInBytes":779},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_08_15_41_42_22f0fb38b2.jpeg","small_photo_2026_09_08_15_41_42_22f0fb38b2","small_photo_2026-09-08 15.41.42.jpeg",23.65,23654,{"ext":766,"url":781,"hash":782,"mime":769,"name":783,"path":9,"size":784,"width":785,"height":785,"sizeInBytes":786},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_08_15_41_42_22f0fb38b2.jpeg","medium_photo_2026_09_08_15_41_42_22f0fb38b2","medium_photo_2026-09-08 15.41.42.jpeg",43.26,750,43260,{"ext":766,"url":788,"hash":789,"mime":769,"name":790,"path":9,"size":791,"width":792,"height":792,"sizeInBytes":793},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_08_15_41_42_22f0fb38b2.jpeg","thumbnail_photo_2026_09_08_15_41_42_22f0fb38b2","thumbnail_photo_2026-09-08 15.41.42.jpeg",4.18,156,4185,"photo_2026_09_08_15_41_42_22f0fb38b2",68.83,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_08_15_41_42_22f0fb38b2.jpeg","aws-s3","2026-09-08T12:43:42.440Z",[800],{"__type":801,"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},"api::media.media",[803],{"__component":804,"id":183,"text":805},"media.text","\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F1_f171a93442.png\" alt=\"1.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_1_f171a93442.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_1_f171a93442.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_1_f171a93442.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_1_f171a93442.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">\u003Cbr>В 19:59 маркетолог обновляет рекламный кабинет. В 20:00 кампания выходит. В 20:03 рабочий чат уже выясняет, почему корзина не открывается, форма не отправляется, а страница акции показывает белый экран. На сайт одновременно пришла вся аудитория. Через три минуты знакомство закончилось.\u003C\u002Fp>\u003Cp class=\"p1\">\u003Ca href=\"\u002Fservices\u002Fe-commerce\">Нагрузочное тестирование\u003C\u002Fa> помогает провести эту встречу заранее: воспроизвести ожидаемый поток пользователей, увидеть предел системы и проверить, что после пика она возвращается в нормальное состояние. Сценарий «реклама сработала, сайт лёг» при этом остаётся внутри тестового контура.\u003C\u002Fp>\u003Cp class=\"p1\">Чтобы понять, готов ли сайт к росту трафика, недостаточно проверить только его максимальную нагрузку. Важно перевести медиаплан в профиль нагрузки, протестировать ключевые пользовательские сценарии и заранее определить критерии стабильности. Ниже — о том, как это сделать и по каким результатам принимать решение о запуске кампании.\u003C\u002Fp>\u003Ch2>\u003Cstrong>От маркетолога нужны четыре цифры — дальше работает техническая команда\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F2_d3e781badb.png\" alt=\"2.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_2_d3e781badb.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_2_d3e781badb.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_2_d3e781badb.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_2_d3e781badb.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Фраза «ждём 50 000 посетителей» почти бесполезна для теста без привязки ко времени и действиям. Пятьдесят тысяч человек за неделю и пять тысяч за первые десять минут создают для системы разные задачи. При этом одни читают лендинг, а другие одновременно ищут товар, применяют промокод и переходят к оплате.\u003C\u002Fp>\u003Cp class=\"p1\">На старте маркетолог передаёт четыре вводных: прогноз переходов в первый час и самую плотную минуту, ожидаемую долю людей на каждом шаге воронки, примерную длину сессии и долю мобильного трафика. Источники этих данных — медиаплан и аналитика прошлых запусков. Этого достаточно, чтобы передать задачу технической команде: p95, кэш и конфигурацию серверов дальше разбираем мы.\u003C\u002Fp>\u003Cp class=\"p1\">По этим вводным собираем профиль нагрузки. Допустим, из 100 одновременных пользователей 60 смотрят страницы, 25 работают с поиском и фильтрами, 10 меняют корзину, а 5 оформляют заказ. Пропорции задаёт ожидаемая воронка кампании. Круглая цифра «проверили тысячу пользователей» выглядит солидно на слайде, но не описывает реальную кампанию. Для теста нужен поток с теми же пропорциями и ритмом, которые ожидаются на запуске.\u003C\u002Fp>\u003Cp class=\"p1\">Рекламная кампания задаёт ожидаемый профиль трафика и размер запаса. Он зависит от точности медиаплана, истории прошлых кампаний и скорости масштабирования инфраструктуры. Само тестирование планируют в контуре релиза продукта, отдельной функции или другого изменения системы. В результате у теста остаётся конкретный вопрос: выдержит ли система нужный поток с согласованным запасом и приемлемым временем ответа?\u003C\u002Fp>\u003Ch2>\u003Cbr>\u003Cstrong>Проверять главную страницу — как тестировать магазин по вывеске\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F3_2ef07eabf8.png\" alt=\"3.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_3_2ef07eabf8.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_3_2ef07eabf8.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_3_2ef07eabf8.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_3_2ef07eabf8.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Главная страница часто отдаётся через CDN — сеть серверов, которая хранит копии контента ближе к пользователю. Она может открываться быстро, пока поиск ждёт базу данных, корзина получает устаревшие остатки, а форма второй раз пытается передать заявку в систему управления клиентами (CRM).\u003C\u002Fp>\u003Cp class=\"p1\">Поэтому сценарий теста повторяет путь человека. Для интернет-магазина это обычно такая цепочка:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"eddf65ea4658838f2dd1bcbfe90438054\">\u003Cp class=\"p1\">открыть страницу акции или каталог;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4377ddef041115f05f9631337eaa2458\">\u003Cp class=\"p1\">найти товар через поиск и фильтры;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e0b2a5b7b5ae4737fe2a8c43317471b2c\">\u003Cp class=\"p1\">открыть карточку и добавить позицию в корзину;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e1b2ba34c678233b1df09b614b47a6643\">\u003Cp class=\"p1\">применить промокод или бонусы;авторизоваться либо оформить заказ без регистрации;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e9ac0767326350b0d30f55d50f55fd751\">\u003Cp class=\"p1\">выбрать доставку и способ оплаты;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e399d3d7f22172ea7f8bddc2f7f04b516\">\u003Cp class=\"p1\">получить подтверждение заказа.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">У рекламного лендинга маршрут короче, но заканчивается он дальше кнопки «Отправить»: заявка должна записаться в CRM с корректным источником, а человек — увидеть, что форма принята. Иначе клики не превращаются в заявки для отдела продаж.\u003C\u002Fp>\u003Cp class=\"p1\">Тестовые данные тоже влияют на результат. Один пользователь, одна корзина и один товар быстро заполняют кэш — временное хранилище частых ответов — и дают слишком удобную картину. Мы параметризуем сценарии: используем разные аккаунты, товары, запросы, промокоды и сессии. Отдельно прогоняем холодный старт с пустым кэшем и повторный поток после прогрева.\u003C\u002Fp>\u003Ch2>\u003Cbr>\u003Cstrong>Среднее время ответа выглядит прилично, пока медленные запросы уже портят продажи\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F4_039cd42fe0.png\" alt=\"4.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_4_039cd42fe0.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_4_039cd42fe0.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_4_039cd42fe0.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_4_039cd42fe0.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Этот показатель сглаживает хвост медленных запросов. Девять покупателей могут пройти оформление быстро, а десятый несколько секунд смотрит на неподвижную кнопку. Итоговая цифра останется приличной; у десятого покупателя будет своя версия отчёта — короткая и без покупки. Поэтому среднее оставляем для общей картины, а решение принимаем по хвосту медленных запросов.\u003C\u002Fp>\u003Cp class=\"p1\">Для ключевых действий мы смотрим перцентили. p95 показывает время, быстрее которого завершились 95% операций, p99 — 99%. Эти показатели отвечают на практический вопрос: насколько плохо приходится самым терпеливым пользователям во время пика.\u003C\u002Fp>\u003Cp class=\"p1\">Маркетолог согласует бизнес-порог: сколько секунд покупатель готов ждать, какую долю ошибок можно допустить и сколько заказов или заявок должно проходить за минуту. Мы переводим эти условия в технические критерии для каталога, поиска, корзины и оформления. Процессоры, память, база данных, кэш и очереди остаются зоной технической команды: по ним мы ищем причину, когда проседает бизнес-показатель.\u003Cbr>&nbsp;\u003C\u002Fp>\u003Ch2>\u003Cstrong>Кнопка всё ещё недоступна: где теряется время после ответа сервера\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">После получения данных браузеру ещё нужно собрать страницу и обработать интерфейс. Протокольный тест создаёт основной поток HTTP-запросов, а несколько браузерных сценариев показывают, что видит человек. Для страницы мы фиксируем ориентиры Core Web Vitals: Google относит к хорошим полевым значениям LCP до 2,5 секунды, INP до 200 миллисекунд и CLS до 0,1 у 75% просмотров. Эти метрики описывают загрузку основного контента, отклик интерфейса и визуальную стабильность. До запуска мы проверяем доступные показатели в лабораторных условиях, после — сверяем их с данными реальных посетителей.\u003C\u002Fp>\u003Cp class=\"p1\">Документация Grafana рекомендует сочетать оба слоя: один создаёт масштаб, другой проверяет пользовательский путь. Так мы видим давление на серверную часть и задержку между нажатием кнопки и реакцией интерфейса.\u003C\u002Fp>\u003Ch2>\u003Cbr>\u003Cstrong>Ровный поток, всплеск, стресс и длинная акция ломают сайт по-разному\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Один прогон на постоянной нагрузке отвечает только на один вопрос. Перед распродажей полезны четыре режима.\u003C\u002Fp>\u003Cp class=\"p1\">Обычную нагрузку мы постепенно наращиваем, удерживаем на целевой отметке и затем снижаем. На этом этапе проверяем скорость, долю ошибок и число успешно завершённых заказов или заявок.\u003C\u002Fp>\u003Cp class=\"p1\">Резкий всплеск имитирует старт рекламы, рассылки или массового уведомления, когда большая часть аудитории приходит почти одновременно. Мы смотрим, успевает ли автоматическое масштабирование добавить новые экземпляры приложения и что происходит до этого момента.\u003C\u002Fp>\u003Cp class=\"p1\">Стресс-тест увеличивает поток до деградации и помогает найти предел. Мы видим, какой компонент сдаётся первым и по какой метрике приближение к пределу можно заметить заранее. AWS также рекомендует использовать нагрузочные тесты для поиска точки отказа и наблюдаемых признаков её приближения.\u003C\u002Fp>\u003Cp class=\"p1\">На одном из e-commerce-проектов мы использовали k6 и проверяли цепочку от открытия каталога до создания заказа. Первым ограничением стал пул соединений с базой данных: при росте нагрузки p95 увеличился примерно до 2,8 секунды. После оптимизации запроса и настройки пула повторный прогон на том же профиле показал p95 около 700 миллисекунд.\u003C\u002Fp>\u003Cp class=\"p1\">Длительный тест держит систему под давлением несколько часов. Так мы находим утечки памяти, рост очередей, исчерпание доступных подключений к базе и постепенное отставание фоновых задач. После каждого режима проверяем восстановление: сократилось ли число отложенных операций, освободились ли ресурсы и вернулось ли время ответа к исходному уровню.\u003C\u002Fp>\u003Cp class=\"p1\">В \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fstudycats\">кейсе «Стадикэтс»\u003C\u002Fa> нагрузка идёт «пилой, а не волной»: дедлайны домашних заданий, пробники и канун экзамена по очереди создают резкие всплески. Задача проекта — обеспечить стабильность, когда ученики одновременно отправляют работы. Учебный календарь здесь становится основой профиля теста. Ровный шаблонный поток скрыл бы важную часть риска.\u003C\u002Fp>\u003Cp class=\"p1\">В публичном кейсе зафиксированы два решения для таких периодов. Фоновые задачи изолированы, поэтому массовая сдача работ не останавливает личный кабинет и админку. Инфраструктура предусмотрена с запасом и подготовкой к контейнеризации, чтобы масштабировать систему без переделки архитектуры.\u003Cbr>&nbsp;\u003C\u002Fp>\u003Ch2>\u003Cstrong>Один заказ, четыре проверки: CRM, защита от дублей, бизнес-события и внешние сервисы\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Технический график может оставаться зелёным, пока данные о заказе расходятся. Поэтому на распродаже мы проверяем всю цепочку: товар не продаётся сверх остатка, повторный клик не создаёт второй заказ или оплату, промокод соблюдает ограничения, а уведомление платёжной системы меняет статус один раз.\u003C\u002Fp>\u003Cp class=\"p1\">Мы проверяем, что отложенные задачи доходят до конца под контролем, а заявка попадает в CRM вместе с источником и контактами. Для оплаты и создания заказа мы используем защиту от дублей: повторный запрос с тем же ключом возвращает прежний результат. Разработчики называют это идемпотентностью; для бизнеса смысл простой: один запрос — один заказ и одна оплата.\u003C\u002Fp>\u003Cp class=\"p1\">Во время теста мы считаем бизнес-события на каждом участке: сколько корзин ушло в оформление, сколько заказов создалось, сколько оплат подтвердилось, сколько записей получила CRM. Разница между соседними цифрами указывает место, где поток начал протекать.\u003C\u002Fp>\u003Cp class=\"p1\">Внешние сервисы мы проверяем отдельно и по договорённости. Платёжный шлюз, 1С, CRM, доставка или сервис рассылок могут иметь собственные лимиты. Для массового прогона мы используем тестовые контуры, заглушки или заранее согласованный объём запросов. Случайный нагрузочный тест чужой системы быстро знакомит со службой безопасности. Подготовить собственный запуск он не помогает.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Тестовая среда должна быть похожа на рабочую там, где больно\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Тест на одном сервере с пустой базой плохо предсказывает поведение кластера с миллионом товаров и историей заказов. Полная копия рабочей среды бывает слишком дорогой, поэтому мы добиваемся сходства на участках, которые влияют на результат:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e1853b9a0c7773006502e881c419aab5e\">\u003Cp class=\"p1\">та же версия приложения и конфигурация сервисов;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ef34d65bc501d6858955bce7aaf86f9ce\">\u003Cp class=\"p1\">сопоставимые объём и распределение данных;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e92d58b11a8196893adc5bec29ceb8902\">\u003Cp class=\"p1\">такие же база данных, кэш, очереди и правила автоматического масштабирования;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4a3170f5b480d8b94a131e0ba7b17443\">\u003Cp class=\"p1\">реальные ограничения CDN, балансировщика, сетевого экрана и защиты от ботов;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e88317f2aaa8953933bab5b5e5234237e\">\u003Cp class=\"p1\">мониторинг на уровне приложения, инфраструктуры и бизнес-событий.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">В \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002F4fresh\">кейсе 4fresh\u003C\u002Fa> магазин переезжал с 1С-Битрикс на собственное решение. Вместе с ним мы переносили профили пользователей, историю заказов и тысячи отзывов. Такой объём нельзя честно воспроизвести пустой базой. Поэтому мы готовим среду с совпадающими версиями сервисов и сопоставимым «весом» реальных данных.\u003C\u002Fp>\u003Cp class=\"p1\">Меньший масштаб тестовой среды мы фиксируем в выводах. Мы пересчитываем результат только там, где известна зависимость от ресурсов. Без описания окружения фраза «на тесте всё выдержало» ничего не говорит о готовности к запуску.\u003C\u002Fp>\u003Cp class=\"p1\">Перед большим прогоном мы согласуем время, ответственных и критерии остановки. Мы останавливаем тест при росте числа ошибок, приближении базы к пределу соединений, остановке сокращения очередей или риске для соседних систем. Так мы находим безопасный предел без аварии в рабочем контуре.\u003Cbr>&nbsp;\u003C\u002Fp>\u003Ch2>\u003Cstrong>Пять ответов, после которых запуску можно дать зелёный свет\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Итоговый отчёт должен ответить на пять вопросов:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"efb37138ee699cc4d3b4e6562dfd4035f\">\u003Cp class=\"p1\">Какой поток пользователей и операций система выдерживает с нужным запасом?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"edb0f82bbaac95c209cc6b6fb861eabc8\">\u003Cp class=\"p1\">Каковы p95 и доля ошибок на каждом критичном шаге?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"eb49652b55d773f2f18a81e06742e7e54\">\u003Cp class=\"p1\">Сходятся ли заказы, оплаты, остатки и заявки между системами?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ee560892f3b0f3cea5720c6c969e4f363\">\u003Cp class=\"p1\">Какой компонент ограничивает рост и какая метрика предупредит об этом первой?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ecb46cb43e5d0767d1aed23004bb17c7b\">\u003Cp class=\"p1\">Что команда сделает при превышении прогноза по трафику?\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Последний пункт превращается в план запуска. В нём могут быть заранее поднятые ресурсы, очередь входа, отключение второстепенных функций, ограничение тяжёлых фильтров, готовый откат версии и список людей, которые следят за метриками в первые часы.\u003C\u002Fp>\u003Cp class=\"p1\">Критерий простой: сайт готов к рекламе, когда команда знает его безопасный предел, видит приближение к нему и умеет сохранить заказ при перегрузке. Тогда в 20:03 рабочий чат обсуждает продажи. Белый экран остался на тестовом контуре.\u003C\u002Fp>\u003Cp class=\"p1\">Где система начнёт замедляться и что произойдёт при перегрузке, лучше выяснить до запуска кампании. Нагрузочное тестирование позволяет заранее найти узкие места, проверить ключевые сценарии и подготовить сервис к пиковому трафику — в рамках поддержки и развития цифрового продукта.\u003C\u002Fp>",{"id":807,"metaTitle":7,"metaDescription":808,"ogImage":9},838,"Нагрузочное тестирование перед рекламной кампанией: сценарии, метрики, узкие места, план на пик. Как QTIM готовит платформы к пиковому трафику.",[810,862,910],{"createdAt":344,"id":339,"documentId":340,"title":341,"date":342,"description":9,"order":10,"slug":343,"showOnMainPage":12,"updatedAt":345,"publishedAt":346,"locale":16,"cover":811,"content":851,"media_event":9,"media_areas":854,"seo":857,"localizations":861},{"id":812,"documentId":813,"name":814,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":816,"hash":845,"ext":766,"mime":769,"size":846,"url":847,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":848,"updatedAt":849,"publishedAt":850},718,"biismkqsajejfta003c5fywa","photo_2026-09-09 15.35.40.jpeg",1920,{"large":817,"small":823,"medium":830,"thumbnail":837},{"ext":766,"url":818,"hash":819,"mime":769,"name":820,"path":9,"size":821,"width":772,"height":201,"sizeInBytes":822},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_09_15_35_40_6c8afcac51.jpeg","large_photo_2026_09_09_15_35_40_6c8afcac51","large_photo_2026-09-09 15.35.40.jpeg",65.71,65707,{"ext":766,"url":824,"hash":825,"mime":769,"name":826,"path":9,"size":827,"width":23,"height":828,"sizeInBytes":829},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_09_15_35_40_6c8afcac51.jpeg","small_photo_2026_09_09_15_35_40_6c8afcac51","small_photo_2026-09-09 15.35.40.jpeg",24.73,281,24725,{"ext":766,"url":831,"hash":832,"mime":769,"name":833,"path":9,"size":834,"width":785,"height":835,"sizeInBytes":836},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_09_15_35_40_6c8afcac51.jpeg","medium_photo_2026_09_09_15_35_40_6c8afcac51","medium_photo_2026-09-09 15.35.40.jpeg",43.81,422,43805,{"ext":766,"url":838,"hash":839,"mime":769,"name":840,"path":9,"size":841,"width":842,"height":843,"sizeInBytes":844},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_09_15_35_40_6c8afcac51.jpeg","thumbnail_photo_2026_09_09_15_35_40_6c8afcac51","thumbnail_photo_2026-09-09 15.35.40.jpeg",8.83,245,138,8834,"photo_2026_09_09_15_35_40_6c8afcac51",147.45,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_09_15_35_40_6c8afcac51.jpeg","2026-09-09T12:40:52.458Z","2026-09-09T12:48:23.777Z","2026-09-09T12:40:52.459Z",[852],{"__component":804,"id":492,"text":853},"\u003Ch2>\u003Cstrong>Разработка программы лояльности: как защитить баллы, статусы и возвраты\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Покупатель применяет бонусы в корзине, повторяет запрос после зависания и видит два списания. Разработка программы лояльности должна исключать такой сценарий при обычной покупке, во время распродажи и после восстановления временно недоступной интеграции.\u003C\u002Fp>\u003Cp class=\"p1\">Проблема затрагивает больше одного экрана. За балансом стоят профиль клиента, правила кампании, корзина, заказ, платёж, возврат, CRM, аналитика и поддержка. Если эти части по-разному понимают состояние операции, покупатель получает неверную скидку, а бизнес — расхождение в стоимости акции и истории заказа.\u003C\u002Fp>\u003Cp class=\"p1\">До запуска стоит проследить одну покупку от условия акции до возврата. Так обнаруживаются разрывы в идентификаторах, состояниях, журнале событий и поведении сервиса под нагрузкой.\u003C\u002Fp>\u003Ch2>\u003Cstrong>72% участников опроса Deloitte связывают программу с будущими покупками\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">В Consumer Loyalty Program Survey 2025 компания Deloitte опросила 5564 взрослых участника программ лояльности в США. Данные собирали с сентября по октябрь 2025 года, а вопросы о поведении относились к программе любимого бренда респондента. В этой группе 72% сообщили, что программа повышает вероятность покупок у выбранного бренда, а 56% — что благодаря ей тратят больше.\u003C\u002Fp>\u003Cp class=\"p1\">Эти результаты нельзя напрямую переносить на российский рынок или на все программы. Они показывают ценность механики для активных участников. Ошибка в балансе затрагивает обещание, которое уже влияет на выбор магазина и размер покупки.\u003C\u002Fp>\u003Cp class=\"p1\">Поэтому требования к программе включают не только правила начисления и дизайн личного кабинета. Нужны проверяемые операции, стабильная работа интеграций и понятный ответ клиенту при временном сбое.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Баллы проходят через профиль, корзину, оплату и возврат\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_09_15_35_47_eeac47351f.jpeg\" alt=\"photo_2026-09-09 15.35.47.jpeg\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_09_15_35_47_eeac47351f.jpeg 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_09_15_35_47_eeac47351f.jpeg 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_09_15_35_47_eeac47351f.jpeg 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_09_15_35_47_eeac47351f.jpeg 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Кнопка «Списать» запускает несколько процессов. Система проверяет пользователя и условия акции, читает доступный остаток, резервирует сумму, передаёт скидку в заказ, ждёт результат оплаты и обновляет историю.\u003C\u002Fp>\u003Cp class=\"p1\">Каждый этап может завершиться отдельно. Корзина уже создала резерв, платёжный сервис ещё обрабатывает запрос, а мобильное приложение показывает значение из кэша. Разные системы видят корректные данные для своей секунды, но покупатель получает противоречивый результат.\u003C\u002Fp>\u003Cp class=\"p1\">До проектирования интерфейса команда описывает события:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"ef015321ae64b8ce70d9b12a2b5385446\">\u003Cp class=\"p1\">начисление после подтверждённого условия;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e10fee6dfe4e9103f0a43804fedaf47ed\">\u003Cp class=\"p1\">резерв бонусов на время оформления;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ea011fabf84f721a5d5399eb09bab2af7\">\u003Cp class=\"p1\">окончательное списание;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ef7936b7a307c8565fc71343af85b5d26\">\u003Cp class=\"p1\">освобождение резерва;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e6e111b3fa1dd930aa38ec29096ee19ea\">\u003Cp class=\"p1\">истечение срока;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ea4e12ff32b54067aaf6ddd83ab54c05b\">\u003Cp class=\"p1\">компенсация после отмены или возврата.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Для каждого события нужен владелец. Одна система хранит окончательную историю бонусного счёта, остальные передают команды и получают результат. Такая граница защищает данные, когда сайт, приложение, касса и CRM работают одновременно.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Уникальный идентификатор останавливает повторное списание\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Пользователь может нажать кнопку ещё раз после задержки. Приложение или интеграция также повторяют запрос после тайм-аута. Сервер при этом мог выполнить первую операцию, хотя ответ не дошёл до отправителя.\u003C\u002Fp>\u003Cp class=\"p1\">AWS описывает безопасные повторы через идемпотентные API. Клиент передаёт уникальный идентификатор запроса, сервис распознаёт повтор и возвращает результат уже выполненной операции. Запись идентификатора и изменение данных проходят атомарно.\u003C\u002Fp>\u003Cp class=\"p1\">В программе лояльности идентификатор связывает корзину, бонусный сервис, заказ и журнал ошибок. Повтор с теми же параметрами возвращает прежний результат. Повтор с изменившимися параметрами останавливается на проверяемой ошибке.\u003C\u002Fp>\u003Cp class=\"p1\">Тот же механизм защищает начисления. Касса, платёжный сервис или очередь событий могут повторно сообщить об одной покупке. Система узнаёт исходную операцию и не увеличивает баланс второй раз.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Журнал событий объясняет каждую цифру баланса\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_09_15_35_45_e881eb0295.jpeg\" alt=\"photo_2026-09-09 15.35.45.jpeg\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_09_15_35_45_e881eb0295.jpeg 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_09_15_35_45_e881eb0295.jpeg 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_09_15_35_45_e881eb0295.jpeg 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_09_15_35_45_e881eb0295.jpeg 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Текущий остаток показывает итог. Для поддержки, разработки и финансов важна цепочка причин: по какому заказу начислены бонусы, какая сумма зарезервирована, что уже потрачено, когда истёк срок и какое действие исправило расхождение.\u003C\u002Fp>\u003Cp class=\"p1\">В Loyalty API компании Square каждое изменение баланса сохраняется как отдельное событие. Журнал включает начисление, использование награды, истечение срока и другие операции. Возврат создаёт новую запись, а прежняя история остаётся неизменной.\u003C\u002Fp>\u003Cp class=\"p1\">Собственная программа может использовать другой стек и модель данных. Принцип сохраняется: итоговый баланс должен восстанавливаться из проверяемых действий. Тогда поддержка объясняет конкретную операцию, разработчики находят место сбоя, а маркетинг сопоставляет начисления с заказами и возвратами.\u003C\u002Fp>\u003Cp class=\"p1\">Исправление также оформляется отдельным событием с автором и основанием. Простое изменение числа стирает причину и усложняет следующую сверку.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Возврат превращает одно правило в несколько переходов\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Заказ может пройти создание, оплату, разделение, частичную отмену и возврат. Бонусы движутся по собственным состояниям: доступны, зарезервированы, списаны, начислены или компенсированы.\u003C\u002Fp>\u003Cp class=\"p1\">Карта переходов связывает два жизненных цикла. Во время оформления система резервирует бонусы. После подтверждающего события по заказу списание становится окончательным. Неуспешная оплата или истечение резерва возвращает сумму в доступный остаток. Возврат запускает компенсирующую операцию по правилам программы.\u003C\u002Fp>\u003Cp class=\"p1\">Бизнес заранее определяет ответы:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e4718ea2c224d904c5bd96a5605f2168e\">\u003Cp class=\"p1\">как пересчитать начисление при частичном возврате;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e9183ee58a274c547e6820d790c13fc86\">\u003Cp class=\"p1\">что делать с повышенным коэффициентом акции;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e1dc16917dc23edbab3e8560e663c6a85\">\u003Cp class=\"p1\">как обработать бонусы, которые клиент уже потратил;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ef7a5e33126c71b91dc44766b2ace07cc\">\u003Cp class=\"p1\">влияет ли срок действия на компенсацию;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ee423229c1a85d4b98bfb167a2d124812\">\u003Cp class=\"p1\">какой отдел может выполнить корректировку.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Решения фиксируются в таблице переходов: исходное состояние, событие, новый статус, допустимый повтор и реакция на ошибку. Такая таблица становится общей основой для аналитика, разработчика, тестировщика и поддержки.\u003C\u002Fp>\u003Ch2>\u003Cstrong>На пике акции бизнес заранее выбирает, как оформить заказ\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Рассылка, старт распродажи или последний день бонусов создают резкий пик запросов. Пользователи одновременно проверяют баланс, активируют предложения и применяют скидку. Сервису приходится читать правила, создавать резервы и синхронизировать результат с заказом.\u003C\u002Fp>\u003Cp class=\"p1\">Временная недоступность бонусного контура требует заранее выбранного сценария:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"edc273a9f88a4b4a0e567aa171edb85ca\">\u003Cp class=\"p1\">остановить оформление до восстановления;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4a390bf134dec2f83d84dec6af7cdedf\">\u003Cp class=\"p1\">завершить заказ без бонусов и показать порядок компенсации;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e8acdc388fdc56b21e2639b3f0e78fdf5\">\u003Cp class=\"p1\">принять операцию в очередь и показывать промежуточный статус.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Первый вариант сохраняет строгую согласованность ценой остановки заказов. Второй поддерживает продажи, но создаёт обязательство перед покупателем. Третий сглаживает пик и требует контроля очереди, срока обработки и устаревших команд.\u003C\u002Fp>\u003Cp class=\"p1\">Интерфейс должен честно отражать выбранный режим. Старый баланс без предупреждения создаёт обещание, которое система уже не может подтвердить.\u003C\u002Fp>\u003Cp class=\"p1\">Для мониторинга полезны доля ошибок начисления и списания, задержка между статусом заказа и бонусной операцией, количество повторов, возраст сообщений в очереди и расхождения после сверки. Эти показатели проверяют критичный путь точнее, чем средняя доступность всего приложения.\u003C\u002Fp>\u003Ch2>\u003Cstrong>4fresh и Стадикэтс: внутренняя валюта проходит через весь продукт\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">В кейсе\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002F4fresh\"> 4fresh\u003C\u002Fa> команда Qtim переносила интернет-магазин с 1С-Битрикс на собственное решение и развивала систему лояльности: внутреннюю валюту, программы приглашений и премиум-клуб. Вместе с платформой переносились профили пользователей и история заказов.\u003C\u002Fp>\u003Cp class=\"p1\">В \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fstudycats\">Стадикэтс \u003C\u002Fa>шесть образовательных курсов объединили в одну платформу с общей реферальной программой. Механика связывает код друга, покупку, начисление котокоинов и обмен на скидки или промокоды. Внутренняя валюта действует для любого курса.\u003C\u002Fp>\u003Cp class=\"p1\">Кейсы показывают две формы программы: e-commerce-контур с несколькими предложениями лояльности и единая реферальная механика внутри продуктовой платформы. В обоих случаях правила затрагивают идентификацию пользователя, покупку, применение выгоды и историю.\u003C\u002Fp>\u003Cp class=\"p1\">Публичные материалы подтверждают состав функций и последовательность продуктовой механики. Они не раскрывают детали транзакционной реализации, поэтому конкретные архитектурные решения оцениваются для каждого проекта отдельно.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Шесть вопросов определяют состав разработки\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_09_15_35_43_521d172967.jpeg\" alt=\"photo_2026-09-09 15.35.43.jpeg\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_09_15_35_43_521d172967.jpeg 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_09_15_35_43_521d172967.jpeg 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_09_15_35_43_521d172967.jpeg 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_09_15_35_43_521d172967.jpeg 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cul>\u003Cli data-list-item-id=\"e1c5b298472a03e7a9e8946e8a14ce019\">\u003Cp class=\"p1\">Перед оценкой проекта пройдите один заказ от условия акции до возврата и ответьте на шесть вопросов.\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e3de142a904127a45c04f4d80eda39698\">\u003Cp class=\"p1\">Какое событие создаёт начисление, резерв, списание, отмену и компенсацию?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e71072d37861a7da4a9dc1ee728cde4d3\">\u003Cp class=\"p1\">Какая система хранит окончательную историю операций?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4ddfd1bea3781cbfa355526fb8658962\">\u003Cp class=\"p1\">Как связанные сервисы распознают повтор одного запроса?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e398383326c46a38524c7ee75a92db33a\">\u003Cp class=\"p1\">Какие промежуточные статусы видят клиент, поддержка и аналитика?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"efaa8646a8458f61fb5223adba92f16f1\">\u003Cp class=\"p1\">Как полная и частичная отмена меняют начисленные и потраченные бонусы?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e8e9d4ca4b700b31d2365df1717d02f11\">\u003Cp class=\"p1\">Что происходит с заказом при временной недоступности бонусного сервиса?\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Ответы определяют модель данных, API-контракты, очереди, мониторинг и набор тестов. В проверку входят одновременные списания из разных каналов, повтор после тайм-аута, частичный возврат, истечение резерва, повторная доставка события и восстановление очереди.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Если баллы меняют чек, им нужен денежный контур\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Если баллы меняют сумму заказа или создают обязательство перед клиентом, их проводят с дисциплиной платёжной операции: присваивают идентификатор, меняют по карте состояний, записывают в журнал и сверяют с заказом.\u003C\u002Fp>\u003Cp class=\"p1\">Команда Qtim проектирует e-commerce-платформы с личными кабинетами, оплатой, CRM, аналитикой и интеграциями. Обсудить программу лояльности и получить план разработки можно на \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fe-commerce\">странице услуги\u003C\u002Fa>.\u003C\u002Fp>",[855,856],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"id":858,"metaTitle":859,"metaDescription":860},807,"Программа лояльности под нагрузкой: почему баллы списываются дважды — QTIM","Как проектировать программу лояльности под пиковой нагрузкой: защита от двойного списания, журнал событий, возвраты баллов, интеграция с кассой. Опыт QTIM.",[],{"createdAt":353,"id":348,"documentId":349,"title":350,"date":351,"description":9,"order":10,"slug":352,"showOnMainPage":12,"updatedAt":354,"publishedAt":355,"locale":16,"cover":863,"content":898,"media_event":9,"media_areas":902,"seo":905,"localizations":909},{"id":864,"documentId":865,"name":866,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":867,"hash":894,"ext":869,"mime":872,"size":895,"url":896,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":897,"updatedAt":897,"publishedAt":897},891,"ult6u5v680gskyo21onki5bg","01-cover.png",{"large":868,"small":876,"medium":882,"thumbnail":888},{"ext":869,"url":870,"hash":871,"mime":872,"name":873,"path":9,"size":874,"width":772,"height":201,"sizeInBytes":875},".png","https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_e88581bd03.png","large_01_cover_e88581bd03","image\u002Fpng","large_01-cover.png",561.78,561780,{"ext":869,"url":877,"hash":878,"mime":872,"name":879,"path":9,"size":880,"width":23,"height":828,"sizeInBytes":881},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_e88581bd03.png","small_01_cover_e88581bd03","small_01-cover.png",157.26,157263,{"ext":869,"url":883,"hash":884,"mime":872,"name":885,"path":9,"size":886,"width":785,"height":835,"sizeInBytes":887},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_e88581bd03.png","medium_01_cover_e88581bd03","medium_01-cover.png",335.2,335199,{"ext":869,"url":889,"hash":890,"mime":872,"name":891,"path":9,"size":892,"width":842,"height":843,"sizeInBytes":893},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_e88581bd03.png","thumbnail_01_cover_e88581bd03","thumbnail_01-cover.png",45.83,45826,"01_cover_e88581bd03",516.24,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_e88581bd03.png","2026-09-23T19:52:22.625Z",[899],{"__component":804,"id":900,"text":901},505,"\u003Cp class=\"p1\">За день до релиза руководитель открывает доску задач. Всё важное закрыто, тестовый стенд работает, команда пишет «готово». Потом звучит один неудобный вопрос: если новая функция заденет оплату, личный кабинет или обмен данными с CRM, как быстро мы это увидим и откатим?\u003C\u002Fp>\u003Cp class=\"p1\">Зелёные статусы отвечают, что задачи выполнены. Для решения о запуске нужна другая картина: какие части продукта связаны, где ошибка разойдётся по всей системе и что команда сможет сделать во время сбоя.\u003C\u002Fp>\u003Cp class=\"p1\">IT-аудит помогает получить эту картину до того, как проблемы проявятся на релизе. Он показывает состояние кода, архитектуры, инфраструктуры и процессов разработки, а главное — помогает связать технические риски с решениями по продукту. Ниже — о том, что проверять в рамках аудита и как превратить его результаты в план действий перед следующим релизом.\u003Cbr>&nbsp;\u003C\u002Fp>\u003Ch2>\u003Cstrong>Код выдаёт цену следующего изменения\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"02-one-rule-three-places.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_one_rule_three_places_fcc5dbbce3.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_one_rule_three_places_fcc5dbbce3.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_one_rule_three_places_fcc5dbbce3.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_one_rule_three_places_fcc5dbbce3.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_one_rule_three_places_fcc5dbbce3.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">При аудите код читают как карту будущих работ. Важно понять, где лежит бизнес-логика, сколько модулей затронет новая функция, какие участки можно проверить автоматически и где результат зависит от осторожности конкретного разработчика.\u003C\u002Fp>\u003Cp class=\"p1\">Сам по себе длинный метод ещё не останавливает релиз. Гораздо опаснее правило, которое повторяется в трёх местах. Например, условия расчёта скидки могут жить в личном кабинете, фоновом задании и интеграции с CRM. Команда обновит два участка, а третий продолжит считать по старой схеме. Код выполнится без ошибок, зато финансовый отчёт получит собственную версию событий.\u003C\u002Fp>\u003Cp class=\"p1\">Поэтому мы смотрим на связанность модулей, дублирование логики, обработку ошибок, тесты критических сценариев и историю изменений. Если один файл регулярно участвует в исправлениях разных функций, перед нами горячая точка: любое новое требование увеличивает вероятность побочного эффекта.\u003C\u002Fp>\u003Cp class=\"p1\">Ещё один сигнал — код, который все боятся трогать. Обычно рядом есть комментарий «временно» и человек, который помнит, почему это временное решение пережило несколько кварталов. IT-аудит переводит такую коллективную осторожность в конкретные вопросы:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"eed43d5e246dc7d3bc39f97ba9c91655f\">\u003Cp class=\"p1\">какой бизнес-процесс зависит от участка;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ea76a477c776a85f7df07cf8cfdcc2085\">\u003Cp class=\"p1\">какие входные данные и исключения он обрабатывает;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4e0a1da0216ae628c6f539f3de4e5819\">\u003Cp class=\"p1\">чем проверить результат после правки;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ec104883a1a986c07a3ed2593e2e8b341\">\u003Cp class=\"p1\">кто понимает логику и отвечает за неё.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">По этим ответам видно, во что обойдётся правка каждого проблемного участка. Где-то достаточно добавить тесты и продолжать разработку. Где-то функцию разумнее сократить. А иногда безопасный релиз начинается с небольшого рефакторинга: команда сначала разделяет ответственность внутри модуля, затем добавляет новый сценарий.\u003C\u002Fp>\u003Ch2>\u003Cbr>\u003Cstrong>Одна правка, пять модулей: архитектура раздувает радиус сбоя\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Архитектурный аудит показывает, насколько далеко распространяется ошибка. Для этого команда восстанавливает границы компонентов, связи между ними и путь данных от действия пользователя до результата в бизнес-системе.\u003C\u002Fp>\u003Cp class=\"p1\">Представим оформление заказа. Интерфейс отправляет запрос, сервер проверяет остатки, платёжный сервис подтверждает операцию, CRM создаёт сделку, склад получает задачу. На схеме всё выглядит линейно. В работе каждый участник цепочки может ответить медленно, повторить сообщение или временно стать недоступным. Архитектура определяет, останется ли проблема внутри одного шага или превратится в заказ без оплаты, двойное списание либо сделку без товара.\u003C\u002Fp>\u003Cfigure class=\"image\">\u003Cimg alt=\"03-order-failure-radius.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_order_failure_radius_149e90b6e7.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_order_failure_radius_149e90b6e7.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_order_failure_radius_149e90b6e7.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_order_failure_radius_149e90b6e7.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_order_failure_radius_149e90b6e7.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Во время аудита мы проверяем границы модулей, общие базы данных, синхронные цепочки, очереди, ограничения по времени ответа и повторные запросы. Отдельно смотрим на точки, через которые проходит слишком много сценариев. Один общий сервис авторизации — нормальная часть системы. Единственный сервер без резервного маршрута для входа всех пользователей — уже риск непрерывности бизнеса.\u003C\u002Fp>\u003Cp class=\"p1\">Название архитектурного подхода само по себе мало говорит о надёжности. Хорошо разделённое приложение с единым развёртыванием — модульный монолит — бывает предсказуемее набора микросервисов, которые делят одну базу и созваниваются по любой мелочи. Каждый новый сервис добавляет сетевое взаимодействие, отдельный выпуск, мониторинг и сценарии частичного отказа. Если границы проведены только на диаграмме, распределённая система просто переносит связанность из кода в сеть.\u003C\u002Fp>\u003Cp class=\"p1\">После разбора у команды остаются карта зависимостей и радиус возможного сбоя. По ним видно, где усилить изоляцию, какую операцию вынести в фон, где добавить резервирование и какие части лучше оставить вместе. Большая перестройка нужна редко. Чаще релиз спасает точечное изменение на самом нагруженном перекрёстке.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Интеграция говорит «успешно», а бизнес уже считает дважды\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Внешний API — программный интерфейс партнёрской системы — может вернуть успешный ответ, хотя бизнес-процесс завершился наполовину. Оплата прошла, а доступ не открылся. CRM приняла сделку, но уведомление менеджеру потерялось. Склад зарезервировал товар, пока сайт показал пользователю ошибку и предложил повторить заказ.\u003C\u002Fp>\u003Cp class=\"p1\">Такие ситуации появляются на границах систем. Технически каждый компонент сделал свою часть, а цельный сценарий рассыпался. Пользователю всё равно, какой сервис был прав: он видит списание без результата и идёт в поддержку.\u003C\u002Fp>\u003Cp class=\"p1\">IT-аудит восстанавливает цепочку статусов и определяет источник истины — систему, чьё состояние считается главным для конкретных данных.\u003C\u002Fp>\u003Cp class=\"p1\">Затем проверяются четыре неудобных сценария:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"eeffca7c227ca0aff0d9969b76a1f4d39\">\u003Cp class=\"p1\">задержка ответа;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e534fc102afb32b9f4885ae7ff8a1e2ca\">\u003Cp class=\"p1\">повторная доставка;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ecab4f0b6f5edbb67beeea0c4ed48745d\">\u003Cp class=\"p1\">нарушение порядка событий;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e5fa8dddcaec9cbf8aee7a4b68d3df013\">\u003Cp class=\"p1\">частичный успех.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Здесь особенно важна идемпотентность — свойство операции давать тот же результат при повторном выполнении. Повтор не должен создавать вторую оплату или ещё одну заявку.\u003C\u002Fp>\u003Cp class=\"p1\">Для очередей смотрят, что происходит с сообщением после ошибки, как растёт число необработанных задач и кто узнаёт, что обработка остановилась. Для внешних API проверяют ограничения, версии и поведение при недоступности партнёра.\u003C\u002Fp>\u003Cp class=\"p1\">У интеграций есть неприятная привычка работать идеально на тестовом стенде, где соседние сервисы отвечают быстро и по одному разу. Аудит добавляет в эту идиллию реальную жизнь: обрывы связи, повторы, задержки и данные, которые пришли не в том порядке.\u003C\u002Fp>\u003Cp class=\"p1\">После такой проверки становится понятно, какие сбои блокируют запуск, а какие можно пережить с повторной обработкой и понятным статусом для пользователя.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Резервная копия проходит проверку восстановлением\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Файл с названием «резервная копия» ещё не гарантирует возврат системы в работу. Он может оказаться неполным, зашифрованным потерянным ключом или слишком старым для нового формата базы. Поэтому аудит инфраструктуры проверяет путь до восстановления целиком: что сохраняется, как часто, кто имеет доступ и сколько времени займёт запуск после сбоя.\u003C\u002Fp>\u003Cp class=\"p1\">Здесь же разбирают окружения, развёртывание, права, секреты и наблюдаемость. Наблюдаемость — логи, метрики и трассировка запросов, по которым команда понимает состояние продукта. Если мониторинг сообщает только «сервер отвечает», он легко пропустит более полезные новости: очередь не движется, платежи падают, письма не уходят, а пользователи получают пустой экран.\u003C\u002Fp>\u003Cp class=\"p1\">Доступ к данным проверяют отдельно. Где хранятся токены и пароли? Кто может зайти в рабочее окружение? Как выдаются права и остаётся ли история действий? Общая учётная запись на всю команду ускоряет вход ровно до момента, когда нужно выяснить, кто изменил настройку. Потом экономия времени внезапно меняет знак.\u003C\u002Fp>\u003Cp class=\"p1\">Для релиза важны две величины: допустимая потеря данных (RPO) и допустимое время восстановления (RTO). Эти параметры влияют на частоту резервного копирования, схему развёртывания и план отката сильнее, чем абстрактное требование «сделать надёжно».\u003C\u002Fp>\u003Cfigure class=\"image\">\u003Cimg alt=\"04-verified-recovery.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F04_verified_recovery_c98ea5ad32.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_04_verified_recovery_c98ea5ad32.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_04_verified_recovery_c98ea5ad32.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_04_verified_recovery_c98ea5ad32.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_04_verified_recovery_c98ea5ad32.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">После проверки инфраструктуры команда должна знать:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e81ef38045ea9040430976770289f4e24\">\u003Cp class=\"p1\">какие метрики покажут проблему раньше обращений пользователей;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ef4790ee5ec4a8d9b849fe03a3ff9b32c\">\u003Cp class=\"p1\">кто получает сигнал и принимает решение;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e685ea6aba1472d754df4b783fe8f140f\">\u003Cp class=\"p1\">как остановить распространение ошибки;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e1d739dc9be09255d6f9da34e1b4e9e30\">\u003Cp class=\"p1\">как вернуть предыдущую версию;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ee73829f34df516f4ba191792756a58df\">\u003Cp class=\"p1\">как восстановить данные и проверить их целостность.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Если ответ существует только в памяти инженера, план аварийного восстановления пока зависит от его режима «не беспокоить».\u003C\u002Fp>\u003Cp class=\"p1\">Незаменимый разработчик становится зависимостью проекта\u003C\u002Fp>\u003Cp class=\"p1\">Код и инфраструктура работают внутри команды, поэтому IT-аудит затрагивает процесс разработки. Здесь выясняется, кто владеет критическими модулями, как проходят ревью, где описан выпуск и сможет ли другой специалист повторить действия автора решения.\u003C\u002Fp>\u003Cp class=\"p1\">Тревожный признак — релиз, который умеет проводить один человек. Он знает порядок команд, помнит особую настройку сервера и по звуку ошибки понимает, какой контейнер перезапустить. Так выглядит фактор незаменимости (bus factor): критическое знание сосредоточено у одного специалиста. Для проекта это такая же точка отказа, как единственный сервер. Отличие лишь в том, что человеку ещё нужен отпуск.\u003C\u002Fp>\u003Cp class=\"p1\">Аудит смотрит на документацию, правила работы с кодом, проверку изменений коллегами, тестовые окружения и ответственность за модули. Полезная документация при этом описывает рабочие действия: как развернуть проект, где искать метрики, как откатить версию, что проверить после изменения структуры базы. Каталог терминов на сорок страниц может выглядеть солидно, но во время сбоя команда всё равно откроет инструкцию из пяти пунктов.\u003C\u002Fp>\u003Cp class=\"p1\">Процесс выпуска тоже должен оставлять проверяемый след. Какая версия ушла в рабочее окружение? Какие обновления базы выполнились? Кто подтвердил критические сценарии? Как включить функцию только для части аудитории? Без этих ответов каждый запуск становится отдельным ремеслом, а его качество зависит от состава смены.\u003C\u002Fp>\u003Cp class=\"p1\">У каждого критического участка должны появиться владелец, резервный специалист и понятная процедура. Такая карта ответственности снижает зависимость от отдельных людей и помогает оценивать сроки честнее. Если новую функцию понимает один разработчик, в её оценку уже входит время на передачу знаний.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Хороший отчёт заканчивается очередностью\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Список из нескольких десятков замечаний легко превращает аудит в каталог тревог. Бизнесу нужен порядок: что мешает ближайшему запуску, что можно контролировать во время работы и какие улучшения войдут в техническую дорожную карту.\u003C\u002Fp>\u003Cfigure class=\"image\">\u003Cimg alt=\"05-three-audit-decisions.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F05_three_audit_decisions_721a7bc518.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_05_three_audit_decisions_721a7bc518.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_05_three_audit_decisions_721a7bc518.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_05_three_audit_decisions_721a7bc518.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_05_three_audit_decisions_721a7bc518.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp class=\"p1\">Мы раскладываем выводы по влиянию на бизнес-сценарий и вероятности проблемы. Для решения перед релизом используем три группы — в порядке срочности реакции.\u003C\u002Fp>\u003Col>\u003Cli data-list-item-id=\"edfb9d9af3945fcdaa8c0a5f2646ca866\">\u003Cp class=\"p1\">Исправить до запуска. Сюда попадают риски потери или раскрытия данных, некорректных платежей, необратимой миграции, массовой недоступности и отсутствия рабочего отката. У такого замечания должен быть владелец, срок и способ повторной проверки.\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e5ad33e02928ab7b5de89e80b646809b5\">\u003Cp class=\"p1\">Выпускать с контролем. Проблема ограничена, а команда умеет быстро её заметить и остановить. Помогают поэтапное включение, заранее подготовленный переключатель функции (feature flag), усиленный мониторинг, лимит нагрузки и сценарий отката.\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ece198b47bf2687948755523b26e131f6\">\u003Cp class=\"p1\">Поставить в дорожную карту. Технический долг повышает стоимость будущих изменений, но не угрожает текущему запуску. Для него фиксируют последствия, приоритет и момент, когда откладывать станет дороже исправления.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Cp class=\"p1\">Такая классификация удерживает два крайних решения. Критический дефект сдвигает запуск, а устаревший модуль без прямого влияния на него остаётся в дорожной карте. У замечаний появляется контекст, а у руководителя — основание принять риск осознанно.\u003C\u002Fp>\u003Cp class=\"p1\">У нас этот путь начинается с \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fconsulting\">погружения в бизнес-задачу и разбора архитектуры со стеком\u003C\u002Fa>. Затем слабые места превращаются в приоритизированный список рисков и дорожную карту с оценкой. Выводы привязываются к порядку работ, срокам и составу релиза, иначе отчёт быстро переезжает в папку «прочитать позже».\u003C\u002Fp>\u003Ch2>\u003Cstrong>Перед следующим релизом нужны семь ответов\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Категорию для каждого замечания выбирают по конкретному сценарию: что сломается, как команда это заметит и сможет ли восстановить систему. Поэтому рядом с зелёными статусами на доске нужны ответы:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e64105018489fbf9603cc3da99601df38\">\u003Cp class=\"p1\">Какие пользовательские и денежные сценарии затрагивает изменение?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"eb18b87342b1202657f0f11972be064ba\">\u003Cp class=\"p1\">Где хранится главная версия данных для каждого из них?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e44224bce81022252b95b34084e2fef12\">\u003Cp class=\"p1\">Что произойдёт при задержке, повторе или частичном сбое?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"eeb76cbabce567c0ebe250b586201250c\">\u003Cp class=\"p1\">По какой метрике команда первой увидит проблему?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e4904bcb7df74a2437877d1cfed2e4bc3\">\u003Cp class=\"p1\">Кто принимает решение об остановке или продолжении запуска?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e0e78689a5200f89c1c3e8e76e65f74a8\">\u003Cp class=\"p1\">Как вернуть предыдущую версию и восстановить данные?\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ebcfb03c285a46bf8c223ac693f2a8a13\">\u003Cp class=\"p1\">Какие риски команда принимает сейчас и когда вернётся к ним?\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">IT-аудит соединяет выводы о коде, архитектуре, инфраструктуре и процессе разработки. После него готовность к запуску можно обсуждать предметно: критические проблемы закрыты, контролируемые получили наблюдение и план отката, остальные заняли своё место в дорожной карте.\u003C\u002Fp>\u003Cp class=\"p1\">Если перед запуском эту картину приходится собирать по чатам, памяти команды и диаграмме неизвестной свежести, можно принести проект на \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fconsulting\">IT-консалтинг и аудит разработки\u003C\u002Fa>. Мы разберём текущую систему и поможем определить состав следующего релиза — до того, как самый подробный отчёт о проблеме напишут пользователи.\u003C\u002Fp>",[903,904],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"id":906,"metaTitle":907,"metaDescription":908},729,"IT-аудит перед релизом: что находим в проектах до запуска — QTIM","Что IT-аудит находит перед релизом: цена изменений в коде, радиус сбоя в архитектуре, дубли в интеграциях, непроверенные бэкапы. Семь вопросов — QTIM.",[],{"createdAt":715,"id":710,"documentId":711,"title":712,"date":713,"description":9,"order":10,"slug":714,"showOnMainPage":12,"updatedAt":716,"publishedAt":717,"locale":16,"cover":911,"content":944,"media_event":9,"media_areas":948,"seo":957,"localizations":961},{"id":912,"documentId":913,"name":914,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":915,"hash":940,"ext":766,"mime":769,"size":941,"url":942,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":943,"updatedAt":943,"publishedAt":943},723,"w3k42ovrywwevzxh1288ctpw","photo_2026-09-10 16.04.45.jpeg",{"large":916,"small":922,"medium":928,"thumbnail":934},{"ext":766,"url":917,"hash":918,"mime":769,"name":919,"path":9,"size":920,"width":772,"height":201,"sizeInBytes":921},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_10_16_04_45_8bad297a5f.jpeg","large_photo_2026_09_10_16_04_45_8bad297a5f","large_photo_2026-09-10 16.04.45.jpeg",85.42,85424,{"ext":766,"url":923,"hash":924,"mime":769,"name":925,"path":9,"size":926,"width":23,"height":828,"sizeInBytes":927},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_10_16_04_45_8bad297a5f.jpeg","small_photo_2026_09_10_16_04_45_8bad297a5f","small_photo_2026-09-10 16.04.45.jpeg",29.13,29130,{"ext":766,"url":929,"hash":930,"mime":769,"name":931,"path":9,"size":932,"width":785,"height":835,"sizeInBytes":933},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_10_16_04_45_8bad297a5f.jpeg","medium_photo_2026_09_10_16_04_45_8bad297a5f","medium_photo_2026-09-10 16.04.45.jpeg",55.37,55368,{"ext":766,"url":935,"hash":936,"mime":769,"name":937,"path":9,"size":938,"width":842,"height":843,"sizeInBytes":939},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_10_16_04_45_8bad297a5f.jpeg","thumbnail_photo_2026_09_10_16_04_45_8bad297a5f","thumbnail_photo_2026-09-10 16.04.45.jpeg",9.58,9583,"photo_2026_09_10_16_04_45_8bad297a5f",199.29,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_10_16_04_45_8bad297a5f.jpeg","2026-09-10T14:09:39.285Z",[945],{"__component":804,"id":946,"text":947},601,"\u003Cp class=\"p1\">Пользователь просит ChatGPT найти свежие правила для онлайн-платформ. Сервис обращается к вебу, выбирает источники, собирает ответ и показывает ссылки. На экране — \u003Ca href=\"\u002Fservices\u002Fai-chatbots\">чат-бот\u003C\u002Fa>. Внутри — информационный поиск.\u003C\u002Fp>\u003Cp class=\"p1\">31 августа 2026 года Еврокомиссия признала ChatGPT очень крупной онлайн-поисковой системой по DSA. Поводом стала функция веб-поиска: ChatGPT сам выбирает источники и собирает из них ответ.\u003C\u002Fp>\u003Cp class=\"p1\">Мы проектируем ИИ-поиск и RAG-системы. В одном из наших проектов мы сделали RAG-консультанта для магазина дверей. Он работал только с каталогом: уточнял размеры и требования, подбирал товары и объяснял выбор. Сложные запросы передавал менеджеру вместе с собранным контекстом. Этот кейс показывает, какой контроль нужен даже закрытой системе — и что меняется, когда к ней добавляют поиск в интернете.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Один ответ скрывает четыре решения внутри продукта\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Обычный поисковик показывает выдачу: человек сам открывает страницы и сравнивает информацию. ИИ-поиск проходит этот путь внутри продукта и отдаёт готовый текст со ссылками.\u003C\u002Fp>\u003Cp class=\"p1\">У этой цепочки как минимум четыре слоя:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e3af33d4370ed1ebf12bedac0a3e9db5f\">\u003Cp class=\"p1\">система интерпретирует вопрос и решает, нужен ли поиск в интернете;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e009b12b8ae3d6e0a50cbe3508101b836\">\u003Cp class=\"p1\">поисковый контур формирует запросы и отбирает документы;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ee5ef823f875d006955804ae2ab40fcd1\">\u003Cp class=\"p1\">модель выбирает фрагменты, разрешает противоречия и собирает ответ;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e04ba32cacd95b2215b300770072bcc9f\">\u003Cp class=\"p1\">фильтры, правила продукта и персонализация меняют то, что увидит пользователь.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">ИИ-поиск нужно проверять как поисковую систему: от вопроса до источников и ответа. Финальный текст не показывает, какие запросы, источники и фильтры к нему привели. Одинаковый ответ может получиться из разных цепочек, а одна версия системы — отвечать по-разному после обновления выдачи.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Проверяемость закладывают до релиза\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">DSA требует от крупнейших сервисов оценивать системные риски, проходить аудит и обеспечивать надзор. Для ChatGPT требования начнут действовать в январе 2027 года. Значит, журналы событий, версии компонентов и источники нужно связывать до релиза: восстановить ход ответа задним числом не получится.\u003C\u002Fp>\u003Cp class=\"p1\">Решение касается ChatGPT и не переносит обязанности DSA на все ИИ-продукты. Сам регламент применяется к посредническим сервисам, которые предлагаются пользователям в ЕС, независимо от страны провайдера.\u003C\u002Fp>\u003Cp class=\"p1\">Проверяемость нужна и за пределами ЕС. Когда сервис сам выбирает источники и собирает ответ, команда должна уметь восстановить ход решения, заметить вредный результат и остановить функцию без потери данных. Требования зависят от широты источников, размера аудитории и последствий ответа. Конкретные уровни разберём после базовых требований к релизу.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Аудит начинается до релиза крупной функции\u003C\u002Fstrong>\u003Cbr>&nbsp;\u003C\u002Fh2>\u003Cp class=\"p1\">Статья 34 DSA требует оценивать системные риски минимум раз в год и перед запуском функций, которые, вероятно, окажут критическое влияние на выявленные риски. Для продуктовой команды это похоже на новый тип релизного шлюза.\u003C\u002Fp>\u003Cp class=\"p1\">Перед крупной функцией нужно связать четыре объекта:\u003C\u002Fp>\u003Cp class=\"p1\">сценарий пользователя и группы, которых он затрагивает;\u003C\u002Fp>\u003Cp class=\"p1\">риск и измеримый сигнал, по которому его можно заметить;\u003C\u002Fp>\u003Cp class=\"p1\">меру снижения риска: ограничение, дополнительную проверку, изменение интерфейса или правил;\u003C\u002Fp>\u003Cp class=\"p1\">план выпуска: тестовую группу, мониторинг, условие остановки и откат.\u003C\u002Fp>\u003Cp class=\"p1\">DSA не задаёт схему данных и набор инструментов. Мы предлагаем связать риск, релиз и события одной функцией. Иначе оценка остаётся в документе, релиз — в трекере, события — в разных журналах; при проверке связь между ними приходится восстанавливать заново.\u003C\u002Fp>\u003Cp class=\"p1\">Карточка риска должна ссылаться на версию релиза, метрика — на панель мониторинга, решение о запуске — на ответственного человека или роль. Функциональный флаг и сценарий отката надёжнее обещания «быстро выключим»: оно не исполняется через API.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Финальный текст не объяснит, почему система ответила именно так\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">По одному экрану нельзя воспроизвести ответ языковой модели. На него влияют версия модели, системная инструкция, доступные инструменты, поисковые запросы, найденные документы, фильтры и состояние внешних источников.\u003C\u002Fp>\u003Cp class=\"p1\">Для расследования нужен общий идентификатор запроса. Он связывает последовательность событий:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e8f59001849b6f37e5c1d02fd7802907e\">\u003Cp class=\"p1\">какая версия модели и инструкции работала;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e73dabbfdc7877b3e83e9ed670e5ab7a2\">\u003Cp class=\"p1\">почему система запустила поиск или другой инструмент;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e7299b7b17bac10fa2fa182da783ca7e2\">\u003Cp class=\"p1\">какие запросы отправила и какие источники получила;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e0683f9245934cc3ad694cfc27c2b516d\">\u003Cp class=\"p1\">какие политики и фильтры сработали;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e0c4230ae269c5123d9421b0e7b86c598\">\u003Cp class=\"p1\">какой ответ увидел пользователь и какие ссылки были показаны;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"efe1b9dc8e04c09512983e2ba8830a4e9\">\u003Cp class=\"p1\">было ли вмешательство человека, повторный запуск или откат.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Журнал не должен превращаться в копию диалога. Срок хранения, доступ, маскирование и удаление нужно определить вместе с трассировкой. Чем подробнее запись, тем выше её ценность и риск утечки. Цель — восстановить решение, не хранить всё содержимое диалога.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Доступ к данным нельзя достроить за выходные\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Для крупнейших платформ DSA требует отдельного контура доступа к данным для надзора и исследований.\u003C\u002Fp>\u003Cp class=\"p1\">Прямой доступ исследователя к рабочей базе угрожает приватности, коммерческой тайне и стабильности сервиса. Выгрузки «по запросу» тоже ненадёжны: поля меняются, методика неизвестна, одинаковые показатели считают по-разному.\u003C\u002Fp>\u003Cp class=\"p1\">Нужны версия схемы, словарь показателей, правила обезличивания, журнал обращений и воспроизводимая выборка. Контур должен отделять данные для проверки риска от информации, раскрытие которой создаст новый риск.\u003C\u002Fp>\u003Cp class=\"p1\">Такой контур редко создают за один спринт: его сложность зависит от истории данных в сервисе.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Проверяемость замедляет эксперимент\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Проверяемость требует ресурсов. Карточки рисков, проверочные сценарии, версии инструкций, расширенные журналы и контролируемые выгрузки добавляют работу до релиза. Хранение событий требует инфраструктуры и правил доступа.\u003C\u002Fp>\u003Cp class=\"p1\">Избыточный контроль тоже обходится дорого. Небольшому внутреннему помощнику по документам одного отдела не нужен контур уровня глобального поисковика. Объём контроля растёт вместе с широтой источников, размером аудитории и последствиями ответа.\u003C\u002Fp>\u003Cp class=\"p1\">Это шкала из четырёх уровней контроля: от личного контекста пользователя до крупных публичных систем. Каждый следующий уровень расширяет источники данных или повышает цену ошибки.\u003C\u002Fp>\u003Cp class=\"p1\">Контекст пользователя. Система работает только с тем, что человек передал в запрос. Нужны версия модели, базовый журнал ошибок и понятная граница хранения данных.\u003C\u002Fp>\u003Cp class=\"p1\">Закрытая база знаний. Появляются идентификаторы документов, контроль прав, ссылки на источники, тесты качества поиска и возможность удалить устаревший материал из индекса.\u003C\u002Fp>\u003Cp class=\"p1\">Открытый веб и публичная аудитория. Добавляются история поисковых запросов, состав источников, контроль разнообразия выдачи, сценарии вредных ответов, поэтапный выпуск и быстрый откат.\u003C\u002Fp>\u003Cp class=\"p1\">Большой масштаб или чувствительные последствия. Нужны формализованная оценка рисков, независимая проверка, воспроизводимые отчёты и отдельный контур доступа к данным.\u003C\u002Fp>\u003Cp class=\"p1\">Например, наш консультант для магазина дверей относится ко второму уровню — закрытой базе знаний.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Пять вопросов перед новым релизом\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Перед выпуском ИИ-функции мы задаём команде пять вопросов:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"ed09ca978a29b7f02c1df0a1d4d38cbac\">\u003Cp class=\"p1\">в каком информационном контуре работает система: запрос пользователя, корпоративные документы, партнёрские источники или открытый веб;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"ead2474062272738d11070da3cfccfa65\">\u003Cp class=\"p1\">на каком этапе продукт выбирает источники и может сузить картину для пользователя;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e024a35accf0f882a6098ead1685f5cb2\">\u003Cp class=\"p1\">можно ли восстановить цепочку от запроса до ответа с версиями модели, инструкций и правил;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e6276ea5df6c09df4ef6b4c2f6bc25fd1\">\u003Cp class=\"p1\">какие группы пользователей и виды вреда затрагивает функция, а по какому сигналу команда заметит проблему;\u003C\u002Fp>\u003C\u002Fli>\u003Cli data-list-item-id=\"e6ed3f29120a682f8c042a8b6356c07a0\">\u003Cp class=\"p1\">кто сможет проверить решение через месяц и какие данные ему будут доступны.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"p1\">Эти ответы показывают объём продукта. Закрытой базе достаточно идентификаторов источников и версионирования. Открытый веб потребует журнала решений, контура проверок и плана остановки функции.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Пользователь видит диалог. Команда должна видеть цепочку решений\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp class=\"p1\">Наше правило: когда ИИ выбирает источники и собирает ответ, поиск и генерацию нужно проектировать как одну проверяемую цепочку.\u003C\u002Fp>\u003Cp class=\"p1\">Мы разрабатываем ИИ-чатботы, RAG-системы и интеграции языковых моделей. На разборе ИИ-проекта можем определить уровень контроля, который нужен вашему сценарию, и заложить его в архитектуру до масштабирования.\u003C\u002Fp>",[949,950],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":951,"documentId":952,"title":953,"slug":954,"order":23,"createdAt":955,"updatedAt":955,"publishedAt":956,"locale":16},25,"pzycouhlw11nznfb4b0zb2tv","AI и нейросети","ai-i-nejroseti","2026-07-30T14:30:01.132Z","2026-07-30T14:30:01.147Z",{"id":958,"metaTitle":959,"metaDescription":960},809,"Как проектировать проверяемый ИИ-поиск: источники, логи и аудит — QTIM","Как проектировать проверяемый ИИ-поиск: источники, логи цепочки решений, доступ к данным и аудит до релиза. Пять вопросов перед запуском — QTIM.",[],{"items":963,"total":1363},[964,1011,1049,1085,1130,1169,1212,1252,1290,1333,1343,1353],{"order":454,"date":453,"id":450,"documentId":451,"title":452,"description":9,"slug":455,"showOnMainPage":12,"createdAt":456,"updatedAt":457,"publishedAt":458,"locale":16,"cover":965,"media_areas":1002},{"id":966,"documentId":967,"name":968,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":970,"hash":997,"ext":766,"mime":769,"size":998,"url":999,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1000,"updatedAt":1000,"publishedAt":1001},819,"edjo5wob21z5uhha17u4q9dp","photo_2026-09-18 13.08.32.jpeg",1280,{"large":971,"small":977,"medium":984,"thumbnail":990},{"ext":766,"url":972,"hash":973,"mime":769,"name":974,"path":9,"size":975,"width":772,"height":617,"sizeInBytes":976},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_18_13_08_32_58620c6905.jpeg","large_photo_2026_09_18_13_08_32_58620c6905","large_photo_2026-09-18 13.08.32.jpeg",54.25,54252,{"ext":766,"url":978,"hash":979,"mime":769,"name":980,"path":9,"size":981,"width":23,"height":982,"sizeInBytes":983},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_18_13_08_32_58620c6905.jpeg","small_photo_2026_09_18_13_08_32_58620c6905","small_photo_2026-09-18 13.08.32.jpeg",20.13,333,20134,{"ext":766,"url":985,"hash":986,"mime":769,"name":987,"path":9,"size":988,"width":785,"height":23,"sizeInBytes":989},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_18_13_08_32_58620c6905.jpeg","medium_photo_2026_09_18_13_08_32_58620c6905","medium_photo_2026-09-18 13.08.32.jpeg",35.88,35883,{"ext":766,"url":991,"hash":992,"mime":769,"name":993,"path":9,"size":994,"width":995,"height":792,"sizeInBytes":996},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_18_13_08_32_58620c6905.jpeg","thumbnail_photo_2026_09_18_13_08_32_58620c6905","thumbnail_photo_2026-09-18 13.08.32.jpeg",6.9,234,6900,"photo_2026_09_18_13_08_32_58620c6905",124.5,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_18_13_08_32_58620c6905.jpeg","2026-09-18T10:16:22.449Z","2026-09-18T10:16:22.450Z",[1003,1010],{"id":1004,"documentId":1005,"title":1006,"slug":1007,"order":23,"createdAt":1008,"updatedAt":1008,"publishedAt":1009,"locale":16},27,"x6rulaa9s3473663k7mutmd7","EdTech ","ed-tech","2026-07-30T14:30:19.041Z","2026-07-30T14:30:19.062Z",{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"order":454,"date":453,"id":686,"documentId":687,"title":688,"description":9,"slug":689,"showOnMainPage":12,"createdAt":690,"updatedAt":691,"publishedAt":692,"locale":16,"cover":1012,"media_areas":1046},{"id":1013,"documentId":1014,"name":1015,"alternativeText":9,"caption":9,"width":1016,"height":1016,"formats":1017,"hash":1042,"ext":766,"mime":769,"size":1043,"url":1044,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1045,"updatedAt":1045,"publishedAt":1045},698,"k50ygwpde7r8rzi8dtisstrl","photo_2026-09-04 15.05.29.jpeg",1200,{"large":1018,"small":1024,"medium":1030,"thumbnail":1036},{"ext":766,"url":1019,"hash":1020,"mime":769,"name":1021,"path":9,"size":1022,"width":772,"height":772,"sizeInBytes":1023},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_04_15_05_29_fbe6a08339.jpeg","large_photo_2026_09_04_15_05_29_fbe6a08339","large_photo_2026-09-04 15.05.29.jpeg",94.54,94539,{"ext":766,"url":1025,"hash":1026,"mime":769,"name":1027,"path":9,"size":1028,"width":23,"height":23,"sizeInBytes":1029},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_04_15_05_29_fbe6a08339.jpeg","small_photo_2026_09_04_15_05_29_fbe6a08339","small_photo_2026-09-04 15.05.29.jpeg",33.22,33219,{"ext":766,"url":1031,"hash":1032,"mime":769,"name":1033,"path":9,"size":1034,"width":785,"height":785,"sizeInBytes":1035},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_04_15_05_29_fbe6a08339.jpeg","medium_photo_2026_09_04_15_05_29_fbe6a08339","medium_photo_2026-09-04 15.05.29.jpeg",62.01,62014,{"ext":766,"url":1037,"hash":1038,"mime":769,"name":1039,"path":9,"size":1040,"width":792,"height":792,"sizeInBytes":1041},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_04_15_05_29_fbe6a08339.jpeg","thumbnail_photo_2026_09_04_15_05_29_fbe6a08339","thumbnail_photo_2026-09-04 15.05.29.jpeg",5.53,5526,"photo_2026_09_04_15_05_29_fbe6a08339",114.91,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_04_15_05_29_fbe6a08339.jpeg","2026-09-04T12:23:31.977Z",[1047,1048],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1004,"documentId":1005,"title":1006,"slug":1007,"order":23,"createdAt":1008,"updatedAt":1008,"publishedAt":1009,"locale":16},{"order":10,"date":501,"id":498,"documentId":499,"title":500,"description":9,"slug":502,"showOnMainPage":12,"createdAt":503,"updatedAt":504,"publishedAt":505,"locale":16,"cover":1050,"media_areas":1082},{"id":1051,"documentId":1052,"name":1053,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1054,"hash":1078,"ext":766,"mime":769,"size":1079,"url":1080,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1081,"updatedAt":1081,"publishedAt":1081},865,"gtsnisgi6hvh81oa9vpzr8y7","photo_2026-09-22 13.56.43.jpeg",{"large":1055,"small":1060,"medium":1066,"thumbnail":1072},{"ext":766,"url":1056,"hash":1057,"mime":769,"name":1058,"path":9,"size":1028,"width":772,"height":617,"sizeInBytes":1059},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_22_13_56_43_c0c00c2242.jpeg","large_photo_2026_09_22_13_56_43_c0c00c2242","large_photo_2026-09-22 13.56.43.jpeg",33223,{"ext":766,"url":1061,"hash":1062,"mime":769,"name":1063,"path":9,"size":1064,"width":23,"height":982,"sizeInBytes":1065},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_22_13_56_43_c0c00c2242.jpeg","small_photo_2026_09_22_13_56_43_c0c00c2242","small_photo_2026-09-22 13.56.43.jpeg",12.04,12044,{"ext":766,"url":1067,"hash":1068,"mime":769,"name":1069,"path":9,"size":1070,"width":785,"height":23,"sizeInBytes":1071},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_22_13_56_43_c0c00c2242.jpeg","medium_photo_2026_09_22_13_56_43_c0c00c2242","medium_photo_2026-09-22 13.56.43.jpeg",21.94,21944,{"ext":766,"url":1073,"hash":1074,"mime":769,"name":1075,"path":9,"size":1076,"width":995,"height":792,"sizeInBytes":1077},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_22_13_56_43_c0c00c2242.jpeg","thumbnail_photo_2026_09_22_13_56_43_c0c00c2242","thumbnail_photo_2026-09-22 13.56.43.jpeg",4.09,4087,"photo_2026_09_22_13_56_43_c0c00c2242",74.28,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_22_13_56_43_c0c00c2242.jpeg","2026-09-22T10:59:06.833Z",[1083,1084],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"order":10,"date":481,"id":478,"documentId":479,"title":480,"description":9,"slug":482,"showOnMainPage":12,"createdAt":483,"updatedAt":484,"publishedAt":485,"locale":16,"cover":1086,"media_areas":1120},{"id":1087,"documentId":1088,"name":1089,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1090,"hash":1115,"ext":766,"mime":769,"size":1116,"url":1117,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1118,"updatedAt":1118,"publishedAt":1119},856,"a8lo28pvxqq7yj8qcqho4x60","photo_2026-09-21 14.42.04.jpeg",{"large":1091,"small":1097,"medium":1103,"thumbnail":1109},{"ext":766,"url":1092,"hash":1093,"mime":769,"name":1094,"path":9,"size":1095,"width":772,"height":617,"sizeInBytes":1096},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_21_14_42_04_5b28ec9142.jpeg","large_photo_2026_09_21_14_42_04_5b28ec9142","large_photo_2026-09-21 14.42.04.jpeg",60.7,60695,{"ext":766,"url":1098,"hash":1099,"mime":769,"name":1100,"path":9,"size":1101,"width":23,"height":982,"sizeInBytes":1102},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_21_14_42_04_5b28ec9142.jpeg","small_photo_2026_09_21_14_42_04_5b28ec9142","small_photo_2026-09-21 14.42.04.jpeg",20.96,20957,{"ext":766,"url":1104,"hash":1105,"mime":769,"name":1106,"path":9,"size":1107,"width":785,"height":23,"sizeInBytes":1108},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_21_14_42_04_5b28ec9142.jpeg","medium_photo_2026_09_21_14_42_04_5b28ec9142","medium_photo_2026-09-21 14.42.04.jpeg",38.96,38957,{"ext":766,"url":1110,"hash":1111,"mime":769,"name":1112,"path":9,"size":1113,"width":995,"height":792,"sizeInBytes":1114},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_21_14_42_04_5b28ec9142.jpeg","thumbnail_photo_2026_09_21_14_42_04_5b28ec9142","thumbnail_photo_2026-09-21 14.42.04.jpeg",6.84,6842,"photo_2026_09_21_14_42_04_5b28ec9142",141.69,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_21_14_42_04_5b28ec9142.jpeg","2026-09-21T11:43:54.800Z","2026-09-21T11:43:54.801Z",[1121,1122,1129],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1123,"documentId":1124,"title":1125,"slug":1126,"order":23,"createdAt":1127,"updatedAt":1127,"publishedAt":1128,"locale":16},21,"yf23yooxmjrfe35xytsexltw","Веб-разработка","veb-razrabotka","2026-07-30T14:29:04.519Z","2026-07-30T14:29:04.572Z",{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"order":10,"date":481,"id":719,"documentId":720,"title":721,"description":9,"slug":722,"showOnMainPage":12,"createdAt":723,"updatedAt":724,"publishedAt":725,"locale":16,"cover":1131,"media_areas":1165},{"id":1132,"documentId":1133,"name":1134,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1135,"hash":1160,"ext":766,"mime":769,"size":1161,"url":1162,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1163,"updatedAt":1164,"publishedAt":1163},853,"klfyunx6a8zzgw4vag9gxm2l","photo_2026-09-21 14.06.52.jpeg",{"large":1136,"small":1142,"medium":1148,"thumbnail":1154},{"ext":766,"url":1137,"hash":1138,"mime":769,"name":1139,"path":9,"size":1140,"width":772,"height":617,"sizeInBytes":1141},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_21_14_06_52_6c7ae1efba.jpeg","large_photo_2026_09_21_14_06_52_6c7ae1efba","large_photo_2026-09-21 14.06.52.jpeg",45.32,45316,{"ext":766,"url":1143,"hash":1144,"mime":769,"name":1145,"path":9,"size":1146,"width":23,"height":982,"sizeInBytes":1147},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_21_14_06_52_6c7ae1efba.jpeg","small_photo_2026_09_21_14_06_52_6c7ae1efba","small_photo_2026-09-21 14.06.52.jpeg",17.16,17164,{"ext":766,"url":1149,"hash":1150,"mime":769,"name":1151,"path":9,"size":1152,"width":785,"height":23,"sizeInBytes":1153},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_21_14_06_52_6c7ae1efba.jpeg","medium_photo_2026_09_21_14_06_52_6c7ae1efba","medium_photo_2026-09-21 14.06.52.jpeg",30.18,30183,{"ext":766,"url":1155,"hash":1156,"mime":769,"name":1157,"path":9,"size":1158,"width":995,"height":792,"sizeInBytes":1159},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_21_14_06_52_6c7ae1efba.jpeg","thumbnail_photo_2026_09_21_14_06_52_6c7ae1efba","thumbnail_photo_2026-09-21 14.06.52.jpeg",5.91,5905,"photo_2026_09_21_14_06_52_6c7ae1efba",102.25,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_21_14_06_52_6c7ae1efba.jpeg","2026-09-21T11:11:35.795Z","2026-09-21T11:11:53.451Z",[1166,1167,1168],{"id":1123,"documentId":1124,"title":1125,"slug":1126,"order":23,"createdAt":1127,"updatedAt":1127,"publishedAt":1128,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"order":10,"date":463,"id":460,"documentId":461,"title":462,"description":9,"slug":464,"showOnMainPage":12,"createdAt":465,"updatedAt":466,"publishedAt":467,"locale":16,"cover":1170,"media_areas":1203},{"id":1171,"documentId":1172,"name":1173,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1174,"hash":1199,"ext":766,"mime":769,"size":1200,"url":1201,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1202,"updatedAt":1202,"publishedAt":1202},826,"s101yfs31hbnltw3zdj4nbz7","photo_2026-09-18 16.43.16.jpeg",{"large":1175,"small":1181,"medium":1187,"thumbnail":1193},{"ext":766,"url":1176,"hash":1177,"mime":769,"name":1178,"path":9,"size":1179,"width":772,"height":617,"sizeInBytes":1180},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_18_16_43_16_df3d2dc989.jpeg","large_photo_2026_09_18_16_43_16_df3d2dc989","large_photo_2026-09-18 16.43.16.jpeg",50.26,50260,{"ext":766,"url":1182,"hash":1183,"mime":769,"name":1184,"path":9,"size":1185,"width":23,"height":982,"sizeInBytes":1186},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_18_16_43_16_df3d2dc989.jpeg","small_photo_2026_09_18_16_43_16_df3d2dc989","small_photo_2026-09-18 16.43.16.jpeg",19.16,19161,{"ext":766,"url":1188,"hash":1189,"mime":769,"name":1190,"path":9,"size":1191,"width":785,"height":23,"sizeInBytes":1192},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_18_16_43_16_df3d2dc989.jpeg","medium_photo_2026_09_18_16_43_16_df3d2dc989","medium_photo_2026-09-18 16.43.16.jpeg",33.87,33870,{"ext":766,"url":1194,"hash":1195,"mime":769,"name":1196,"path":9,"size":1197,"width":995,"height":792,"sizeInBytes":1198},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_18_16_43_16_df3d2dc989.jpeg","thumbnail_photo_2026_09_18_16_43_16_df3d2dc989","thumbnail_photo_2026-09-18 16.43.16.jpeg",6.72,6721,"photo_2026_09_18_16_43_16_df3d2dc989",111.37,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_18_16_43_16_df3d2dc989.jpeg","2026-09-18T13:44:02.209Z",[1204,1205],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1206,"documentId":1207,"title":1208,"slug":1209,"order":23,"createdAt":1210,"updatedAt":1210,"publishedAt":1211,"locale":16},29,"yuxcudh09wo6lky0b7ikokmb","Управление проектами","upravlenie-proektami","2026-07-30T14:30:32.907Z","2026-07-30T14:30:32.928Z",{"order":10,"date":428,"id":566,"documentId":567,"title":568,"description":9,"slug":569,"showOnMainPage":12,"createdAt":570,"updatedAt":571,"publishedAt":572,"locale":16,"cover":1213,"media_areas":1248},{"id":1214,"documentId":1215,"name":1216,"alternativeText":9,"caption":9,"width":1217,"height":1218,"formats":1219,"hash":1244,"ext":766,"mime":769,"size":1245,"url":1246,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1247,"updatedAt":1247,"publishedAt":1247},782,"g9qdbcga88x1rxwgs5ot5s6z","photo_2026-09-17 13.54.04.jpeg",1536,1024,{"large":1220,"small":1226,"medium":1232,"thumbnail":1238},{"ext":766,"url":1221,"hash":1222,"mime":769,"name":1223,"path":9,"size":1224,"width":772,"height":617,"sizeInBytes":1225},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_17_13_54_04_0398ab84ca.jpeg","large_photo_2026_09_17_13_54_04_0398ab84ca","large_photo_2026-09-17 13.54.04.jpeg",54.31,54313,{"ext":766,"url":1227,"hash":1228,"mime":769,"name":1229,"path":9,"size":1230,"width":23,"height":982,"sizeInBytes":1231},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_17_13_54_04_0398ab84ca.jpeg","small_photo_2026_09_17_13_54_04_0398ab84ca","small_photo_2026-09-17 13.54.04.jpeg",19.52,19519,{"ext":766,"url":1233,"hash":1234,"mime":769,"name":1235,"path":9,"size":1236,"width":785,"height":23,"sizeInBytes":1237},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_17_13_54_04_0398ab84ca.jpeg","medium_photo_2026_09_17_13_54_04_0398ab84ca","medium_photo_2026-09-17 13.54.04.jpeg",35.78,35780,{"ext":766,"url":1239,"hash":1240,"mime":769,"name":1241,"path":9,"size":1242,"width":995,"height":792,"sizeInBytes":1243},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_17_13_54_04_0398ab84ca.jpeg","thumbnail_photo_2026_09_17_13_54_04_0398ab84ca","thumbnail_photo_2026-09-17 13.54.04.jpeg",6.42,6422,"photo_2026_09_17_13_54_04_0398ab84ca",91.46,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_17_13_54_04_0398ab84ca.jpeg","2026-09-17T11:43:26.335Z",[1249,1250,1251],{"id":1123,"documentId":1124,"title":1125,"slug":1126,"order":23,"createdAt":1127,"updatedAt":1127,"publishedAt":1128,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"order":10,"date":428,"id":442,"documentId":443,"title":444,"description":9,"slug":445,"showOnMainPage":12,"createdAt":446,"updatedAt":447,"publishedAt":448,"locale":16,"cover":1253,"media_areas":1287},{"id":1254,"documentId":1255,"name":1256,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1257,"hash":1282,"ext":766,"mime":769,"size":1283,"url":1284,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1285,"updatedAt":1285,"publishedAt":1286},794,"rejdhpayptwmftim0dz8qkhm","photo_2026-09-17 14.46.04.jpeg",{"large":1258,"small":1264,"medium":1270,"thumbnail":1276},{"ext":766,"url":1259,"hash":1260,"mime":769,"name":1261,"path":9,"size":1262,"width":772,"height":617,"sizeInBytes":1263},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_17_14_46_04_e8ee782619.jpeg","large_photo_2026_09_17_14_46_04_e8ee782619","large_photo_2026-09-17 14.46.04.jpeg",33.05,33049,{"ext":766,"url":1265,"hash":1266,"mime":769,"name":1267,"path":9,"size":1268,"width":23,"height":982,"sizeInBytes":1269},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_17_14_46_04_e8ee782619.jpeg","small_photo_2026_09_17_14_46_04_e8ee782619","small_photo_2026-09-17 14.46.04.jpeg",12.17,12169,{"ext":766,"url":1271,"hash":1272,"mime":769,"name":1273,"path":9,"size":1274,"width":785,"height":23,"sizeInBytes":1275},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_17_14_46_04_e8ee782619.jpeg","medium_photo_2026_09_17_14_46_04_e8ee782619","medium_photo_2026-09-17 14.46.04.jpeg",21.78,21780,{"ext":766,"url":1277,"hash":1278,"mime":769,"name":1279,"path":9,"size":1280,"width":995,"height":792,"sizeInBytes":1281},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_17_14_46_04_e8ee782619.jpeg","thumbnail_photo_2026_09_17_14_46_04_e8ee782619","thumbnail_photo_2026-09-17 14.46.04.jpeg",4.03,4025,"photo_2026_09_17_14_46_04_e8ee782619",77.41,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_17_14_46_04_e8ee782619.jpeg","2026-09-17T11:46:34.244Z","2026-09-17T11:46:34.245Z",[1288,1289],{"id":1123,"documentId":1124,"title":1125,"slug":1126,"order":23,"createdAt":1127,"updatedAt":1127,"publishedAt":1128,"locale":16},{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"order":10,"date":419,"id":416,"documentId":417,"title":418,"description":9,"slug":420,"showOnMainPage":12,"createdAt":421,"updatedAt":422,"publishedAt":423,"locale":16,"cover":1291,"media_areas":1324},{"id":1292,"documentId":1293,"name":1294,"alternativeText":9,"caption":9,"width":815,"height":969,"formats":1295,"hash":1320,"ext":766,"mime":769,"size":1321,"url":1322,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":1323,"updatedAt":1323,"publishedAt":1323},771,"pog6mv2v922fypz25ta3rexi","photo_2026-09-16 14.24.39.jpeg",{"large":1296,"small":1302,"medium":1308,"thumbnail":1314},{"ext":766,"url":1297,"hash":1298,"mime":769,"name":1299,"path":9,"size":1300,"width":772,"height":617,"sizeInBytes":1301},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_photo_2026_09_16_14_24_39_fd554ec0ac.jpeg","large_photo_2026_09_16_14_24_39_fd554ec0ac","large_photo_2026-09-16 14.24.39.jpeg",28.47,28474,{"ext":766,"url":1303,"hash":1304,"mime":769,"name":1305,"path":9,"size":1306,"width":23,"height":982,"sizeInBytes":1307},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_photo_2026_09_16_14_24_39_fd554ec0ac.jpeg","small_photo_2026_09_16_14_24_39_fd554ec0ac","small_photo_2026-09-16 14.24.39.jpeg",10.1,10096,{"ext":766,"url":1309,"hash":1310,"mime":769,"name":1311,"path":9,"size":1312,"width":785,"height":23,"sizeInBytes":1313},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_photo_2026_09_16_14_24_39_fd554ec0ac.jpeg","medium_photo_2026_09_16_14_24_39_fd554ec0ac","medium_photo_2026-09-16 14.24.39.jpeg",18.22,18219,{"ext":766,"url":1315,"hash":1316,"mime":769,"name":1317,"path":9,"size":1318,"width":995,"height":792,"sizeInBytes":1319},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_photo_2026_09_16_14_24_39_fd554ec0ac.jpeg","thumbnail_photo_2026_09_16_14_24_39_fd554ec0ac","thumbnail_photo_2026-09-16 14.24.39.jpeg",3.51,3508,"photo_2026_09_16_14_24_39_fd554ec0ac",66.97,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fphoto_2026_09_16_14_24_39_fd554ec0ac.jpeg","2026-09-16T11:28:55.322Z",[1325,1326],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1327,"documentId":1328,"title":1329,"slug":1330,"order":23,"createdAt":1331,"updatedAt":1331,"publishedAt":1332,"locale":16},33,"xhke7f1vzoqyx9nzqc1sukc6","e-commerce","ecommerce-blog","2026-08-31T12:06:40.235Z","2026-08-31T12:06:40.258Z",{"order":10,"date":351,"id":348,"documentId":349,"title":350,"description":9,"slug":352,"showOnMainPage":12,"createdAt":353,"updatedAt":354,"publishedAt":355,"locale":16,"cover":1334,"media_areas":1340},{"id":864,"documentId":865,"name":866,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":1335,"hash":894,"ext":869,"mime":872,"size":895,"url":896,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":897,"updatedAt":897,"publishedAt":897},{"large":1336,"small":1337,"medium":1338,"thumbnail":1339},{"ext":869,"url":870,"hash":871,"mime":872,"name":873,"path":9,"size":874,"width":772,"height":201,"sizeInBytes":875},{"ext":869,"url":877,"hash":878,"mime":872,"name":879,"path":9,"size":880,"width":23,"height":828,"sizeInBytes":881},{"ext":869,"url":883,"hash":884,"mime":872,"name":885,"path":9,"size":886,"width":785,"height":835,"sizeInBytes":887},{"ext":869,"url":889,"hash":890,"mime":872,"name":891,"path":9,"size":892,"width":842,"height":843,"sizeInBytes":893},[1341,1342],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},{"order":10,"date":713,"id":710,"documentId":711,"title":712,"description":9,"slug":714,"showOnMainPage":12,"createdAt":715,"updatedAt":716,"publishedAt":717,"locale":16,"cover":1344,"media_areas":1350},{"id":912,"documentId":913,"name":914,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":1345,"hash":940,"ext":766,"mime":769,"size":941,"url":942,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":943,"updatedAt":943,"publishedAt":943},{"large":1346,"small":1347,"medium":1348,"thumbnail":1349},{"ext":766,"url":917,"hash":918,"mime":769,"name":919,"path":9,"size":920,"width":772,"height":201,"sizeInBytes":921},{"ext":766,"url":923,"hash":924,"mime":769,"name":925,"path":9,"size":926,"width":23,"height":828,"sizeInBytes":927},{"ext":766,"url":929,"hash":930,"mime":769,"name":931,"path":9,"size":932,"width":785,"height":835,"sizeInBytes":933},{"ext":766,"url":935,"hash":936,"mime":769,"name":937,"path":9,"size":938,"width":842,"height":843,"sizeInBytes":939},[1351,1352],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":951,"documentId":952,"title":953,"slug":954,"order":23,"createdAt":955,"updatedAt":955,"publishedAt":956,"locale":16},{"order":10,"date":342,"id":339,"documentId":340,"title":341,"description":9,"slug":343,"showOnMainPage":12,"createdAt":344,"updatedAt":345,"publishedAt":346,"locale":16,"cover":1354,"media_areas":1360},{"id":812,"documentId":813,"name":814,"alternativeText":9,"caption":9,"width":815,"height":763,"formats":1355,"hash":845,"ext":766,"mime":769,"size":846,"url":847,"previewUrl":9,"provider":797,"provider_metadata":9,"createdAt":848,"updatedAt":849,"publishedAt":850},{"large":1356,"small":1357,"medium":1358,"thumbnail":1359},{"ext":766,"url":818,"hash":819,"mime":769,"name":820,"path":9,"size":821,"width":772,"height":201,"sizeInBytes":822},{"ext":766,"url":824,"hash":825,"mime":769,"name":826,"path":9,"size":827,"width":23,"height":828,"sizeInBytes":829},{"ext":766,"url":831,"hash":832,"mime":769,"name":833,"path":9,"size":834,"width":785,"height":835,"sizeInBytes":836},{"ext":766,"url":838,"hash":839,"mime":769,"name":840,"path":9,"size":841,"width":842,"height":843,"sizeInBytes":844},[1361,1362],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16},80,{"items":1365,"allCount":1363},[1366,1452,1461,1474,1491,1548,1567,1580,1590,1601,1610,1625],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16,"media":1367},[1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451],{"id":28,"documentId":29,"media_event":9},{"id":37,"documentId":38,"media_event":9},{"id":46,"documentId":47,"media_event":9},{"id":55,"documentId":56,"media_event":9},{"id":64,"documentId":65,"media_event":9},{"id":73,"documentId":74,"media_event":9},{"id":82,"documentId":83,"media_event":9},{"id":91,"documentId":92,"media_event":9},{"id":101,"documentId":102,"media_event":9},{"id":110,"documentId":111,"media_event":9},{"id":119,"documentId":120,"media_event":9},{"id":128,"documentId":129,"media_event":9},{"id":137,"documentId":138,"media_event":9},{"id":146,"documentId":147,"media_event":9},{"id":156,"documentId":157,"media_event":9},{"id":165,"documentId":166,"media_event":9},{"id":174,"documentId":175,"media_event":9},{"id":183,"documentId":184,"media_event":9},{"id":192,"documentId":193,"media_event":9},{"id":201,"documentId":202,"media_event":9},{"id":210,"documentId":211,"media_event":9},{"id":220,"documentId":221,"media_event":9},{"id":230,"documentId":231,"media_event":9},{"id":239,"documentId":240,"media_event":9},{"id":248,"documentId":249,"media_event":9},{"id":257,"documentId":258,"media_event":9},{"id":266,"documentId":267,"media_event":9},{"id":275,"documentId":276,"media_event":9},{"id":284,"documentId":285,"media_event":9},{"id":293,"documentId":294,"media_event":9},{"id":302,"documentId":303,"media_event":9},{"id":311,"documentId":312,"media_event":9},{"id":320,"documentId":321,"media_event":9},{"id":329,"documentId":330,"media_event":9},{"id":5,"documentId":6,"media_event":9},{"id":339,"documentId":340,"media_event":9},{"id":348,"documentId":349,"media_event":9},{"id":357,"documentId":358,"media_event":9},{"id":365,"documentId":366,"media_event":9},{"id":374,"documentId":375,"media_event":9},{"id":383,"documentId":384,"media_event":9},{"id":391,"documentId":392,"media_event":9},{"id":399,"documentId":400,"media_event":9},{"id":407,"documentId":408,"media_event":9},{"id":416,"documentId":417,"media_event":9},{"id":425,"documentId":426,"media_event":9},{"id":434,"documentId":435,"media_event":9},{"id":442,"documentId":443,"media_event":9},{"id":450,"documentId":451,"media_event":9},{"id":460,"documentId":461,"media_event":9},{"id":469,"documentId":470,"media_event":9},{"id":478,"documentId":479,"media_event":9},{"id":487,"documentId":488,"media_event":1421},{"id":1422,"documentId":1423},58,"l6frmu0yosfqr3k430ywh70g",{"id":498,"documentId":499,"media_event":9},{"id":507,"documentId":508,"media_event":9},{"id":516,"documentId":517,"media_event":9},{"id":525,"documentId":526,"media_event":9},{"id":533,"documentId":534,"media_event":9},{"id":542,"documentId":543,"media_event":9},{"id":550,"documentId":551,"media_event":9},{"id":558,"documentId":559,"media_event":9},{"id":566,"documentId":567,"media_event":9},{"id":574,"documentId":575,"media_event":9},{"id":583,"documentId":584,"media_event":9},{"id":591,"documentId":592,"media_event":9},{"id":599,"documentId":600,"media_event":9},{"id":608,"documentId":609,"media_event":9},{"id":617,"documentId":618,"media_event":9},{"id":626,"documentId":627,"media_event":9},{"id":634,"documentId":635,"media_event":9},{"id":642,"documentId":643,"media_event":9},{"id":651,"documentId":652,"media_event":9},{"id":660,"documentId":661,"media_event":9},{"id":669,"documentId":670,"media_event":9},{"id":678,"documentId":679,"media_event":9},{"id":686,"documentId":687,"media_event":9},{"id":694,"documentId":695,"media_event":9},{"id":702,"documentId":703,"media_event":9},{"id":710,"documentId":711,"media_event":9},{"id":719,"documentId":720,"media_event":9},{"id":727,"documentId":728,"media_event":9},{"id":1453,"documentId":1454,"title":1455,"slug":1456,"order":23,"createdAt":1457,"updatedAt":1458,"publishedAt":1459,"locale":16,"media":1460},7,"or8kyxbsn133djndoz8b81h7","Награды ","media-area","2026-05-27T08:31:35.077Z","2026-05-27T09:05:26.042Z","2026-05-27T09:05:26.063Z",[],{"id":1462,"documentId":1463,"title":1464,"slug":1465,"order":23,"createdAt":1466,"updatedAt":1466,"publishedAt":1467,"locale":16,"media":1468},13,"glhljk70qdskk3mk7phi4ig0","Рынок ","media-area-2","2026-05-27T09:09:31.488Z","2026-05-27T09:09:31.502Z",[1469,1470,1471,1472,1473],{"id":28,"documentId":29,"media_event":9},{"id":37,"documentId":38,"media_event":9},{"id":55,"documentId":56,"media_event":9},{"id":46,"documentId":47,"media_event":9},{"id":239,"documentId":240,"media_event":9},{"id":736,"documentId":737,"title":738,"slug":739,"order":23,"createdAt":740,"updatedAt":740,"publishedAt":741,"locale":16,"media":1475},[1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490],{"id":64,"documentId":65,"media_event":9},{"id":174,"documentId":175,"media_event":9},{"id":192,"documentId":193,"media_event":9},{"id":275,"documentId":276,"media_event":9},{"id":311,"documentId":312,"media_event":9},{"id":5,"documentId":6,"media_event":9},{"id":339,"documentId":340,"media_event":9},{"id":348,"documentId":349,"media_event":9},{"id":566,"documentId":567,"media_event":9},{"id":719,"documentId":720,"media_event":9},{"id":498,"documentId":499,"media_event":9},{"id":583,"documentId":584,"media_event":9},{"id":608,"documentId":609,"media_event":9},{"id":642,"documentId":643,"media_event":9},{"id":478,"documentId":479,"media_event":9},{"id":1492,"documentId":1493,"title":1494,"slug":1495,"order":23,"createdAt":1496,"updatedAt":1496,"publishedAt":1497,"locale":16,"media":1498},19,"gilcfdy0yp8qpeaxgm5ls6e3","Мероприятия ","media-area-4","2026-05-27T09:12:22.766Z","2026-05-27T09:12:22.786Z",[1499,1505,1511,1513,1519,1525,1531,1537,1542],{"id":1500,"documentId":1501,"media_event":1502},364,"ce4eqcxpcxe2gueamlnk95az",{"id":1503,"documentId":1504},38,"qyyaaq9uq01cybc9wdpu04ff",{"id":1506,"documentId":1507,"media_event":1508},139,"f0107glw661ebgg7ket8b1cq",{"id":1509,"documentId":1510},40,"weubed2puewbadi5kwo9dbe5",{"id":487,"documentId":488,"media_event":1512},{"id":1422,"documentId":1423},{"id":1514,"documentId":1515,"media_event":1516},143,"icg1p6xqq09s2u4yojqpmbif",{"id":1517,"documentId":1518},42,"lakgjgfz0qogh4wbuzk9z21y",{"id":1520,"documentId":1521,"media_event":1522},144,"n1cg6qcmbdxk9swk9uo0udss",{"id":1523,"documentId":1524},57,"d6gnqsswqvm819c4hhz1mzit",{"id":1526,"documentId":1527,"media_event":1528},145,"ssd4p6njpddkamkmdi85y7ba",{"id":1529,"documentId":1530},54,"kmbnq1m43om1xht2p0mzy6qf",{"id":1532,"documentId":1533,"media_event":1534},146,"tk2dactwoh215eul3iw29pww",{"id":1535,"documentId":1536},48,"ccs7hkccw5wfn09xebmh140p",{"id":1538,"documentId":1539,"media_event":1540},147,"xx92kedhzcjgflqbhwxa8uak",{"id":1206,"documentId":1541},"hn0hcqte2ofyt1hkat7vt7q9",{"id":1543,"documentId":1544,"media_event":1545},380,"zithllju8vltfyex2pc3aquf",{"id":1546,"documentId":1547},65,"g78a6xdpbio64v9tg6hsuv2l",{"id":1123,"documentId":1124,"title":1125,"slug":1126,"order":23,"createdAt":1127,"updatedAt":1127,"publishedAt":1128,"locale":16,"media":1549},[1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566],{"id":201,"documentId":202,"media_event":9},{"id":357,"documentId":358,"media_event":9},{"id":365,"documentId":366,"media_event":9},{"id":425,"documentId":426,"media_event":9},{"id":566,"documentId":567,"media_event":9},{"id":442,"documentId":443,"media_event":9},{"id":719,"documentId":720,"media_event":9},{"id":507,"documentId":508,"media_event":9},{"id":525,"documentId":526,"media_event":9},{"id":82,"documentId":83,"media_event":9},{"id":542,"documentId":543,"media_event":9},{"id":591,"documentId":592,"media_event":9},{"id":727,"documentId":728,"media_event":9},{"id":478,"documentId":479,"media_event":9},{"id":574,"documentId":575,"media_event":9},{"id":617,"documentId":618,"media_event":9},{"id":626,"documentId":627,"media_event":9},{"id":1568,"documentId":1569,"title":1570,"slug":1571,"order":23,"createdAt":1572,"updatedAt":1572,"publishedAt":1573,"locale":16,"media":1574},23,"fngm3hdw5r8umq0w9lscnfro","Мобильная разработка","mobilnaya-razrabotka","2026-07-30T14:29:48.502Z","2026-07-30T14:29:48.526Z",[1575,1576,1577,1578,1579],{"id":257,"documentId":258,"media_event":9},{"id":284,"documentId":285,"media_event":9},{"id":374,"documentId":375,"media_event":9},{"id":425,"documentId":426,"media_event":9},{"id":73,"documentId":74,"media_event":9},{"id":951,"documentId":952,"title":953,"slug":954,"order":23,"createdAt":955,"updatedAt":955,"publishedAt":956,"locale":16,"media":1581},[1582,1583,1584,1585,1586,1587,1588,1589],{"id":183,"documentId":184,"media_event":9},{"id":266,"documentId":267,"media_event":9},{"id":284,"documentId":285,"media_event":9},{"id":146,"documentId":147,"media_event":9},{"id":399,"documentId":400,"media_event":9},{"id":558,"documentId":559,"media_event":9},{"id":599,"documentId":600,"media_event":9},{"id":710,"documentId":711,"media_event":9},{"id":1004,"documentId":1005,"title":1006,"slug":1007,"order":23,"createdAt":1008,"updatedAt":1008,"publishedAt":1009,"locale":16,"media":1591},[1592,1593,1594,1595,1596,1597,1598,1599,1600],{"id":210,"documentId":211,"media_event":9},{"id":248,"documentId":249,"media_event":9},{"id":91,"documentId":92,"media_event":9},{"id":101,"documentId":102,"media_event":9},{"id":329,"documentId":330,"media_event":9},{"id":434,"documentId":435,"media_event":9},{"id":450,"documentId":451,"media_event":9},{"id":137,"documentId":138,"media_event":9},{"id":686,"documentId":687,"media_event":9},{"id":1206,"documentId":1207,"title":1208,"slug":1209,"order":23,"createdAt":1210,"updatedAt":1210,"publishedAt":1211,"locale":16,"media":1602},[1603,1604,1605,1606,1607,1608,1609],{"id":119,"documentId":120,"media_event":9},{"id":391,"documentId":392,"media_event":9},{"id":516,"documentId":517,"media_event":9},{"id":727,"documentId":728,"media_event":9},{"id":660,"documentId":661,"media_event":9},{"id":702,"documentId":703,"media_event":9},{"id":460,"documentId":461,"media_event":9},{"id":1611,"documentId":1612,"title":1613,"slug":1614,"order":23,"createdAt":1615,"updatedAt":1615,"publishedAt":1616,"locale":16,"media":1617},31,"x54tt9ferpmy25va1y5hlmqq","Стоимость и бюджеты","stoimost-i-byudzhety","2026-07-30T14:30:46.759Z","2026-07-30T14:30:46.777Z",[1618,1619,1620,1621,1622,1623,1624],{"id":156,"documentId":157,"media_event":9},{"id":165,"documentId":166,"media_event":9},{"id":220,"documentId":221,"media_event":9},{"id":230,"documentId":231,"media_event":9},{"id":257,"documentId":258,"media_event":9},{"id":110,"documentId":111,"media_event":9},{"id":669,"documentId":670,"media_event":9},{"id":1327,"documentId":1328,"title":1329,"slug":1330,"order":23,"createdAt":1331,"updatedAt":1331,"publishedAt":1332,"locale":16,"media":1626},[1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641],{"id":302,"documentId":303,"media_event":9},{"id":293,"documentId":294,"media_event":9},{"id":320,"documentId":321,"media_event":9},{"id":383,"documentId":384,"media_event":9},{"id":407,"documentId":408,"media_event":9},{"id":416,"documentId":417,"media_event":9},{"id":469,"documentId":470,"media_event":9},{"id":128,"documentId":129,"media_event":9},{"id":634,"documentId":635,"media_event":9},{"id":651,"documentId":652,"media_event":9},{"id":678,"documentId":679,"media_event":9},{"id":694,"documentId":695,"media_event":9},{"id":533,"documentId":534,"media_event":9},{"id":550,"documentId":551,"media_event":9},{"id":574,"documentId":575,"media_event":9}]